濾波器長度對濾波結(jié)果的影響研究
引 言
經(jīng)典數(shù)字濾波器即 FIR 濾波器和 IIR 濾波器在很多領(lǐng)域中都發(fā)揮著重要的作用,在不要求實時處理時,常常使用Matlab 軟件設(shè)計濾波器并對信號進行濾波。重力數(shù)據(jù)和重力梯度數(shù)據(jù)的濾波就是采集后在PC 機上進行處理的。FIR 濾波器具有線性相位,且系統(tǒng)總是穩(wěn)定的,但是濾波器階數(shù)比較高; IIR 濾波器階數(shù)比較低,但是不具有線性相位,且系統(tǒng)有可能不穩(wěn)定。不過,在Matlab 軟件中,可以通過零相位濾波解決IIR 濾波器非線性相位的問題。重力數(shù)據(jù)需要低通濾波,重力梯度數(shù)據(jù)需要帶通濾波,對于FIR 濾波器和IIR 濾波器,選擇哪一個進行濾波,濾波器長度對濾波結(jié)果的影響,濾波器穩(wěn)定性的驗證等問題都值得進行研究。
1 FIR濾波器
FIR 濾波器具有線性相位,且系統(tǒng)總是穩(wěn)定的,但是濾波器的階數(shù)比較高。而對于有限長度信號的濾波,濾波器的長度對濾波結(jié)果的影響是值得關(guān)注的問題。
2 FRR 和 RRF
在數(shù)字信號處理中,為了不產(chǎn)生相位失真,通常要求濾波器具有零相位。當(dāng)濾波器是零相位時,輸出與輸入將不存在移位,即輸入和輸出數(shù)據(jù)在時間上能一一對應(yīng)起來,只存在增益上的差別,我們稱此時的濾波器為零相位數(shù)字濾波器 [1,2]。實現(xiàn)零相位數(shù)字濾波可以采用 FRR 或RRF 方法。FRR 濾波是先將輸入序列按順序濾波(forward filter),然后將所得結(jié)果翻轉(zhuǎn)后通過濾波器( reverse filter),再將所得結(jié)果翻轉(zhuǎn)后輸出( reverse output),即得相位不變的輸出序列。類似的, RRF 濾波是先將輸入信號序列翻轉(zhuǎn)后通過濾波器( reverse filter), 然后將所得結(jié)果翻轉(zhuǎn)后再次通過濾波器( reverse filter),這樣所得結(jié)果(forward output )即為精確零相位失真的輸出序列。
3 低通濾波
用窗函數(shù)法設(shè)計低通濾波器,通帶截止頻率為 3 Hz,阻帶截止頻率為 5 Hz,采樣頻率為 100 Hz。用該濾波器分別對直流信號 x1=ones(1,512)和低頻信號 x2=0.2*sin(2*pi*2*t)進行濾波,濾波分別采用以上提到的幾種方法。對 x1 用幾種方法進行濾波,濾波結(jié)果如圖 1 所示,為了方便比較,幾種方法的濾波結(jié)果在幅值上做了改動,從圖中可以看出只有函數(shù)filtfilt 得到的濾波結(jié)果和原信號是一樣的。其他幾種方法在兩端都或多或少有無效數(shù)據(jù)產(chǎn)生。
幾種方法對直流信號濾波后的頻譜如圖 2所示,將其中零頻率上面部分頻譜放大得到圖 3所示的放大波形,可以看出filter、FRR和 RRF方法得到的頻譜相近,conv和filtfilt 方法得到的頻譜與原信號頻譜相近。從圖 3中還可以看出filter、FRR和 RRF 方法得到的信號頻譜在零頻率處有明顯的衰減,大約在 430左右,而原信號在零頻率處幅值大約為512。圖 2中幅值較低,且接近零頻率處的頻譜放大可得到圖4,從中也可看出,filter、FRR 和RRF 方法得到的頻譜相近,conv 和filtfilt 方法得到的頻譜與原信號頻譜相近。將圖 2 中的頻譜整體適當(dāng)放大,可以清晰的看出幾種方法相互接近的趨勢,如圖 5 所示。從時域和頻域?qū)Ρ葞追N濾波方法,可以看出最好的濾波方法是使用filtfilt 函數(shù)。
對 x2 用幾種方法進行濾波,濾波結(jié)果如圖 6 所示,為了方便比較,幾種方法的濾波結(jié)果在幅值上做了改動,從圖中可以看出,也只有函數(shù) filtfilt 得到的濾波結(jié)果和原信號是一樣的。其他幾種方法在兩端也都或多或少有無效數(shù)據(jù)產(chǎn)生。
幾種方法對 x2 濾波后的頻譜如圖 7 所示,將其中 2 Hz頻率處上面部分頻譜放大可得到圖 8 的結(jié)果,可以看出filter、FRR 和 RRF 方法得到的頻譜相近,conv 和filtfilt 方法得到的頻譜與原信號頻譜相近。從圖 8 中還可以看出,filter、FRR 和RRF 方法得到的信號頻譜在 2 Hz 處有明顯的衰減,大約為 42,而原信號在零頻率處幅值大約為 51。將圖 7 中的頻譜整體適當(dāng)放大,可以清晰的看出幾種方法相互接近的趨勢, 如圖 9 所示。從時域和頻域?qū)Ρ葞追N濾波方法,可以看出,最好的濾波方法是使用filtfilt 函數(shù)。對直流信號和正弦信號進行低通濾波,得到的結(jié)論相同,即使用filtfilt 函數(shù)最好。
4 帶通濾波
用窗函數(shù)法設(shè)計帶通濾波器,該濾波器通帶截止頻率為 [10 20]Hz,阻帶截止頻率為 [5 25]Hz,采樣頻率為 100 Hz。 用該濾波器對信號 x=0.2*sin(2*pi*15*t)進行濾波,濾波分 別采用 filter、conv、filtfilt、FRR 和 RRF 方法,濾波結(jié)果如 圖 10 所示,可以看出,filtfilt 濾波后的信號最接近原信號。 濾波后信號的頻譜如圖 11 所示,將其進行放大,如圖 12 所示, 可以看出與低通濾波的情況相似,filter、FRR 和 RRF 方法 得到的頻譜相近,conv 和 filtfilt 方法得到的頻譜與原信號頻 譜相近。經(jīng)過時域和頻域的比較,得出帶通濾波同樣是 filtfilt 函數(shù)最好。
5 結(jié) 語
非實時數(shù)字濾波在很多應(yīng)用領(lǐng)域中都會用到,例如在電 網(wǎng)行波數(shù)據(jù)處理中的應(yīng)用 [3]、在形貌恢復(fù)中的應(yīng)用 [4]、在心電 信號處理中的應(yīng)用 [5] 等。為了使濾波后信號不發(fā)生畸變,而 且方便對比輸出信號和輸入信號,零相位濾波受到大家的青 睞,大家都講零相位濾波,大多是 FRR 的原理。有的是按照 FRR 的步驟來濾波,有的其實是用 filtfilt。通過本文的仿真 研究,可以看出,F(xiàn)RR 并不等同于 filtfilt,而且 filtfilt 的效果 比 FRR 或者 RRF 都要好。