离散时间系统的Matlab实现_第1页
离散时间系统的Matlab实现_第2页
离散时间系统的Matlab实现_第3页
离散时间系统的Matlab实现_第4页
离散时间系统的Matlab实现_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、MATLAB数字信号处理数字信号处理离散时间系统的Matlab实现MATLAB数字信号处理数字信号处理Impz函数 功能:求解系统的单位冲击响应 调用方式: h,t=impz(b,a):b、a分别为系统传递函数的分子和分母的系数向量。返回系统(b,a)的冲激响应h和相应的时间轴向量t。 h,t=impz(b,a,n):返回n点冲激响应。 impz(b,a);在当前窗口用stem(t,h )函数出图。MATLAB数字信号处理数字信号处理 【例1】计算线性系统(b,a)的冲激响应: b=0.2 0.1 0.3 0.1 0.15; a=1 -1.1 1.45 -0.6 0.3; impz(b,a,5

2、0);MATLAB数字信号处理数字信号处理051015202530354045-0.2-0.100.10.20.30.40.5n (samples) AmplitudeImpulse ResponseMATLAB数字信号处理数字信号处理dstep 功能:求解数字系统的阶跃响应。 调用格式: h,t=dstep(b,a);求解数字系统的阶跃响应h,取样点数为缺省值。 h,t=dstep(b,a,n);求解数字系统的阶跃响应h,取样点数为n值。 dstep(b,a);在当前窗口用stairs(t,h)函数出图。MATLAB数字信号处理数字信号处理 【例例2】已知一个因果系统的差分方程为 6y(n)

3、+2y(n-2)=x(n)+3x(n-1)+3x(n-2)+x(n-3)满足初始条件y(-1)=0,x(-1)=0.求系统的单位冲激响应和阶跃响应。 解:将上述方程对y(n)项系数进行归一化,得到其系统函数分子和分母系数 a0=1, a1=0, a2=1/3, a3=0 b0=1/6, b1=1/2, b2=1/2, b3=1/6MATLAB数字信号处理数字信号处理用impz()函数的MATLAB程序(取N=32点作图) a=1,0,1/3, 0; b=1/6, 1/2, 1/2, 1/6; N=32; n=0:N-1; hn=impz(b,a,n); gn=dstep(b,a,n);MATL

