畢業設計(論文)基于DSP的IIR濾波器系統設計_第1頁
畢業設計(論文)基于DSP的IIR濾波器系統設計_第2頁
畢業設計(論文)基于DSP的IIR濾波器系統設計_第3頁
畢業設計(論文)基于DSP的IIR濾波器系統設計_第4頁
畢業設計(論文)基于DSP的IIR濾波器系統設計_第5頁
已閱讀5頁,還剩19頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、基于dsp的iir濾波器系統設計摘要隨著計算機和信息技術的飛速發展,數字信號處理已經成為高速實時處理的一項關鍵技術,廣泛應用在語音識別、智能檢測、工業控制等各個領域。數字濾波器是對數字信號實現濾波的線性時不變系統。數字濾波實質上是一種運算過程,實現對信號的運算處理。dsp數字信號處理(digital signal processing,簡稱dsp)是一門涉及許多學科而又廣泛應用于許多領域的新興學科。20世紀60年代以來,隨著計算機和信息技術的飛速發展,數字信號處理技術應運而生并得到迅速的發展。傳感器數字信號處理是利用傳感器對模擬信號或數字信號進行采集并把其轉換成計算機可識別的電信號,并利用計算

2、機對信號進行處理以達到計算機輔助控制或是計算機自動控制的目的。dsp 芯片是一種特別適合數字信號處理運算的微處理器,主要用來實時、快速地實現各種數字信號處理算法。用dsp 芯片實現iir 數字濾波器,不僅具有精確度高、不受環境影響等優點,而且因dsp 芯片的可編程性,可方便地修改濾波器參數,從而改變濾波器的特性,設計十分靈活。本課題主要應用matlab軟件設計iir數字濾波器,并對所設計的濾波器進行仿真;應用dsp集成開發環境ccs調試匯編程序,文章結合tm320c5509的結構特點,介紹了一種iir濾波器在tm320c5509中的實現方法。文中程序已經過硬件驗證,仿真結果表明該設計符合要求。

3、 關鍵詞 數字濾波;iir;dsp;tm320c5509;matlab目錄摘要i第1章 緒論11.1 數字濾波器的優越性21.2 數字濾波器實現的方法21.3 主要研究內容3第2章 濾波器基礎42.1數字濾波器介紹42.2 iir濾波器的設計方法及原理52.3 iir濾波器的設計過程及matlab實現102.3.1設計過程102.3.2設計流程框圖122.3.3 matlab程序122.3.4運行結果及分析142.4 本章小結14第3章 數字濾波器的dsp實現153.1 tms320c5509特點153.2 dsp系統的設計與開發173.2.1 dsp系統的特點173.2.2 dsp系統的設計

4、流程183.2.3 dsp系統的開發工具ccs183.2.4 iir濾波器的設計框圖193.2.5程序源代碼20第4章 本文總結234.1 總結23參考文獻23第一章 緒論1.1 數字濾波器的優越性dsp 芯片是一種特別適合數字信號處理運算的微處理器,主要用來實時、快速地實現各種數字信號處理算法。數字信號處理由于具有精度高、靈活性強等優點,已廣泛應用于圖像處理、數字通信、雷達等領域。數字濾波技術在數字信號處理中占有極其重要的地位,數字濾波器根據其單位脈沖響應可分為iir(無限長沖激響應濾波器)和fir(有限長沖激響應濾波器)兩類。iir濾波器可以用較少的階數獲得很高的選擇特性,但在有限精度的運

5、算中,可能出現不穩定現象,而且相位特性不好控制。數字濾波器本質上是一個完成特定運算的數字計算過程,也可以理解為是一臺計算機。數字濾波器又分為無限沖激響應濾波器(iir)和有限沖激響應濾波器(fir)。fir濾波器具有不含反饋環路、結構簡單以及可以實現的嚴格線性相位等優點,因而在對相位要求比較嚴格的條件下,采用fir數字濾波器。同時,由于在許多場合下,需要對信號進行實時處理,因而對于單片機的性能要求也越來越高。由于dsp控制器具有許多獨特的結構,例如采用多組總線結構實現并行處理,獨立的累加器和乘法器以及豐富的尋址方式,采用 dsp控制器就可以提高數字信號處理運算的能力,可以對數字信號做到實時處理

