郭秀梅《数字信号处理》数字信号处理matlab程序实现.docVIP

郭秀梅《数字信号处理》数字信号处理matlab程序实现.doc

  1. 1、本文档共90页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1.6.1 离散时间信号的MATLAB实现 1.正弦序列 离散正弦序列的MATLAB表示与连续信号类似,只不过是用stem函数而不是用plot函数来画出序列的波形。下面就是正弦序列的MATLAB源程序。程序运行结果如图1.19所示。 %正弦序列实现程序 k=0:39; fk=sin(pi/6*k); stem(k,fk) 图1.19,可用MATLAB中的数组幂运算(即点幂运算)c*来实现。下面为用MATLAB编写绘制离散时间实指数序列波形的函数。 function dszsu(c,a,k1,k2) %c:指数序列的幅度 %a:指数序列的底数 %k1:绘制序列的起始序号 %k2:绘制序列的终止序号 k=k1:k2; x=c*(a.^k); stem(k,x,filled) hold on plot([k1,k2],[0,0]) hold off 利用上述函数,实现实指数波形MATLAB程序如下(其中值分别为)。 %离散时间实指数序列实现程序 subplot 221; dszsu(1,5/4,0,20); xlabel(k); title(f1[k]); subplot 222 dszsu(1,3/4,0,20); xlabel(k); title(f2[k]); subplot 223; dszsu(1,-5/4,0,20); xlabel(k); title(f3[k]); subplot 224; dszsu(1,-3/4,0,20); xlabel(k); title(f4[k]); 程序运行结果如图1.20所示。如图可知,对于离散时间实指数序列,当的绝对值大于1时,序列为随时间发散的序列,当的绝对值小于1时,序列为随时间收敛的序列。同时可见,当的值小于零时,其波形在增长或衰减的同时,还交替地改变序列值的符号。 图1.20function[]=dxzsu(n1,n2,w) %n1:绘制波形的虚指数序列的起始时间序号 %n2:绘制波形的虚指数序列的终止时间序号 %w:虚指数序列的角频率 k=n1:n2; f=exp(i*w*k); Xr=real(f) Xi=imag(f) Xa=abs(f) Xn=angle(f) subplot(2,2,1), stem(k,Xr,filled),title(实部); subplot(2,2,3), stem(k,Xi,filled),title(虚部); subplot(2,2,2), stem(k,Xa,filled),title(模); subplot(2,2,4), stem(k,Xn,filled),title(相角); 利用上述函数,实现虚指数波形MATLAB程序如下(其中虚指数分别为) %离散时间虚指数实现程序 figure(1); dxzsu(0,20,pi/4); figure(2); dxzsu(0,20,2); 程序运行结果如图1.21(a)、(b)所示。由图可见,只有当虚指数序列的角频率满足为有理数时,信号的实部和虚部和相角都为周期序列,否则为非周期序列。 (a)波形 (b) 波形 图1.21 虚指数序列波形 对于复指数序列,其一般形式为 可以通过调用下面绘制复指数序列时域波形的MATLAB函数。 function dfzsu(n1,n2,r,w) %n1:绘制波形的虚指数序列的起始时间序号 %n2:绘制波形的虚指数序列的终止时间序号 %w:虚指数序列的角频率 %r: 指数序列的底数 k=n1:n2; f=(r*exp(i*w)).^k; Xr=real(f); Xi=imag(f); Xa=abs(f); Xn=angle(f); subplot(2,2,1), stem(k,Xr,filled),title(实部); subplot(2,2,3), stem(k,Xi,filled),title(虚部); subplot(2,2,2), stem(k,Xa,filled),title(模); subplot(2,2,4), stem(k,Xn,filled),title(相角); 利用上述函数,实现复指数序列波形MATLAB程序如下。 %复指数序列实现程序(r1) figure(1); dfzsu(0,20,1.2,pi/4); %复指数序列实现程序(0r1) figure(2); dfzsu(0,20,0.8,pi/4); %复指数序列实现程序(r=1) figure(3); dfzsu(0,20,1,pi/4); 其运行结果如图1.22(a)、(b)、(c)所示。如图可见,当r1时,复指数序列的实部和虚部分别为幅度按指数增长的正弦序列;当0r1时,复指数

文档评论(0)

1243595614 + 关注
实名认证
文档贡献者

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档