基于TM320C5510的FIR濾波器系統(tǒng)設(shè)計(jì)_第1頁
基于TM320C5510的FIR濾波器系統(tǒng)設(shè)計(jì)_第2頁
基于TM320C5510的FIR濾波器系統(tǒng)設(shè)計(jì)_第3頁
基于TM320C5510的FIR濾波器系統(tǒng)設(shè)計(jì)_第4頁
基于TM320C5510的FIR濾波器系統(tǒng)設(shè)計(jì)_第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、基于TM320C5510的FIR濾波器系統(tǒng)設(shè)計(jì)摘要在信號(hào)處理中,濾波占有十分重要的地位。數(shù)字濾波是數(shù)字信號(hào)處理的基本方法,數(shù)字濾波技術(shù)是數(shù)字信號(hào)處理的重要組成部分,濾波器的設(shè)計(jì)是信號(hào)處理的核心問題之一。數(shù)字濾波與模擬濾波相比有很多優(yōu)點(diǎn),它除了可避免模擬濾波器固有的電壓漂移、溫度漂移和噪聲等問題外,還能滿足濾波器對(duì)幅度和相位的嚴(yán)格要求。DSP由于其本身具有并行的硬件乘法器、流水結(jié)構(gòu)以及快速的片內(nèi)存儲(chǔ)器等資源,已廣泛地應(yīng)用于數(shù)字信號(hào)處理各個(gè)領(lǐng)域。DSP 芯片是一種特別適合數(shù)字信號(hào)處理運(yùn)算的微處理器,主要用來實(shí)時(shí)、快速地實(shí)現(xiàn)各種數(shù)字信號(hào)處理算法。用DSP 芯片實(shí)現(xiàn)FIR 數(shù)字濾波器,不僅具有精確度高

2、、不受環(huán)境影響等優(yōu)點(diǎn),而且因DSP 芯片的可編程性,可方便地修改濾波器參數(shù),從而改變?yōu)V波器的特性,設(shè)計(jì)十分靈活。本課題主要應(yīng)用MATLAB軟件設(shè)計(jì)FIR數(shù)字濾波器,并對(duì)所設(shè)計(jì)的濾波器進(jìn)行仿真;應(yīng)用DSP集成開發(fā)環(huán)境CCS調(diào)試匯編程序,文章結(jié)合TM320C5510的結(jié)構(gòu)特點(diǎn),介紹了一種FIR濾波器在TM320C5510中的實(shí)現(xiàn)方法。文中程序已經(jīng)過硬件驗(yàn)證,仿真結(jié)果表明該設(shè)計(jì)符合要求。 關(guān)鍵詞 數(shù)字濾波;FIR;DSP;MAC目錄摘要I第1章 緒論11.1 數(shù)字濾波器的優(yōu)越性11.2 國內(nèi)外相關(guān)領(lǐng)域的相關(guān)進(jìn)展21.3 主要研究內(nèi)容2第2章 FIR濾波器基礎(chǔ)42.1 FIR濾波器的特點(diǎn)42.2 FI

3、R濾波器的設(shè)計(jì)方法及原理42.3本章小結(jié)8第3章 基于MATLAB的FIR濾波器的設(shè)計(jì)93.1 MATLAB簡介93.2 基于MATLAB的FIR濾波器的設(shè)計(jì)103.3 FIR濾波器的MATLAB仿真103.4 本章小結(jié)11第4章 數(shù)字濾波器的DSP實(shí)現(xiàn)124.1 TMS320C5510簡介124.2 TMS320C5510芯片參數(shù)144.3 DSP系統(tǒng)的設(shè)計(jì)與開發(fā)164.3.1 DSP系統(tǒng)的特點(diǎn)164.3.2 DSP系統(tǒng)的設(shè)計(jì)流程174.3.3 DSP系統(tǒng)的開發(fā)工具CCS174.3.4 FIR濾波器的設(shè)計(jì)框圖184.3.5 FIR濾波器的程序流程圖194.3.6 程序源代碼204.3.7 仿

4、真圖形224.4 總結(jié)24參考文獻(xiàn)25第一章 緒論1.1 數(shù)字濾波器的優(yōu)越性數(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(無限長沖激響應(yīng)濾波器)和FIR(有限長沖激響應(yīng)濾波器)兩類。IIR濾波器可以用較少的階數(shù)獲得很高的選擇特性,但在有限精度的運(yùn)算中,可能出現(xiàn)不穩(wěn)定現(xiàn)象,而且相位特性不好控制。在許多實(shí)際應(yīng)用,為了保證濾波后的信號(hào)不產(chǎn)生相位失真,一般均采用FIR濾波器。數(shù)字信號(hào)處理由于運(yùn)算速度快,具有可編程特性和接口靈活的特點(diǎn),使得它在許多電子產(chǎn)品的研制、開發(fā)和應(yīng)用

5、中,發(fā)揮著重要的作用。采用DSP芯片來實(shí)現(xiàn)數(shù)字信號(hào)處理系統(tǒng)是當(dāng)前發(fā)展的趨勢(shì)。近年來,DSP技術(shù)在我國也得到了迅速的發(fā)展,不論是在科學(xué)技術(shù)研究,還是在產(chǎn)品的開發(fā)等方面,其應(yīng)用越來越廣泛,并取得了豐碩的成果。在數(shù)字信號(hào)處理中,數(shù)字濾波占有極其重要的地位。數(shù)字濾波是語音和圖象處理、模式識(shí)別、譜分析等應(yīng)用中的一個(gè)基本處理算法。在許多信號(hào)處理應(yīng)用中用數(shù)字濾波器替代模擬濾波器具有許多優(yōu)勢(shì)。數(shù)字濾波器容易實(shí)現(xiàn)不同的幅度和相位頻率特性指標(biāo),克服了與模擬濾波器器件性能相關(guān)的電壓漂移、溫度漂移和噪聲問題。用DSP芯片實(shí)現(xiàn)數(shù)字濾波除了具有穩(wěn)定性好、精確度高、不受環(huán)境影響外,還具有靈活性好的特點(diǎn)。 DSP(數(shù)字信號(hào)處

6、理器)與一般的微處理器相比有很大的區(qū)別,它所特有的系統(tǒng)結(jié)構(gòu)、指令集合、數(shù)據(jù)流程方式為解決復(fù)雜的數(shù)字信號(hào)處理問題提供了便利,本文選用TMS320C5510作為DSP處理芯片,通過對(duì)其編程來實(shí)現(xiàn)FIR濾波器。有限沖激響應(yīng)濾波器(FIR濾波器)有其獨(dú)特的優(yōu)點(diǎn),因?yàn)镕IR系統(tǒng)只有零點(diǎn),因此,系統(tǒng)總是穩(wěn)定的,而且容易實(shí)現(xiàn)線性相位和允許實(shí)現(xiàn)多通道濾波器。對(duì)數(shù)字濾波器而言,從實(shí)現(xiàn)方法上,有FIR濾波器和無限沖激響應(yīng)(IIR)濾波器之分。由于FIR濾波器只有零點(diǎn),因此這一類系統(tǒng)不像IIR系統(tǒng)那樣易取得比較好的通帶與阻帶衰減特性。但是FIR系統(tǒng)與傳統(tǒng)的通過硬件電路實(shí)現(xiàn)的模擬濾波器相比有以下優(yōu)點(diǎn):1、 系統(tǒng)總是穩(wěn)

