- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
matlab实验卷积
实验二 用matlab进行信号卷积仿真 离散时间信号的卷积 我们试举一例来看conv的功能,已知序列f1(k)和f2(k)如下所示: f1(k)=1,(0≤k≤2) f2(k)=k,(0≤k≤3) 则调用conv( )函数求上述两序列的卷积和的MATLAB命令为: f1=ones(1,3); f2=0:3; f=conv(f1,f2) 运行结果为:f=0 1 3 6 5 3 由这个例子可以看出,函数conv( )不需要给定序列f1(k)和f2(k)非零样值点的时间序号,也不返回序列f(k)=f1(k)*f2(k)的非零样值点的时间序号。因此,要正确地标识出函数conv( )的计算结果向量f,我们还必须构造序列f1(k)、f2(k)及f (k)的对应序号向量。我们可以看出f(k)的序号向量k是由序列f1(k)和f2(k)的非零样值点的起始序号及他们的时域宽度决定的 在此,我们自己可以构造一个实用一点的函数dconv( ),该函数实现的功能为: 可以在计算出卷积f (k)的同时,还可以绘出序列f1(k)、f2(k)及f (k)在时域内的波形图。并返回f (k)的非零样值点的对应向量 function [f,k]=dconv(f1,f2,k1,k2) %the function of compute f=f1*f2 %f: 卷积序列f(k)对应的非零样值向量 %k: 序列f(k)的对因序号向量 %f1: 序列f1(k)非零样值向量 %f2: 序列f2(k)非零样值向量 %k1: 序列f1(k)的对应序号向量 %k2: 序列f2(k)的对应序号向量 f=conv(f1,f2) %计算序列f1与f2的卷积和f k0=k1(1)+k2(1); %计算序列f非零样值的起点位置 k3=length(f1)+length(f2)-2; %计算卷积和f的非零样值的宽度 k=k0:k0+k3 %确定卷积和f非零样值的序号向量 subplot(3,1,1) stem(k1,f1) %在子图1绘序列f1(k)时域波形图 title(f1(k)) xlabel(k) ylabel(f1(k)) subplot(3,1,2) stem(k2,f2) %在子图2绘序列f2(k)时波形图 title(f2(k)) xlabel(k) ylabel(f2(k)) subplot(3,1,3) stem(k,f); %在子图3绘序列f(k)的波形图 title(f1(k)与f2(k)的卷积和f(k)) xlabel(k) ylabel(f(k)) 对于下面两个离散序列,我们可以调用dconv( )函数来求离散序列的卷积。 MATLAB命令如下: f1=[1 2 -1 -3 -2 4 ]; k1=1:6; f2=ones(1,5); k2=-2:2; %f1,f2两个信号的向量表示 [f,k]=dconv(f1,f2,k1,k2) %子函数调用 需要注意的是,调用conv( )函数计算序列卷积时,该函数将向量f1和f2以外的序列样值均视为零,因此,当序列f1(k)或f2(k)为无限长序列时调用conv( )函数就可能出现误差。如果碰到无限长序列时候,我们必须将其截断才能求带入到conv( )函数中。此时,函数将把截断区域外的区间视为零,故conv( )计算出的卷积只有部分是真实的 C=conv(a,b) x=[1,2,3,4]; y=[1,1,1,1,1]; z=conv(x,y); N=length(z); stem(0:N-1,z); 连续信号的卷积 卷积积分运算实际上可用信号的分段求和来实现。用MATLAB实现连续信号f1(t)与f1(t)卷积的过程如下 1.将连续信号f1(t)与f2(t)以时间间隔Δt进行取样,得到离散序列f1(kΔt)与f2(kΔt); 2.构造与f1(kΔt)和f2(kΔt)相对应的时间向量k1和k2(注意,此时时间序号向量k1和k2的元素不再是整数,而是取样时间间隔Δt的整数倍的时间间隔点); 3.调用conv( )函数计算卷积积分f(t)的近似向量f(nΔt); 4.构造f(nΔt)对应的时间向量k。 根据以上步骤我们自己可以比较容易写出求连续信号卷积的函数程序sconv( ),该函数实现的功能为:在计算连续信号的卷积的同时绘出信号及卷积结果的波形,程序如下: function [f,k]=sconv(f1,f2,k1,k2,p) %计算连续信
文档评论(0)