logo资料库

基于MATLAB的IIR和FIR滤波器设计-实验5 基于MATLAB的数字滤波器设计.doc

第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
资料共4页,全文预览结束
实验 5 基于 MATLAB 的 IIR 滤波器设计 一、 实验目的 (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 型滤波器设计。
(2)阅读附录中的实例,学习在 MATLAB 中进行数字滤波器的设计; (3)给出 IIR 数字滤波器参数和滤波器的冲激响应,绘出它们的幅 度和相位频响曲线,讨论它们各自的实现形式和特点。 四、 实验内容 利用 MATLAB 编程,用脉冲响应不变法和双线性变换法设计一个数字 带通滤波器,指标要求如下: 通带边缘频率: 1 P 45.0 ,  P 2  65.0 ,通带峰值 起伏: p  [1 dB ] 。 阻 带 边 缘 频 率 : 1  S 3.0 , 2  S 8.0 , 最 小 阻 带 衰 减 : S  [40 dB ] 。 附录: 例 1 设采样周期 T=250μs(采样频率 fs =4kHz),用脉冲响应不变法和双线性变换法设计一 个三阶巴特沃兹滤波器,其 3dB 边界频率为 fc =1kHz。 [B,A]=butter(3,2*pi*1000,'s'); [num1,den1]=impinvar(B,A,4000); [h1,w]=freqz(num1,den1); [B,A]=butter(3,2/0.00025,'s'); [num2,den2]=bilinear(B,A,4000); [h2,w]=freqz(num2,den2); f=w/pi*2000; plot(f,abs(h1),'-.',f,abs(h2),'-'); grid; xlabel('频率/Hz ') ylabel('幅值/dB') 程序中第一个 butter 的边界频率 2π×1000,为脉冲响应不变法原型低通滤波器的边界频 率;第二个 butter 的边界频率 2/T=2/0.00025,为双线性变换法原型低通滤波器的边界频率. 图 1 给出了这两种设计方法所得到的频响,虚线为脉冲响应不变法的结果;实线为双线性变 换法的结果。脉冲响应不变法由于混叠效应,使得过渡带和阻带的衰减特性变差,并且不存 在传输零点。同时,也看到双线性变换法,在 z=-1 即Ω=π或 f=2000Hz 处有一个三阶传输零 点,这个三阶零点正是模拟滤波器在ω=∞处的三阶传输零点通过映射形成的。
例 2 设计一数字高通滤波器,它的通带为 400~500Hz,通带内容许有 0.5dB 的波动,阻 带内衰减在小于 317Hz 的频带内至少为 19dB,采样频率为 1,000Hz。 wc=2*1000*tan(2*pi*400/(2*1000)); wt=2*1000*tan(2*pi*317/(2*1000)); [N,wn]=cheb1ord(wc,wt,0.5,19,'s'); [B,A]=cheby1(N,0.5,wn,'high','s'); [num,den]=bilinear(B,A,1000); [h,w]=freqz(num,den); f=w/pi*500; plot(f,20*log10(abs(h))); axis([0,500,-80,10]); grid; xlabel('') ylabel('幅度/dB') 例 3 设计一巴特沃兹带通滤波器,其3dB 边界频率分别为 f2=110kHz 和 f1=90kHz,在阻 带 f3 = 120kHz 处的最小衰减大于10dB,采样频率 fs=400kHz。 w1=2*400*tan(2*pi*90/(2*400)); w2=2*400*tan(2*pi*110/(2*400)); wr=2*400*tan(2*pi*120/(2*400)); [N,wn]=buttord([w1 w2],[0 wr],3,10,'s'); [B,A]=butter(N,wn,'s'); [num,den]=bilinear(B,A,400); [h,w]=freqz(num,den);
f=w/pi*200; plot(f,20*log10(abs(h))); axis([40,160,-30,10]); grid; xlabel('频率/kHz') ylabel('幅度/dB') 例 4 一数字滤波器采样频率 fs = 1kHz,要求滤除 100Hz 的干扰,其3dB 的边界频率为 95Hz 和 105Hz,原型归一化低通滤波器为 w1=95/500; w2=105/500; [B,A]=butter(1,[w1, w2],'stop'); [h,w]=freqz(B,A); f=w/pi*500; plot(f,20*log10(abs(h))); axis([50,150,-30,10]); grid; xlabel('频率/Hz') ylabel('幅度/dB')
分享到:
收藏