实验7 FIR滤波器的窗函数设计方法
7.1 实验目的
(1)探究窗函数主瓣宽度和旁辦电平对滤波器性能的影响。
(2)观察理解Gibbs效应。
7.2 实验原理
用窗函数法设计FIR滤波器,观察不同阶数下的通带起伏和过渡带宽度的变化。
7.3 实验内容
(1)采用矩形窗函数设计带通滤波器,中心频率为 $f_0=150MHz$,通带宽度为 $B=100MHz$,上下阻带最小衰减大于20dB,上下过渡带宽小于10MHz,采样频率为 $f_s=500MHz$,要求具有线性相位特性。
①使用MATLAB内置的fir1函数设计出符合指标要求的滤波器(其中矩形窗函数使用boxcar函数),利用MATLAB内置的freqz函数画出幅频特性曲线。
②改变系统阶数N(增加和减少),画出不同N下的幅频特性曲线(此处建议对幅度谱取绝对值画图,不建议画出功率谱图),并分析讨论。要求幅度归一化,频率单位为Hz。滤波器幅度谱的频率范围为 $0~f_s$。
(2)采用三角形窗、汉宁窗、汉明窗布莱克曼窗重复上述过程。
7.4 仿真结果
7.5 结果分析
1.核心参数计算
采样频率 $f_s$: $500 \text{ MHz}$
中心频率 $f_0$: $150 \text{ MHz}$
通带宽度 $B$: $100 \text{ MHz}$
截止频率计算:
下截止频率 $f_{c1} = f_0 - B/2 = 100 \text{ MHz}$
上截止频率 $f_{c2} = f_0 + B/2 = 200 \text{ MHz}$
归一化频率 (Nyquist 频率为 $f_s/2$):
$w_{n1} = 100 / (500/2) = 0.4$$w_{n2} = 200 / (500/2) = 0.8$
阶数 $N$: 矩形窗的过渡带宽度约为 $4\pi/N$。
要求过渡带 $< 10 \text{ MHz}$,经估算 $N$ 应在 $100$ 以上。我们选取 $N=100$ 作为基准进行观察。
2.实验分析讨论
(1) 阶数 $N$ 对特性的影响
增加 $N$:
滤波器的过渡带变得更窄(更陡峭),更接近理想的矩形选择性。但 $N$ 过大会增加计算延迟。
减小 $N$: 过渡带变宽,主瓣变宽,滤波器的选择性变差。
(2) 窗函数对特性的影响
矩形窗 (Boxcar):
过渡带最窄,但阻带衰减小(约 $21\text{dB}$),通带和阻带内的振荡(吉布斯现象)最明显。
汉宁/海明/布莱克曼窗:
随着窗函数平滑度增加,阻带衰减显著增大(性能更稳定),但代价是过渡带变宽。若要达到同样的过渡带宽度,这些窗函数需要比矩形窗更高的阶数 $N$。
(3) 线性相位特性由于使用的是 fir1 设计的对称系数 FIR 滤波器,其相位响应在通带内是严格线性的,这保证了信号在过滤后不会产生相位失真。
7.6 结论
本实验深入研究了窗函数法设计FIR滤波器的性能特点和设计权衡。实验表明:
(1)阶数与性能关系:滤波器阶数N的增加能显著改善过渡带陡峭度和选择性,但会增加计算复杂度和群延迟,需要根据实际应用要求进行合理选择。
(2)窗函数性能权衡:矩形窗具有最窄的过渡带但存在严重的Gibbs振荡现象;平滑窗函数(Hanning、Hamming、Blackman)能有效抑制阻带振荡并提高衰减性能,但代价是过渡带变宽。
(3)线性相位优势:FIR滤波器固有的线性相位特性保证了信号的相位不失真,这是相对于IIR滤波器的重要优势。
(4)设计指导原则:窗函数的选择应综合考虑过渡带宽度、阻带衰减和通带波纹等指标要求,在滤波器性能和实现复杂度之间寻求最佳平衡。
7.7 代码
| |