基于LabVIEW的FIR數(shù)字濾波器設(shè)計(jì)
1FIR數(shù)字濾波器設(shè)計(jì)原理
一個(gè)截止頻率為ωc(rad/s)的理想數(shù)字低通濾波
由式(1)和(2)可以看出,這個(gè)濾波器在物理上是不可實(shí)現(xiàn)的,因?yàn)闆_激響應(yīng)具有無(wú)限性和因果性。為了產(chǎn)生有限長(zhǎng)度的沖激響應(yīng)函數(shù),我們?nèi)禹憫?yīng)為h(n),長(zhǎng)度為N,其系數(shù)函數(shù)為H(z):
用h(n)表示截取hd(n)后沖激響應(yīng),即h(n)=hd(n)W(n),式子中W(n)為窗函數(shù),長(zhǎng)度為N。當(dāng)τ=(N-1)/2時(shí),截取的一段h(n)對(duì)(N-1)/2對(duì)稱,可保證所設(shè)計(jì)的濾波器具有線性相位。
一般來(lái)說(shuō),F(xiàn)IR數(shù)字濾波器輸出y(n)的Z變換形式Y(jié)(z)與輸入x(n)的Z變換形式之間的關(guān)系如下:
實(shí)現(xiàn)結(jié)構(gòu)如圖1所示。
從上面的Z變換和結(jié)構(gòu)圖可以很容易得出FIR濾波器的差分方程表示形式。對(duì)式(4)進(jìn)行反Z變換,可得:

式(5)為FIR數(shù)字濾波器的時(shí)域表示方法,其中x(n)是在時(shí)間n的濾波器的輸入抽樣值。根據(jù)式(5)即可對(duì)濾波器進(jìn)行設(shè)計(jì)。
從上面的公式可以看出,在對(duì)濾波器實(shí)際設(shè)計(jì)時(shí),整個(gè)過(guò)程的運(yùn)算量很大。設(shè)計(jì)完成后對(duì)已設(shè)計(jì)的濾波器的頻率響應(yīng)進(jìn)行校核,運(yùn)算量也很大。并且在數(shù)字濾波器設(shè)計(jì)的過(guò)程中,要根據(jù)設(shè)計(jì)要求和濾波效果不斷地調(diào)整,以達(dá)到設(shè)計(jì)的最優(yōu)化。在這種情況下,要進(jìn)行大量復(fù)雜的運(yùn)算,單純靠公式計(jì)算和編制簡(jiǎn)單的程序很難在短時(shí)間內(nèi)完成。而利用LabVIEW工具進(jìn)行計(jì)算機(jī)輔助設(shè)計(jì),則可以快速有效地設(shè)計(jì)數(shù)字濾波器,大大減少計(jì)算量。
從上面的公式可以看出,在對(duì)濾波器實(shí)際設(shè)計(jì)時(shí),整個(gè)過(guò)程的運(yùn)算量很大。設(shè)計(jì)完成后對(duì)已設(shè)計(jì)的濾波器的頻率響應(yīng)進(jìn)行校核,運(yùn)算量也很大。并且在數(shù)字濾波器設(shè)計(jì)的過(guò)程中,要根據(jù)設(shè)計(jì)要求和濾波效果不斷地調(diào)整,以達(dá)到設(shè)計(jì)的最優(yōu)化。在這種情況下,要進(jìn)行大量復(fù)雜的運(yùn)算,單純靠公式計(jì)算和編制簡(jiǎn)單的程序很難在短時(shí)間內(nèi)完成。而利用LabVIEW工具進(jìn)行計(jì)算機(jī)輔助設(shè)計(jì),則可以快速有效地設(shè)計(jì)數(shù)字濾波器,大大減少計(jì)算量。
2數(shù)字濾波器的LabVIEW設(shè)計(jì)
2.1LabVIEW數(shù)字濾波器工具
LabVIEW 7.1版本中,有兩個(gè)子模板涉及信號(hào)處理,分別是Analyze子模板和Mathematics子模板。進(jìn)入Functions模板Analyze中的Signal Processing子模板,見圖2。
2.1LabVIEW數(shù)字濾波器工具
LabVIEW 7.1版本中,有兩個(gè)子模板涉及信號(hào)處理,分別是Analyze子模板和Mathematics子模板。進(jìn)入Functions模板Analyze中的Signal Processing子模板,見圖2。

