摘 要:介绍一种基于LabVIEW快速有效地设计常规FIR数字滤波器的方法,并给出了设计实例。因可以随时对比设计要求调整参数,故有利于滤波器设计的最优化。
关键词:FIR数字滤波器;LabVIEW;程序设计
1FIR数字滤波器设计原理
一个截止频率为ωc(rad/s)的理想数字低通滤波
由式(1)和(2)可以看出,这个滤波器在物理上是不可实现的,因为冲激响应具有无限性和因果性。为了产生有限长度的冲激响应函数,我们取样响应为h(n),长度为N,其系数函数为H(z):
?
用h(n)表示截取hd(n)后冲激响应,即h(n)=hd(n)W(n),式子中W(n)为窗函数,长度为N。当τ=(N-1)/2时,截取的一段h(n)对(N-1)/2对称,可保证所设计的滤波器具有线性相位。
一般来说,FIR数字滤波器输出y(n)的Z变换形式Y(z)与输入x(n)的Z变换形式之间的关系如下:
实现结构如图1所示。
从上面的Z变换和结构图可以很容易得出FIR滤波器的差分方程表示形式。对式(4)进行反Z变换,可得:
?
式(5)为FIR数字滤波器的时域表示方法,其中x(n)是在时间n的滤波器的输入抽样值。根据式(5)即可对滤波器进行设计。
从上面的公式可以看出,在对滤波器实际设计时,整个过程的运算量很大。设计完成后对已设计的滤波器的频率响应进行校核,运算量也很大。并且在数字滤波器设计的过程中,要根据设计要求和滤波效果不断地调整,以达到设计的最优化。在这种情况下,要进行大量复杂的运算,单纯靠公式计算和编制简单的程序很难在短时间内完成。而利用LabVIEW工具进行计算机辅助设计,则可以快速有效地设计数字滤波器,大大减少计算量。
2数字滤波器的LabVIEW设计
2.1LabVIEW数字滤波器工具
LabVIEW 7.1版本中,有两个子模板涉及信号处理,分别是Analyze子模板和Mathematics子模板。进入Functions模板Analyze中的Signal Processing子模板,见图2。
DigitalFilters(数字滤波器):用于执行IIR、FIR和非线性滤波功能。滤波器设计选项(图3),包括IIR滤波器的Butterworth(巴特沃思)法、ChebyshevTypeI(切比雪夫I型)法、Chebyshev TypeⅡ(切比雪夫Ⅱ型)法、Elliptic(椭圆滤波器)法,Bessel filter和FIR滤波器的Equiripple(高通,低通,带通,带阻)法及FIR Window(窗函数)法,Median Filter(中值滤波器)等。现在以FIR Window滤波器为例说明一下工具的使用。
VI对于其参数在帮助中都有详细的说明,并且还有相关的例子。
2.2前面板的设计
结合滤波器的形成原理,把滤波器类型分为低通,高通,带通和带阻,由于低通和高通只需要求截止频率,而带通和带阻需要上下截止频率,故把这四个类型分开设计。显示幅值,相位和相关系数。如果设计的滤波器符合要求,可以把这个相关系数存盘,以便写成滤波器的形式。具体的前面板程序见图5。
2.3框图程序设计
框图设计分成滤波器产生及其相关系数存盘两大块。框图程序的设计中,将sampling rate(采样频率),order(滤波器阶数),lowcutoff(下截止频率)和highcutoff(上截止频率)等参数设置为变量,设计过程中还用到其他模块,具体见图6。
?
2.4带通滤波器设计实例
设计一带通数字滤波器,参数要求:31阶FIR数字滤波器,采样频率1000Hz,采用Hamming窗函数。
本例中,首先在Filter Type中选择Bandpass(带通滤波器);接着在Window选项中选取Hamming;在Order项中输入31;在采样频率中输入1000;由于采用窗函数法设计,只需给出通带下限截止频率fl和通带上限截止频率fh,输入fl=100Hz,fh=200Hz。然后回车,即 可得到所设计的FIR滤波器,看到所设计滤波器的幅频响应、相频响应、滤波器系数,各种 特征如图7所示。点击save,选择保存的路径保存文件(后缀为text,也可以默认设置)。
3结束语
在设计过程中,可以对比滤波器幅频相频特性和设计要求,随时调整参数和滤波器类型,以 便得到最佳效果。其他类型的FIR滤波器和IIR滤波器也都可以使用LabVIEW来设计。
参考文献
[1]胡广书.数字信号处理:理论、算法与实现[M].北京:清华大学出版社,19 97.
[2]程佩青.数字信号处理教程(第二版)[M].北京:清华大学出版社,2004.