用DSP實現(xiàn)FIR數(shù)字濾波器
FIR濾波器具有幅度特性可隨意設(shè)計、線性相位特性可嚴(yán)格精確保證等優(yōu)點,因此在要求相位線性信道的現(xiàn)代電子系統(tǒng),如圖像處理、數(shù)據(jù)傳輸?shù)炔ㄐ蝹鬟f系統(tǒng)中,具有很大吸引力。本文簡單介紹了其線性相位條件和設(shè)計方法,并且提供了一種用DSP實現(xiàn)的方法。
關(guān)鍵詞:IIR(Infinite Impulse Response) FIR(Finite Impulse Response) DSP(Digital Signal Processor)
一、 引 言
在許多信息處理過程中,如對信號的過濾、檢測、預(yù)測等,都要廣泛地用到濾波器,而數(shù)字濾波器則因其設(shè)計靈活、實現(xiàn)方便等特點而廣為接受。
所謂數(shù)字濾波器就是具有某種選擇性的器件、網(wǎng)絡(luò)或以計算機硬件支持的計算程序。其功能本質(zhì)是按事先設(shè)計好的程序,將一組輸入的數(shù)字序列通過一定的運算后轉(zhuǎn)變?yōu)榱硪唤M輸出的數(shù)字序列,從而改變信號的形式和內(nèi)容,達到對信號加工或濾波以符合技術(shù)指標(biāo)的要求。
二、 數(shù)字濾波器的兩種類型
對于一般的數(shù)字濾波器,按照單位沖激響應(yīng)可分為無限長沖激響應(yīng)IIR(Infinite Impulse Response)系統(tǒng)和有限長沖激響應(yīng)FIR(Finite Impulse Response)系統(tǒng)。
在IIR系統(tǒng)中,用有理分式表示的系統(tǒng)函數(shù)來逼近所需要的頻率響應(yīng),即其單位沖激響應(yīng)h(n)是無限長的;而在FIR系統(tǒng)中,則用一個有理多項式表示的系統(tǒng)函數(shù)去逼近所需要的頻率響應(yīng),即其單位沖激響應(yīng)h(n)在有限個n值處不為零。
IIR濾波器由于吸收了模擬濾波器的結(jié)果,有大量的圖表可查,可以方便、簡單、有效地完成設(shè)計,效果很好,但是其相位特性不好控制,必須用全通網(wǎng)絡(luò)進行復(fù)雜的相位較正,才能實現(xiàn)線性相位特性的要求。
FIR濾波器則可在幅度特性隨意設(shè)計的同時,保證精確、嚴(yán)格的線性相位特性。這在要求相位線性信道的現(xiàn)代電子系統(tǒng),如圖像處理、數(shù)據(jù)傳輸?shù)炔ㄐ蝹鬟f系統(tǒng)中,是具有很大吸引力的。而且,其單位沖激響應(yīng)是有限長的,不存在不穩(wěn)定的因素,并且可用因果系統(tǒng)來實現(xiàn)。
下面著重討論具有線性相位特性的FIR濾波器。
三、 FIR濾波器線性相位特性的條件及設(shè)計方法
1.線性相位條件
為保證濾波器帶內(nèi)輸出信號的形狀保持不變,常常要求濾波器單位沖激響應(yīng)h(n)的頻率響應(yīng)H(ejω)應(yīng)具有線性的相頻特性,即H(ejω)=H(ω)e-jωk,其中H(ω)為幅頻特性,k為正整數(shù)。由傅氏變換的特性可知,線性相位濾波器只是將信號在時域上延遲了k個采樣點,因此不會改變輸入信號的形狀。
可以證明,如果濾波器單位沖激響應(yīng)h(n)為實數(shù),且滿足:偶對稱即h(n)=h(N-1-n)或奇對稱h(n)=-h(N-1-n)時,則其相頻特性一定是線性的。
2.設(shè)計方法
(1) 窗函數(shù)設(shè)計法
從時域出發(fā),把理想的無限長的hd(n)用一定形狀的窗函數(shù)截取成有限長的h(n),以此h(n)來逼近hd(n),從而使所得到的頻率響應(yīng)H(ejω)與所要求的理想頻率響應(yīng)Hd(ejω)相接近。優(yōu)點是簡單、實用,缺點是截止頻率不易控制。
(2) 頻率抽樣設(shè)計法
從頻域出發(fā),把給定的理想頻率響應(yīng)Hd(ejω)加以等間隔抽樣,所得到的H(k)作逆離散傅氏變換,從而求得h(n) ,并用與之相對應(yīng)的頻率響應(yīng)H(ejω)去逼近理想頻率響應(yīng)Hd(ejω)。優(yōu)點是直接在頻域進行設(shè)計,便于優(yōu)化,缺點是截止頻率不能自由取值。
(3) 等波紋逼近計算機輔助設(shè)計法
前面兩種方法雖然在頻率取樣點上的誤差非常小,但在非取樣點處的誤差沿頻率軸不是均勻分布的,而且截止頻率的選擇還受到了不必要的限制。因此又由切比雪夫理論提出了等波紋逼近計算機輔助設(shè)計法。它不但能準(zhǔn)確地指定通帶和阻帶的邊緣,而且還在一定意義上實現(xiàn)對所期望的頻率響應(yīng)實行最佳逼近。
四、 FIR濾波器的實現(xiàn)
不論是窗函數(shù)設(shè)計法,還是頻率抽樣設(shè)計法,都要求出濾波器的單位沖激響應(yīng)h(n),然后才能在時域中實現(xiàn)頻域中的濾波。
1.濾波系統(tǒng)的差分方程
在頻域,當(dāng)其輸入信號為X(ejω)時,如濾波器的頻率響應(yīng)為H(ejω),則其輸出信號為Y(ejω)=X(ejω)H(ejω)。
在時域,設(shè)濾波器的單位沖激響應(yīng)h(n)為一N點序列,即0≤n≤N-1時h(n)的值不為零,根據(jù)離散傅氏變換的性質(zhì),則可以將濾波器的輸入序列x(n)的響應(yīng)y(n)表示為x(n)與h(n)的卷積和,即:
這就是濾波系統(tǒng)的差分方程,它給濾波器的實現(xiàn)奠定了理論基礎(chǔ)。即求出時域的h(n)后,便可通過卷積來實現(xiàn)頻域的濾波。
2.卷積和運算的實現(xiàn)
(1) h(n)序列N個點數(shù)值的存儲
由于h(n)是根據(jù)濾波性能要求已經(jīng)設(shè)計好的有限長單位沖激響應(yīng),故其N個點的數(shù)值是已知的,因此可以存放在ROM或RAM當(dāng)中,且對應(yīng)著N個不同的地址,便于尋址。
(2) 輸入序列x(n)的移位寄存
輸入序列x(n)是不斷變化的,因此只能對其進行移位寄存,寄存器的個數(shù)為N,即N個寄存器中分別存放著x(n)、x(n-1)……x(n-N+1),它們都隨著n的變化而變化。
(3) 乘法器
用以完成兩個數(shù)值的乘法,即h(m)x(n-m),也就是將存儲器中N地址所對應(yīng)的N個固定數(shù)值h(m)分別與N個移位寄存器中的不斷變化的N個變化數(shù)值x(n-m)相乘。
(4) 累加器
用以實現(xiàn)N個乘積的累加,即將當(dāng)前x(n)所對應(yīng)的N個乘積進行累加,所得到的和就是y(n)。當(dāng)濾波器的下一個輸入值即x(n +1)到來時,累加器清零,并重新將下一組x(n +1)所對應(yīng)的N個乘積進行累加,所得到的和就是y(n +1)。
3.DSP的支持
DSP作為信號處理應(yīng)用,與一般微處理器有很大的區(qū)別。
(1) 哈佛結(jié)構(gòu):采用多個并行存儲器塊結(jié)構(gòu),使得能夠訪問的存儲器個數(shù)增加,從而減少在一個指令周期中所需存儲器操作周期數(shù)。
(2) 乘加流水線為核心的數(shù)據(jù)通路:卷積和運算的基本操作就是乘法與加法,DSP則將相乘及累加統(tǒng)一考慮,構(gòu)成以乘法器、加法器流水線為中心的運算部件。
(3) 特殊的指令:指令RPT由數(shù)據(jù)存儲器指定重復(fù)次數(shù),指令MACD可以一次完成相乘并帶數(shù)據(jù)移位的累加,因此使得每一級FIR濾波器只需一個指令周期。
(4) 指令系統(tǒng)的多級流水線:采用多級流水線操作方式,可以把指令周期減小到最小值,同時也就增加了數(shù)字信號處理器的吞吐量。
五、 具體電路框圖及程序流程圖
圖 1為FIR濾波器DSP實現(xiàn)的電路方框圖,其核心部分為TI公司生產(chǎn)的DSP芯片TMS320C203 ,EP2ROM和RAM是其外圍電路。DSP送給A/D抽樣時鐘,對輸入的模擬信號抽樣,即將模擬信號轉(zhuǎn)換成數(shù)字信號,然后讀取每一次的抽樣值,并對抽樣值進行卷積運算(FIR數(shù)字濾波),最后將運算結(jié)果(濾波后的數(shù)字信號)送至D/A ,轉(zhuǎn)換成模擬信號進行輸出。
圖 1 電路框圖[!--empirenews.page--]
圖 2為程序流程圖,說明如下:
圖 2 程序流程圖
(1) 對DSP進行初始化,定義DSP的一些向量和工作模式;
(2) 為數(shù)字濾波作準(zhǔn)備,將預(yù)先設(shè)計好的有N個抽頭的FIR數(shù)字濾波器的沖激響應(yīng)序列h(n)中的N個數(shù)值放入存儲單元B1~BN;
(3) 作好濾波準(zhǔn)備工作后,開始進行抽樣,并讀入抽樣值,放入存儲單元A1中;
(4) 之后便對抽樣值進行運算處理:
(a) 將累加器清零,并設(shè)置兩個準(zhǔn)備相乘的存儲單元A與B的初始值K和L;
(b) 將第K個抽樣值A(chǔ)K與沖激響應(yīng)序列的第L個數(shù)值BL相乘(K+L=N+1),并將乘積送入累加器進行累加;
(c) 將第K-1個抽樣值A(chǔ)K-1放入AK,此時AK中原數(shù)值被覆蓋;
(d) 重復(fù)(b)~(c),直至共完成N次乘加運算。
(5) 輸出處理結(jié)果;
(6) 重復(fù)(3)~(5)。
六、 結(jié)束語
FIR濾波器具有嚴(yán)格的線性相位,且是可物理實現(xiàn)的因果系統(tǒng),因此被廣泛地應(yīng)用在現(xiàn)代通信技術(shù)當(dāng)中,如解調(diào)器中的位同步與位定時提取、自適應(yīng)均衡去碼間串?dāng)_以及話音的自適應(yīng)編碼等??梢妼IR濾波器的研究是具有非常重要的現(xiàn)實意義的。