當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]IIR濾波器零相位數(shù)字濾波及其應(yīng)用

摘要: 本文介紹了一種利用Delphi7實(shí)現(xiàn)數(shù)字濾波器零相位濾波的方法,與一般差分濾波方法相比,該方法不僅可以避免相移,而且還能改善起始部分的波形畸變,這一點(diǎn)在信號(hào)處理中具有重要的應(yīng)用價(jià)值。
關(guān)鍵詞: 虛擬儀器信號(hào)處理零相位數(shù)字濾波

Zero?phase Digital Filter and Application
Fan Xinhai  An Gang  Zhang Chuanqing

Abstract: This paper introduces a method to realize zero?phase filtering for digital filters using Delphi7. Comparing with general difference filter, the zero?phase digital filter can not only avoid phase?shifting, but also improve the wave aberration of section start. This method has important practical value in signal processing.
Keywords: virtual instrument, signal processing, zero?phase digital filtering.

0引言
在動(dòng)態(tài)測(cè)試信號(hào)處理過程中,濾波器是常用的測(cè)試儀器之一。它常被用于抗混濾波,以避免傅立葉變換時(shí)在頻域產(chǎn)生混疊,或從具有多種頻率成分的復(fù)雜信號(hào)中,將感興趣的頻率成分提取出來,而將不感興趣的頻率成分衰減掉。在傳統(tǒng)測(cè)試儀器中,濾波器的功能通常需要依靠硬件系統(tǒng)來實(shí)現(xiàn)。
隨著數(shù)字信號(hào)處理技術(shù)的不斷完善,計(jì)算機(jī)硬件技術(shù)的日新月異以及軟件技術(shù)飛速發(fā)展,測(cè)試儀器系統(tǒng)的設(shè)計(jì)思想發(fā)生了重大改變。部分傳統(tǒng)的專用測(cè)試設(shè)備會(huì)逐步被以計(jì)算機(jī)和應(yīng)用軟件為核心的虛擬儀器所代替[1]。虛擬儀器的出現(xiàn)標(biāo)志著“軟件即儀器(The soft is the instrument)”時(shí)代的到來。在計(jì)算機(jī)輔助測(cè)試系統(tǒng)(CAT,Computer Aided Test)中,以往模擬濾波器(AF,Analog Filter)的功能,可用數(shù)字濾波器(DF,Digital Filter)來替代。數(shù)字濾波器的實(shí)現(xiàn)不但比模擬濾波器容易的多,而且還能獲得較理想的濾波器性能。

2數(shù)字濾波器的時(shí)域描述與分類
對(duì)于一個(gè)線性移不變(LSI,Linear Shift Invariant)離散時(shí)間系統(tǒng),如圖1所示,可用如下差分方程表示:y(n)+∑Nk=1a(k)y(n-k)=∑Mr=0b(r)x(n-r)(1)式中a(k),b(r)為方程系數(shù)。

圖1LSI系統(tǒng)
如果a(k),k=1,2,Λ,N不全為零,該系統(tǒng)為無限沖擊響應(yīng)(IIR)系統(tǒng)。若a(k)均為零,并令b(0)=1,則y(n)=∑Nr=1b(r)x(n-r)+x(n)(2)該系統(tǒng)為有限沖擊響應(yīng)(FIR)系統(tǒng)。
由此,數(shù)字濾波器在從實(shí)現(xiàn)方法上,有IIR濾波器和FIR濾波器之分。這兩類濾波器無論在性能上,還是在設(shè)計(jì)方法上都有著很大的區(qū)別。IIR數(shù)字濾波器與FIR濾波器相比,前者保留了模擬濾波器的優(yōu)點(diǎn),幅頻特性較好,但存在相位失真。后者相頻特性較好,可實(shí)現(xiàn)線性相位,但在相同指標(biāo)要求下要比前者的階數(shù)高的多。

