APP下载

基于快速傅立叶变换法设计FIR滤波器

2020-07-18毛炜崔俊杰

科学大众 2020年5期

毛炜 崔俊杰

摘 要:控制系统的速度在相当大的程度上取决于控制算法,设备的控制质量取决于控制算法运算量的大小。文章介绍了基于快速傅立叶正负变换设计FIR滤波器的新算法,在层层迭代中进行快速傅立叶正变换和快速傅立叶反变换的交替转换,从而满足对信号分析所需的时域和频域条件,利用FFT实现序列的卷积算法,使所设计的滤波器在频域中逼近理想频率响应的结果。算法特性是被变换的抽取点数变多,因此,该设计极大地减少了运算量。

关键词:快速傅立叶变换;FIR滤波器;Matlab

1    FIR滤波器及快速傅立叶变换

1.1  FIR滤波器

有限脉冲响应(Finite Impulse Response,FIR)滤波器广泛应用于数字信号处理中,主要用途是将不感兴趣的信号过滤清除,留下有用信号。也就是说,能够通过和阻止某一频率信号,在保证任意幅频特性的同时,具有严格的相位线性特性,其单位冲激响应是有限的、全零点结构,系统永远稳定[1]。因此,FIR滤波器在通信、图像处理分析、模式识别等领域都有着广泛应用。通过对抽样数据进行数学处理来达到频域滤波目的。FIR滤波器具有线性延时的特征和不存在系统极点的优点,在有效频率范围内分析所有信号,相位上不失真,对信号处理非常重要[2]。

1.2  快速傅立叶变换

快速傅立叶变换是离散傅立叶变换所需要的乘法次数大为减少的一种快速算法,可以将一个信号变换到频域。有些信号在时域上很难看出具体特征,但是如果变换到频域之后,就很容易看出特征。有限长序列可以通过离散傅立叶变换将其频域也离散化成有限长序列,将产生的短序列进行适当组合,删除重复计算,从而减少乘法运算和简化结构。本文所运用的是按时间抽取的FFT算法,利用其对称性和周期性,对设计对象的算法分若干步进行,从而达到简化的目的[3]。

2    用快速傅立叶变换法设计 FIR滤波器的算法

2.1  FIR数字滤波器的设计原理

截止频率为ωs(rad/s)理想滤波器,其传递函数的表达式为:

(1)

取样响应为h(n),长度为N,为了产生有限长度的冲激响应函数,其系数函数为H(z):

(2)

用h(n)表示截取hd(n)后冲激响应,即:

h(n)=ω(n)hd(n)   (3)

式中,ω(n)为窗函数,长度为N。当τ=时,截取的h(n)关于τ=(N-1)/2对称,可使得所设计的滤波器相位线性。图1为FIR滤波器设计流程。

2.2  用快速傅立叶变换法设计FIR滤波器的算法

给定下列技术指标:导通频率ωp,截止频率ωs,导通频带最大波动系数δp和截止频带最大波动系数δs。频域的约束如式(4):

Hid(ejω)-Ed(ω)≤Hd(ejω)≤Hd(ejω)+Ed(ω)     (4)

Hid(ejω)为理想滤波器的响应,而且得到:

(5)

快速傅立叶变换法设计FIR滤波器,是在层层迭代计算中进行快速傅立叶正变换和快速傅立叶反变换的交替变换,从而满足时域和频域约束的条件。设计步骤如图2所示。

(1)为了产生初始序列h0(n)。取理想频域响应的傅立叶反变换hid(n)=F-L﹣1[Hid(ejω)]为初始值:

(6)

其中,N要以原点对称,才能得到零相位。

(2)在第k次循环中,用FFT法计算hk(n)的傅立叶反变换函数,得到频域函数Gk(ejω)。在频域上施加以下约束:

(7)

(3)对Gk(ejω)进行傅立叶反变换得到gk(n)。施加时域上的条件约束,gk(n)中在区域N以外取值为零。

(8)

(4)连续在层层迭代中不断进行时域约束和频域约束条件,得到的频率响应趋近于理想的频率响应范围,有限长序列将收敛为滤波器理想的序列。滤波器的阶数可以先取值N=2M+1,M由Kaiser窗函数设计阶数公式估算。用此阶数进行循环,如果达不到设计要求,依次对M增加1,直到满足要求。在迭代法中,傅立叶变换是由离散傅立叶变换来实现,也就是减少乘方次数的变化的效果。因此,FFT算法的阶数应取足够大。对于2M+1阶数的滤波器,FFT算法的阶数通常取大于10倍M,来满足设计要求,得到相应的所需结果[4]。

3    基于快速傅立叶变换设计FIR滤波器的算法设计高通滤波器

截止频率为ωs的线性相位理想高通滤波器的频率响应为:

(9)

即在 ωs≤ω≤π范围内,Hd(ejω)的幅值是1,其幅频响应示意图如图3—4所示。

图3  截止频率为ω1的理想高通滤波器幅频响应

图4  截止频率为ω2的理想高通滤波器幅频响应

理想高通滤波器的单位冲击响应为:

(10)

其中,Hd(n)是中心点在τ的偶对称无限长非因果序列,要得到有限长的h(n),需要对hd(n)做加窗处理,为了分析问题方便,选窗函数WN(n)为矩形窗RN(n),N是矩形窗长度。由于要求FIR滤波器的相位是线性的,h(n)必须偶对称(或奇对称),即其对称中心为窗长的1/2,也就是τ=,故FIR高通滤波器有限长冲击响应为:

h(n)=hd(n)RN(n)

=,(11)

0≤n≤N-1

此时,一定满足h(n)=h(N-1-n)这一线性相位条件,上述即为线性相位FIR滤波器的设计过程。

4    结语

用快速傅立叶变换的一次正变换和反变换设计FIR滤波器的算法,随之带来的交替频域约束条件和时域条件,使所得滤波器的频率响應无限逼近理想频率响应,也得到在时域中无限逼近单位冲激响应序列。FFT的过程极大地简化了在计算机中进行DFT的过程,减少了许多复杂且难以计算的运算量。设计上千阶数的滤波器在普通计算机上仅需要很短的时间,但是,算法设计的滤波器阶数较高。由于FIR滤波器采用非递归结构,在实际计算时几乎不考虑稳定性问题,运算误差小。利用快速傅立叶变换,在相同的阶数下,运算速度更快,更加体现优越性,也正因为设计方法的直观性和简单性,才普遍将其应用来研究相关信号问题。

[参考文献]

[1]VINAY K.数字信号处理[M].刘树棠,译.西安:西安交通大学出版社,2001.

[2]雷学堂,徐烯.FIR数字高通滤波的时域和频域物理分析[J].吉首大学学报,2010(5):66-68.

[3]黄翔东,王兆华.基于全相位幅频特性补偿的FIR滤波器设计[J].电路与系统学报,2012(2):1-5.

[4]张学敏,吕晓丽,钟菲.基于高通滤波器的FIR带通滤波器的设计与仿真[J].长春工程学院学报,2014(3):34-37.