Design and Realization of FIR Filter Based on TMS320C5510
摘要 數(shù)字濾波技術(shù)是數(shù)字信號處理的重要組成部分,濾波器的設(shè)計是信號處理的核心問題之一。DSP由于其本身具有并行的硬件乘法器、流水結(jié)構(gòu)以及快速的片內(nèi)存儲器等資源,已廣泛地應(yīng)用于數(shù)字信號處理各個領(lǐng)域.文章結(jié)合TM320C5510的結(jié)構(gòu)特點(diǎn),介紹了一種FIR濾波器在TM320C5510中的實(shí)現(xiàn)方法。文中程序已經(jīng)過硬件驗(yàn)證,仿真結(jié)果表明該設(shè)計符合要求。
關(guān)鍵詞 數(shù)字濾波, FIR, DSP,MAC
Abstract Digital filtering is an important part of digital signal processing, the design of digital filters is one of the kernel problems in digital signal processing. With many excellent features, DSP is used widely in various fields of digital signal processing . This paper introduced a method to design FIR filter based on TMS
Key words digital filter, FIR , DSP,MAC
數(shù)字信號處理由于具有精度高、靈活性強(qiáng)等優(yōu)點(diǎn),已廣泛應(yīng)用于圖像處理、數(shù)字通信、雷達(dá)等領(lǐng)域。數(shù)字濾波技術(shù)在數(shù)字信號處理中占有極其重要的地位,數(shù)字濾波器根據(jù)其單位脈沖響應(yīng)可分為IIR(無限長沖激響應(yīng)濾波器)和FIR(有限長沖激響應(yīng)濾波器)兩類。IIR濾波器可以用較少的階數(shù)獲得很高的選擇特性,但在有限精度的運(yùn)算中, 可能出現(xiàn)不穩(wěn)定現(xiàn)象,而且相位特性不好控制。在許多實(shí)際應(yīng)用,為了保證濾波后的信號不產(chǎn)生相位失真,一般均采用FIR濾波器。
DSP(數(shù)字信號處理器)與一般的微處理器相比有很大的區(qū)別,它所特有的系統(tǒng)結(jié)構(gòu)、指令集合、數(shù)據(jù)流程方式為解決復(fù)雜的數(shù)字信號處理問題提供了便利,本文選用TMS320C5510作為DSP處理芯片,通過對其編程來實(shí)現(xiàn)FIR濾波器。
1 TMS320C5510簡介
TMS320C5510是C55x系列中的第一個產(chǎn)品,采用雙乘累加單元(MAC)結(jié)構(gòu),CPU結(jié)構(gòu)如圖1所示。整個處理器內(nèi)部分為5個大的功能單元:存儲器緩沖單元(M)、指令緩沖單元(I)、程序控制單元(P)、地址生成單元(A)和數(shù)據(jù)計算單元(D),各個功能單元之間通過總線連接。TMS320C5510中共有12條總線:1條32位程序數(shù)據(jù)總線(PB),1條24位程序地址總線(PAB),5條16位的數(shù)據(jù)總線(BB、CB、DB、EB、FB)和5條24位的數(shù)據(jù)地址總線(BAB、CAB、DAB、EAB、FAB)。
程序地址總線(PAB)上傳送24位的程序代碼地址,由程序數(shù)據(jù)總線(PB)將32位的程序代碼送入指令緩沖單元(I)進(jìn)行譯碼。3條讀數(shù)據(jù)地址總線(BAB、CAB、DAB)與3條讀數(shù)據(jù)數(shù)據(jù)總線(BB、CB、DB)配合使用,即BAB對應(yīng)BB,CAB對應(yīng)CB, DAB對應(yīng)DB。地址總線指定數(shù)據(jù)空間或I/O空間地址,通過數(shù)據(jù)總線將16位的數(shù)據(jù)傳送到CPU的各個功能單元。其中BB只與D單元相連,用于實(shí)現(xiàn)從存儲器到D單元乘累加單元MAC的數(shù)據(jù)傳送。特殊的指令也可以同時使用BB、CB、DB來讀取3個操作數(shù)。2條寫數(shù)據(jù)地址總線(EAB、DAB)與2條寫數(shù)據(jù)數(shù)據(jù)總線(EB、FB)配合使用。地址總線指定數(shù)據(jù)空間或I/O空間地址,通過數(shù)據(jù)總線將數(shù)據(jù)從CPU的功能單元傳送到數(shù)據(jù)空間或I/O空間。所有數(shù)據(jù)空間地址由A單元產(chǎn)生。EB和FB從P單元、A單元和D單元接收數(shù)據(jù),對于同時向存儲器寫2個16位數(shù)據(jù)的指令要使用EB和FB,而對于完成單寫操作的指令只使用EB。

圖1 TMS320C5510 CPU結(jié)構(gòu)圖
2 FIR濾波器結(jié)構(gòu)及設(shè)計方法
FIR濾波器的基本結(jié)構(gòu)可以理解為一個分節(jié)的延時線,把每一節(jié)的輸出加權(quán)累加,得到濾波器的輸出。FIR的沖激響應(yīng)h(n)是有限長的,其數(shù)學(xué)表達(dá)式為:
(1)
其系統(tǒng)函數(shù)為
(2)
式中,N是FIR濾波器的抽頭數(shù),x(n)是n時刻輸入的數(shù)據(jù)采樣值,h(k)表示濾波器的第k級抽頭系數(shù),y(n)表示n時刻的濾波器輸出,濾波器的階數(shù)為抽頭數(shù)目減1。
FIR濾波器常用的設(shè)計方法有窗函數(shù)法、頻率采樣法等。不論是哪種方法都要計算出濾波器的單位沖擊響應(yīng)h(n)。在MATLAB的信號處理工具箱SPTool中包含了一個濾波器綜合設(shè)計工具FDATool(Filter Design and Analysis Tool),其界面如圖2所示。利用FDATool,可以很方便地設(shè)置濾波器類型和濾波器參數(shù),并可以自動生成濾波器系數(shù)文件,為下一步的DSP實(shí)現(xiàn)提供了條件。

圖2 FDATool界面