3差分?jǐn)?shù)字濾波及其存在的問題
IIR數(shù)字濾波器的設(shè)計(jì)方法主要有雙線性Z變換法和沖激響應(yīng)不變法;FIR數(shù)字濾波器的設(shè)計(jì)方法主要有窗函數(shù)法、頻率抽樣法和切比雪夫逼近法等。有關(guān)數(shù)字濾波器設(shè)計(jì)的詳細(xì)方法見文獻(xiàn)[2],這里就不再贅述。
對(duì)于設(shè)計(jì)好的濾波器,確定出濾波器的系數(shù),通過對(duì)差分方程式(1)或式(2)的疊代算法,可以實(shí)現(xiàn)IIR濾波器或FIR濾波器的數(shù)字濾波。考慮到程序的通用性,這里就按式(1)編寫一個(gè)差分濾波函數(shù)DiffFilter(b,a,x),調(diào)用參數(shù)為三個(gè)數(shù)組,b用于存放濾波器的系數(shù)b(r)(r=0,1,…,M);a用于存放濾波器的系數(shù)a(k)(k=0,1,…,N),且a(0)=1;x用于存放輸入信號(hào),返回后用于存放濾波后的輸出信號(hào)。如果將調(diào)用參數(shù)a均賦零值,則可實(shí)現(xiàn)FIR濾波器的數(shù)字濾波。
在此,用一實(shí)例進(jìn)行說明。圖2為某型坦克發(fā)動(dòng)機(jī)轉(zhuǎn)速1000rpm時(shí),在排氣口測(cè)得的噪聲信號(hào)(采樣點(diǎn)數(shù)1024,采樣頻率4KHz)。從信號(hào)的波形可以看出,它具有一定的周期性,主要是以發(fā)動(dòng)機(jī)周期性排氣產(chǎn)生的噪聲為主。

圖2某型坦克發(fā)動(dòng)機(jī)噪聲信號(hào)
采用窗函數(shù)(Hanning窗)法設(shè)計(jì)出某200階FIR低通濾波器,截止頻率為200Hz,分析頻率為2KHz,其幅頻曲線及相頻曲線如圖3所示。

圖3低通濾波器的幅頻特性和相頻特性
利用該FIR低通數(shù)字濾波器對(duì)圖2所示發(fā)動(dòng)機(jī)噪聲信號(hào)進(jìn)行差分濾波,濾波后的波形如圖4所示。

圖4差分濾波后的發(fā)動(dòng)機(jī)噪聲信號(hào)
對(duì)比圖3和圖4所示波形可以看出,差分濾波后,信號(hào)變得“光滑”了許多,原來的“毛刺”被濾掉了。但同時(shí)也可以看出差分濾波方法存在兩個(gè)問題:一是濾波后的信號(hào)相對(duì)與原信號(hào)而言,發(fā)生了相移;二是濾波后的信號(hào)在起始部分,波形畸變較為嚴(yán)重。在信號(hào)處理中,如果對(duì)信號(hào)的相位有特殊的要求,相移問題需要引起高度的注意。而起始部分的畸變是由于疊代過程中,沒有考慮濾波器的初始條件,剛開始點(diǎn)數(shù)少,沒能用到濾波器全部系數(shù)的緣故。大多情況下,這種畸變可以接受,但當(dāng)數(shù)據(jù)較短,而濾波器的階數(shù)又較高時(shí),這種畸變會(huì)帶來較大的負(fù)面影響。
如果輸入信號(hào)為一單位脈沖信號(hào),即
x(n)=1,n=1
0,n≠1
那么,濾波器的輸出為其脈沖響應(yīng)。本文所用200階FIR低通數(shù)字濾波器的脈沖響應(yīng)如圖5所示。