7、定的;2、 易實(shí)現(xiàn)線性相位;3、 允許設(shè)計(jì)多通帶(阻帶)濾波器。4、 其中后兩項(xiàng)是IIR系統(tǒng)不易實(shí)現(xiàn)的。1.2 國內(nèi)外相關(guān)領(lǐng)域的相關(guān)進(jìn)展自20世紀(jì)70年代末80年代初DSP芯片誕生以來DSP芯片得到了飛速的發(fā)展。在20多年時(shí)間里DSP芯片已經(jīng)在信號(hào)處理、通信、自動(dòng)控制、儀表技術(shù)、信息家電等許多領(lǐng)域得到廣泛的應(yīng)用。1978年AMI公司生產(chǎn)出世界上第一片DSP芯片S2811。1979年美國Intel公司發(fā)布的商用可編程器S2920是DSP芯片的一個(gè)重要里程碑。1980年日本NEC公司推出的PD7720是第一個(gè)具有乘法器的商用DSP芯片。在這之后,最成功的DSP芯片當(dāng)數(shù)美國德州儀器公司(Texas

8、Instruments,簡稱TI)的一系列產(chǎn)品,其DSP市場份額占全世界份額近的50%。目前DSP芯片的價(jià)格越來越低,性能價(jià)格比日益提高,具有巨大的應(yīng)用潛力。經(jīng)過20年的發(fā)展,DSP器件在高速度,可編程,小型化,低功耗等方面都有了長足的發(fā)展,單片DSP芯片最快每秒可完成16億次(1600MIPS)的運(yùn)算,生產(chǎn)DSP器件的公司也不斷壯大。在國內(nèi)外的研究中,設(shè)計(jì)FIR濾波器所涉及的乘法運(yùn)算方式有:并行乘法、位串行乘法和采用分布式算法的乘法。并行乘法運(yùn)行速度快,但占用的硬件資源極大。如果濾波器的階數(shù)增加,乘法器位數(shù)也將變大,硬件規(guī)模將變得十分龐大。位串行乘法器的實(shí)現(xiàn)方法主要是通過對(duì)乘法運(yùn)算進(jìn)行分解,

9、用加法器來完成乘法的功能,也即無乘法操作的乘法器。位串行乘法器使得乘法器的硬件規(guī)模達(dá)到了最省,但是由于是串行運(yùn)算,使得它的運(yùn)算周期過長,運(yùn)算速度與硬件規(guī)模綜合考慮時(shí)不是最優(yōu)的。1.3 主要研究內(nèi)容本文主要研究了數(shù)字濾波器的基本理論和實(shí)現(xiàn)方法。接著研究分析了如何利用MATLAB仿真軟件來設(shè)計(jì)出符合各種要求的數(shù)字濾波器,并對(duì)所設(shè)計(jì)的濾波器進(jìn)行仿真得到系數(shù),本文還應(yīng)用DSP集成開發(fā)環(huán)境CCS調(diào)試匯編程序,為后面在DSP上實(shí)現(xiàn)提供必要的數(shù)據(jù)。本課題選擇在TM320C5510 DSP綜合實(shí)驗(yàn)開發(fā)系統(tǒng)平臺(tái)上進(jìn)行開發(fā)。最后采用窗函數(shù)法在CCS環(huán)境下,利用MATLAB仿真得到的濾波器系數(shù),編程實(shí)現(xiàn)FIR數(shù)字濾

10、波器,得出濾波結(jié)果波形,并對(duì)結(jié)果進(jìn)行分析與總結(jié)。第2章 FIR濾波器基礎(chǔ)2.1 FIR濾波器的特點(diǎn)在數(shù)字信號(hào)處理應(yīng)用中往往需要設(shè)計(jì)線性相位的濾波器,F(xiàn)IR濾波器在保證幅度特性滿足技術(shù)要求的同時(shí),很容易做到嚴(yán)格的線性相位特性。FIR濾波器不斷地對(duì)輸入樣本x(n)延時(shí)后,再作乘法累加算法,將濾波結(jié)果y(n)輸出,因此,F(xiàn)IR實(shí)際上是一種乘法累加運(yùn)算。在數(shù)字濾波器中,F(xiàn)IR濾波器的最主要的特點(diǎn)是沒有反饋回路,故不存在不穩(wěn)定的問題;同時(shí),可以在幅度特性是隨意設(shè)置的同時(shí),保證精確的線性相位。穩(wěn)定和線性相位特性是FIR濾波器的突出優(yōu)點(diǎn)。另外,它還有以下特點(diǎn):設(shè)計(jì)方式是線性的;硬件容易實(shí)現(xiàn);濾波器過渡過程具

