《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計 > 設(shè)計應(yīng)用 > 用DSP實現(xiàn)FIR數(shù)字濾波器
用DSP實現(xiàn)FIR數(shù)字濾波器
來自網(wǎng)絡(luò)
摘要: FIR濾波器具有幅度特性可隨意設(shè)計,、線性相位特性可嚴格精確保證等優(yōu)點,,因此在要求相位線性信道的現(xiàn)代電子系統(tǒng),如圖像處理,、數(shù)據(jù)傳輸?shù)炔ㄐ蝹鬟f系統(tǒng)中,,具有很大吸引力,。本文簡單介紹了其線性相位條件和設(shè)計方法,并且提供了一種用DSP實現(xiàn)的方法,。
關(guān)鍵詞: 信號調(diào)理 FIR DSP
Abstract:
Key words :

FIR濾波器具有幅度特性可隨意設(shè)計,、線性相位特性可嚴格精確保證等優(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ù)指標的要求,。

二、 數(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è)計的同時,保證精確,、嚴格的線性相位特性,。這在要求相位線性信道的現(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è)計法。它不但能準確地指定通帶和阻帶的邊緣,,而且還在一定意義上實現(xiàn)對所期望的頻率響應(yīng)實行最佳逼近,。

四,、 FIR濾波器的實現(xiàn)

  不論是窗函數(shù)設(shè)計法,還是頻率抽樣設(shè)計法,,都要求出濾波器的單位沖激響應(yīng)h(n),,然后才能在時域中實現(xiàn)頻域中的濾波。
  1.濾波系統(tǒ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)的卷積和,即:

gs5401.gif (1124 bytes)

  這就是濾波系統(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當中,,且對應(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個乘積的累加,,即將當前x(n)所對應(yīng)的N個乘積進行累加,所得到的和就是y(n),。當濾波器的下一個輸入值即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)換成模擬信號進行輸出。

t55-1.gif (2297 bytes)

圖 1 電路框圖

  圖 2為程序流程圖,,說明如下:

t55-2.gif (5416 bytes)

圖 2 程序流程圖

  (1) 對DSP進行初始化,,定義DSP的一些向量和工作模式;
  (2) 為數(shù)字濾波作準備,,將預(yù)先設(shè)計好的有N個抽頭的FIR數(shù)字濾波器的沖激響應(yīng)序列h(n)中的N個數(shù)值放入存儲單元B1~BN,;
  (3) 作好濾波準備工作后,開始進行抽樣,,并讀入抽樣值,,放入存儲單元A1中;
  (4) 之后便對抽樣值進行運算處理:
  (a) 將累加器清零,,并設(shè)置兩個準備相乘的存儲單元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濾波器具有嚴格的線性相位,,且是可物理實現(xiàn)的因果系統(tǒng),,因此被廣泛地應(yīng)用在現(xiàn)代通信技術(shù)當中,如解調(diào)器中的位同步與位定時提取,、自適應(yīng)均衡去碼間串擾以及話音的自適應(yīng)編碼等,。可見對FIR濾波器的研究是具有非常重要的現(xiàn)實意義的,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。