6、。dsp(數字信號處理器)與一般的微處理器相比有很大的區別,它所特有的系統結構、指令集合、數據流程方式為解決復雜的數字信號處理問題提供了便利,本文選用tms320c5509作為dsp處理芯片,通過對其編程來實現iir濾波器。對數字濾波器而言,從實現方法上,有fir濾波器和無限沖激響應(iir)濾波器之分。由于fir濾波器只有零點,因此這一類系統不像iir系統那樣易取得比較好的通帶與阻帶衰減特性。但是iir系統與傳統的通過硬件電路實現的模擬濾波器相比有以下優點:1、單位沖擊響應有無限多項;2、高效率(因為結構簡單、系數小、乘法操作較少)3、與模擬濾波器有對應關系4、可以解析控制,強制系統在指定位

7、置為零點5、有極點,在設計時要考慮穩定性6、具有反饋,可能產生噪聲、誤差累積1.2 數字濾波器的實現方法目前數字濾波器的主要實現方法有:1在通用的微型計算機上用軟件實現。軟件可以是自己編寫的,也可以使用現成的軟件包,這種方法的缺點是速度太慢,不能用于實時系統,只能用于教學和算法的仿真研究。比如用matlab就幾乎可以實現所有數字濾波器的仿真。而且在matlab下的部分仿真程序還可以通過轉化為c語言,再通過dsp的c編譯器直接在dsp硬件上運行。2用 dsp(digital signal processing)處理器實現dsp處理器是專為數字信號處理而設計的,如ti公司的tms320c54x系列

8、,ad公司的adsp2ix,adsp210x系列等。它的主要數字運算單元是一個乘累加器(multiply-accumulator,mac),能夠在一個機器周期內完成一次乘累加運算,配有適合于信號處理的指令,具備獨特的循環尋址和倒序尋址能力。這些特點都非常適合數字信號處理中的濾波器設計的有效實現,并且它速度快、穩定性好、編程方便。3用固定功能的專用信號處理器實現專用信號處理器采用專用集成電路asic(application specific integrated circuits)實現,適用于過程固定而又追求高速的信號處理任務,是以指定的算法來確定它的結構,使用各種隨機邏輯器件組成的信號處理器。

9、它們體積小、保密性好,具有極高的性能,但靈活性差。4用fpga等可編程器件來開發數字濾波算法。由于fpga產品的迅速發展,人們可以利用atera、xilinx等產品,使用其相關開發工具和vhdl等硬件開發語言,通過軟件編程用硬件實現特定的數字濾波算法。這一方法由于具有通用性的特點并可以實現算法的并行運算,無論是作為獨立的數字信號處理器,還是作為dsp芯片的協處理器,目前都是比較活躍的研究領域。比較以上方法可見:可以采用matlab等軟件來學習數字濾波器的基本知識,計算數字濾波器的系數,研究算法的可行性,對數字濾波器進行前期的設計和仿真。而后,用dsp處理器或fpga進行數字濾波的硬件實現。本課

10、題設計的fir數字濾波器就是用matlab進行設計和仿真,用dsp處理器來實現。1.3 主要研究內容本文主要研究了數字濾波器的基本理論和實現方法。接著研究分析了如何利用matlab仿真軟件來設計出符合各種要求的數字濾波器,并對所設計的濾波器進行仿真得到系數,本文還應用dsp集成開發環境ccs調試匯編程序,為后面在dsp上實現提供必要的數據。本課題選擇在tm320c5509 dsp綜合實驗開發系統平臺上進行開發。最后采用窗函數法在ccs環境下,利用matlab仿真得到的濾波器系數,編程實現iir數字濾波器,得出濾波結果波形,并對結果進行分析與總結。第2章 濾波器基礎2.1 數字濾波器的介紹數字濾

11、波器是對數字信號實現濾波的線性時不變系統。數字濾波實質上是一種運算過程,實現對信號的運算處理。輸入數字信號(數字序列)通過特定的運算轉變為輸出的數字序列,因此,數字濾波器本質上是一個完成特定運算的數字計算過程,也可以理解為是一臺計算機。描述離散系統輸出與輸入關系的卷積和差分方程只是給數字信號濾波器提供運算規則,使其按照這個規則完成對輸入數據的處理。時域離散系統的頻域特性:,其中、分別是數字濾波器的輸出序列和輸入序列的頻域特性(或稱為頻譜特性),是數字濾波器的單位取樣響應的頻譜,又稱為數字濾波器的頻域響應。輸入序列的頻譜經過濾波后,因此,只要按照輸入信號頻譜的特點和處理信號的目的, 適當選擇,使

