连续信号的卷积【研讨题目】•两个连续信号的卷积定义为:为了进行数值计算,需对连续信号进行抽样。记x[k]=x(k),h[k]=h(k),为进行数值计算的抽样间隔。则连续信号卷积可近似的写为这就可以利用conv函数可近似计算连续信号的卷积。设x(t)=u(t)-u(t-1),h(t)=x(t)*x(t),•(a)为了与近似计算的结果作比较,用解析法求出y(t)=x(t)*h(t);•(b)用不同的D计算出卷积的数值近似值,并和(a)中的结果作比较。【题目分析】•解析法:x(t)=u(t)-u(t-1),h(t)=x(t)*x(t)h(t)=r(t)-2r(t-1)+r(t-2);)2()2(23)1()1(23)3()3(21)(21))3()2(2)1(())2()1(2)(()1()((*))2()1(2)(()(*)(*)()(*)()(2222)1()1(tuttuttuttuttrtrtrtrtrtrtututrtrtrtxtxtxthtxtyy(t)=x(t)*h(t)=3,032,2)3(21,23310,20,0222ttttttttt•利用离散卷积函数conv()分析:(1)将连续信号f1(t)和f2(t)以时间间隔p进行取样,得到离散序列f1(kp)f2(kp);(2)构造与f1(kp)和f2(kp)相对应的时间向量k1和k2;(3)调用conv()函数计算卷积积分f(t)的近似向量f(kp);(4)构造f(kp)对应的时间向量k。【仿真程序】•法一:t1=0:0.0001:1;a1=t1.*t1/2;t2=1:0.0001:2;a2=-t2.*t2+3*t2-1.5;t3=2:0.0001:3;a3=(t3-3).*(t3-3)/2;plot(t1,a1,t2,a2,t3,a3)•法二:t1=0:0.0001:1;a1=t1.*t1/2;t2=1:0.0001:2;a2=-t2.*t2+3*t2-1.5;t3=2:0.0001:3;a3=(t3-3).*(t3-3)/2;plot(t1,a1,‘r');holdonplot(t2,a2,'b');holdonplot(t3,a3,'g');holdoff利用conv函数定义sconv函数:function[f,k]=sconv(f1,f2,k1,k2,p)f=conv(f1,f2);%计算f1与f2的卷积和ff=f*p;k0=k1(1)+k2(1);%计算序列f非零样值的起点位置k3=length(f1)+length(f2)-2;%计算卷积和f的非零样值的宽度k=k0:p:k3*p;%计算卷积和f的非零样值的时间plot(k,f);%画卷积f(t)的时域波形title('f(t)=f1(t)*f2(t)')xlabel('t')ylabel('f(t)')title('f(t)=f1(t)*f2(t)')调用sconv()函数抽样间隔pp=input('p=');k1=0:p:1;f1=1*ones(1,length(k1));k2=0:p:2;f2=tripuls(k2-1,2,0);[f,k]=sconv(f1,f2,k1,k2,p)P=1P=0.5P=0.25P=0.1P=0.01P=0.001【结果分析】•Δ(即p)的值越小,卷积出的值包含范围越广,产生的图像所包含的点也就越多,当p小到一定是其图像可以接近连续信号图像。【问题讨论】•1.在matlab中“.*”和“*”的区别:•两个变量相乘,用“.*”;常数之间或常数与变量之间则用“*”。(因为变量在matlab中是以数组的形式存储的)•2.分段函数输出方法:•(1)直接以plot(t1,a1,t2,a2,t3,a3)分段函数输出;•(2)使用holdon保存上一函数图像,完成重叠输出。(关于颜色设置)•3.定义连续卷积函数中:•k3=length(f1)+length(f2)-2(?)