资源描述:
《数字信号处理 实验 冲激响应不变法iir数字滤波器设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数字信号处理实验报告实验名称:冲激响应不变法IIR数字滤波器设计学号:姓名:评语:成绩:一、实验目的1、掌握构成一个频率响应与给定的滤波特性相接近的模拟滤波器的设计原理。2、掌握用冲激响应不变法设计IIR数字滤波器的基本原理和算法。3、了解数字滤波器和模拟滤波器的频率响应特性,掌握相应的计算方法,分析用冲激响应不变法获得的数字滤波器频率响应特性中出现的混叠现象。二、实验原理与计算方法1、冲激响应不变法设计IIR数字滤波器的基本原理和算法采用冲激响应不变法设计数字滤波器,就是使其单位样值响应与相应的模拟滤波器的冲激响应在抽样点处的量值相等,即 (1)其中T为抽样周期。因此用冲
2、激响应不变法设计IIR数字滤波器的基本步骤,就是首先根据设计要求确定相应的模拟滤波器的传递函数,经Laplace反变换求出冲激响应后,对它进行抽样得到的等于数字滤波器的单位样值响应,再经z变换所得就是数字滤波器的传递函数。如果模拟滤波器的传递函数的N个极点都是单极点,则可以将写成部分分式展开的形式 (2)那么,经Laplace反变换求出的模拟滤波器的冲激响应为相对应的数字滤波器的单位样值响应为对上式作z变换,得(3)由上面的推导可见,只要模拟滤波器的传递函数的N个极点都是单极点,当已经求出各个极点值和部分分式的系数后,则可以从模拟滤波器的传递函数的表达式(
3、2)直接得到数字滤波器的传递函数的表达式(3)。2、Butterworth和Chebyshev模拟滤波器的设计方法(1)Butterworh原型MATLAB提供了函数[z,p,k]=buttap(N)用来设计N阶归一化的Butterworth模拟低通滤波器;函数[b,a]=u_buttap(N,Omegac)给出未归一化的Butterworth模拟低通滤波器原型;再利用函数[C,B,A]=sdir2cas(b,a)得到级联形式的N阶Butterworth模拟低通滤波器原型。>>N=3;OmegaC=0.5;>>[b,a]=u_buttap(N,Omegac);>>[C,B,A]=sd
4、ir2cas(b,a)(2)按给定技术指标设计Butterworth模拟低通滤波器函数[b,a]=afd_butt(Wp,Ws,Rp,As)用来实现按给定技术指标设计Butterworth模拟低通滤波器;函数[db,mag,pha,w]=freqs_m(b,a,0.5*pi)绘制模拟滤波器频响特性,得出衰减值,幅频特性,相频特性和自变量w;函数[H,w]=freqs(b,a,0.5*pi)绘制模拟滤波器频响特性,给出复函数H,再由abs(H)和angle(H)求出幅频和相频特性;[ha,x,t]=impulse(b,a)求出模拟滤波器冲激响应。>>Wp=0.2*pi;Ws=0.3*p
5、i;Rp=7;As=16;>>[b,a]=afd_butt(Wp,Ws,Rp,As)>>[db,mag,pha,w]=freqs_m(b,a,0.5*pi)>>[ha,x,t]=impulse(b,a)(3)数字滤波器设计-Butterworth函数[b,a]=imp_incr(c,d,T)用来实现冲激响应不变的映射,c、d分别为模拟滤波器系统函数Ha(s)的分子、分母的系数;T为抽样周期;%数字滤波器技术指标>>wp=0.2*pi;ws=0.3*pi;Rp=1;As=15;%对应的模拟滤波器技术指标>>T=1;Wp=wp/T;Ws=ws/T;>>[cs,cd]=afd_butt(W
6、p,Ws,Rp,As);>>[b,a]=imp_invr(cs,ds,T)%并联形式的系统函数系数>>[C,B,A]=dir2par(b,a)函数[H,w]=freqz(b,a)绘制数字滤波器频响特性,给出复函数H,再由abs(H)和angle(H)求出幅频和相频特性。(4)Chebyshev原型MATLAB提供了函数[z,p,k]=cheblap(N,Rp)用来设计N阶通带波动为Rp的归一化Chebyshev模拟低通滤波器;函数[b,a]=u_chb1ap(N,Omegac)给出未归一化的Chebyshev模拟低通滤波器原型。(5)按给定技术指标设计Chebysheb模拟低通滤波器
7、函数[b,a]=afd_chb1(Wp,Ws,Rp,As)用来实现按给定技术指标设计Chebyshev模拟低通滤波器;函数[db,mag,pha,w]=freqs_m(b,a,0.5*pi)绘制频响特性;[ha,x,t]=impulse(b,a)求出模拟滤波器冲激响应。>>Wp=0.2*pi;Ws=0.3*pi;Rp=1;As=16;>>[b,a]=afd_chb1(Wp,Ws,Rp,As)>>[db,mag,pha,w]=freqs_m(b,a,0.5*