资源描述:
《数字信号处理实验作业》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验6数字滤波器的网络结构一、实验目的:1、加深对数字滤波器分类与结构的了解。2、明确数字滤波器的基本结构及其相互间的转换方法。3、掌握用MATLAB语言进行数字滤波器结构间相互转换的子函数及程序编写方法。二、实验原理:1、数字滤波器的分类离散LSI系统对信号的响应过程实际上就是对信号进行滤波的过程。因此,离散LSI系统又称为数字滤波器。数字滤波器从滤波功能上可以分为低通、高通、带通、带阻以及全通滤波器;根据单位脉冲响应的特性,又可以分为有限长单位脉冲响应滤波器(FIR)和无限长单位脉冲响应滤波器(IIR)。一个离散LSI系统可以用系统函数来表示:也可以用差分
2、方程来表示:以上两个公式中,当ak至少有一个不为0时,则在有限Z平面上存在极点,表达的是以一个IIR数字滤波器;当ak全都为0时,系统不存在极点,表达的是一个FIR数字滤波器。FIR数字滤波器可以看成是IIR数字滤波器的ak全都为0时的一个特例。IIR数字滤波器的基本结构分为直接Ⅰ型、直接Ⅱ型、直接Ⅲ型、级联型和并联型。FIR数字滤波器的基本结构分为横截型(又称直接型或卷积型)、级联型、线性相位型及频率采样型等。本实验对线性相位型及频率采样型不做讨论,见实验10、12。另外,滤波器的一种新型结构——格型结构也逐步投入应用,有全零点FIR系统格型结构、全极点II
3、R系统格型结构以及全零极点IIR系统格型结构。2、IIR数字滤波器的基本结构与实现(1)直接型与级联型、并联型的转换例6-1已知一个系统的传递函数为将其从直接型(其信号流图如图6-1所示)转换为级联型和并联型。图6-1分析:从直接型转换为级联型,就是将系统的传递函数(tf)模型转换为二次分式(sos)模型;从直接型转换为并联型,就是将系统函数的传递函数(tf)模型转换为极点留数(rpk)模型。程序清单如下:b=[8,-4,11,-2];a=[1,-1.25,0.75,-0.125];[sos,g]=tf2sos(b,a)[r,p,k]=residuez(b,a
4、)运行结果如下:sos=1.0000-0.190001.0000-0.250001.0000-0.31001.31611.0000-1.00000.5000g=8r=-8.0000-12.0000i-8.0000+12.0000i8.0000p=0.5000+0.5000i0.5000-0.5000i0.2500k=16由sos和g的数据,可以列写出级联型的表达式:信号流图如图6-2所示:图6-2由r、p、k的数据,可以列写出并联型的表达式:上式中出现了复系数,可采用二阶分割将共轭极点组成分母上的实系数二阶环节。这里使用自定义函数dir2par可以实现滤波器结
5、构从直接型向并联型的转换,且用实系数二阶环节表示。在使用该函数时,调用了另一个自定义函数cplxcomp以进行复共轭对的正确排序,保证系统二阶环节的分子、分母一定是实数。dir2par函数和cplxcomp函数定义如下:functionI=cplxcomp(p1,p2)%按共轭条件排列极点留数对%比较两个包含同样标量元素但(可能)具有不同下标的复数对%本语句必须用在p2=cplxpair(p1)语句之后,以重新排序对应的留数向量I=[];forj=1:length(p2)fori=1:length(p1)if(abs(p1(i)-p2(j))<0.0001)I
6、=[I,i];endendendI=I';function[C,B,A]=dir2par(num,den)%直接型到并联型的转换M=length(num);N=length(den);[r1,p1,C]=residuez(num,den);%先求系统的单根p1对应的留数r1及直接项Cp=cplxpair(p1,10000000*eps);I=cplxcomp(p1,p);r=r1(I);K=floor(N/2);B=zeros(K,2);A=zeros(K,3);ifK*2==N;fori=1:2:N-2;Brow=r(i:1:i+1,:);Arow=p(i:
7、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];elsefori=1:2:N-1;Brow=r(i:1:i+1,:);Arow=p(i:1:i+1,:);[Brow,Arow]=residuez(Brow,Arow,[]);B(fix((
8、i+1)/2),:)=real(Bro