11、有有限區(qū)間;相對(duì)IIR濾波器而言,階次較高,其延遲也要比同樣性能的IIR濾波器大得多。2.2 FIR濾波器的設(shè)計(jì)方法及原理FIR濾波器的基本結(jié)構(gòu)可以理解為一個(gè)分節(jié)的延時(shí)線,把每一節(jié)的輸出加權(quán)累加,得到濾波器的輸出。FIR的沖激響應(yīng)h(n)是有限長的,設(shè)a i(i=0,1,2,N-1)為濾波器的沖激響應(yīng),輸入信號(hào)為x(n),則FIR濾波器的輸入輸出關(guān)系為:FIR濾波器的結(jié)構(gòu)如圖2.2所示:圖2.2 FIR濾波器的結(jié)構(gòu)FIR濾波器的傳遞函數(shù)一般有如下形式:FIR濾波器的設(shè)計(jì)方法:利用DSP實(shí)現(xiàn)FIR濾波器的設(shè)計(jì)方法主要有窗函數(shù)法和頻率抽樣法,其中窗函數(shù)法是基本的設(shè)計(jì)方法,這里采用窗函數(shù)法設(shè)計(jì)FIR

12、濾波器。設(shè)希望得到的濾波器理想響應(yīng)為Hd(ej),那么FIR濾波器的設(shè)計(jì)就在于尋找一個(gè)傳遞函數(shù)Hdej=n=0N-1h(n)e-jn去逼進(jìn)Hd(ejw),設(shè)Hdej=n=-hd(n)e-jnhdn=1202Hdejejnd這里hdn就是傅立葉級(jí)數(shù)的系數(shù)。在這種逼近中,最直接的一種方法就是從單位脈沖響應(yīng)h(n)入手,使h(n)逼近理想的單位脈沖響應(yīng)hdn。由于hdn是一個(gè)無限長序列,因此,最簡單的方法就是對(duì)hdn做截尾處理,即得到一個(gè)近似的傳遞函數(shù)Hdej=n=-QQhd(n)e-jn上式中,Q就是最終確定FIR濾波器的階數(shù),Q越大,近似程度就越高。對(duì)hdn 截尾,實(shí)際上就是對(duì)hdn乘上一個(gè)矩形

13、窗口RN(n),即 hn=hdnRN(n)令z=ej,則Haz=n=-QQhd(n)z-n其脈沖響應(yīng)系數(shù)為hd-Q,hd-Q+1,hd-1,hd0,hd1,hdQ-1,hdQ。為使Haz=n=-QQhd(n)z-n具有因果性,延時(shí)Q個(gè)樣值,可得:Hz=z-QHaz=n=-QQhd(n)z-n-Q令n+Q=k,上式成為Hz=k=02Qhd(k-Q)z-k令hk=hd(k-Q),N=2Q,得Hz=k=0Nh(k)z-k式中,h(k)是脈沖響應(yīng)系數(shù),這里h0=hd-Q,h1=hd1-Q,,hQ= hd0, h2Q=hdQ。循環(huán)緩沖算法:對(duì)于N級(jí)的FIR濾波器,在數(shù)據(jù)存儲(chǔ)器中開辟一個(gè)稱之為滑窗的N個(gè)單

14、元的緩沖區(qū),滑窗中存放最新的N個(gè)輸入樣本。每次輸入新的樣本時(shí),一新樣本改寫滑窗中的最老的數(shù)據(jù),而滑窗中的其他數(shù)據(jù)不需要移動(dòng)。利用片內(nèi)BK(循環(huán)緩沖區(qū)長度)寄存器對(duì)滑窗進(jìn)行間接尋址,環(huán)緩沖區(qū)地址首位相鄰。下面,以N=5的FIR濾波器循環(huán)緩沖區(qū)為例,說明循環(huán)緩沖區(qū)中數(shù)據(jù)是如何尋址的。5級(jí)循環(huán)緩沖區(qū)的結(jié)構(gòu)如圖3.3所示,頂部為低地址。圖2.3 循環(huán)緩沖區(qū)的結(jié)構(gòu)當(dāng)?shù)谝淮螆?zhí)行完之后,間接尋址的輔助寄存器指向x(n-4)。然后,從I/O口輸入數(shù)據(jù)x(n+1),將原來存放x(n-4)的數(shù)據(jù)存儲(chǔ)單元改寫為x(n+1)。接著,進(jìn)行第二次乘法累加運(yùn)算,最后指向x(n-3)。然后從I/O口輸入數(shù)據(jù)x(n+2) ,將

15、原來存放 x(n-4)的數(shù)據(jù)存儲(chǔ)器單元改寫為x(n+2)。2.3 本章小結(jié)本章主要介紹了FIR濾波器設(shè)計(jì)的理論基礎(chǔ),分別介紹了FIR濾波器的幾種設(shè)計(jì)方法和實(shí)現(xiàn)方法,為后面FIR濾波器的設(shè)計(jì)奠定理論基礎(chǔ)。第3章 基于MATLAB的FIR濾波器的設(shè)計(jì)3.1 MATLAB簡介 MATLAB語言是當(dāng)今國際上科學(xué)界最具影響力、也是最有活力的軟件之一。它起源于矩陣運(yùn)算,并己經(jīng)發(fā)展成一種高度集成的計(jì)算機(jī)語言。它提供了強(qiáng)大的科學(xué)運(yùn)算、靈活的程序設(shè)計(jì)流程、高質(zhì)量的圖形可視化與界面設(shè)計(jì)、便捷的與其他程序和語言接口的功能。MATLAB語言在教學(xué)及科學(xué)研究起著重大的作用。MATLAB語言由美國 The MathWor

