logo资料库

数字信号-IIR数字滤波器设计.docx

第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
资料共6页,全文预览结束
第5次实验
第 5 次实验 实验项目名称 实验 5 无限冲激响应数字滤波器设计 实 验 目 的 实 验 原 理 1、掌握双线性变换法及脉冲相应不变法设计 IIR 数字滤波器的具体 设计方法; 2、熟悉用双线性变换法及脉冲响应不变法设计低通、高通和带通 IIR 数字滤波器的计算机编程。 在 MATLAB 中,可以用下列函数辅助设计 IIR 数字滤波器: (1)利用 buttord 和 cheb1ord 可以确定低通原型巴特沃斯和切比雪夫滤 波器的阶数和截止频率; ( 2 ) [num,den]=butter ( N,Wn ) ( 巴 特 沃 斯 ) 和 [num,den]=cheby1 (N,Wn),[num,den]=cheby2(N,Wn)(切比雪夫 1 型和 2 型)可以进行 滤波器的设计; (3)lp2hp,lp2bp,lp2bs 可以完成低通滤波器到高通、带通、带阻滤波 器的转换; (4)使用 bilinear 可以对模拟滤波器进行双线性变换,求得数字滤波器 的传输函数系数; (5)利用 impinvar 可以完成脉冲响应不变法的模拟滤波器到数字滤波器 的转换。 1
预习 要求 在 MATLAB 中,熟悉函数 butter、cheby1、cheby2 的使 用,其中: [num,den]=butter(N,Wn)巴特沃斯滤波器设计; [num,den]=cheby1(N,Wn)切比雪夫 1 型滤波器设计; [num,den]=cheby2(N,Wn)切比雪夫 2 型滤波器设计。 结合课本学习在 MATLAB 中进行数字滤波器的设计; 给出 IIR 数字滤波器参数和滤波器的冲激响应,绘出它们 的幅度和相位频响曲线,讨论它们各自的实现形式和特 点。 一、实验内容 利用 MATLAB 编程,用脉冲响应不变法和双线性变 换法设计一个数字带通滤波器,指标要求如下: 通带边缘频率: , ,通带峰值 起伏: ; 阻带边缘频率: , ,最小阻带衰减: 实验内容 。 1)双线性变换法 (1)设计步骤 1、确定数字滤波器的性能指标:通带波动 Rp、阻 带内的最小衰减 As、采样频率 fs 2、确定相应的数字角频率 fs=2000; Rp=1dB; As=40dB; w1=0.45*pi; w2=0.65*pi; wr1=0.3*pi; wr2=0.8*pi; 2
3、计算经过预畸的相应模拟带通原型的频率 w11=2*Fs*tan(w1/2); w22=2*Fs*tan(w2/2); wr11=2*Fs*tan(wr1/2); wr22=2*Fs*tan(wr2/2); 4、根据 w11,w22,wr11,wr22 计算模拟带通原型滤波 器的阶数 N,并求得带通原型的传递函数 Ha(s); 5、使用 代入 Ha(s),求出所设计的传递函数 H(z); 6、分析滤波器特性,检查其指标是否满足要求。 (2)程序代码 wr22],Rp,As,'s'); Rp=1;As=40;fs=2000; w1=0.45*pi; w2=0.65*pi; wr1=0.3*pi; wr2=0.8*pi; w11=2*fs*tan(w1/2); w22=2*fs*tan(w2/2); wr11=2*fs*tan(wr1/2); wr22=2*fs*tan(wr2/2); [N,wn]=cheblord([w11 w22],[wr11 [B,A]=cheby1(N,Rp,wn,'s'); [num,den]=impinvar(B,A,fs); [h,w]=freqz(num,den); f=w/(pi*2); plot(f,20*log10(abs(h))); axis([0,0.5,-300,5]); grid; xlabel('频率/kHz') ylabel('幅度/dB') (3)下图为 MATLAB 的计算结果。 3
2)脉冲响应不变法 (1)设计步骤 1、确定数字滤波器的性能指标:通带波动 Rp、阻 带内的最小衰减 As、采样频率 Fs 2、确定相应的数字角频率 fs=2000; Rp=1dB; As=40dB; w1=0.45*pi; w2=0.65*pi; wr1=0.3*pi; wr2=0.8*pi; 3、计算相应模拟带通原型的频率 w11=2*fs*tan(w1/2); w22=2*fs*tan(w2/2); wr11=2*fs*tan(wr1/2); wr22=2*fs*tan(wr2/2); 4、根据 w11,w22,wr11,wr22 计算模拟带通原型滤波 器的阶数 N,并求得带通原型的传递函数 Ha(s); 5、根据 4
滤波器系统函数 Ha(s)转换成数字滤波器系统函数 H(z); 6、分析滤波器特性,检查其指标是否满足要求。 ,将模拟 (2)程序代码 Rp=1;As=40;fs=2000; w1=0.45*pi; w2=0.65*pi; wr1=0.3*pi; wr2=0.8*pi; w11=fs*w1; w22=fs*w2; wr11=fs*wr1; wr22=fs*wr2; [N,wn]=buttord([w11 w22],[wr11 [B,A]=butter(N,wn,'s'); [num,den]=impinvar(B,A,fs); [h,w]=freqz(num,den); f=w/(pi*1000); plot(f,20*log10(abs(h))); grid; xlabel('频率/kHz') ylabel('幅度/dB') wr22],Rp,As,'s'); (3)下图为 MATLAB 的计算结果。 5
实验总结 通过这次实验了解了双线性变换法及脉冲响应 不变法设计 IIR 数字滤波器的具体设计方法,并且学 会了用双线性变换法及脉冲响应不变法设计低通、 高通和带通 IIR 数字滤波器的计算机编程。在实验的 过程中还有很多不足的地方,还需多多练习。 指导教师意见 签 名 : 年 月 日 6
分享到:
收藏