离散信号和系统分析的MATLAB实现

离散信号和系统分析的MATLAB实现

ID:37224905

大小:473.50 KB

页数:55页

时间:2019-05-19

离散信号和系统分析的MATLAB实现_第1页
离散信号和系统分析的MATLAB实现_第2页
离散信号和系统分析的MATLAB实现_第3页
离散信号和系统分析的MATLAB实现_第4页
离散信号和系统分析的MATLAB实现_第5页
资源描述:

《离散信号和系统分析的MATLAB实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、1.9离散信号和系统分析的MATLAB实现1.9.1利用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,f)画出序列波形。当序列是从k=0开始时,可以只用一个向量x来表示序列。由于计算机内寸的限制,MATLAB无法表示一个无穷长的序列。例1-38利用MATLAB计算单位脉冲序范围内各点的取值。解:%progran1_1产生单位脉冲序列Ks=-4;ke=4

2、;n=2;K=[ks:ke];X=[(k-n)==0];Stem(k,x):xlabel(‘k’);程序产生的序列波形如图1-49所示。例1-39利用MATLAB画出信号X[k]=10sin(0.02)+n[k],的波形。其中n[k]表示为均值为0方差为1的Gauss分布随机信号。解:55MALAB提供了两个产生(伪)随机序列的函数。Rand(1,N)产生1行N列的[0,1]均匀分布随机数。Randn(1,N)产生1行N列均值为0方差为1的Gauss分布随机数。%program1_2产生受噪声干扰的正弦信号N=100;k=0:N;X=10*sin(0.02*pi*k)+randn(1,N+1)

3、;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

4、的结论进行计算。例1-40试用MATLAB函数conv计算例1-2中序列的卷积。解:55program1_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的取值范围stem(k,y);xlabel(‘k’);ylabel(‘y’);程序的运行结果如图1-51所示。1.9.3离散LTI系统响应MATLAB求解许多离散LTI都可用如下的线性常系数的差分方程描述(1-151)其中x[k]、y[k]分别系统的输入和输出。

5、在已知差分方程的N个初始状态y[k],和输入x[k],就可由下式迭代计算出系统的输出。y[k]=-利用MATLAB提供的filter函数,可方便地计算出上述差分方程的零状态响应。filter函数调用形式为y=filter(b,a,x)其中55a=[a0,a1,…,aN],b=[bo,b1,…,bM]分别表示差分方程系数。X表示输入序列,y表示输出序列。输出序列的长度和序列相同。例1-38试用M=9点滑动平均系统y[k]=处理例1-39中的受噪声干扰的正弦信号。解:由式(1-151)可知,M点滑动平均系统可看成是N=0的差分方程。在调用filter函数时,调用参数a=1,b为有M个元素的向量,b

6、中每个元素的值均为1/M。%program1_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,’:’);xlabel(‘k’);ylabel(‘幅度’)legend(‘y[k]’,’s[k]’);程序的运行结果如图1-52所示55。图中的虚线表示未受噪声干扰的原信号s[k],实线为9点滑动的响应y[k]。比较图1-50的信号可以看出,系统滤出了受干扰信号中的大部分噪声,输出信号相对输入信号有4个样本的延迟。1.9.4利用MATLAB计

7、算DTET当序列的DTET可写成的有理多项式时,可用MATLAB信号处理工具箱提供的freqz函数计算DTFT的抽样值。另外,可用MATLAB提供的abs、angle、real、imag等基本函数计算DTFT的幅度、相位、实部、虚部。若X()可表示为X()==则freqz的调用形式为X=freqz(b,a,w)(1-153)式(1-153)中的b和a分别是表示式(1-152)中分子多项式和分母多项

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。