DigitalFilters(數(shù)字濾波器):用于執(zhí)行IIR、FIR和非線性濾波功能。濾波器設(shè)計(jì)選項(xiàng)(圖3),包括IIR濾波器的Butterworth(巴特沃思)法、ChebyshevTypeI(切比雪夫I型)法、Chebyshev TypeⅡ(切比雪夫Ⅱ型)法、Elliptic(橢圓濾波器)法,Bessel filter和FIR濾波器的Equiripple(高通,低通,帶通,帶阻)法及FIR Window(窗函數(shù))法,Median Filter(中值濾波器)等。現(xiàn)在以FIR Window濾波器為例說(shuō)明一下工具的使用。




VI對(duì)于其參數(shù)在幫助中都有詳細(xì)的說(shuō)明,并且還有相關(guān)的例子。
2.2前面板的設(shè)計(jì)
結(jié)合濾波器的形成原理,把濾波器類型分為低通,高通,帶通和帶阻,由于低通和高通只需要求截止頻率,而帶通和帶阻需要上下截止頻率,故把這四個(gè)類型分開設(shè)計(jì)。顯示幅值,相位和相關(guān)系數(shù)。如果設(shè)計(jì)的濾波器符合要求,可以把這個(gè)相關(guān)系數(shù)存盤,以便寫成濾波器的形式。具體的前面板程序見圖5。

2.3框圖程序設(shè)計(jì)
框圖設(shè)計(jì)分成濾波器產(chǎn)生及其相關(guān)系數(shù)存盤兩大塊??驁D程序的設(shè)計(jì)中,將sampling rate(采樣頻率),order(濾波器階數(shù)),lowcutoff(下截止頻率)和highcutoff(上截止頻率)等參數(shù)設(shè)置為變量,設(shè)計(jì)過(guò)程中還用到其他模塊,具體見圖6。
框圖設(shè)計(jì)分成濾波器產(chǎn)生及其相關(guān)系數(shù)存盤兩大塊??驁D程序的設(shè)計(jì)中,將sampling rate(采樣頻率),order(濾波器階數(shù)),lowcutoff(下截止頻率)和highcutoff(上截止頻率)等參數(shù)設(shè)置為變量,設(shè)計(jì)過(guò)程中還用到其他模塊,具體見圖6。

2.4帶通濾波器設(shè)計(jì)實(shí)例
設(shè)計(jì)一帶通數(shù)字濾波器,參數(shù)要求:31階FIR數(shù)字濾波器,采樣頻率1000Hz,采用Hamming窗函數(shù)。
本例中,首先在Filter Type中選擇Bandpass(帶通濾波器);接著在Window選項(xiàng)中選取Hamming;在Order項(xiàng)中輸入31;在采樣頻率中輸入1000;由于采用窗函數(shù)法設(shè)計(jì),只需給出通帶下限截止頻率fl和通帶上限截止頻率fh,輸入fl=100Hz,fh=200Hz。然后回車,即 可得到所設(shè)計(jì)的FIR濾波器,看到所設(shè)計(jì)濾波器的幅頻響應(yīng)、相頻響應(yīng)、濾波器系數(shù),各種 特征如圖7所示。點(diǎn)擊save,選擇保存的路徑保存文件(后綴為text,也可以默認(rèn)設(shè)置)。
設(shè)計(jì)一帶通數(shù)字濾波器,參數(shù)要求:31階FIR數(shù)字濾波器,采樣頻率1000Hz,采用Hamming窗函數(shù)。
本例中,首先在Filter Type中選擇Bandpass(帶通濾波器);接著在Window選項(xiàng)中選取Hamming;在Order項(xiàng)中輸入31;在采樣頻率中輸入1000;由于采用窗函數(shù)法設(shè)計(jì),只需給出通帶下限截止頻率fl和通帶上限截止頻率fh,輸入fl=100Hz,fh=200Hz。然后回車,即 可得到所設(shè)計(jì)的FIR濾波器,看到所設(shè)計(jì)濾波器的幅頻響應(yīng)、相頻響應(yīng)、濾波器系數(shù),各種 特征如圖7所示。點(diǎn)擊save,選擇保存的路徑保存文件(后綴為text,也可以默認(rèn)設(shè)置)。

3結(jié)束語(yǔ)
在設(shè)計(jì)過(guò)程中,可以對(duì)比濾波器幅頻相頻特性和設(shè)計(jì)要求,隨時(shí)調(diào)整參數(shù)和濾波器類型,以 便得到最佳效果。其他類型的FIR濾波器和IIR濾波器也都可以使用LabVIEW來(lái)設(shè)計(jì)。
在設(shè)計(jì)過(guò)程中,可以對(duì)比濾波器幅頻相頻特性和設(shè)計(jì)要求,隨時(shí)調(diào)整參數(shù)和濾波器類型,以 便得到最佳效果。其他類型的FIR濾波器和IIR濾波器也都可以使用LabVIEW來(lái)設(shè)計(jì)。
文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。