(2)线性相位FIR滤波器没有延时失真,仅有某一固定时延,便于设计;
(3)对于长度为M(或M-1)的滤波器,其运算次数具有M/2量级,提高运算速度,节省资源。
乘法运算是FPGA实现FIR滤波器的关键技术之一。乘法器会占用大量的逻辑单元,所以希望尽可能减少乘法运算次数,由前面的介绍可知,线性相位FIR滤波器结构可以省一半数量的乘法次数,因此设计中选择了线性相位的FIR滤波结构。
2.1.3 FIR滤波器的窗函数设计法
FIR滤波器设计方法以直接逼近所需离散时间系统的频率响应为基础。设计方法包括窗函数法和最优化方法(等同波纹法)。其中窗函数方法是设计FIR数字滤波器最简单的方法,也是最常用的方法之一,其设计方法较为成熟。
窗函数设计的基本思想是要选取某一种合适的理想频率选择性滤波器,然后将它的脉冲响应截断以得到一个线性相位和因果的FIR滤波器。因此这种方法的重点在于选择某种合适的窗函数和一种理想滤波器。对于给定的滤波器技术指标,选择滤波器长度和具有最窄主瓣宽度和尽可能小的旁瓣衰减的某个窗函数。
任何数字滤波器的频率响应H(ejω)都是ω的周期函数,它的傅立叶级数展开式为:
傅立叶系数hd(n)实际上就是理想数字滤波器的冲激响应。获得有限冲激响应数字滤波器的一种可能方法就是把式(2-11)的无穷级数截取为有限项级数来近,而众所周知的吉布斯(Gibbs)现象使得直接截取法不甚令人满意。
窗函数法是用被称为窗函数的有限加权系列{ω(n)}来修正式(2-l0)的傅立数,以求得要求的有限冲激响应序列h(n),即有:
W(n)是有限长序列,当n>N-1及n<0时,W(n)=0.
经过变换可得到所要设计的滤波器的幅度函数:
由上式可见,对实际FIR滤波器有影响的只是窗函数的幅度频率特性WR(ω)。实际中的FIR滤波器的幅度频率特性是理想低通滤波器的频率特性和窗函数的幅度频率特性的复卷积。复卷积给H(ω)带来过冲和波动,所以加窗函数后,对滤波器的理想特性的影响有以下几点:
(1)Hd(ω)在截止频率的间断点变成连续的曲线,使H(ω)出现了一个过渡带,宽度等于窗函数的主瓣的宽度。由此可见,如果窗函数的主瓣越宽,过渡带就越宽。
(2)由于窗函数旁瓣的影响,使得滤波器的幅度频率特性出现了波动,波动的幅度取决于旁瓣的相对幅度。旁瓣范围的面积越大,通带波动和阻带的波动就越大,换句话说,阻带的衰减减小。而波动的多少,取决于旁瓣的大小。
(3)增加窗函数的长度,只能减小窗函数的幅度频率特性W(ω)的主瓣宽度,而不能减小主瓣和旁瓣的相对值,改值取决于窗函数的形状。换句话说,增加截取函数的长度N只能相应的减小过渡带,而不能改变滤波器的波动程度。
工程中比较常用的窗函数有:矩形窗函数、二角形(Bartlett)窗函数、汉宁(Harming)窗函数、海明(Hamming)窗函数、布莱克曼(Blackman)窗函数和凯塞(Kaiser)窗函数。这几种窗函数的比较见表2-1所示。
表2-1 几种窗函数性能比较
窗函数 窗谱性能指标 加窗后滤波器性能指标
旁瓣峰值
(dB) 主瓣宽度
(2π/N) 过渡带宽
(2π/N) 阻带最小衰减
(dB)
矩形窗 -13 2 0.9 -21
三角形窗 -25 4 2.1 -25 基于FPGA的可调参数FIR滤波器系统设计(4):http://www.751com.cn/zidonghua/lunwen_4145.html