成都理工大學核技術與自動化學院 趙維毅 李宏穆 代銀華
DSP是一門涉及許多學科而又廣泛應用于許多領域的新興學科。數字信號處理是利用計算機或專用處理設備,以數字形式對信號進行采集、變換、濾波、估值、增強、壓縮、識別等處理,以得到符合人們需要的信號形式。本次設計的是通過DSP來實現濾波功能的FIR濾波器。采用窗函數設計方法并用C語言在CCS5000上實現濾波功能。
2.1.1 FIR濾波器的基本結構和特點
有限沖激響應FIR濾波器的基本結構是一個分節的延時線,把每一節的輸出加權累加,得到濾波器的輸出。數學上表示為:

對(1)式進行Z變換,整理后可得出FIR濾波器的傳遞函數為:

由(2)式可知FIR濾波器的一般結構如圖1所示。

圖1 FIR數字濾波器直接實現形式
2.1.2 FIR濾波器的DSP實現
DSP系統的開發是一個復雜的過程,在系統的設計和調試中不但需要數字信號處理方面的理論知識,而且還有需要對各種DSP芯片、外圍硬件電路以及DSP開發工具等都有豐富的實際開發經驗。圖2為FIR濾波器DSP實現的電路方框圖

圖2 FIR濾波器DSP實現的電路框圖
DSP系統的輸入信號多種多樣,但一般都要轉換為模擬信號,經過抗混疊濾波后由模數轉換芯片將模擬信號變換為數字信號。然后,DSP根據實際需要對其進行相應的處理,如FFT、卷積等;處理后的數字信號再由數模轉換芯片將其轉換為模擬值,在對其進行平滑濾波后最終輸出模擬信號。需要說明的是,對輸入模擬信號的采樣頻率要大于其本身頻率的兩倍,因為根據奈奎斯特采樣定律,只有采樣頻率至少為輸入信號頻率的兩倍時輸入信號的信息才保證不會丟失。
DSP系統是以數字信號處理為基礎的,因此不但具有數字處理的全部優點而且還具有以下特點:
(1)接口方便:DSP應用系統與其他以現代數字技術為基礎的系統或設備都是相互兼容的,它與這樣的系統接口以實現某種功能要比模擬系統與這些系統接口要容易得多;
(2)編程方便:DSP應用系統中的可編程DSP芯片可使設計人員在開發過程中能靈活方便地對軟件進行修改和升級;
(3)穩定性好:DSP應用系統以數字處理為基礎,受環境溫度及噪聲的影響較小、可靠性高;
(4)精度高:16位數字系統可以達到10-5級的精度;
(5)可重復性好:模擬系統的性能受元器件參數性能變化的影響比較大,而數字系統基本不受影響,因此數字系統便于測試、調試和大規模生產;
(6)集成方便:DSP應用系統中的數字部件有高度的規范性,便于大規模集成。
數字濾波器有多種設計方法,如雙線性變換法、窗函數設計法、插值逼近法和Chebyshev逼近法等等,但是通常采用窗函數法設計。窗函數法設計FIR濾波器的基本思想是:根據給定的濾波器技術指標選擇濾波器長度N和窗函數ω(n),使其具有最窄寬度的主瓣和最小的旁瓣,其核心是從給定的頻率特性,通過加窗確定有限長單位脈沖響應序列h(n)。
目前FIR濾波器的實現方法大致可分為三種:利用單片通用數字濾波器集成電路、DSP器件和可編程邏輯器件實現。單片通用數字濾波器使用方便,但由于字長和階數的規格較少,不能完全滿足實際需要,使用以串行運算為主導的通用DSP芯實現要簡單,是一種實時、快速、特別適合于實現各種數字信號處理運算的微處理器,借助于通用數字計算機按濾波器的設計算法編出程序進行數字濾波計算。
根據對阻帶最小衰減和過渡帶寬度的要求選擇合適的窗函數類型和窗口長度N。待求濾波器的過度帶寬度 Bt近似等于窗函數主瓣寬度。且近似于窗口長度N成反比,N≈A/Bt,A取決于窗口類型。
(1)首先是給定所要求的頻率響應函數Hd(e jw)。
(2)其次求h(n)=IDTFT[H(ejw)]。
(3)再次,有過渡帶寬及阻帶最小衰減的要求,利用表可選定窗w(n)的形狀及N的大小,一般N要通過幾次試探而最后確定。
(4)求得所設計的FIR濾波器的單位抽樣響應。
(5)求h(n)=IDTFT[H(ejw)],檢查是否滿足設計要求,如不滿足,則需重新設計。
假設數組和xmid長度均為51,fs=181K為采樣頻率,fstop=10K為濾波器截止頻率。可以通過公式tBAN/= 來反求A其中tB近似和fstop/fs相等。由此可以求得A值,從而確認選擇矩形窗。
(1)正確連線,上電。
(2)把模數轉換單元的撥動開關的1和5置為“on”,其余為OFF”。
(3)用示波器分別觀測信號源單元的S1和S2輸出的模擬信號,分別調節信號波形選擇、信號頻率、信號輸出幅值等旋鈕,直到滿意為止;
采用兩路正弦波信號的混疊信號作為輸入信號;
低頻正弦波信號:峰峰值11V,頻率<4KHz;
高頻正弦波信號:峰峰值5V,頻率>40KHz。
(4)設置模數轉換單元的撥動開關,1、5、6置“ON”,其它置“OFF”,即采樣頻率選擇181KHz,兩路信號混疊輸入,可在“SC”點用示波器觀察混疊信號。圖3為混疊后的信號。

