用窗函数法设计FIR数字滤波器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用窗函数法设计FIR 数字滤波器
一、实验目的
1.掌握用窗函数法设计FIR 数字滤波器的原理和方法。
2.熟悉线性相位FIR 数字滤波器特征。
3.了解各种窗函数对滤波特性的影响。 二、实验仪器
微型计算机 matlab 软件 三、实验原理和方法
如果所希望的滤波器的理想频率响应函数为 )(ω
j d e
H ,则其对应的单位脉冲响应为
)(n h d =
π
21ωωωπ
π
d e e H j j d )(⎰-
(2-1)
窗函数设计法的基本原理是用有限长单位脉冲响应序列)(n h 逼近)(n h d 。由于)(n h d 往往是无限长序列,且是非因果的,所以用窗函数)(n ω将)(n h d 截断,并进行加权处理,得到:
)(n h =)(n h d )(n ω (2-2)
)(n h 就作为实际设计的FIR 数字滤波器的单位脉冲响应序列,
其频率响应函数)(ω
j d e H 为: )(ω
j d e
H =∑-=-1
)(N n j e n h ω (2-3)
式中,N 为所选窗函数)(n ω的长度。
由第七章可知,用窗函数法设计的滤波器性能取决于窗函数)(n ω的类型及窗口长度N 的取值。设计过程中,要根据对阻带最小衰减和过渡带宽度的要求选择合适的窗函数类型和窗口长度N 。各种类型的窗函数可达到的阻带最小衰减和过渡带宽度见第七章。
这样选定窗函数类型和长度N 后,求出单位脉冲响应)(n h =)(n h d ·)(n ω,并按式(2-3)求出)(ω
j e H 。)(ωj e H 是否满足要求,要进行验算。一般在)(n h 尾部加零使长度
满足于2的整数次幂,以便用FFT 计算)(ω
j e H 。如果要观察细节,补零点数增多即可。如
果)(ω
j e
H 不满足要求,则要重新选择窗函数类型和长度N ,再次验算,直至满足要求。
如果要求线性相位特性,则)(n h 还必须满足
)1()(n N h n h --±= (2-4)
根据上式中的正负号和长度N 的奇偶性又将线性相位FIR 滤波器分成四类。要根据设计的滤波特性正确选择其中一类。例如,要设计线性低通特征,可选择)1()(n N h n h --=一类,而不能选)1()(n N h n h ---=一类。 四、实验内容
1.复习用窗函数法设计FIR 数字滤波器一节内容,阅读本实验原理掌握设计步骤。
2.编写程序
① 编写能产生矩型窗、哈明窗、汉宁窗、莱克曼窗的窗函数子程序。
② 编写主程序。主程序框图如图
设 : [])()(n h DFT k H = (2-4) )()()(K jH k H k H I R += (2-5)
)()()(22
k H k H k H I R += (2-6)
画图时,20lg )(k H 打印幅度特性。第k 点对应的频率k N
k π
ω2=
。为使曲线包络更 接近)(ω
j e H 的幅度特性曲线,DFT 变换区间要选大些。例如窗口长度N=33时,可通过在
)(n h 末尾补零的方法,使长度变为64,再进行4点DFT ,则可得到更精确的幅度衰减特性
曲线。
3.上机实验内容
用四种窗函数设计线性相位低通FIR 数字滤波器,截止频率4π
ω=
c ra
d ,N=256。绘
制相应的幅频特性曲线,观察3dB 带宽和20dB 带宽以及阻带最小衰减,比较四种窗函数对
滤波器特性的影响。
设计低通FIR 数字滤波器时,一般以理想低通滤波特性为逼近函数)(ω
j d e
H ,即
⎪⎩⎪⎨⎧≤<≤=-π
ωωωωωαω
c c j j
d e
e H ,0,)( 其中21-=N α (2-8)
)
()
(sin 21)(21
)(απαωωπ
ωπ
ωω
ωωαπ
π
ωω--=
=
=
⎰⎰-
--
n n d e e d e
e H n h c n j j n
j j d d c
c
(2-9)
五、思考题
1.如果给定通带截止频率和阻带截止频率以及阻带最小衰减,如何用窗函数法设计线性相位低通滤波器?写出设计步骤。
2.定性说明本实验中3dB 截止频率的理论值在什么位置?是否等于理想低通的截止频率ω?
3.如果要求用窗函数法设计带通滤波器,且给定上、下边带截止频率为1ω和2ω,试求理想带通的单位脉冲响应)(n h 。 六、实验报告要求
1.简述实验目的及原理。
2.按照实验步骤及要求,比较各种情况下的滤波性能,说明窗口长度N 和窗函数类型对滤波特性的影响。
3.总结用窗函数法设计FIR 滤波器的主要特点。
4. 简要回答思考题。
参考程序1:
N=input('窗宽度N=');
k=input('窗型:1.矩形窗,2.hanning(升余弦窗),3.hamming (改进的升余弦窗),4.Blackman 请选择:'); subplot(2,2,1); w=pi/5; a=(N-1)/2; n=0:(N-1); m=n-a+eps;
h=sin(w*m)./(pi*m); if k==1
B=bartlett(N); else if k==2
B=hanning(N); else if k==3