1、 实 验 报 告 实验名称 : FIR 数字滤波器设计及应用 课程名称 _数字信号处理 _ 院 系 部 :电气与电子工程 专业班级:信息 1002 学生姓名:王萌 学 号 : 11012000219 同 组 人 : 实验台号 : 指导教师:范杰清 成 绩: 实验日期 : 华北电力大学 一、实验目的 加深理解 FIR 数字滤波器的时域特性和频域特性 ,掌握 FIR 数字滤波器的设计原理与设计方法,以及 FIR数字滤波器的应用。 二、 实验原理 FIR数字滤波器可以设计成具有线性相位,在数据通信、图像处理、语音信号处理等实际应用领域得到广泛应用。 M 阶 FIR数字滤波器的系统函数为: FIR 数
2、字滤波器的单位脉冲响应 hk是长度为 M+1 的有限长因果序列。当满足对称条件时,该 FIR 数字滤波器具有线性相位。 FIR 数字滤波器设计方法主要有窗口法、频率取样法及优化设计法。 MATLAB 中提供的常用 FIR数字滤波器设计函数有: fir1 窗函数法 设计 FIR 数字滤波器(低通、高通、带通、 带阻、多频带滤波器) fir2 频率取样法设计 FIR数字滤波器:任意频率响应 firls FIR 数字滤波器设计:指定频率响应 firrcos 升余弦型 FIR 数字滤波器设计 intfilt 内插 FIR 数字滤波器设计 kaiserord 凯塞 (Kaiser)窗函数设计法的阶数估计
3、 firpm Parks-McClellan 算法实现 FIR数字滤波器优化设计 firpmord Parks-McClellan 数字滤波器的阶数选择 cremez 复系数非线性相位 FIR等波纹滤波器设计 1、 窗口法设计 FIR 数字滤波器 fir1函数可以很容易地实现 FIR数字滤波器窗口法设计。 可设计低通、高通、带通、带阻滤波器、多频带滤波器。 kMkzkhzH )(0b = fir1(M, Wc) b = fir1(M, Wc, ftype) b = fir1(M, Wc, window) b = fir1(M, Wc, ftype, window) b = fir1(M,Wc,
4、 ftype,window) 输出参数: b为 FIR 数字滤波器的 M+1个系数构成的矩阵 (即系统的单位脉冲响应) 输入参数: M 为 FIR 数字滤波器的阶数。 Wc 为 3dB 截频: 0 Wc 1, 1 对应数字频率。 ftype 指定滤波器类型,当 ftype 为: high , 指定一个截频为 Wc的高通滤波器; stop 指定一个带阻滤波器,其阻带截止频率为 Wc=w1,w2; DC-0 在多频带滤波器中,使第一个频带 0ww1 为阻带; DC-1 在多频带滤波器中,使第一个频带 0ww1 为通带。 window 指定窗函数,若不 指定,默认为哈明窗。 2. 频率取样法设计 F
5、IR 滤波器 fir2函数可以实现 FIR数字滤波器的频率取样法设计。 可设计任意形状频率响应的滤波器。格式如下: b = fir2(M, f, m) b = fir2(M, f, m, window) 输出参数: b为 FIR数字滤波器的 M+1个系数构成的矩阵。 输入参数: M为滤波器的阶数。 f 指定归一化的各频带边界频率,从 0到 1 递增, 1对应于 fsam/2,即数字频率 。 m 指定各频带边界频 率处的幅度响应, 因此 f 和 m的长度相等,即length(f)=length(a)。 window指定窗函数,若不指定,默认为哈明窗。 三、实验内容 1.分别使用矩形窗、汉明窗、汉
6、宁窗设计一个阶数 M=9 的 FIR 数字(rad) 3c低通滤波器,截频为 ( 1)画出各种方法设计的数字滤波器的单位脉冲响应。 ( 2)画出它们的幅频响应,并比较各滤波器的通带纹波和阻带纹波,有何结论 ? ( 3)若输入为 计算各滤波器的输出并画出其波形 . 解答 : (1) b1=fir1(9,1/3,boxcar(10); H1,w=freqz(b1,1,512); H1_db=20*log10(abs(H1); b2=fir1(9,1/3,hamming(10); H2,w=freqz(b2,1,512); H2_db=20*log10(abs(H2); b3=fir1(9,1/3,
7、hanning(10); H3,w=freqz(b3,1,512); H3_db=20*log10(abs(H3); subplot(4,1,1); stem(b1); title(矩形窗得到的 FIR滤波器脉冲响应 ) subplot(4,1,2); stem(b2); title(哈明窗得到的 FIR滤波器脉冲响应 ) subplot(4,1,3); stem(b3); title(汉宁窗得到的 FIR滤波器脉冲响应 ) subplot(4,1,4); plot(w,H1_db,w,H2_db,r-,w,H3_db,y-); title(Frequency response) legend
8、(rectangular window,hamming window,hanning window) grid on )2c o s ( )4c o s (21 kkkx (3)k=0:127; x=1+2*cos(pi/4*k)+cos(pi/2*k); b1=fir1(9,1/3,boxcar(10); H1=freqz(b1,x,128); b2=fir1(9,1/3,hamming(10); H2=freqz(b2,x,128); b3=fir1(9,1/3,hanning(10); H3=freqz(b3,x,128); subplot(3,1,1); stem(H1); title
9、(矩形 窗得到的 FIR滤波器输出 ) subplot(3,1,2); stem(H2); title(哈明窗得到的 FIR滤波器输出 ) subplot(3,1,3); stem(H3); title(汉宁窗得到的 FIR滤波器输出 ) 2.利用频率抽样方法设计 FIR 数字低通滤波器,并绘出衰耗特性。已知阶数 M=15,给定指标为: 改变 Ad4的值,观察该 FIR低通数字滤波器的衰耗特性的变化 。 f=0 1/(7*pi) 2/(7*pi) 3/(7*pi) 4/(7*pi) 5/(7*pi) 6/(7*pi) 1; m=1 1 1 1 0.389 0 0 0; b=fir2(15,f,
10、m); h,w = freqz(b, 1, 128); legend(Ideal, fir2 Designed) figure(1); plot(f,m,w/pi,abs(h) ; grid title(Comparison of Frequency Response Magnitudes) figure(2); H_db=20*log10(abs(h);plot(w,H_db); 7,6,5043 8 9.03,2,1,01mmmmA d3.利用频率抽样方法设计 FIR数字带通滤波器,并绘出衰耗特性。已知阶数 M=15,给定指标为: 改变 Ad2或 Ad6的值,观察该 FIR 带通数字滤波器
11、的衰耗特性的变化。 f=0 1/(7*pi) 2/(7*pi) 3/(7*pi) 4/(7*pi) 5/(7*pi) 6/(7*pi) 1; m=0 0 0.456 1 1 1 0.456 0; b=fir2(15,f,m); h,w = freqz(b, 1, 128); legend(Ideal, fir2 Designed) figure(1); plot(f,m,w/pi,abs(h) ; grid title(Comparison of Frequency Response Magnitudes) figure(2); H_db=20*log10(abs(h); plot(w,H_d
12、b); grid 5,4,316,24 5 6.07,1,000mmmmA d%改变 Ad2的值: f=0 1/(7*pi) 2/(7*pi) 3/(7*pi) 4/(7*pi) 5/(7*pi) 6/(7*pi) 1; m=0 0 0.20 1 1 1 0.456 0; b=fir2(15,f,m); h,w = freqz(b, 1, 128); legend(Ideal, fir2 Designed) figure(1); plot(f,m,w/pi,abs(h) ; grid title(Comparison of Frequency Response Magnitudes) figure(2); H_db=20*log10(abs(h); plot(w,H_db); grid