16、ks開發(fā),2003年推出了其全新的MATLAB6.5.l正式版。2004年9月正式推出 Release 14(MATLAB7.0)的ServicePack 1。MATLAB語言中提供了數(shù)字信號(hào)處理工具箱,使數(shù)字信號(hào)處理較以前更簡潔方便且效果更好。在MATLAB中提供了一些濾波器的函數(shù),使FIR濾波器的運(yùn)算更加方便和快速。在MATLAB中提供的濾波函數(shù)有,此函數(shù)以經(jīng)典的方法實(shí)現(xiàn)加窗線性相位FIR數(shù)字濾波器設(shè)計(jì),可以設(shè)計(jì)出低通、高通、帶通和帶阻濾波器;函數(shù)設(shè)計(jì)的FIR濾波器,其濾波器的頻率特性由矢量和決定,分別為濾波器的期望幅頻響應(yīng)的頻率相量和幅值相量。和的基本格式用于設(shè)計(jì)I型和型線性相立FIR濾

17、波器,是偶對(duì)稱濾波器,I型和型的區(qū)別在于濾波器的階數(shù)是偶數(shù)還是奇數(shù)。用于設(shè)計(jì)具有光滑,正弦過渡帶的低通線性相位濾波器。用于實(shí)現(xiàn)IIR和FIR濾波器對(duì)數(shù)據(jù)的濾波,常用來計(jì)算濾波器對(duì)輸入配響應(yīng)。利用效率高灼基于FFT重疊相加算法實(shí)現(xiàn)對(duì)數(shù)據(jù)濾波,該函數(shù)只適用FIR濾波器。用于求數(shù)字濾波器的頻率響應(yīng)。并且提供了各種窗函數(shù)的函數(shù),比如,hamming是海明窗函數(shù),是凱塞窗函數(shù),使在設(shè)計(jì)的過程中,不用自己重新設(shè)計(jì)窗函數(shù)。新版本的MATLAB軟件(MATLAB7.l)己經(jīng)集成了TI公司的C2000,C5000,C6000系列DSP的開發(fā)工具包,可在MATLAB/SIMULINK環(huán)境中用圖形化的方式進(jìn)行DSP

18、的設(shè)計(jì)和仿真驗(yàn)證,并能將設(shè)計(jì)的圖形文件.mdl直接轉(zhuǎn)換成C語言程序,其中C2000系列的開發(fā)工具是Embedded Target for TI C2000 DSP。該工具包是TI公司與Mathmorks公司共同開發(fā)的產(chǎn)品,在MATLAB/SIMULINK環(huán)境中嵌入了eXpressDSP工具箱,支持C24X及C28X系列的DSP處理器。在C24X系列DSP工具箱中包含了DSP處理器中的模/數(shù)轉(zhuǎn)換ADC,CAN發(fā)送及接收、PWM控制等模塊。用戶可以在MATLAB中調(diào)用這些圖形化的功能模塊及SIMLTLINK環(huán)境中的其他模塊建立數(shù)字信號(hào)處理的模型,并可以對(duì)模塊進(jìn)行仿真驗(yàn)證,然后生成DSP的C語言代碼

19、及CCS的工程項(xiàng)目文件,在CCS中修改、編譯后就可以下載到DSP目標(biāo)板中運(yùn)行12。MATLAB提供了相應(yīng)的子程序來實(shí)現(xiàn)窗函數(shù),例如:wd=boxcar(N) % 數(shù)組wd中返回N點(diǎn)矩形窗函數(shù)wd=triang(N) % 數(shù)組wd中返回N點(diǎn)三角窗函數(shù)wd=hanning(N) % 數(shù)組wd中返回N點(diǎn)漢寧窗函數(shù)wd=hamming(N) % 數(shù)組wd中返回N點(diǎn)哈明窗函數(shù)wd=Blackman(N) % 數(shù)組wd中返回N點(diǎn)布萊克曼窗函數(shù)wd=kaiser(N,beta) % 數(shù)組wd中返回給定beta值時(shí)N點(diǎn)凱澤窗函數(shù)這些函數(shù)的輸入一般只要窗函數(shù)的長度N就夠了,只有凱澤窗還需要規(guī)定beta值。輸出單

20、元就是中心值歸一化為1的窗函數(shù)序列wd,它是列向量。MATLAB是用顏色區(qū)分并標(biāo)注各條曲線的,在黑白印刷時(shí)無法表示。用戶可以在計(jì)算機(jī)上得到相似的以不同顏色區(qū)分的圖形。3.2 基于MATLAB的FIR濾波器的設(shè)計(jì)前文中已簡要介紹了MATLAB軟件,及其FIR數(shù)字濾波器的設(shè)計(jì)方法,在本小節(jié)中將使用MATLAB來進(jìn)行FIR數(shù)字濾波器的設(shè)計(jì)。MATLAB中的fdatool工具集成了數(shù)字濾波器的各種設(shè)計(jì)方法,簡化了設(shè)計(jì)過程。本文利用MATLAB中的fdatool工具設(shè)計(jì)一個(gè)fir數(shù)字低通濾波器。3.3 FIR濾波器的MATLAB仿真為了驗(yàn)證所設(shè)計(jì)的濾波器是否滿足要求,用MATLAB進(jìn)行仿真。FIR低通濾

