IIR濾波器零相位數字濾波實(shí)現及應用
(5) 進(jìn)行反向濾波:將正向濾波結果反轉,記x′(n)=y(P+6N-n),重復步驟4°,得到反向濾波后的結果。
(6) 將反向濾波的結果反轉,并刪除首尾的擴展部分,即可得到最后的濾波結果。
Borland公司推出的Delphi編程語(yǔ)言,具有合理的單元化結構、優(yōu)化的編譯環(huán)境,開(kāi)發(fā) 速度快、編程效率高。在實(shí)現同樣功能的情況下與其它語(yǔ)言相比,不僅編寫(xiě)的代碼量少、程序可移植性強,而且還有許多優(yōu)秀的組件包可供使用。最為方便的是可以 使用動(dòng)態(tài)數組,隨時(shí)能夠改變數組的長(cháng)度,這一點(diǎn)非常適合數字信號處理。
作者利用Delphi7編寫(xiě)了利用雙線(xiàn)性Z變換法設計Butterworth型IIR濾波器和利用窗函數法設計FIR濾波器,以及差分數字濾波算法和零相位數字濾波算法應用程序,并作為集成測試軟件平臺的一個(gè)虛擬儀器。其中零相位數字濾波算法程序設計流程如圖6所示。
圖6零相位數字濾波算法的流程圖
圖7所示為圖2所示信號零相位數字濾波后的波形,通過(guò)與原信號(圖2)和差分濾波后的信號(圖 4)對比不難看出:零相位數字濾波后的輸出與原信號中的相位基本一致,并且起始部分沒(méi)有畸變。但不可否認,零相位數字濾波算法相對于普通差分濾波算法計算 量要大許多,但以目前計算機的運算能力,計算量稍大并不是什么主要問(wèn)題。
圖7零相位濾波后的波形
4結束語(yǔ)
本文介紹了一種利用四次差分濾波算法,實(shí)現零相位數字濾波的方法,并利用Delphi7編寫(xiě)了應用軟件。通過(guò)與普通差分濾波器的實(shí)例對比分析,說(shuō)明零相位數字濾波不僅能夠避免相移,而且還能改善差分濾波起始部分的波形畸變。這一點(diǎn)在數字信號處理中具有重要的應用價(jià)值。
評論