数字信号处理实验指导书(三)_第1页
数字信号处理实验指导书(三)_第2页
数字信号处理实验指导书(三)_第3页
数字信号处理实验指导书(三)_第4页
数字信号处理实验指导书(三)_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

1、 “数字信号处理”实验指导书(三)一、实验课程编码:105003二、实验课程名称:数字信号处理 三、实验项目名称:数字滤波器结构的MATLAB实现四、实验目的掌握应用MATLAB实现IIR、FIR数字滤波器结构的方法,即熟悉应用MATLAB实现IIR、FIR数字滤波器结构的相关函数。五、主要设备安装有MATLAB软件的电脑六、实验内容编写MATLAB 程序,实现以下题目: 1已知某四阶IIR滤波器的系统函数如下分别实现系统的级联型结构和并联型结构,并求系统的单位脉冲响应和单位阶跃响应。2. 用直接型结构、级联型结构实现系统函数并求系统的单位脉冲响应和单位阶跃响应。3. 用直接型结构、并联型结构

2、实现系统函数并求系统的单位脉冲响应和单位阶跃响应。 4. 实现下列线性相位FIR滤波器的级联型结构,求系统的单位脉冲响应和单位阶跃响应。(1)(2)七、实验步骤 1、熟悉与离散信号频谱分析相关的MATLAB函数(参考附录1); 2、通过运行附录2中提供的例题,熟悉用MATLAB实现数字滤波器结构的基本方法;3、根据“六、实验内容”中各个题目的要求,编写MATLAB程序代码,调试程序,分析并保存结果。八、实验结果对实验练习题编写MATLAB程序并运行,在计算机上输出仿真结果。附录1 主要的相关MATLAB函数1. yfilter(b,a,x)2. z,p,ktf2zp(num,den)3. r,

3、p,kresiduez(num,den)附录2 例题例1、用直接型实现系统函数为的IIR数字滤波器,求单位脉冲响应和单位阶跃响应。MATLAB程序:%用直接型结构实现IIR数字滤波器b=1,-3,11,27,18;a=16,12,2,-4,-1;N=25;h=impz(b,a,N); %直接型单位脉冲响应x=ones(1,5),zeros(1,N-5); %单位阶跃信号y=filter(b,a,x); % 直接型输出信号subplot(1,2,1);stem(h,'.');line(0,30,0,0);title('直接型单位脉冲响应');subplot(1,2

4、,2);stem(y,'.');line(0,30,0,0);title('直接型单位阶跃响应');运行结果: 例2、用级联型结构实现系统函数为的IIR数字滤波器,求单位脉冲响应和单位阶跃响应。 MATLAB程序: %用级联型结构实现直接形式的系统函数N=25;%delta=impseq(0,0,N);delta=1,zeros(1,N-1);b=1,-3,11,27,18;a=16,12,2,-4,-1;b0,B,A=dir2cas(b,a);h=casfilter(b0,B,A,delta);x=ones(1,5),zeros(1,N-5); y=casfi

5、lter(b0,B,A,x);subplot(1,2,1);stem(h,'.');line(0,25,0,0);title('级联型单位脉冲响应');subplot(1,2,2);stem(y,'.');line(0,25,0,0);title('级联型单位阶跃响应'); 运行结果: 例3、用并联型结构实现系统函数 MATLAB程序:%用并联型结构实现直接形式的系统函数b=1,-3,11,27,18;a=16,12,2,-4,-1;N=25;%delta=impseq(0,0,N);delta=1,zeros(1,N-1);C,

6、B,A=dir2par(b,a);x=ones(1,5),zeros(1,N-5);h=parfilter(C,B,A,delta); %并联型单位脉冲响应y=parfilter(C,B,A,x); %并联型单位阶跃响应subplot(1,2,1);stem(h,'.');line(0,25,0,0);title('并联型单位脉冲响应');subplot(1,2,2);stem(y,'.');line(0,25,0,0);title('并联型单位阶跃响应'); 运行结果:例题中的函数:function b0,B,A=dir2cas

7、(b,a)%直接型结构到级联型结构的转换子程序%Direct-form to Cascade-form conversion in z-plane%(complex pair version)% b0,B,A=dir2cas(b,a);% C=gain coefficient% B=K by 3 matrix of real coefficients containing bk's% A=K by 3 matrix of real coefficients containing ak's% b=numerator polynomial coefficients of direc

8、t form% a=denominator polynomial coefficients of direct form% compute gain coefficient b0b0=b(1);b=b/b0;a0=a(1);a=a/a0;b0=b0/a0;M=length(b);N=length(a);if N>M b=b zeros(1,N-M);elseif M>N a=a zeros(1,M-N); N=M;else NM=0;endK=floor(N/2);B=zeros(K,3);A=zeros(K,3);if K*2=N b=b 0; a=a 0;endbroots=c

9、plxpair(roots(b);aroots=cplxpair(roots(a);for i=1:2:2*K Brow=broots(i:1:i+1,:); Brow=real(poly(Brow); B(fix(i+1)/2),:)=Brow; Arow=aroots(i:1:i+1,:); Arow=real(poly(Arow); A(fix(i+1)/2),:)=Arow;endfunction C,B,A=dir2par(b,a)% 直接型转成并联型子程序M=length(b);N=length(a);r1,p1,C=residuez(b,a);p=cplxpair(p1,1000

10、0000*eps);I=cplxcomp(p1,p);r=r1(I);K=floor(N/2);B=zeros(K,2);A=zeros(K,3);if K*2=N for i=1:2:(N-2) Brow=r(i:1:(i+1),:); Arow=p(i:1:(i+1),:); Brow,Arow=residuez(Brow,Arow,); B(fix(i+1)/2),:)=real(Brow); A(fix(i+1)/2),:)=real(Arow); end Brow,Arow=residuez(r(N-1),p(N-1),); B(K,:)=real(Brow) 0; A(K,:)=real(Arow) 0;else for i=1:2:(N-1) Brow=r(i:1:(i+1),:); Arow=p(i:1:(i+1),:); Brow,Arow=residuez(Brow,Arow,); B(fix(i+1)/2),:)=real(Brow); A(fix(i+1)/2),:)=real(Arow); endendfunction I=cplxcomp(p1,p2)% I=cplxcomp(p1,p2)% 比较两个包含同样标量元素但(可能)有不同下标

温馨提示

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

评论

0/150

提交评论