21、波器的仿真程序如下(文件名為lws.m):f1=0.08;f2=0.20;f3=0.36;T=1; %采樣間隔n=0:T:400; %采樣間隔T=1; 采樣頻率fs=1/T=1fs=1/T;kf=fs/2; %采樣頻率的一半。用于設(shè)計(jì)指標(biāo)歸一化x=sin(2*pi*f1*n)+sin(2*pi*f2*(n-2)-cos(2*pi*f3*(n+2); %產(chǎn)生輸入信號(hào)Xk=fft(x); %輸入信號(hào)的頻譜分析hn=0.78, 0.22092, -0.8048,.-0.6479, -0.1634, 0.6041,.0.31, 0.089, 0.559,.-0.808, -0.971, -0.531,

22、.-0.118, 0.568, 0.02,.0.17, 0.27, 0.17,.0.02, 0.568, -0.118,.-0.531, -0.971, -0.808,.0.559, 0.089, 0.31,.0.6041, -0.1634, -0.6479,.-0.8048, 0.22092, 0.278y=filter(hn,1,x);Yk=fft(y);subplot(2,1,1);plot(n,abs(Xk);subplot(2,1,2);plot(n,abs(Yk);在MATLAB環(huán)境下運(yùn)行l(wèi)ws.m文件,可得3-3圖。圖3-3 FIR濾波器的仿真結(jié)果圖3-4的上圖為輸入信號(hào)的頻譜圖

23、,包括fl、f2、f3三個(gè)頻率成分,下圖是輸出信號(hào)的頻譜圖,只剩下了f1的頻率成分。從上下兩圖中可以看出,經(jīng)過濾波后輸入信號(hào)的兩個(gè)高頻成分f2、f3被濾除,說明所設(shè)計(jì)的濾波器滿足要求。3.4 本章小結(jié)本章介紹了MATLAB軟件,及其FIR數(shù)字濾波器的設(shè)計(jì)方法,并使用MATLAB進(jìn)行FIR數(shù)字濾波器的設(shè)計(jì)和仿真。第四章 數(shù)字濾波器的DSP實(shí)現(xiàn)數(shù)字信號(hào)處理器(Digital Signal Processor)是一種適合對(duì)數(shù)字信號(hào)進(jìn)行高速實(shí)時(shí)處理的專用處理器,其主要用來實(shí)時(shí)快速地實(shí)現(xiàn)各種數(shù)字信號(hào)處理算法。在當(dāng)今的數(shù)字化時(shí)代,DSP己成為通信設(shè)備、計(jì)算機(jī)和其它電子產(chǎn)品的基礎(chǔ)器件。數(shù)字信號(hào)處理器與數(shù)字信

24、號(hào)處理有著密不可分的關(guān)系,我們通常說的“DSP”可以指數(shù)字信號(hào)處理(Digital Signal Processing),也可以代表數(shù)字信號(hào)處理器(Digital Signal Processor)在本文里均指數(shù)字信號(hào)處理器。數(shù)字信號(hào)處理是一門包括了許多學(xué)科并應(yīng)用于很多領(lǐng)域的學(xué)科,是指利用計(jì)算機(jī)或是專用處理設(shè)備,以數(shù)字形式對(duì)信號(hào)進(jìn)行分析、采集、合成、變換、濾波、估值、壓縮、識(shí)別等處理,得到符合要求的信號(hào)形式。數(shù)字信號(hào)處理器是用于處理數(shù)字信號(hào)的器件,因此它是伴隨著數(shù)字信號(hào)處理才產(chǎn)生的。DSP發(fā)展歷程大致分為三個(gè)階段:20世紀(jì)70年代理論先行,80年代產(chǎn)品普及和90年代的突飛猛進(jìn)。在DSP出現(xiàn)之前

25、數(shù)字信號(hào)處理只能依靠微處理器(MPU)來完成。但MPU較低的處理速度無法滿足高速實(shí)時(shí)的要求。因此,直到20世紀(jì)70年代,有人才提出了DSP的理論和算法基礎(chǔ)。隨著大規(guī)模集成電路技術(shù)的發(fā)展,1982年世界上誕生了第一片DSP芯片。幾年后,第二代基于CMOS工藝的DSP芯片應(yīng)運(yùn)而生。80年代后期,第三代DSP芯片問世。90年代DSP發(fā)展最快,相繼出現(xiàn)了第四代和第五代DSP器件。經(jīng)過20多年的發(fā)展,DSP產(chǎn)品的應(yīng)用己擴(kuò)大到人們的學(xué)習(xí)、工作和生活的各個(gè)方面,并逐漸成為電子產(chǎn)品更新?lián)Q代的決定因素。4.1 TMS320C5510簡介TMS320C5510是C55x系列中的第一個(gè)產(chǎn)品,采用雙乘累加單元(MAC

26、)結(jié)構(gòu)。整個(gè)處理器內(nèi)部分為5個(gè)大的功能單元:存儲(chǔ)器緩沖單元(M)、指令緩沖單元(I)、程序控制單元(P)、地址生成單元(A)和數(shù)據(jù)計(jì)算單元(D),各個(gè)功能單元之間通過總線連接。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)。作為嵌入式芯片的一種,DSP芯片是一種非常適合于進(jìn)行數(shù)字信號(hào)處理的微處理器芯片,已經(jīng)廣泛應(yīng)用于實(shí)現(xiàn)各種數(shù)字信號(hào)處理運(yùn)算。其顯著特點(diǎn)可以歸納如下:1哈佛結(jié)構(gòu)哈佛結(jié)構(gòu)是不同于傳統(tǒng)的馮諾曼(Von Ne

27、uman)結(jié)構(gòu)的并行體系結(jié)構(gòu),其主要特點(diǎn)是將程序和數(shù)據(jù)存儲(chǔ)在不同的存儲(chǔ)空間中,即程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器是兩個(gè)相互獨(dú)立的存儲(chǔ)器,每個(gè)存儲(chǔ)器獨(dú)立編址,獨(dú)立訪問。與兩個(gè)存儲(chǔ)器相對(duì)應(yīng)的是系統(tǒng)中設(shè)置了程序總線和數(shù)據(jù)總線兩條總線,從而使數(shù)據(jù)的吞吐率提高了一倍。2流水線與哈佛結(jié)構(gòu)相關(guān),DSP芯片廣泛采用流水線以減少指令執(zhí)行時(shí)間,從而增強(qiáng)了處理器的處理能力。TMS320系列處理器的流水線深度從2-6級(jí)不等。第一代TMS320處理器采用二級(jí)流水線,第二代采用三級(jí)流水線,而第三代則采用四級(jí)流水線。也就是說,處理器可以并行處理2-6條指令,每條指令處于流水線上的不同階段。3專用的硬件乘法器在一般形式的FIR濾波器中

28、,乘法是DSP的重要組成部分。對(duì)每個(gè)濾波器抽頭,必須做一次乘法和一次加法。乘法速度越快,DSP處理器的性能就越高。在通用的微處理器中,乘法指令是由一系列加法來實(shí)現(xiàn)的,故需許多個(gè)指令周期來完成。相比而言,DSP芯片的特征就是有一個(gè)專用的硬件乘法器。4特殊的DSP指令DSP芯片的另一個(gè)特征是采用特殊的指令。例如TMS320C10中的LTD指令,可單周期完成加載寄存器、數(shù)據(jù)移動(dòng)、同時(shí)累加操作。還有DMOV指令,它完成數(shù)據(jù)移位功能。在數(shù)字信號(hào)處理中,延遲操作非常重要,這個(gè)延遲就是由DMOV指令來實(shí)現(xiàn)的9。5快速的指令周期哈佛結(jié)構(gòu)、流水線操作、專用的硬件乘法器、特殊的DSP指令再加上集成電路的優(yōu)化設(shè)計(jì),

29、可使DSP芯片的指令周期縮短到200ns以下。現(xiàn)在,許多DSP處理器的指令周期已經(jīng)從第一代的200ns降低至現(xiàn)在的20ns以下,甚至在10ns以內(nèi)。快速的指令周期使得DSP芯片能夠?qū)崟r(shí)實(shí)現(xiàn)許多DSP應(yīng)用。6面向寄存器和累加器DSP所使用的不是一般的寄存器文件,而是專用寄存器,較新的DSP產(chǎn)品都有類似于RISC的寄存器文件。許多DSP還有大的累加器,可以在異常情況下對(duì)數(shù)據(jù)溢出進(jìn)行處理。7.支持前、后臺(tái)處理DSP支持復(fù)雜的內(nèi)循環(huán)處理,包括建立起X、Y內(nèi)存和分址/循環(huán)計(jì)數(shù)器。一些DSP在做內(nèi)循環(huán)處理中把中斷屏蔽了,另一些則以類似后臺(tái)處理的方式支持快速中斷。許多DSP使用硬連線的堆棧來保存有限的上下文

30、,而有些則用隱蔽的寄存器來加快上下文轉(zhuǎn)換時(shí)間。8.擁有簡便的單片內(nèi)存和內(nèi)存接口DSP設(shè)法避免了大型緩沖器或復(fù)雜的內(nèi)存接口,減少了內(nèi)存訪問。一些DSP的內(nèi)循環(huán)是在其單片內(nèi)存中重復(fù)執(zhí)行指令或循環(huán)操作部分代碼,它多采用SRAM而不是DRAM,因?yàn)榍罢呓涌诟啽恪?000年3月,德州儀器(TI)公司推出了高性能低功耗的TMS320C55x芯片10。其性能可以達(dá)到400800MIPS,但功耗低到0.05 mW/MIPS。TMS320系列包括定點(diǎn)、浮點(diǎn)和多處理器等三種類型的數(shù)字信號(hào)處理器。它的結(jié)構(gòu)是專門針對(duì)實(shí)時(shí)信號(hào)處理而設(shè)計(jì)的,具有指令靈活、可操作性強(qiáng)、速度快以及支持并行運(yùn)算和C語言等特點(diǎn),是性價(jià)比較高的

