(离散时间信号分析.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(离散时间信号分析

离散时间信号分析 实验目的: 利用MATLAB进行离散时间序列的基本运算,掌握基本的MATLAB函数的编写和调试方法。 实验内容: (1)信号相加 x(n)=x1(n)+x2(n) 当两个相加的序列长度不同时或位置不对应时,首先必须调整二者的位置对齐,然后通过zeros函数左右补零使其长度相等后再相加。下面的参考代码利用函数sigadd说明了这些运算,其验证将在后续实验中进行。 MATLAB参考代码 function[y,n]=sigadd(x1,n1,x2,n2) %implements y(n)=x1(n)+x2(n) %--------------------------------------------- %[y,n]=sigadd(x1,n1,x2,n2) %y=sum sequence over n,which includes n1 and n2 %x1=first sequence over n1 %x2=second sequence over n2(n2 can be different from n1) % n=min(min(n1),min(n2)):max(max(n1),max(n2));%duration of y(n) y1=zeros(1,length(n)); y2=y1; y1(find((n=min(n1))(n=max(n1))==1))=x1;%x1 with duration of y y2(find((n=min(n2))(n=max(n2))==1))=x2;%x2 with duration of y y=y1+y2;%sequence addition (2)信号相乘 信号相乘,即两个序列的乘积(或称“点乘”),表达式为: x(n)=x1(n)?x2(n) 在MATLAB中,用运算符“.*”实现。 下面的参考代码利用函数sigmult说明了这种运算,其验证将在后续实验中进行。 MATLAB参考代码 function[y,n]=sigmult(x1,n1,x2,n2) %implements y(n)=x1(n)*x2(n) %--------------------------------------------- %[y,n]=sigmult(x1,n1,x2,n2) %y=product sequence over n,which includes n1 and n2 %x1=first sequence over n1 %x2=second sequence over n2(n2 can be different from n1) % n=min(min(n1),min(n2)):max(max(n1),max(n2));%duration of y(n) y1=zeros(1,length(n)); y2=y1; y1(find((n=min(n1))(n=max(n1))==1))=x1;%x1 with duration of y y2(find((n=min(n2))(n=max(n2))==1))=x2;%x2 with duration of y y=y1.*y2;%sequence multiplication (3)加权 在这种运算中,每个样本均乘以标量a: y(n)=ax(n) 在MATLAB中,算术运算符“*”用来实现加权运算。 (4)移位 在这种运算中,序列x(n)总体进行k点的移位: y(n)=x(n-k) 下面的参考代码利用函数sigshift说明了这种运算,其验证将在后续实验中 进行。 MATLAB参考代码 function[y,n]=sigshift(x,m,n0) %implements y(n)=x(n-n0) %--------------------------------------------- %[y,n]=sigshift(x,m,n0) % n=m+n0; y=x; (5)反转 在这种运算中,序列x(n)以n=0为中心翻转得到一个反转序列: y(n)=x(-n) 在MATLAB中,对序列值的翻转用fliplr(x)实现,对序列各点位置的翻转用 -fliplr(n)实现,如下面的参考代码所示: MATLAB参考代码 function[y,n]=sigfold(x,n) %implements y(n)=x(-n) %--------------------------------------------- %[y,n]=sigfold(x,n) % y=fliplr(x); n=-fliplr(n); 离散时间系统分析 实验目的: 掌握线性卷积的计算机编程方法,利用卷积的方法观察、分析系统响应的时域特性。

文档评论(0)

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

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档