12、得濾波后的滿足設計的要求,這就是數字濾波器的濾波原理。數字濾波器根據其沖激響應函數的時域特性,可分為兩種,即無限長沖激響應(iir)數字濾波器和有限長沖激響應(fir)數字濾波器。iir 數字濾波器的特征是,具有無限持續時間沖激響應,需要用遞歸模型來實現,其差分方程為:系統函數為:設計iir濾波器的任務就是尋求一個物理上可實現的系統函數h(z),使其頻率響應h(z)滿足所希望得到的頻域指標,即符合給定的通帶截止頻率、阻帶截止頻率、通帶衰減系數和阻帶衰減系數。2.2 iir濾波器的設計方法及原理iir數字濾波器是一種離散時間系統,其系統函數為假設mn,當mn時,系統函數可以看作一個iir的子系統

13、和一個(m-n)的fir子系統的級聯。iir數字濾波器的設計實際上是求解濾波器的系數和 ,它是數學上的一種逼近問題,即在規定意義上(通常采用最小均方誤差準則)去逼近系統的特性。如果在s平面上去逼近,就得到模擬濾波器;如果在z平面上去逼近,就得到數字濾波器。1.用脈沖相應不變法設計iir數字濾波器 利用模擬濾波器來設計數字濾波器,也就是使數字濾波器能模仿模擬濾波器的特性,這種模仿可以從不同的角度出發。脈沖響應不變法是從濾波器的脈沖響應出發,使數字濾波器的單位脈沖響應序列h(n)模仿模擬濾波器的沖激響應ha(t),即將ha(t)進行等間隔采樣,使h(n)正好等于ha(t)的采樣值,滿足h(n)=h

14、a(nt)式中,t是采樣周期。如果令ha(s)是ha(t)的拉普拉斯變換,h(z)為h(n)的z變換,利用采樣序列的z變換與模擬信號的拉普拉斯變換的關系得(1-1)則可看出,脈沖響應不變法將模擬濾波器的s平面變換成數字濾波器的z平面,這個從s到z的變換z=est是從s平面變換到z平面的標準變換關系式。圖1-1脈沖響應不變法的映射關系 由(1-1)式,數字濾波器的頻率響應和模擬濾波器的頻率響應間的關系為(1-2)這就是說,數字濾波器的頻率響應是模擬濾波器頻率響應的周期延拓。正如采樣定理所討論的,只有當模擬濾波器的頻率響應是限帶的,且帶限于折疊頻率以內時,即(1-3)才能使數字濾波器的頻率響應在折

15、疊頻率以內重現模擬濾波器的頻率響應,而不產生混疊失真,即| (1-4)但是,任何一個實際的模擬濾波器頻率響應都不是嚴格限帶的,變換后就會產生周期延拓分量的頻譜交疊,即產生頻率響應的混疊失真,如圖7-4所示。這時數字濾波器的頻響就不同于原模擬濾波器的頻響,而帶有一定的失真。當模擬濾波器的頻率響應在折疊頻率以上處衰減越大、越快時,變換后頻率響應混疊失真就越小。這時,采用脈沖響應不變法設計的數字濾波器才能得到良好的效果。圖1-2脈沖響應不變法中的頻響混疊現象 對某一模擬濾波器的單位沖激響應ha(t)進行采樣,采樣頻率為fs,若使fs增加,即令采樣時間間隔(t=1/fs)減小,則系統頻率響應各周期延拓

16、分量之間相距更遠,因而可減小頻率響應的混疊效應。脈沖響應不變法優缺點:從以上討論可以看出,脈沖響應不變法使得數字濾波器的單位脈沖響應完全模仿模擬濾波器的單位沖激響應,也就是時域逼近良好,而且模擬頻率和數字頻率之間呈線性關系=t。因而,一個線性相位的模擬濾波器(例如貝塞爾濾波器)通過脈沖響應不變法得到的仍然是一個線性相位的數字濾波器。脈沖響應不變法的最大缺點是有頻率響應的混疊效應。所以,脈沖響應不變法只適用于限帶的模擬濾波器(例如,衰減特性很好的低通或帶通濾波器),而且高頻衰減越快,混疊效應越小。至于高通和帶阻濾波器,由于它們在高頻部分不衰減,因此將完全混淆在低頻響應中。如果要對高通和帶阻濾波器