31、一類DSP,在通信設(shè)備中得到了廣泛的應(yīng)用。C5000系列DSP是針對(duì)個(gè)人便攜設(shè)備而設(shè)計(jì)的,如音樂播放器、3G蜂窩電話、數(shù)碼相機(jī)、高速音頻設(shè)備、高精度的信號(hào)和多通道應(yīng)用。通常人們把C54x和C55x系列通稱C5000系列,主要用于功耗低、便攜式的無線通信終端產(chǎn)品。C5000系列包括舊有的C5x、當(dāng)前主流的C54x和較新的C55x系列。其中,C54x采用改進(jìn)的哈佛結(jié)構(gòu),并集成有豐富的硬件邏輯和外部接口資源,具有較高的性能,及較低的成本和體積。C55x是在C54x的基礎(chǔ)上發(fā)展起來的,也采用改進(jìn)型哈佛結(jié)構(gòu),其器件功耗較C54x更低,性能更高。TMS320C55x采用多總線結(jié)構(gòu),由五組內(nèi)部數(shù)據(jù)總線(3個(gè)

32、用于讀,2個(gè)用于寫)和一組內(nèi)部程序存儲(chǔ)總線構(gòu)成。32bit的程序總線(PB)傳送從程序存儲(chǔ)器來的指令代碼和立即數(shù)。三組16bit數(shù)據(jù)讀總線(BB,CB和DB)連接數(shù)據(jù)讀地址產(chǎn)生邏輯。CB和DB總線傳送雙操作數(shù)。DB總線傳送單操作數(shù)。BB總線提供第三種讀路徑并且能夠提供雙乘操作數(shù)的系數(shù)。兩組16bit數(shù)據(jù)寫總線(EB,F(xiàn)B)連接數(shù)據(jù)寫地址產(chǎn)生邏輯。六組24bit數(shù)據(jù)總線(PAB,CAB,DAB,BAB,EAB,F(xiàn)AB)傳送執(zhí)行指令所需要的地址。還有一條附加總線為DMA控制器和外設(shè)控制器提供服務(wù)。TMS320C55x的CPU結(jié)構(gòu)主要包括四種功能單元:即指令緩沖單元(I單元),程序流程單元(P單元)

