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

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

圖2 FDATool界面