17、采用脈沖響應不變法,就必須先對高通和帶阻濾波器加一保護濾波器,濾掉高于折疊頻率以上的頻率,然后再使用脈沖響應不變法轉換為數字濾波器。當然這樣會進一步增加設計復雜性和濾波器的階數。2.用雙線性變換法設計iir數字濾波器脈沖響應不變法的主要缺點是產生頻率響應的混疊失真。這是因為從s平面到平面是多值的映射關系所造成的。為了克服這一缺點,可以采用非線性頻率壓縮方法,將整個頻率軸上的頻率范圍壓縮到-/t/t之間,再用z=est轉換到z平面上。也就是說,第一步先將整個s平面壓縮映射到s1平面的-/t/t一條橫帶里;第二步再通過標準變換關系z=es1t將此橫帶變換到整個z平面上去。這樣就使s平面與z平面建立

18、了一一對應的單值關系,消除了多值變換性,也就消除了頻譜混疊現象,映射關系如圖1-3所示。圖1-3雙線性變換的映射關系為了將s平面的整個虛軸j壓縮到s1平面j1軸上的-/t到/t段上,可以通過以下的正切變換實現(1-5)式中,t仍是采樣間隔。當1由-/t經過0變化到/t時,由-經過0變化到+,也即映射了整個j軸。將式(1-5)寫成將此關系解析延拓到整個s平面和s1平面,令j=s,j1=s1,則得再將s1平面通過以下標準變換關系映射到z平面z=es1t從而得到s平面和z平面的單值映射關系為:(1-6)(1-7)式(1-6)與式(1-7)是s平面與z平面之間的單值映射關系,這種變換都是兩個線性函數之

19、比,因此稱為雙線性變換式(1-5)與式(1-6)的雙線性變換符合映射變換應滿足的兩點要求。首先,把z=ej,可得(1-8)即s平面的虛軸映射到z平面的單位圓。其次,將s=+j代入式(1-8),得因此由此看出,當0時,|z|0時,|z|1。也就是說,s平面的左半平面映射到z平面的單位圓內,s平面的右半平面映射到z平面的單位圓外,s平面的虛軸映射到z平面的單位圓上。因此,穩定的模擬濾波器經雙線性變換后所得的數字濾波器也一定是穩定的。雙線性變換法優缺點雙線性變換法與脈沖響應不變法相比,其主要的優點是避免了頻率響應的混疊現象。這是因為s平面與z平面是單值的一一對應關系。s平面整個j軸單值地對應于z平面

20、單位圓一周,即頻率軸是單值變換關系。這個關系如式(1-8)所示,重寫如下:上式表明,s平面上與z平面的成非線性的正切關系,如圖7-7所示。由圖7-7看出,在零頻率附近,模擬角頻率與數字頻率之間的變換關系接近于線性關系;但當進一步增加時,增長得越來越慢,最后當時,終止在折疊頻率=處,因而雙線性變換就不會出現由于高頻部分超過折疊頻率而混淆到低頻部分去的現象,從而消除了頻率混疊現象。圖1-4雙線性變換法的頻率變換關系但是雙線性變換的這個特點是靠頻率的嚴重非線性關系而得到的,如式(1-8)及圖1-4所示。由于這種頻率之間的非線性變換關系,就產生了新的問題。首先,一個線性相位的模擬濾波器經雙線性變換后得

21、到非線性相位的數字濾波器,不再保持原有的線性相位了;其次,這種非線性關系要求模擬濾波器的幅頻響應必須是分段常數型的,即某一頻率段的幅頻響應近似等于某一常數(這正是一般典型的低通、高通、帶通、帶阻型濾波器的響應特性),不然變換所產生的數字濾波器幅頻響應相對于原模擬濾波器的幅頻響應會有畸變,如圖1-5所示。圖1-5雙線性變換法幅度和相位特性的非線性映射對于分段常數的濾波器,雙線性變換后,仍得到幅頻特性為分段常數的濾波器,但是各個分段邊緣的臨界頻率點產生了畸變,這種頻率的畸變,可以通過頻率的預畸來加以校正。也就是將臨界模擬頻率事先加以畸變,然后經變換后正好映射到所需要的數字頻率上。2.3 iir濾波