33、,地址數(shù)據(jù)流程單元(A單元)和數(shù)據(jù)計(jì)算單元(D單元)。其數(shù)據(jù)計(jì)算單元包括一個(gè)40bit的可以提供-32到31移位范圍的桶形移位器,一個(gè)40bit的算術(shù)邏輯電路(ALU),兩個(gè)乘累加器(MAC)可以在一個(gè)周期中執(zhí)行兩個(gè)MAC操作,以及四個(gè)40bit的累加器。在其地址數(shù)據(jù)流程單元還包括一個(gè)16bit的算術(shù)邏輯電路(ALU),為主ALU提供簡單的算術(shù)運(yùn)算。55x的指令集功能強(qiáng)大而且使用靈活,它同時(shí)具有易于使用和程序效率高的特點(diǎn)。尋址方式包括絕對(duì)尋址、寄存器間接尋址、直接尋址,這些尋址方式降低了算法所需要的指令數(shù)量,減小了代碼量,也提高了芯片運(yùn)算速度。特別要提到的是C55x指令集中所提供的三操作數(shù)指令

34、,這種指令可以實(shí)現(xiàn)3個(gè)操作數(shù)的同時(shí)處理(如寫入寄存器或存儲(chǔ)器等操作),大大壓縮了代碼的指令數(shù)量。4.2 TMS320C5510芯片參數(shù)TMS320Vc5510使用基于TI公司的TMS320VC55X系列數(shù)字信號(hào)處理器內(nèi)核。在加強(qiáng)并行運(yùn)算能力及努力減少功耗的基礎(chǔ)上,實(shí)現(xiàn)了高性能低功耗的目標(biāo)。此CPU支持內(nèi)部總線結(jié)構(gòu),包括一條指令總線,三條讀數(shù)據(jù)總線和兩條寫數(shù)據(jù)總線,另外還有一條總線用于外圍設(shè)備和DMA。這些總線能夠使CPU在一個(gè)指令周期內(nèi)實(shí)現(xiàn)總共三次數(shù)據(jù)讀和兩次數(shù)據(jù)寫指令。同時(shí),DMA可以在沒有CPU參與的情況下實(shí)現(xiàn)數(shù)據(jù)傳輸。C5510的特性有:1、作為高性能,低功耗,定點(diǎn)數(shù)字信號(hào)處理器。在30

35、0MHz時(shí)鐘的基礎(chǔ)上,指令周期為333m。16k字節(jié)的指令緩存。每時(shí)鐘周期執(zhí)行1到2個(gè)指令。雙乘法器:可以實(shí)現(xiàn)每分鐘多達(dá)6億次的乘法指令。兩個(gè)算術(shù)邏輯處理單元。一條指令總線,三條內(nèi)部數(shù)據(jù)讀總線,兩條內(nèi)部數(shù)據(jù)寫總線。2、16Kxl6位片上RAM,包括4塊4Kxl6位雙通道RAM。3、16Kxl6位單等候狀態(tài)片上ROM。4、48Mx 16位的外部最大可尋址空問。5、32位的外部并行數(shù)據(jù)總線,同時(shí)可以用做通用輸入輸出口(GPIO)。作為數(shù)據(jù)總線可以連接:靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)??删幊炭刹翆慠OM(EPROM)。同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器(SDRAM)。SBRAM6、仿真調(diào)試鏈可以跟蹤最近16次不連續(xù)

36、的PC指針和32個(gè)PC指針的值。7、可編程控制6個(gè)低功耗模塊。8、片上外設(shè):6通道DMA控制器。2個(gè)McBSP。2個(gè)模擬鎖相環(huán)時(shí)鐘輸出電路。通用輸入輸出端D(OPlO)和專用輸出口(XF)。8位的主機(jī)連接端口(HPI)。4個(gè)定時(shí)器。2個(gè)64位的通用定時(shí)器。64位可編程看門狗定時(shí)器。64位DSPmlOS(操作系統(tǒng))計(jì)數(shù)器。I2C總線接口。UART接口。9、片上的基于掃描鏈的仿真邏輯。10、符合IEEE的rrAG邊緣掃描邏輯。11、封裝有:176腳的LQFP。201腳的MicroStar BGA。12、33V的輸入輸出電壓。13、126V的核心電壓。選用TMS320VC5510這款芯片,最大的優(yōu)勢(shì)

