基于DSP的數(shù)字濾波器的設(shè)計(jì)與仿真要點(diǎn)_第1頁
基于DSP的數(shù)字濾波器的設(shè)計(jì)與仿真要點(diǎn)_第2頁
基于DSP的數(shù)字濾波器的設(shè)計(jì)與仿真要點(diǎn)_第3頁
基于DSP的數(shù)字濾波器的設(shè)計(jì)與仿真要點(diǎn)_第4頁
基于DSP的數(shù)字濾波器的設(shè)計(jì)與仿真要點(diǎn)_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、2.1系統(tǒng)功能介紹一個實(shí)際的應(yīng)用系統(tǒng)中,總存在各種干擾。數(shù)字濾波器在語音信號處理、信號 頻譜估計(jì)、信號去噪、無線通信中的數(shù)字變頻以及圖像信號等各種信號處理中都有 廣泛的應(yīng)用,數(shù)字濾波器也是使用最為廣泛的信號處理算法之一。在本設(shè)計(jì)中,使用 matlab模擬產(chǎn)生合成信號,然后利用 ccs進(jìn)行濾波 設(shè)定模擬信號的采樣頻率為 48000hz,。設(shè)計(jì)一個fir低通濾波器,其參數(shù)為:濾波器名稱:fir低通濾波器采樣頻率:fs=48000hz通帶截止頻率:15000hz阻帶截止頻率:16000hz通帶最大衰減:0.1db阻帶最少衰減:80db濾波器系數(shù):由matlab根據(jù)前述參數(shù)求得。2.2總體設(shè)計(jì)方案流程

2、圖圖1總體設(shè)計(jì)方案主要內(nèi)容和步驟3.1 濾波器原理對于一個fir濾波器系統(tǒng),它的沖擊響應(yīng)總是又限長的,其系統(tǒng)函數(shù)可記為: nh z= hnzn z0其中n 1是fir的濾波器的階數(shù),z為延時結(jié),h(n)為端口信號函數(shù)。最基本的fir濾波器可用下式表示:n 1y n =hkxn-k k=0其中x(n-k )輸入采樣序列,h(k )是濾波器系數(shù),n是濾波器的階數(shù)y(n)表示 濾波器的輸出序列,也可以用卷積來表示輸出序列 y(n)與x(n)、h(n)的關(guān)系,如 下:yn=xn hn3.2 操作步驟(1)打開fdatool,根據(jù)濾波要求設(shè)置濾波器類型、通帶截止頻率、指定 階數(shù)、采樣頻率等。指定完設(shè)計(jì)參

3、數(shù)后單擊按鈕design filter,生成濾波器系數(shù)。(2)把生成的濾波器系數(shù)傳到目標(biāo) dsp。選擇菜單targets-export to code composer studio(tm)ide,打開 export to c header file對話框,選才c c header file ,指定變量名(濾波器階數(shù)和系數(shù)向量),輸出數(shù)據(jù)類型可選浮點(diǎn)型或 32 b, 16 b 整型等,根據(jù)自己安裝選擇目標(biāo)板板號和處理器號,單擊 ok,保存該頭文件,需 指定文件名(filtercoeff . h)和路徑(保存在c: timyprojectsfir工程中)。(3)修改ccs匯編程序,刪掉數(shù)據(jù)前的所

4、有文字,在開頭加上.data,第二行 加coeff .word,在每行的前面加上.word,比且把每行的最后的逗號去掉。(4)編譯匯編程序,如果有錯誤,按錯誤進(jìn)行修改;沒錯誤,則往下執(zhí)行。(5)加載初始化data數(shù)據(jù)。運(yùn)行程序,查看輸入輸出波形,修改相應(yīng)參數(shù) 進(jìn)行調(diào)試11第4章詳細(xì)設(shè)計(jì)在本實(shí)驗(yàn)中使用matlab模擬產(chǎn)生信號,觀察濾波前的時域波形和頻域波形。matlab仿真后,使用得到的濾波器參數(shù),進(jìn)行 dsp編程,在dsp中實(shí)現(xiàn) 帶通濾波,并使用ccs的頻譜分析功能,查看dsp的濾波效果。matlab 程序流程圖如圖4.1所示圖4.1 matlab程序流程圖ccs匯編程序流程圖如圖4.2所示圖

5、4.2 ccs匯編程序流程圖第5章實(shí)驗(yàn)過程5.1 匯編語言實(shí)驗(yàn)步驟與內(nèi)容matlab輔助dsp實(shí)現(xiàn)fir ,其總體過程為在dsp中編寫處理程序,在 matlab中利用濾波器設(shè)計(jì)、分析工具(fdatool ),根據(jù)指定的濾波器性能 快速設(shè)計(jì)一個 fir ,然后把濾波器系數(shù)以頭文件形式導(dǎo)入ccs中,頭文件中matlab 輔助dsp實(shí)現(xiàn)fir數(shù)字濾波器含濾波器階數(shù)和系數(shù)數(shù)組,在 matlab 中調(diào)試、運(yùn)行 dsp程序并顯示、分析處理后的數(shù)據(jù)。使用該方法,便 于采用匯編語言來實(shí)現(xiàn)程序。頭文件名不變,當(dāng)matlab中設(shè)計(jì)的濾波器系數(shù)改 變時,相應(yīng)頭文件中系數(shù)也改變,方便了程序調(diào)試、仿真。(1)在matl