22、器的設計過程及matlab實現2.3.1 iir濾波器的設計過程根據以上iir數字濾波器設計方法,下面運用雙線性變換法基于matlab設計一個iir帶通濾波器,其中帶通的中心頻率為p0=0.5,;通帶截止頻率p1=0.4,p2=0.6;通帶最大衰減p=3db;阻帶最小衰減s=15db;阻帶截止頻率s2=0.71.設計步驟:(1)根據任務,確定性能指標:在設計帶通濾波器之前,首先根據工程實際的需要確定濾波器的技術指標:帶通濾波器的阻帶邊界頻率關于中心頻率p0幾何對稱,因此ws1=wp0- (ws2-wp0)=0.3通帶截止頻率wc1=0.4,wc2=0.6;阻帶截止頻率wr1=0.3,wr2=0

23、.7;阻帶最小衰減s=3db和通帶最大衰減p=15db;(2)用=2/t*tan(w/2)對帶通數字濾波器h(z)的數字邊界頻率預畸變,得到帶通模擬濾波器h(s)的邊界頻率主要是通帶截止頻率p1,p2;阻帶截止頻率s1,s2的轉換。為了計算簡便,對雙線性變換法一般t=2s通帶截止頻率wc1=(2/t)*tan(wp1/2)=tan(0.4/2)=0.7265wc2=(2/t)*tan(wp2/2)=tan(0.6/2)=1.3764阻帶截止頻率wr1=(2/t)*tan(ws1/2)=tan(0.3/2)=0.5095wr2=(2/t)*tan(ws2/2)=tan(0.7/2)=1.9626

24、阻帶最小衰減s=3db和通帶最大衰減p=15db;(3)運用低通到帶通頻率變換公式=(2)-(02)/(b*)將模擬帶通濾波器指標轉換為模擬低通濾波器指標。b=wc2-wc1=0.6499normwr1=(wr12)-(w02)/(b*wr1)=2.236normwr2=(wr22)-(w02)/(b*wr2)=2.236normwc1=(wc12)-(w02)/(b*wc1)=1normwc2=(wc22)-(w02)/(b*wc2)=1得出,normwc=1,normwr=2.236模擬低通濾波器指標:normwc=1,normwr=2.236,p=3db,s=15db(4)設計模擬低通原

25、型濾波器。用模擬低通濾波器設計方法得到模擬低通濾波器的傳輸函數ha(s);借助巴特沃斯(butterworth)濾波器、切比雪夫(chebyshev)濾波器、橢圓(cauer)濾波器、貝塞爾(bessel)濾波器等。(5)調用lp2bp函數將模擬低通濾波器轉化為模擬帶通濾波器。(6)利用雙線性變換法將模擬帶通濾波器ha(s)轉換成數字帶通濾波器h(z).2.3.2 iir濾波器的流程框圖開始讀入數字濾波器技術指標將指標轉換成歸一化模擬低通濾波器的指標設計歸一化的模擬低通濾波器階數n和3db截止頻率模擬域頻率變換,將g(p)變換成模擬帶通濾波器h(s)用雙線性變換法將h(s)轉換成數字帶通濾波器

