基于DSP的數(shù)字濾波器的設(shè)計與仿真_第1頁
基于DSP的數(shù)字濾波器的設(shè)計與仿真_第2頁
基于DSP的數(shù)字濾波器的設(shè)計與仿真_第3頁
基于DSP的數(shù)字濾波器的設(shè)計與仿真_第4頁
基于DSP的數(shù)字濾波器的設(shè)計與仿真_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、摘要DSP 技術(shù)一般指將DSP 處理器于完成數(shù)字信號處理的方法與技術(shù),本文主要介紹了利用DSP 來實現(xiàn)FIR 濾波器的設(shè)計,根據(jù)FIR 濾波器設(shè)計的要求,本設(shè)計以CCS 為開發(fā)環(huán)境,采用模塊化的設(shè)計方案來完成設(shè)計。本文詳細(xì)介紹了硬件電路和軟件設(shè)計的方法,硬件方面介紹了SEED-DEC2812開發(fā)實驗箱,軟件設(shè)計方面包括了程序各模塊的流程圖和源程序代碼,還詳細(xì)介紹了CCS 為開發(fā)環(huán)境,并詳細(xì)介紹了仿真的步驟。關(guān)鍵詞:CCS 開發(fā)環(huán)境;DSP ;FIR目錄摘要 . . I第1章 課程設(shè)計的目的和要求 . . 1第2章 系統(tǒng)功能介紹及總體設(shè)計方案 . 2第3章 主要內(nèi)容和步驟 . 33.1 濾波器原

2、理 . . 33.2 操作步驟 . 3第4章 詳細(xì)設(shè)計 . 4第5章 實驗過程 . 55.1 匯編語言實驗步驟與內(nèi)容 . 55.2 實驗過程中出現(xiàn)的錯誤及解決的辦法 . . 75.3 CCS 程序運行后的各種輸出結(jié)果 . . 7第6章 結(jié)論與體會. 10 參考文獻. 11 附件:源程序清單 . 12 DSP 實現(xiàn)FIR 濾波的關(guān)鍵技術(shù) . . 12 匯編程序清單 . 14第1章 課程設(shè)計的目的和要求通過課程設(shè)計,加深對DSP 芯片TMS320C54x 的結(jié)構(gòu)、工作原理的理解,獲得DSP 應(yīng)用技術(shù)的實際訓(xùn)練,掌握設(shè)計較復(fù)雜DSP 系統(tǒng)的基本方法。通過使用匯編語言編寫具有完整功能的圖形處理程序或信

3、息系統(tǒng),使學(xué)生加深對所學(xué)知識的理解,進一步鞏固匯編語言講法規(guī)則。學(xué)會編制結(jié)構(gòu)清晰、風(fēng)格良好、數(shù)據(jù)結(jié)構(gòu)適當(dāng)?shù)膮R編語言程序,從而具備解決綜合性實際問題的能力。第2章 系統(tǒng)功能介紹及總體設(shè)計方案2.1系統(tǒng)功能介紹一個實際的應(yīng)用系統(tǒng)中,總存在各種干擾。數(shù)字濾波器在語音信號處理、信號頻譜估計、信號去噪、無線通信中的數(shù)字變頻以及圖像信號等各種信號處理中都有廣泛的應(yīng)用,數(shù)字濾波器也是使用最為廣泛的信號處理算法之一。在本設(shè)計中,使用MATLAB 模擬產(chǎn)生合成信號,然后利用CCS 進行濾波。設(shè)定模擬信號的采樣頻率為400000Hz ,。設(shè)計一個FIR 低通濾波器,其參數(shù)為:濾波器名稱: FIR 低通濾波器采樣頻

