DSP上机matlab函数使用详细解答.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文档。上传文档
查看更多
DSP上机matlab函数使用详细解答

离散信号和系统分析的MATLAB实现 利用MATLAB产生离散信号 用MATLAB表示一离散序列x[k]时,可用两个向量来表示。其中一个向量表示自变量k的取值范围,另一个向量表示序列x[k]的值。例如序列x[k]={2,1,1,-1,3,0,2}可用 MATLAB表示为 K=-2:4;x=[2,1,1,-1,3,0,2] 可用stem(k,x)(k和X大小写无关系)画出序列波形。 K个数必须和x个数相同 图标:xlabel(‘要标的数’);ylabel。。。。 当序列是从k=0开始时,可以只用一个向量x来表示序列(stem中一个参数x就够了)。由于计算机内寸的限制,MATLAB无法表示一个无穷长的序列。 利用MATLAB计算单位脉冲序范围内各点的取值。 解: %progran 1_1 产生单位脉冲序列 Ks=-4;ke=4;n=2; K=[ks:ke]; X=[(k-n)==0]; Stem(k,x):(;也可)xlabel(‘k’); 程序产生的序列波形如图1-49所示。 利用MATLAB画出信号 X[k]=10sin(0.02)+n[k], 的波形。其中n[k]表示为均值为0方差为1的Gauss分布随机信号。 解: MALAB提供了两个产生(伪)随机序列的函数。Rand(1,N)产生1行N列的[0,1]均匀分布随机数。Randn(1,N)产生1行N列均值为0方差为1的Gauss分布随机数。 %program 1_2 产生受噪声干扰的正弦信号 N=100;k=0:N; X=10*sin(0.02*pi*k)+randn(1,N+1); Plot(k,x); Xlabel(‘k’); Ylabel(‘x[k]’);%大小写不影响程序 程序产生序列如图1-50所示。 1.9.2 离散卷积的计算 离散卷积是数字信号处理中的一个基本运算,MTLAB提供的计算两个离散序列卷积的函数是conv,其调用方式为 y=conv(x,h) 其中调用参数x,h为卷积运算所需的两个序列,返回值y是卷积结果。 MATLAB函数conv的返回值y中只有卷积的结果,没有y的取值范围。由离散序列卷积的性质可知,当序列x和h的起始点都为k=0时,y的取值范围为k=0至length(x)+length(h)-2。当序列x或(和)h的起始点不是k=0时,由例1-3知,y的非零值范围可根据例1-4的结论进行计算。 例1-40试用MATLAB函数conv计算例1-2中序列的卷积。 解: program 1_3 计算离散卷积 x=[-0.5,0,0.5,1]; %序列x的值 kx=-1:2; %序列x的取值范围 h=[1,1,1]; kh=-2:0; y=conv(x,h); %计算卷积 k=kx(1)+kh(1):kx(end)+kh(end); %计算y的取值范围 若不加此句则当做kx和kh从0开始 stem(k,y); xlabel(‘k’);ylabel(‘y’); 程序的运行结果如图1-51所示。 1.9.3 离散LTI系统响应MATLAB求解 许多离散LTI都可用如下的线性常系数的差分方程描述 (1-151) 其中x[k]、y[k]分别系统的输入和输出。在已知差分方程的N个初始状态y[k],和输入x[k],就可由下式迭代计算出系统的输出。 y[k]=- 利用MATLAB提供的filter函数,可方便地计算出上述差分方程的零状态响应。filter函数调用形式为 y=filter(b,a,x)a对应y,b对应x 其中 a=[a0,a1,…,aN], b=[bo,b1,…,bM] 分别表示差分方程系数。X表示输入序列,y表示输出序列。输出序列的长度和序列相同。 试用M=9点滑动平均系统 y[k]= 处理例1-39中的受噪声干扰的正弦信号。 解: 由式(1-151)可知,M点滑动平均系统可看成是N=0的差分方程。在调用filter函数时,调用参数a=1,b为有M个元素的向量,b中每个元素的值均为1/M。 %program 1_4 滑动平均去噪 M=9; N=100;k=0:N; s=10*sin(0.02*pi*k); x=s+randn(1,N+1); b=ones(M,1)/M; a=1; y=filter(b,a,x); plot(k,y,s,’:’);%改

文档评论(0)

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

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

1亿VIP精品文档

相关文档