26、h(z)輸入信號后顯示相關結果結束2.3.3 matlab程序matlab 程序如下:clearwp0=0.5*pi;wp1=0.4*pi;wp2=0.6*pi;ap=3;ws2=0.7*pi;as=15;t=2; %數字帶通濾波器技術指標ws1=wp0-(ws2-wp0); %計算帶通濾波器的阻帶下截止頻率wc1=(2/t)*tan(wp1/2);wc2=(2/t)*tan(wp2/2);wr1=(2/t)*tan(ws1/2);wr2=(2/t)*tan(ws2/2);w0=(2/t)*tan(wp0/2); %頻率預畸變b=wc2-wc1; %帶通濾波器的通帶寬度 normwr1=(wr

27、12)-(w02)/(b*wr1);normwr2=(wr22)-(w02)/(b*wr2);normwc1=(wc12)-(w02)/(b*wc1);normwc2=(wc22)-(w02)/(b*wc2); %帶通到低通的頻率變換if abs(normwr1)abs(normwr2) normwr=abs(normwr2)else normwr=abs(normwr1)end normwc=1; %將指標轉換成歸一化模擬低通濾波器的指標n=buttord(normwc,normwr,ap,as,s); %設計歸一化的模擬低通濾波器階數n和3db截止頻率blp,alp=butter(n,no

28、rmwc,s); %計算相應的模擬濾波器系統函數g(p)bbp,abp=lp2bp(blp,alp,w0,b); %模擬域頻率變換,將g(p)變換成模擬帶通濾波器h(s) b,a=bilinear(bbp,abp,0.5); %用雙線性變換法將h(s)轉換成數字帶通濾波器h(z)w=linspace (0,2*pi,500);h=freqz(b,a,w);subplot(2,1,2);plot(w,abs(h);grid onxlabel(w(rad)ylabel(|h(jw)|)title(頻譜函數)subplot(2,2,1);plot(w,20*log10(abs(h);axis(0,2

29、*pi,-120,20);grid onxlabel(w(rad)ylabel(20*lg|h(jw)|(db)title(20*lg|h(jw)|-w)2.3.4 運行結果及分析運行結果及分析: 圖2.3程序運行結果:normwr=2.2361由設計流程計算得normwr=2.236與運行結果相同。低通原型的每一個邊界頻率都映射為帶通濾波器兩個相應的邊界頻率。根據通帶截至頻率和阻帶截至頻率與頻譜函數曲線比較,滿足設計要求。2.4 本章小結本章主要介紹了iir濾波器設計的理論基礎,分別介紹了iir濾波器的幾種設計方法和實現方法,為后面iir濾波器的設計奠定理論基礎。介紹了用matlab實現步驟

30、及運行結果。第三章 數字濾波器的dsp實現數字信號處理器(digital signal processor)是一種適合對數字信號進行高速實時處理的專用處理器,其主要用來實時快速地實現各種數字信號處理算法。在當今的數字化時代,dsp己成為通信設備、計算機和其它電子產品的基礎器件。數字信號處理器與數字信號處理有著密不可分的關系,我們通常說的“dsp”可以指數字信號處理(digital signal processing),也可以代表數字信號處理器(digital signal processor)在本文里均指數字信號處理器。數字信號處理是一門包括了許多學科并應用于很多領域的學科,是指利用計算機或是

31、專用處理設備,以數字形式對信號進行分析、采集、合成、變換、濾波、估值、壓縮、識別等處理,得到符合要求的信號形式。數字信號處理器是用于處理數字信號的器件,因此它是伴隨著數字信號處理才產生的。dsp發展歷程大致分為三個階段:20世紀70年代理論先行,80年代產品普及和90年代的突飛猛進。在dsp出現之前數字信號處理只能依靠微處理器(mpu)來完成。但mpu較低的處理速度無法滿足高速實時的要求。因此,直到20世紀70年代,有人才提出了dsp的理論和算法基礎。隨著大規模集成電路技術的發展,1982年世界上誕生了第一片dsp芯片。幾年后,第二代基于cmos工藝的dsp芯片應運而生。80年代后期,第三代d

32、sp芯片問世。90年代dsp發展最快,相繼出現了第四代和第五代dsp器件。經過20多年的發展,dsp產品的應用己擴大到人們的學習、工作和生活的各個方面,并逐漸成為電子產品更新換代的決定因素。3.1 tms320c5509特點tms320c5509采用雙乘累加單元(mac)結構。整個處理器內部分為5個大的功能單元:存儲器緩沖單元(m)、指令緩沖單元(i)、程序控制單元(p)、地址生成單元(a)和數據計算單元(d),各個功能單元之間通過總線連接。tms320c5509中共有12條總線:1條32位程序數據總線(pb),1條24位程序地址總線(pab),5條16位的數據總線(bb、cb、db、eb、f

33、b)和5條24位的數據地址總線(bab、cab、dab、eab、fab)。作為嵌入式芯片的一種,dsp芯片是一種非常適合于進行數字信號處理的微處理器芯片,已經廣泛應用于實現各種數字信號處理運算。其顯著特點可以歸納如下:1哈佛結構哈佛結構是不同于傳統的馮諾曼(von neuman)結構的并行體系結構,其主要特點是將程序和數據存儲在不同的存儲空間中,即程序存儲器和數據存儲器是兩個相互獨立的存儲器,每個存儲器獨立編址,獨立訪問。與兩個存儲器相對應的是系統中設置了程序總線和數據總線兩條總線,從而使數據的吞吐率提高了一倍。2流水線與哈佛結構相關,dsp芯片廣泛采用流水線以減少指令執行時間,從而增強了處理

34、器的處理能力。tms320系列處理器的流水線深度從2-6級不等。第一代tms320處理器采用二級流水線,第二代采用三級流水線,而第三代則采用四級流水線。也就是說,處理器可以并行處理2-6條指令,每條指令處于流水線上的不同階段。3專用的硬件乘法器在一般形式的fir濾波器中,乘法是dsp的重要組成部分。對每個濾波器抽頭,必須做一次乘法和一次加法。乘法速度越快,dsp處理器的性能就越高。在通用的微處理器中,乘法指令是由一系列加法來實現的,故需許多個指令周期來完成。相比而言,dsp芯片的特征就是有一個專用的硬件乘法器。4特殊的dsp指令dsp芯片的另一個特征是采用特殊的指令。例如tms320c10中的

35、ltd指令,可單周期完成加載寄存器、數據移動、同時累加操作。還有dmov指令,它完成數據移位功能。在數字信號處理中,延遲操作非常重要,這個延遲就是由dmov指令來實現的9。5快速的指令周期哈佛結構、流水線操作、專用的硬件乘法器、特殊的dsp指令再加上集成電路的優化設計,可使dsp芯片的指令周期縮短到200ns以下。現在,許多dsp處理器的指令周期已經從第一代的200ns降低至現在的20ns以下,甚至在10ns以內。快速的指令周期使得dsp芯片能夠實時實現許多dsp應用。6面向寄存器和累加器dsp所使用的不是一般的寄存器文件,而是專用寄存器,較新的dsp產品都有類似于risc的寄存器文件。許多d

36、sp還有大的累加器,可以在異常情況下對數據溢出進行處理。7.支持前、后臺處理dsp支持復雜的內循環處理,包括建立起x、y內存和分址/循環計數器。一些dsp在做內循環處理中把中斷屏蔽了,另一些則以類似后臺處理的方式支持快速中斷。許多dsp使用硬連線的堆棧來保存有限的上下文,而有些則用隱蔽的寄存器來加快上下文轉換時間。8.擁有簡便的單片內存和內存接口dsp設法避免了大型緩沖器或復雜的內存接口,減少了內存訪問。一些dsp的內循環是在其單片內存中重復執行指令或循環操作部分代碼,它多采用sram而不是dram,因為前者接口更簡便。2000年3月,德州儀器(ti)公司推出了高性能低功耗的tms320c55

37、x芯片10。其性能可以達到400800mips,但功耗低到0.05 mw/mips。tms320系列包括定點、浮點和多處理器等三種類型的數字信號處理器。它的結構是專門針對實時信號處理而設計的,具有指令靈活、可操作性強、速度快以及支持并行運算和c語言等特點,是性價比較高的一類dsp,在通信設備中得到了廣泛的應用。c5000系列dsp是針對個人便攜設備而設計的,如音樂播放器、3g蜂窩電話、數碼相機、高速音頻設備、高精度的信號和多通道應用。通常人們把c54x和c55x系列通稱c5000系列,主要用于功耗低、便攜式的無線通信終端產品。c5000系列包括舊有的c5x、當前主流的c54x和較新的c55x系

38、列。其中,c54x采用改進的哈佛結構,并集成有豐富的硬件邏輯和外部接口資源,具有較高的性能,及較低的成本和體積。c55x是在c54x的基礎上發展起來的,也采用改進型哈佛結構,其器件功耗較c54x更低,性能更高。tms320c55x采用多總線結構,由五組內部數據總線(3個用于讀,2個用于寫)和一組內部程序存儲總線構成。32bit的程序總線(pb)傳送從程序存儲器來的指令代碼和立即數。三組16bit數據讀總線(bb,cb和db)連接數據讀地址產生邏輯。cb和db總線傳送雙操作數。db總線傳送單操作數。bb總線提供第三種讀路徑并且能夠提供雙乘操作數的系數。兩組16bit數據寫總線(eb,fb)連接數

39、據寫地址產生邏輯。六組24bit數據總線(pab,cab,dab,bab,eab,fab)傳送執行指令所需要的地址。還有一條附加總線為dma控制器和外設控制器提供服務。tms320c55x的cpu結構主要包括四種功能單元:即指令緩沖單元(i單元),程序流程單元(p單元),地址數據流程單元(a單元)和數據計算單元(d單元)。其數據計算單元包括一個40bit的可以提供-32到31移位范圍的桶形移位器,一個40bit的算術邏輯電路(alu),兩個乘累加器(mac)可以在一個周期中執行兩個mac操作,以及四個40bit的累加器。在其地址數據流程單元還包括一個16bit的算術邏輯電路(alu),為主al

40、u提供簡單的算術運算。55x的指令集功能強大而且使用靈活,它同時具有易于使用和程序效率高的特點。尋址方式包括絕對尋址、寄存器間接尋址、直接尋址,這些尋址方式降低了算法所需要的指令數量,減小了代碼量,也提高了芯片運算速度。特別要提到的是c55x指令集中所提供的三操作數指令,這種指令可以實現3個操作數的同時處理(如寫入寄存器或存儲器等操作),大大壓縮了代碼的指令數量。3.2 dsp系統的設計與開發dsp系統的開發是一個復雜的過程,在系統的設計和調試中不但需要數字信號處理方面的理論知識,而且還要熟悉掌握各種dsp芯片、外圍硬件電路以及dsp開發工具等。3.2.1 dsp系統的特點dsp系統是以數字信

41、號處理為基礎的,因此不但具有數字處理的全部優點而且還具有以下特點24:1接口方便:dsp應用系統與其他以現代數字技術為基礎的系統或設備都是相互兼容的,這樣的系統接口以實現某種功能要比模擬系統與這些系統接口要容易得多。2編程方便:dsp應用系統中的可編程dsp芯片,能靈活方便地進行修改和升級。3穩定性好:dsp應用系統以數字處理為基礎,受環境溫度及噪聲的影響較小、可靠性高,無器件老化現象。4精度高:16位數字系統可以達到10-5級的精度。5可重復性好:模擬系統的性能受元器件參數性能變化的影響比較大,而數字系統基本不受影響,因此數字系統便于測試、調試和大規模生產。6集成方便:dsp應用系統中的數字

42、部件有高度的規范性,便于大規模集成。當然,數字信號處理也存在一些缺點。例如,對于簡單信號處理任務,若采用dsp則使成本增加。dsp系統中的高速時鐘可能帶來高頻干擾和電磁泄漏等問題,而且dsp系統消耗的功率也較大。此外,dsp技術更新速度快,對于數學知識要求高,開發和測試工具還有待進一步完善。3.2.2 dsp系統的設計流程一個dsp系統的設計過程大概要有以下幾個步驟。1根據系統的任務要求,確定系統處理精度要求、速度要求、實時性要求等性能指標。2根據系統的要求進行高級語言的算法模擬,比如使用matlab等仿真工具,驗證算法的可行性,得出最佳的處理方法。3dsp的系統設計,主要分為硬件設計和軟件設

43、計。硬件設計是指根據系統要求選擇合適的dsp芯片,然后設計相應的外圍電路。軟件設計主要是指根據系統的要求和選用的dsp芯片編寫相應的程序。程序的編寫可以使用匯編語言,匯編語言編寫的程序效率高,但比較煩雜;也可采用c語言,dsp的c語言基本上是標準c語言,編寫比較簡單,但效率低。在實際系統開發時往往是兩種語言結合編寫,在算法運算量大的地方使用匯編語言,在運算量小的地方使用c語言,這樣既能縮短軟件的開發周期,提高程序的可讀性和可移植性,又滿足了系統的實時性要求。本文的設計采用匯編語言編寫、設計軟件程序。3.2.3 dsp系統的開發工具ccsccs是一種針對tms320系列dsp的集成開發環境,在windows操作系統下,采用圖形接口界面,提供有環境配置、源文件編輯、程序調試、跟蹤和分析等工具。ccs有兩種工作模式,即軟件仿真器模式:可以脫離dsp芯片,在pc機上模擬dsp的指令集和工作機制,主要用于前期

溫馨提示

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

最新文檔

評論

0/150

提交評論