圖3 混疊后的信號
噪聲函數的產生程序如下:

這段程序應用于程序中產生噪聲函數。
計算hd(n) * MERGEFORMAT的程序如下:

該段程序實現了256個單位脈沖沖擊響應h(t)的值。
計算h(n)的程序如下:

該程序實現了卷積和的計算,把結果存到py所指向的地址里。
創造窗函數的程序如下:


該段程序表明了是個矩形窗函數。

這兩段只是做了DSP的初始化。

圖4 主程序框圖
本文通過在CCS下所顯示的濾波前與濾波后信號的時域和頻域波形圖可以看出:經過截至頻率10K的FIR濾波器后,基本上達到濾波效果。
下圖為含噪聲與不含噪聲的效果圖:

圖5 不含噪聲的效果

圖6 含噪聲的效果圖
在DSP平臺 上并依據窗函數法實現了FIR低通數字濾波器。采用C語言對軟件進行編寫,實現了算法的可移植性強。在實際應用中按照需求修改各個參數,對程序稍作修改即可實現不同截止頻率的FIR濾波器,有很強的實用性。
[1]高西全,丁玉美.數字信號處理[M](第三版).西安電子科技大學出版社,2008,5.
[2]吳曉光,徐精彩,李樹剛.李華.基于MATLAB實驗數據的幾種處理方法[J].自動化技術與應用,2005,24:1.
[3]伍小芹,王萍,易家傅.基于DSP-TMS320C5402的FIR數字濾波器設計及實現[J].海南大學學報,2007,25:4.
[4]趙紅怡.DSP技術[M].電子工業出版社(第二版),2007:10.
[5]趙紅怡,張常年.數字信號處理及其MATLAB實現[M].化學工業出版社,2002.
[6]高西全,丁玉美.數字信號處理學習指導[M].西安電子科技大學出版社(第二版),2001.
[7]TMS320C54x User’s Guide.Texas Instruments Incorporated.1999.
[8]Pavel Zahradnik,Miroslav Vicek.Analytical Design Method for Optimal Equiripple Comb FIR Filters.IEEE Transactions on Circuits and Systems-Ⅱ:Express Briefs,2000,52(2).