37、在于其能夠與我們選定的CODEC芯片TLV320AIC23完美地進(jìn)行通訊13。同樣是TI公司的AIC23其控制總線主要是I2C,而數(shù)據(jù)總線是I2C。使用C5510的I2C總線和McBSP總線能夠非常方便地同AIC23進(jìn)行數(shù)據(jù)通信14。而C5510的作為數(shù)字信號(hào)處理器的強(qiáng)大處理能力能夠使本系統(tǒng)的算法更加流暢地運(yùn)行。圖3-3 TMS320VC5510引腳圖4.3 DSP系統(tǒng)的設(shè)計(jì)與開發(fā)DSP系統(tǒng)的開發(fā)是一個(gè)復(fù)雜的過程,在系統(tǒng)的設(shè)計(jì)和調(diào)試中不但需要數(shù)字信號(hào)處理方面的理論知識(shí),而且還要熟悉掌握各種DSP芯片、外圍硬件電路以及DSP開發(fā)工具等。4.3.1 DSP系統(tǒng)的特點(diǎn)DSP系統(tǒng)是以數(shù)字信號(hào)處理為基礎(chǔ)

38、的,因此不但具有數(shù)字處理的全部優(yōu)點(diǎn)而且還具有以下特點(diǎn)24:1接口方便:DSP應(yīng)用系統(tǒng)與其他以現(xiàn)代數(shù)字技術(shù)為基礎(chǔ)的系統(tǒng)或設(shè)備都是相互兼容的,這樣的系統(tǒng)接口以實(shí)現(xiàn)某種功能要比模擬系統(tǒng)與這些系統(tǒng)接口要容易得多。2編程方便:DSP應(yīng)用系統(tǒng)中的可編程DSP芯片,能靈活方便地進(jìn)行修改和升級(jí)。3穩(wěn)定性好:DSP應(yīng)用系統(tǒng)以數(shù)字處理為基礎(chǔ),受環(huán)境溫度及噪聲的影響較小、可靠性高,無器件老化現(xiàn)象。4精度高:16位數(shù)字系統(tǒng)可以達(dá)到10-5級(jí)的精度。5可重復(fù)性好:模擬系統(tǒng)的性能受元器件參數(shù)性能變化的影響比較大,而數(shù)字系統(tǒng)基本不受影響,因此數(shù)字系統(tǒng)便于測試、調(diào)試和大規(guī)模生產(chǎn)。6集成方便:DSP應(yīng)用系統(tǒng)中的數(shù)字部件有高度的

39、規(guī)范性,便于大規(guī)模集成。當(dāng)然,數(shù)字信號(hào)處理也存在一些缺點(diǎn)。例如,對(duì)于簡單信號(hào)處理任務(wù),若采用DSP則使成本增加。DSP系統(tǒng)中的高速時(shí)鐘可能帶來高頻干擾和電磁泄漏等問題,而且DSP系統(tǒng)消耗的功率也較大。此外,DSP技術(shù)更新速度快,對(duì)于數(shù)學(xué)知識(shí)要求高,開發(fā)和測試工具還有待進(jìn)一步完善。4.3.2 DSP系統(tǒng)的設(shè)計(jì)流程一個(gè)DSP系統(tǒng)的設(shè)計(jì)過程大概要有以下幾個(gè)步驟。1根據(jù)系統(tǒng)的任務(wù)要求,確定系統(tǒng)處理精度要求、速度要求、實(shí)時(shí)性要求等性能指標(biāo)。2根據(jù)系統(tǒng)的要求進(jìn)行高級(jí)語言的算法模擬,比如使用MATLAB等仿真工具,驗(yàn)證算法的可行性,得出最佳的處理方法。3DSP的系統(tǒng)設(shè)計(jì),主要分為硬件設(shè)計(jì)和軟件設(shè)計(jì)。硬件設(shè)計(jì)

40、是指根據(jù)系統(tǒng)要求選擇合適的DSP芯片,然后設(shè)計(jì)相應(yīng)的外圍電路。軟件設(shè)計(jì)主要是指根據(jù)系統(tǒng)的要求和選用的DSP芯片編寫相應(yīng)的程序。程序的編寫可以使用匯編語言,匯編語言編寫的程序效率高,但比較煩雜;也可采用C語言,DSP的C語言基本上是標(biāo)準(zhǔn)C語言,編寫比較簡單,但效率低。在實(shí)際系統(tǒng)開發(fā)時(shí)往往是兩種語言結(jié)合編寫,在算法運(yùn)算量大的地方使用匯編語言,在運(yùn)算量小的地方使用C語言,這樣既能縮短軟件的開發(fā)周期,提高程序的可讀性和可移植性,又滿足了系統(tǒng)的實(shí)時(shí)性要求。本文的設(shè)計(jì)采用匯編語言編寫、設(shè)計(jì)軟件程序。4.3.3 DSP系統(tǒng)的開發(fā)工具CCSCCS,即 Code Composer Studio,是TI公司在 1

41、999年推出的一個(gè)開放、具有強(qiáng)大集成開發(fā)環(huán)境。它最初是由GO DSP公司為TI的C6000系列DSP開發(fā)的。在TI收購了 GO DSP后,將CCS擴(kuò)展到了其他系列26?,F(xiàn)在所有TI的DSP都可以使用CCS進(jìn)行開發(fā),但是其中的DSP/BIOS功能只有C5000和C6000的CCS中才提供38。以前的DSP軟件開發(fā)都是在一個(gè)分散的開發(fā)環(huán)境下進(jìn)行,程序的編寫、代碼的生成以及調(diào)試等都是要通過命令來完成,類似于以前的DOS,十分煩雜。而CCS的出現(xiàn)是DSP開發(fā)軟件的一次革命性的變化。CCS主要由代碼生成工具、CCS集成開發(fā)環(huán)境、DSP/BIOS和API函數(shù)以及RTDX組成。1CCS主要特點(diǎn):集成可視化代碼編輯界面,可以方便地直接編寫C、匯編、.h文件、.cmd文件等;集成代碼生成工具,包括匯編器、優(yōu)化的C編譯器和連接器等;具有完整的基本調(diào)試工具,可以載入執(zhí)行文件(.out),查看寄存器窗口、存儲(chǔ)器窗口

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論