6、ab中先編寫程序,查看待濾波和已濾波的信號的時域和頻域 波形,如圖5.1和圖5.2所示。圖5.1待濾波信號的時域圖圖5.2待濾波信號的頻域圖利用fda tool設(shè)計(jì)fir濾波器的參數(shù),操作步驟如圖5.3所示frequency c.khzmr sueierworttifiker orderspeerry order: ida utnimum gnek-r options/ sea* f&郡sgiiawrtndnvv:k&l9*er口 flr wkidowoesigaing filtef done| view |圖5.3 fir濾波器的參數(shù)打開export,把numerator改為b,如圖5.4所

7、示。圖5.4 export 設(shè)置已濾波的信號的時域和頻域波形,如圖 5.5和圖5.6所示e11+ e4iir*mr i口 l*。1 hlp-eil* hi* 1= lr. mr l u+u 則口 力hlp0 0li*k色h的國駟口口國口企id當(dāng) k色冷爬口 口x 10sj filler design fli arhalysis tool - luntitled-fda *ehe edit analysis targets view window help0 0 bi自用 國沁m泣亡|國os舊喏寺的l圖僦回回mngnhucic remt 鈣(db)siorfl finer.frfcr mansa

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

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

10、序中丟失。(7) 在 view 的 graph 中單擊 time/frequency 出現(xiàn) graph property dialog 框,未修改抽樣點(diǎn)數(shù)。顯示的圖形出現(xiàn)差異5.3 ccs程序運(yùn)行后的各種輸出結(jié)果在 view 的 graph 中單擊 time/frequency 出現(xiàn) graph property dialog 框。將顯示類型,圖形名稱,起始地址,抽樣點(diǎn)數(shù),數(shù)據(jù)類型等分別進(jìn)行設(shè)置,輸出各種波形。輸出濾波前的信號時域波形。首先,設(shè)置如圖5.9所示,輸出濾波前的信號時域波形。圖 5.9 graph property dialog設(shè)置框圖單擊ok后生成如下圖5.10波形。圖5.10濾

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

12、5hz。 對比濾波前后信號的時域圖5.10和5.12、頻譜波形圖5.11和5.13可 以知道,濾波前的時域信號的波形圖的波形很雜亂,很難看出信號的周 期性,濾波后周期性也相對的明顯起來了;濾波前信號分布在整個頻帶上,濾波后阻帶范圍內(nèi)的基本被濾掉,這些都可以從上述截圖看出。附件:源程序清單用線性緩沖區(qū)實(shí)現(xiàn)fir濾波器程序清單:.titlefir1.asm”.mmregs.defstart.usect” cx, 8pa0.setpa1.set.datacoef:.word1*32768/10.word2*32768/10.word-4*32768/10.word3*32768/10.word-4*

13、32768/10.word2*32768/10.word1*32768/10.textstart: ssbxfrctstm#x+7,ar2stm#6,ar0ld#x+1,dpportr pa1,x+1fir1: rptz a,#6macd *ar2-,coef,asth a,*ar2portw *ar2+,pa0bdfir1portr pa1,*ar2+0.end用循環(huán)緩沖區(qū)實(shí)現(xiàn)fir濾波器程序清單:.titlefir2.asm”.mmregs .def start .bss y,1 xn.usect“xn”,7b0.usect“b0”,7pa0.set0pa1.set1.data table

14、: .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 .text start: ssbx frctstm #b0,ar1 rpt #6 mvpd table,*ar1 + stm #xn+6,ar2 stm #b0+6,ar3 stm #7,bk stm #-1,ar0 ld #xn,dp portr pa1,xnfir2: rptz a,#6 mac *ar2+0%,*ar3+0%,a sth a,y po

15、rtw y,pa0 bd fir2portr pa1,*ar2+0% .end匯編程序清單ihm.h文件內(nèi)容:.datacoeff .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, -72, 37, 140.word 191, 162,61, -76, -191, -231, -174, -35, 132.w

16、ord 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, -893, -1456, -1336, -748, -6, 594, 857, 745.word 361, -108, -470, -599, -47

17、5, -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.word 88, 106, 85, 39, -11, -44, -44, -11,42.word 96, 131, 136, 110, 62, 8, -36,

18、-61, -64.word -85fir.asm 內(nèi)容:.title fir.asm .mmregs.global _c_int00;the length of input dataorder .set 154xna0d_len .set 1024.usect xn, (order-1).usect a0, (order-1)ii; get coefs from coef.hinput .usect input, d_len output .usect output, d_len .copy hm.h .text.asg ar0, fir_index.asg ar2, fir_data.asg

19、 ar3, fir_coef.asg ar5, data_in.asg ar6, data_out_c_int00:ssbx frctstm #a0,fir_coef; copy a0(coefs) tofir_coef(ar3)rpt#order-1mvpd #coeff,*fir_coef+stm#1, fir_indexstm#xn, fir_data; copy xn(data)tofir_data(ar2)rptz a,#order-1stl a, *fir_data+stm#(xn+order-1), fir_datastm#(a0+order-1), fir_coefstm#input, data_in;get datafrom inputstm#output, data_out;writedata to ou

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論