资源描述
实 验 报 告
实验名称:FIR数字滤波器设计及应用
课程名称____数字信号处理________
院 系 部:电气与电子工程 专业班级:信息1002
学生姓名:王萌 学 号: 11012000219
同 组 人: 实验台号:
指导教师:范杰清 成 绩:
实验日期:
华北电力大学
一、实验目的
加深理解FIR数字滤波器的时域特性和频域特性,掌握FIR数字滤波器的设计原理与设计方法,以及FIR数字滤波器的应用。
二、 实验原理
FIR数字滤波器可以设计成具有线性相位,在数据通信、图像处理、语音信号处理等实际应用领域得到广泛应用。
M阶FIR数字滤波器的系统函数为:
FIR数字滤波器的单位脉冲响应h[k]是长度为M+1的有限长因果序列。当满足对称条件时,该FIR数字滤波器具有线性相位。FIR数字滤波器设计方法主要有窗口法、频率取样法及优化设计法。
MATLAB中提供的常用FIR数字滤波器设计函数有:
fir1 窗函数法设计FIR数字滤波器(低通、高通、带通、
带阻、多频带滤波器)
fir2 频率取样法设计FIR数字滤波器:任意频率响应
firls FIR数字滤波器设计:指定频率响应
firrcos 升余弦型 FIR 数字滤波器设计
intfilt 内插FIR 数字滤波器设计
kaiserord 凯塞(Kaiser)窗函数设计法的阶数估计
firpm Parks-McClellan算法实现FIR数字滤波器优化设计
firpmord Parks-McClellan 数字滤波器的阶数选择
cremez 复系数非线性相位FIR等波纹滤波器设计
1、 窗口法设计FIR数字滤波器
fir1函数可以很容易地实现FIR数字滤波器窗口法设计。
可设计低通、高通、带通、带阻滤波器、多频带滤波器。
b = fir1(M, Wc)
b = fir1(M, Wc, 'ftype')
b = fir1(M, Wc, window)
b = fir1(M, Wc, 'ftype', window)
b = fir1(M,Wc,‘ ftype',window)
输出参数:b为FIR数字滤波器的M+1个系数构成的矩阵
(即系统的单位脉冲响应)
输入参数:M为FIR数字滤波器的阶数。 Wc为3dB截频:0 < Wc < 1, 1 对应数字频率。 ftype指定滤波器类型,当ftype为:
’high’, 指定一个截频为Wc的高通滤波器;
’stop’ 指定一个带阻滤波器,其阻带截止频率为Wc=[w1,w2];
’DC-0’ 在多频带滤波器中,使第一个频带0<w<w1为阻带;
’DC-1’ 在多频带滤波器中,使第一个频带0<w<w1为通带。
window 指定窗函数,若不指定,默认为哈明窗。
2. 频率取样法设计FIR滤波器
fir2函数可以实现FIR数字滤波器的频率取样法设计。
可设计任意形状频率响应的滤波器。格式如下:
b = fir2(M, f, m)
b = fir2(M, f, m, window)
输出参数:b为FIR数字滤波器的M+1个系数构成的矩阵。
输入参数:M为滤波器的阶数。
f指定归一化的各频带边界频率,从0到1递增, 1对应于fsam/2,即数字频率W=p。
m指定各频带边界频率处的幅度响应, 因此f和m的长度相等,即length(f)=length(a)。
window指定窗函数,若不指定,默认为哈明窗。
三、实验内容
1.分别使用矩形窗、汉明窗、汉宁窗设计一个阶数 M=9的FIR数字低通滤波器,截频为
(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,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('rectangular window','hamming window','hanning window')
grid on
(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('矩形窗得到的FIR滤波器输出')
subplot(3,1,2); stem(H2);
title('哈明窗得到的FIR滤波器输出')
subplot(3,1,3); stem(H3);
title('汉宁窗得到的FIR滤波器输出')
2.利用频率抽样方法设计FIR数字低通滤波器,并绘出衰耗特性。已知阶数M=15,给定指标为:
改变Ad[4]的值,观察该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,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);
3.利用频率抽样方法设计FIR数字带通滤波器,并绘出衰耗特性。已知阶数M=15,给定指标为:
改变Ad[2]或Ad[6]的值,观察该FIR带通数字滤波器的衰耗特性的变化。
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_db);
grid
%改变Ad[2]的值:
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
4. 设计一窄带通FIR数字滤波器,通带中心频率
带宽不大于 。
(1)利用fir1函数和kaiser窗设计该滤波器。
(2)利用fir3函数设计该滤波器,达到fir1函数的设计效果。
(3)分别画出上述两个滤波器的实现结构,并比较其经济性。
b1=fir1(9, [0.45 0.55]/pi, kaiser(10,0.5));
[H1,w]=freqz(b1,1,512);
H1_db=20*log10(abs(H1));
subplot(2,1,1); stem(b1);
title('矩形窗得到的FIR滤波器脉冲响应¦')
subplot(2,1,2); plot(w,H1_db);
title('矩形窗设计的窄带通滤波器');
grid
f=[0 9/(20*pi) 9/(20*pi) 11/(20*pi) 11/(20*pi) 1];
m=[0 0 1 1 0 0];
b=fir2(41,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);
四、思考题
1. 为什么通信应用中需要线性相位?相位失真将会对信号产生什么影响?
答:线性相位系统稳定;相位失真会部分导致使信号失真
2. 为什么FIR滤波器无需考虑稳定性问题?
答:单位脉冲响应是有限长的
3. 在相同的设计指标时,为何FIR数字滤波器的阶数远高于IIR数字滤波器的阶数?
答:FIR是有限长的
4. 线性相位的条件是什么?
答:满足h(n)=+或-h(N-1-n)
5. 在FIR窗口法设计中,为何采用不同特性的窗函数?选用窗函数的依据是什么?
答:在满足阻带衰减的前提下,尽可能选择主瓣宽度小的窗函数,减少衰减
6. 在频率取样法中,如果阻带衰耗不够,采取什么措施?
答:在通带和阻带间设置幅度非0过渡样本点
7. 窗口法和频率取样法的优缺点是什么?
答:窗口法的优点是简单,有闭合的公式可用,性能及参数都有表格资料可查,计算程序简单,较为实用。缺点是当系统函数较为复杂时,hd(n)不容易由反付里叶变换求得。边界频率因为加窗的影响而不易控制。
频率取样法直接从频域进行设计,物理概念清楚直观方便;频率采样设计法对于频率响应只有少数几个非零值取样的窄带选频滤波器特别有效,但对于大型系统不适用。
8. FIR数字滤波器可否设计成非因果离散系统?
答:否
展开阅读全文