4、AB数字信号处理数字信号处理 subplot(1,2,1),stem(n,hn,filled); title(系统的单位冲击响应); ylabel(h(n);xlabel(n); axis(0,N-1,-1.1*min(hn),1.1*max(hn); subplot(1,2,2), stem(n,gn,k); title(系统的单位阶跃响应); ylabel(g(n);xlabel(n); axis(0,N-1,-1.1*min(gn),1.1*max(gn);MATLAB数字信号处理数字信号处理0510152025300.20.30.40.5系 统 的 单 位 冲 击 响 应h(n)n05

5、101520253000.51系 统 的 单 位 阶 跃 响 应g(n)nMATLAB数字信号处理数字信号处理zplane zplane(z,p):绘制系统零极点图,:绘制系统零极点图,“o”表示表示零点,零点,“x”表示极点。表示极点。z,p分别为零点和极分别为零点和极点向量。点向量。 zplane(b,a):b、a分别为系统传递函数的分分别为系统传递函数的分子和分母系数向量。子和分母系数向量。MATLAB数字信号处理数字信号处理 【例例3】计算线性系统计算线性系统(b,a)的零点和极点。的零点和极点。 b=0.2 0.1 0.3 0.1 0.15; a=1 -1.1 1.45 -0.6 0

6、.3; zplane(b,a); legend(零点零点,极点极点); MATLAB数字信号处理数字信号处理-1-0.500.51-1-0.8-0.6-0.4-0.200.20.40.60.81Real PartImaginary Part零 点极 点MATLAB数字信号处理数字信号处理filter 功能功能:对数字系统的输入信号进行滤波处理。因为一个离散系统可以看作是一个滤波器,系统的输出就是输入经过滤波器滤波的结果。 调用格式调用格式:y=filter(b , a, x),对于由矢量b, a决定的数字系统(b和a分别表示系统函数H(z)对应的分子项和分母项系数构成的数组,而且分母系数要归一

7、化处理。)当输入信号为x时,对x中的数据进行滤波,结果存于y中,长度取max(na , nb).MATLAB数字信号处理数字信号处理 y , zf=filter(b , a, x);除得到结果矢量y外,还得到x 的最终状态矢量zf。 y=filter(b , a, x, zi);可在zi中指定x的初始状态。MATLAB数字信号处理数字信号处理 【例例4】计算低通滤波器的冲激响应。计算低通滤波器的冲激响应。 x=1 zeros(1,100); b,a = cheby1(11,1,.4); y=filter(b,a,x); stem(y);MATLAB数字信号处理数字信号处理02040608010

8、0120-0.2-0.15-0.1-0.0500.050.10.150.20.250.3MATLAB数字信号处理数字信号处理filtic子函数子函数 功能功能:为filter子函数选择初始条件。 调用格式调用格式: zi=filtic(b ,a ,y ,x);求给定输入x和y时的初始状态。 zi=filtic(b , a, y);求x=0,给定输入y时的初始状态。 其中,x和y分别是表示过去的输入和输出。MATLAB数字信号处理数字信号处理 【例例5】已知一个因果系统的差分方程为 6y(n)+2y(n-2)=x(n)+3x(n-1)+3x(n-2)+x(n-3)满足初始条件y(-1)=0,x(

9、-1)=0.求系统的单位冲激响应和阶跃响应。用filter()函数的MATLAB程序(取N=32点作图)MATLAB数字信号处理数字信号处理 a=1,0,1/3, 0; b=1/6, 1/2, 1/2, 1/6; xi=filtic(b,a,0,0); N=32; n=0:N-1; x1=n=0; %单位冲激信号 hn=filter(b,a,x1,xi); subplot(1,2,1),stem(n,hn,filled); title(系统的单位冲激响应); ylabel(h(n);xlabel(n); axis(0,N-1,-1.1*min(hn),1.1*max(hn);MATLAB数字信

10、号处理数字信号处理 x2=n=0; %单位阶跃信号 gn=filter(b,a,x2,xi); subplot(1,2,2), stem(n,gn,k); title(系统的单位阶跃响应); ylabel(g(n);xlabel(n); axis(0,N-1,-1.1*min(gn),1.1*max(gn);MATLAB数字信号处理数字信号处理freqz 功能功能:用于求离散时间系统的频率响应函数。 调用格式调用格式: 1)h, w=freqz(b ,a ,n)。可以得到数字滤波器的n点复频响应值,这n个点均匀地分布之0, pi 上,并将这n个频点的频率记录在w中,相应的频响值记录在h中,n缺

11、省时取512点。MATLAB数字信号处理数字信号处理 2)h f=freqz(b, a, n, Fs);用于对H(jw) 在0, Fs/2上等间隔采样n点,采样点频率及相应频响值分别记录在f和h中,由用户指定Fs(以Hz为单位)的值。 3)h=freqz(b, a, w);用于对H(jw) 在0, 2*pi 上进行采样,采样频率点由矢量w指定。 4)h=freqz(b, a, f, Fs);用于对H(jw)在0, Fs上采样,采样频率点由矢量f指定。MATLAB数字信号处理数字信号处理 【例例6】已知离散时间系统的系统函数 求系统在0-pi 频率范围内,归一化的绝对幅度频率响应,相对幅度频率响

12、应,相位频率响应和零极点分部图。432143213 . 07 . 05 . 11 . 112 . 01 . 03 . 01 . 02 . 0)(zzzzzzzzzHMATLAB数字信号处理数字信号处理 b=0.2, 0.1, 0.3, 0.1, 0.2; a=1, -1.1, 1.5, -0.7, 0.3; n=(0: 500)*pi/500; %在0,pi的范围内取501个采样点 h, w=freqz(b, a, n); %求系统的频率响应 subplot(2, 2, 1), plot(n/pi, abs(h); grid %作系统的绝对幅度频响图 axis(0,1,1.1*min(abs(

13、h), 1.1*max(abs(h); ylabel(幅度); title(幅频响应(V));MATLAB数字信号处理数字信号处理 subplot(2,2, 2), plot(n/pi, angle(h); grid %作系统的相位频响图 axis(0,1,1.1*min(angle(h),1.1*max(angle(h); ylabel(相位);xlabel(以pi为单位的频率); title(相频响应); db=20*log10(abs(h); subplot(2, 2, 3), plot(n/pi, db); grid %作系统的相对幅度频响图 title(幅频响应(db)); subplot(2, 2, 4), zplane(b, a); grid %作零极点分布图 title(零极点分布);MATLAB数字信号处理数字信号处理00.510.20.40.60.81幅度幅 频 响 应 ( V)00.51-202相位以 pi为 单 位 的 频 率相 频 响 应00.51-80-60-40-200幅 频 响 应 ( db)-1-0.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论