圖5濾波器的脈沖響應(yīng)3零相位數(shù)字濾波算法及其實(shí)現(xiàn) [!--empirenews.page--]
3.1零相位數(shù)字濾波的算法
為了克服差分?jǐn)?shù)字濾波中存在的上述兩個(gè)問題,可以采用一種零相位濾波的方法,該方法的基本思路是:先確定出濾波器的初始條件,然后將原序列的首尾進(jìn)行擴(kuò)展,把擴(kuò)展后序列通過濾波器,將所得結(jié)果反轉(zhuǎn)后再次通過濾波器,最后將所得結(jié)果再反轉(zhuǎn),并去掉首尾的擴(kuò)展部分,即可得到零相位濾波后的輸出序列[3]。本文采用四次差分濾波方式給出一種便于實(shí)現(xiàn)的詳細(xì)算法,假設(shè)輸入信號(hào)為x(n),n=0,1,…,P。
(1) 編寫差分濾波函數(shù)DiffFilter(b,a,x),調(diào)用參數(shù)如前所述。
(2) 對(duì)于IIR濾波器通常有M=N,求濾波器的初始條件e(q),q=0,1,…,N-1,這里記E=[e(0),e(1),…,e(N-1)]T,則有
E=1+a(1)1-1…0
a(2)01…0
MMMOM
a(N)00…-11× b(1)-b(0)a(0)
b(2)-b(0)a(1)
M
b(Nn)-b(0)a(N)(3)
(3) 對(duì)原輸入序列x(n)的首尾進(jìn)行擴(kuò)展,在x(n)的前面添加3N個(gè)數(shù),在后面添加3N個(gè)數(shù),擴(kuò)展后的序列記為x′(n),n=0,1,…,P+6N。
x′(n)=2x(0)-x(3N-n)
x(n-3N)
2x(P)-x(P-1-(n-P-3N-n))
n<3N
3N?n<P+3N
P+3N?n?P+6N(4)
(4) 進(jìn)行正向?yàn)V波:先用b,a和x′(n)調(diào)用DiffFilter(b,a,x)函數(shù),計(jì)算x′(n)通過
H(z)=∑Mm=0b(m)z-m/(1+∑Mm=1a(m)z-m)(5)
的輸出y′(n),然后生成一長(zhǎng)度為P+6N+1的單位脈沖信號(hào)h(n),用z,a和h(n)調(diào)用DiffFilter(b,a,x)函數(shù),計(jì)算h(n)通過
H(z)=∑M-1m=0y′(0)e(m)z-m/(1+∑Mm=1a(m)z-m)(6)
的輸出y′(n),并記y(n)=y′(n)+y″(n)。
(5) 進(jìn)行反向?yàn)V波:將正向?yàn)V波結(jié)果反轉(zhuǎn),記x′(n)=y(P+6N-n),重復(fù)步驟4°,得到反向?yàn)V波后的結(jié)果。
(6) 將反向?yàn)V波的結(jié)果反轉(zhuǎn),并刪除首尾的擴(kuò)展部分,即可得到最后的濾波結(jié)果。
3.2零相位數(shù)字濾波的實(shí)現(xiàn)
Borland公司推出的Delphi編程語言,具有合理的單元化結(jié)構(gòu)、優(yōu)化的編譯環(huán)境,開發(fā)速度快、編程效率高。在實(shí)現(xiàn)同樣功能的情況下與其它語言相比,不僅編寫的代碼量少、程序可移植性強(qiáng),而且還有許多優(yōu)秀的組件包可供使用。最為方便的是可以使用動(dòng)態(tài)數(shù)組,隨時(shí)能夠改變數(shù)組的長(zhǎng)度,這一點(diǎn)非常適合數(shù)字信號(hào)處理。
作者利用Delphi7編寫了利用雙線性Z變換法設(shè)計(jì)Butterworth型IIR濾波器和利用窗函數(shù)法設(shè)計(jì)FIR濾波器,以及差分?jǐn)?shù)字濾波算法和零相位數(shù)字濾波算法應(yīng)用程序,并作為集成測(cè)試軟件平臺(tái)的一個(gè)虛擬儀器。其中零相位數(shù)字濾波算法程序設(shè)計(jì)流程如圖6所示。

圖6零相位數(shù)字濾波算法的流程圖
圖7所示為圖2所示信號(hào)零相位數(shù)字濾波后的波形,通過與原信號(hào)(圖2)和差分濾波后的信號(hào)(圖4)對(duì)比不難看出:零相位數(shù)字濾波后的輸出與原信號(hào)中的相位基本一致,并且起始部分沒有畸變。但不可否認(rèn),零相位數(shù)字濾波算法相對(duì)于普通差分濾波算法計(jì)算量要大許多,但以目前計(jì)算機(jī)的運(yùn)算能力,計(jì)算量稍大并不是什么主要問題。

                                     圖7零相位濾波后的波形

4結(jié)束語
本文介紹了一種利用四次差分濾波算法,實(shí)現(xiàn)零相位數(shù)字濾波的方法,并利用Delphi7編寫了應(yīng)用軟件。通過與普通差分濾波器的實(shí)例對(duì)比分析,說明零相位數(shù)字濾波不僅能夠避免相移,而且還能改善差分濾波起始部分的波形畸變。這一點(diǎn)在數(shù)字信號(hào)處理中具有重要的應(yīng)用價(jià)值。
 

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