资源描述:
《信号与系统matlab文件及仿真》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2.2离散时间序列卷积离散时间序列卷积和的定义为:设序列f1(n)在区间n1~n2非零,f2(n)在区间m1~m2非零,则f1(n)的时域宽度为L1=n2-n1+1,f2(n)的时域宽度为L2=m2-m1+1。由卷积和的定义可得,卷积后的序列f(n)的宽度为L=L1+L2-1,且。,只在区间n1+m1~n1+m1+L1+L2–2非零。因此对于f1(n)和f2(n)均为有限期间非零的情况,只需计算在区间n1+m1~n1+m1+L1+L2–2的序列值即可。MATLAB的conv()函数可以快速求出两个离散序列卷积和,
2、conv()函数的调用格式为:·f=conv(f1,f2)其中f1为包含序列f1(n)的非零样值点的行向量,f2为包含序列f2(n)的非零样值点的行向量,向量f则返回序列f(n)=f1(n)*f2(n)的所有非零样值点的行向量。但是函数conv()不需要给出序列f1(n)和f2(n)非零样值点的时间序列,也不返回卷积后序列非零样值点的时间序号。为此编制出如下求离散序列卷积和的通用函数dconv()。function[f,n]=dconv(f1,f2,n1,n2)%f:卷积和序列f(n)对应的非零样值向量%n:序列
3、f(n)对应的序号向量%f1:序列f1(n)的非零样值向量%f2:序列f2(n)的非零样值向量%n1:序列f1(n)对应的序号向量%n2:序列f2(n)对应的序号向量f=conv(f1,f2);%计算序列f1与f2的卷积和fn0=n1(1)+n2(1);%计算序列f非零样值点的起始位置n3=length(f1)+length(f2)-2;%计算卷积和f非零样值的宽度n=n0:n0+n3;%确定卷积和f非零样值的序号向量subplot(2,2,1)stem(n1,f1,'filled')title('f1(n)')
4、xlabel('n')ylabel('f1(n)')subplot(2,2,2)stem(n2,f2,'filled')title('f2(n)')xlabel('n')ylabel('f2(n)')subplot(2,2,3)stem(n,f,'filled')title('f1(n)与f2(n)的卷积和f(n)')xlabel('n')ylabel('f(n)')h=get(gca,'position');h(3)=2.5*h(3);set(gca,'position',h)%将第三个子图的横坐标范围扩为原来
5、的2.5倍例1:求:f1=ones(1,3);f2=0:3;f=conv(f1,f2)结论:f=013653例2:,求:n1=[-101];f1=[121];n2=-2:2;f2=ones(1,5);[f,n]=dconv(f1,f2,n1,n2)结论:f=1344431n=-3-2-10123例3:、求:n1=0:3;f1=ones(1,4);n2=0:2;f2=ones(1,3);[f,n]=dconv(f1,f2,n1,n2)结论:f=123321n=0123452.1连续时间信号卷积连续时间信号卷积的定义
6、为:用MATLAB实现上述卷积积分运算实际上是采用分段求和的方法来实现的。即:卷积过程如下:(1)将连续信号f1(t)与f2(t)以时间间隔D进行取样,得到离散序列f1(kD)和f2(kD);(2)构造与f1(kD)和f2(kD)相对应的时间向量k1和k2;(3)调用conv()函数计算卷积积分f(t)的近似向量f(nD);(4)构造f(nD)对应的时间向量k。为此编制出如下求卷积积分的通用函数sconv()。function[f,n]=sconv(f1,f2,n1,n2,p)%计算连续信号卷积积分f(t)=f1
7、(t)*f2(t)%f:卷积积分f(t)对应的非零样值向量%n:f(t)的对应时间向量%f1:f1(t)的非零样值向量%f2:f2(t)的非零样值向量%n1:f1(t)对应的时间向量%n2:f2(t)对应的时间向量%p:取样时间间隔f=conv(f1,f2);%计算序列f1与f2的卷积和ff=f*p;n0=n1(1)+n2(1);%计算序列f非零样值点的起始位置n3=length(f1)+length(f2)-2;%计算卷积和f非零样值的宽度n=n0:p:n0+n3*p;%确定卷积和f非零样值的时间向量subpl
8、ot(2,2,1);plot(n1,f1);title('f1(t)');xlabel('t');ylabel('f1(t)');subplot(2,2,2);plot(n2,f2);title('f2(t)');xlabel('t');ylabel('f2(t)');subplot(2,2,3);plot(n,f);%画卷积f(t)的时域波形title('f(t)=f1