4、率: Fs=40000Hz通帶/阻帶截止頻率: 4000Hz 4500Hz通帶最大衰減: 0.5dB阻帶最少衰減: 50dB濾波器級數(shù): N=154濾波器系數(shù): 由MATLAB 根據(jù)前述參數(shù)求得。2.2 總體設(shè)計方案流程圖 圖1 總體設(shè)計方案第3章 主要內(nèi)容和步驟3.1 濾波器原理對于一個FIR 濾波器系統(tǒng),它的沖擊響應(yīng)總是又限長的,其系統(tǒng)函數(shù)可記為:H (z =h (n z -n N -1n =0其中N -1是FIR 的濾波器的階數(shù),z -n 為延時結(jié),h (n 為端口信號函數(shù)。最基本的FIR 濾波器可用下式表示:y (n =h (k x (n -k N -1k =0其中x (n -k 輸入

5、采樣序列,h (k 是濾波器系數(shù),N 是濾波器的階數(shù)Y (n 表示濾波器的輸出序列,也可以用卷積來表示輸出序列y (n 與x (n 、h (n 的關(guān)系,如下: y (n =x (n *h (n 3.2 操作步驟(1)打開FDATOOL , 根據(jù)濾波要求設(shè)置濾波器類型、通帶截止頻率、指定階數(shù)、采樣頻率等。指定完設(shè)計參數(shù)后單擊按鈕Design Filter,生成濾波器系數(shù)。(2)把生成的濾波器系數(shù)傳到目標(biāo)DSP 。選擇菜單Targets->Export to Code Composer Studio(tmIDE,打開Export to C Header File對話框,選擇C header

6、file ,指定變量名(濾波器階數(shù)和系數(shù)向量 ,輸出數(shù)據(jù)類型可選浮點型或32 b,16 b整型等,根據(jù)自己安裝選擇目標(biāo)板板號和處理器號,單擊OK ,保存該頭文件,需指定文件名(filtercoeffh 和路徑(保存在c :timyprojectsfir工程中 。(3)修改CCS 匯編程序,刪掉數(shù)據(jù)前的所有文字,在開頭加上.data ,第二行加coeff .word, 在每行的前面加上.word ,比且把每行的最后的逗號去掉。(4)編譯匯編程序,如果有錯誤,按錯誤進行修改;沒錯誤,則往下執(zhí)行。(5)加載初始化DATA 數(shù)據(jù)。運行程序,查看輸入輸出波形,修改相應(yīng)參數(shù)進行調(diào)試第4章 詳細(xì)設(shè)計在本實驗

7、中使用MATLAB 模擬產(chǎn)生信號,觀察濾波前的時域波形和頻域波形。MATLAB 仿真后,使用得到的濾波器參數(shù),進行DSP 編程,在DSP 中實現(xiàn)帶通濾波,并使用CCS 的頻譜分析功能,查看DSP 的濾波效果。MATLAB 程序流程圖如圖4.1所示 圖4.1 MATLAB程序流程圖CCS 匯編程序流程圖如圖4.2所示 圖4.2 CCS匯編程序流程圖第5章 實驗過程5.1 匯編語言實驗步驟與內(nèi)容MATLAB 輔助DSP 實現(xiàn)FIR , 其總體過程為在DSP 中編寫處理程序,在MATLAB 中利用濾波器設(shè)計、分析工具( FDATOOL ,根據(jù)指定的濾波器性能快速設(shè)計一個FIR ,然后把濾波器系數(shù)以頭

8、文件形式導(dǎo)入CCS 中, 頭文件中MATLAB 輔助DSP 實現(xiàn)FIR 數(shù)字濾波器含濾波器階數(shù)和系數(shù)數(shù)組, 在MATLAB 中調(diào)試、運行DSP 程序并顯示、分析處理后的數(shù)據(jù)。使用該方法, 便于采用匯編語言來實現(xiàn)程序。頭文件名不變, 當(dāng)MATLAB 中設(shè)計的濾波器系數(shù)改變時, 相應(yīng)頭文件中系數(shù)也改變, 方便了程序調(diào)試、仿真。 圖5.1 待濾波信號的時域圖 圖5.2 待濾波信號的頻域圖利用FDA TOOL 設(shè)計FIR 濾波器的參數(shù),操作步驟如圖5.3所示。 圖5.3 FIR 濾波器的參數(shù)打開Export ,把Numerator 改為B , 如圖5.4所示。圖5.4 Export設(shè)置 圖5.5 已濾

9、波信號時域波形圖 圖5.6 已濾波信號頻域波形圖MATLAB 濾波器設(shè)計工具在完成FIR 設(shè)計后, 如圖5.7所示,在Export as中選擇16bit 符號整數(shù)輸出,然后單擊OK 按鈕。生成fir.h C 語言頭文件。將系數(shù)稍作修改,調(diào)整后拷貝到程序的系數(shù)初始化空間即可。 圖5.7 MATLAB輸出數(shù)值轉(zhuǎn)換圖(2)在CCS 中編寫匯編語言程序,進行調(diào)試,實現(xiàn)帶通濾波的功能。在CCS IDE 中建立LHM.pjt 工程, 用匯編語言編寫處理主程序fir.asm 。另外根據(jù)板上的存儲器配置方式, 編寫存儲器配置文件fir.cmd 文件, 將MATLAB 生成的LHM.h 和input1.dat

10、文件拷貝到LHM.pjt 工程文件夾下,進行編譯、鏈接, 生成可執(zhí)行文件LHM.out 。(3)加載初始化data 數(shù)據(jù),圖5.8所示。 圖5.8 data初始化圖運行程序,查看輸入輸出波形,修改相應(yīng)參數(shù)進行調(diào)試。5.2 實驗過程中出現(xiàn)的錯誤及解決的辦法(1)在MATLAB 程序設(shè)計中,采樣頻率設(shè)置的過小,截止頻率大于采樣頻率的一半,運行的時候圖形出現(xiàn)錯誤。(2)FIR.m 中的采樣頻率要和開始設(shè)置時的采樣頻率一致,否則結(jié)果會出現(xiàn)偏差。(3)在CCS 中未定義標(biāo)號,程序運行錯誤。(4)在.h 文件中未把coeff 頂格寫,編譯時出現(xiàn)錯誤。(5)未將fir.h 和input.dat 文件考入工程

11、文件中。(6)間接尋址過程中,程序中丟失。(7 在View 的Graph 中單擊Time/frequency出現(xiàn)graph property dialog框,未修改抽樣點數(shù)。顯示的圖形出現(xiàn)差異5.3 CCS程序運行后的各種輸出結(jié)果在View 的Graph 中單擊Time/frequency出現(xiàn)graph property dialog框。 將顯示類型,圖形名稱,起始地址,抽樣點數(shù),數(shù)據(jù)類型等分別進行設(shè)置,輸出各種波形。輸出濾波前的信號時域波形。首先,設(shè)置如圖5.9所示,輸出濾波前的信號時域波形。圖5.9 Graph property dialog設(shè)置框圖單擊OK 后生成如下圖5.10波形。 圖

12、5.10濾波前信號波形圖圖5.10為濾波前的信號,波形很雜亂,從時域上很難看出信號的周期性。修改相應(yīng)設(shè)置,輸出如圖5.11所示濾波前信號頻譜。 圖5.11濾波前信號頻譜波形圖 圖5.12 濾波后信號時域波形圖 圖5.13 濾波后信號頻譜圖由上述的所有截圖可知,輸入?yún)?shù)中,通帶截止頻率和阻帶截止頻率是比較重要的兩個參數(shù),不宜過小,過小濾掉的高頻成分太多,很難還原出遠(yuǎn)波形的形狀,也不宜過大,過大濾波效果欠佳。在本課程設(shè)計中,通帶截止頻率選用4000Hz , 阻帶截止頻率選用4500Hz ,因此,顯示圖形時的,時域顯示的抽樣點數(shù)為1024,頻域顯示的帶寬為0.5Hz 。以知道,濾波前的時域信號的波形

13、圖的波形很雜亂,很難看出信號的周期性,濾波后周期性也相對的明顯起來了;濾波前信號分布在整個頻帶上,濾波后阻帶范圍內(nèi)的基本被濾掉,這些都可以從上述截圖看出。 第6章 結(jié)論與體會通過本次課程設(shè)計,讓我了解了數(shù)字濾波是信號處理技術(shù)中的重要部分,研究了數(shù)字濾波器的基本理論知識以及它實現(xiàn)方法。學(xué)習(xí)了數(shù)字濾波器的結(jié)構(gòu)、設(shè)計理論,掌握了各種數(shù)字濾波器的原理和特性。并且復(fù)習(xí)了MATLAB 的相關(guān)知識,并且利用MATLAB 與CCS 設(shè)計了低通濾波器以及高通濾波器,還研究了如何在定點DSP 中實現(xiàn)數(shù)字濾波器的算法,學(xué)到了16位定點DSP 芯片TMS320C5402的硬件、軟件結(jié)構(gòu)和特性,掌握了CCS 環(huán)境下的程

14、序開發(fā)方法、調(diào)試工具的使用及優(yōu)化級別的選擇等。研究了MATLAB 環(huán)境下FIR 數(shù)字濾波器的設(shè)計方法,利用MATLAB 軟件編程實現(xiàn)FIR 濾波器設(shè)計。利用DSP 來快速設(shè)計FIR 數(shù)字濾波器的方法,尋找系數(shù)的快速傳遞,MATLAB 中調(diào)試仿真DSP 程序。DSP 作為一門新興學(xué)科,越來越引起人們的關(guān)注,目前已廣泛應(yīng)用在各個領(lǐng)域。20世紀(jì)60年代以來,隨著計算機和信息技術(shù)的飛速發(fā)展,數(shù)字信號處理技術(shù)應(yīng)運而生并得到迅速的發(fā)展。數(shù)字信號處理是(DSP 利用計算機或?qū)S锰幚碓O(shè)備,以數(shù)字形式對信號進行采集、變換、濾波、估值、增強、壓縮、識別等處理,以得到符合們需要的信號形式。數(shù)字信號處理(DSP 是圍

15、繞著數(shù)字信號處理的理論、實現(xiàn)和應(yīng)用等幾個方面發(fā)展起來的。數(shù)字信號處理在理論上的發(fā)展推動了數(shù)字信號處理應(yīng)用的發(fā)展。反過來,數(shù)字信號處理的應(yīng)用又促進了數(shù)字信號處理理論的提高。而數(shù)字信號處理的實現(xiàn)則是理論和應(yīng)用之間的橋梁。數(shù)字信號處理DSP 是以眾多學(xué)科為理論基礎(chǔ)的,它所涉及的范圍極其廣泛。所以在今后的工作和學(xué)習(xí)生活中,綜合運用模擬電子、數(shù)字電子和DSP 基本原理等課程中所學(xué)的理論知識去獨立完成一個項目的設(shè)計。不僅要完善以上的MATLAB 設(shè)計方法,更要學(xué)會利用多種途徑設(shè)計各種DSP 最小系統(tǒng),熟練C 語言編程。參考文獻1戴明楨等編著.TMS320C54X DSP 結(jié)構(gòu)原理及應(yīng)用. 北京:航空航天大

16、學(xué)出版社,第2版,2007;2彭啟琮編著.DSP 技術(shù)的發(fā)展與應(yīng)用. 北京:高等教育出版社,2002;3胡廣書編著. 數(shù)字信號處理理論、算法與實現(xiàn). 北京:清華大學(xué)出版社,2005;4北京合眾達(dá)電子技術(shù)有限公司編著.SEED-DTK 系列實驗手冊. 北京合眾達(dá)電子技術(shù)有限公司出版,2007。5 李真芳,蘇濤等.DSP 程序開發(fā)一MATLAB 調(diào)試及直接目標(biāo)代碼生成M.西安:西安電子科技大學(xué)出版社,2003.87-163.6 樓順天,李博函. 基于MATLAB 的系統(tǒng)分析與設(shè)計一信號處理M.西安:西安電子科技大學(xué)出版社,1998.81-88.7王秀芳,關(guān)凌濤. 基于MatLab 與DSP 的濾波

17、器的快速設(shè)計方法期刊文章.現(xiàn)代計算機,2008,總第二七七期:97-998趙秀玲. 基于定點DSP 的FIR 數(shù)字濾波器的研究與設(shè)計碩士論文.曲阜師范大學(xué),2007.15-329羅軍輝,羅勇江等.MATLAB 在數(shù)字信號處理中的應(yīng)用M.北京:機械工業(yè)出版社,2005.63-128.附件:源程序清單DSP 實現(xiàn)FIR 濾波的關(guān)鍵技術(shù)用線性緩沖區(qū)實現(xiàn)FIR 濾波器程序清單: .title “FIR1.ASM” .mmregs.def startx .usect “x”,8PA0 .set 0PA1 .set 1.dataCOEF : .word 1*32768/10 .word 2*32768/1

18、0 .word -4*32768/10 .word 3*32768/10 .word -4*32768/10 .word 2*32768/10 .word 1*32768/10 .textstart: SSBX FRCTSTM #x+7,AR2 STM #6,AR0LD #x+1,DPPORTR PA1,x+1 FIR1: RPTZ A,#6MACD *AR2-,COEF,A STH A,*AR2PORTW *AR2+,PA0 BD FIR1PORTR PA1,*AR2+0 .end用循環(huán)緩沖區(qū)實現(xiàn)FIR 濾波器程序清單: .title “FIR2.ASM”.mmregs.def start.

19、bss y,1xn .usect “xn”,7b0 .usect “b0”,7PA0 .set 0PA1 .set 1.datatable: .word 1*32768/10.word 2*32768/10.word 3*32768/10.word 4*32768/10.word 5*32768/10.word 6*32768/10.word 7*32768/10.textstart: SSBX FRCTSTM #b0,AR1 RPT #6MVPD table,*AR1+ STM #xn+6,AR2 STM #b0+6,AR3 STM #7,BKSTM #-1,AR0LD #xn,DPPORT

20、R PA1,xnFIR2: RPTZ A,#6MAC *AR2+0%,*AR3+0%,A STH A,yPORTW y,PA0 BD .end 匯編程序清單 lhm.h 文件內(nèi)容: FIR2 PORTR PA1,*AR2+0% .data coeff .word -85, -64, -61, -36, 8, 62, 110, 136, 131 .word 96, 42, -11, -44, -44, -11, 39, 85, 106 .word 88, 37, -29, -83, -101, -73, -7, 70, 124 .word 131, 82, -5, -96, -151, -144

21、, -72, 37, 140 .word 191, 162,61, -76, -191, -231, -174, -35, 132 .word 256, 278, 180, -7, -208, -337, -330, -176, 72 .word 316, 445, 392, 156, -178, -475, -599, -470, -108 .word 361, 745, 857, 594, -6, -748, -1336, -1456, -893 .word 386, 2192, 4154, 5816, 6768, 6768, 5816, 4154, 2192 .word 386, -89

22、3, -1456, -1336, -748, -6, 594, 857, 745 .word 361, -108, -470, -599, -475, -178, 156, 392, 445 .word 316, 72, -176, -330, -337, -208, -7, 180, 278 .word 256, 132, -35, -174, -231, -191, -76, 61, 162 .word 191, 140, 37, -72, -144, -151, -96, -5, 82 .word 131, 124, 70, -7, -73, -101, -83, -29, 37 .wo

23、rd .word Fir.asm 內(nèi)容: 88, 106, 85, 39, -11, -44, -44, -11, 42 96, 131, 136, 110, 62, 8, -36, -61, -64 .word -85 .title "fir.asm" .mmregs .global _c_int00 ORDER D_LEN .set 154 .set 1024 14 ; The Length of Input Data xn a0 .usect "xn", (ORDER-1 .usect "a0", (ORDER-1 D_LEN

24、; Get coefs from "coef.h" input .usect "input", .copy .text .asg .asg .asg .asg .asg _c_int00: SSBX STM FIR_COEF(AR3 RPT MVPD STM STM FIR_DATA(AR2 FRCT "HM.h" output .usect "output", D_LEN AR0, FIR_INDEX AR2, FIR_DATA AR3, FIR_COEF AR5, DATA_IN AR6, DATA_OUT #a0,FIR_COEF #ORDER-1 #coeff,*FIR_COEF+ #1, FIR_INDEX #xn, FIR_DATA ; Copy a0(coefs to ; Copy xn(data to RPTZ A,#ORDER-1 STL STM STM STM STM STM RPTBD STM LD FIR: STL A, *F

溫馨提示

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

最新文檔

評論

0/150

提交評論