(完整版)基于DSP的數(shù)字濾波器的設(shè)計(jì)與仿真_第1頁
(完整版)基于DSP的數(shù)字濾波器的設(shè)計(jì)與仿真_第2頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

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

2、1 總體設(shè)計(jì)方案13.1 濾波器原理對于一個(gè)FIR濾波器系統(tǒng),它的沖擊響應(yīng)總是又限長的,其系統(tǒng)函數(shù)可記為:H(z)=h(n)z-n其中N-1是FIR的濾波器的階數(shù),z-n為延時(shí)結(jié),h(n)為端口信號函數(shù)。最基本的FIR濾波器可用下式表示:y(n)=h(k)x(n-k)其中 x(n-k)輸入采樣序列,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è)計(jì)參數(shù)后單擊按鈕De

3、signFilter,生成濾波器系數(shù)。(2) 把 生 成 的 濾 波 器 系 數(shù) 傳 到 目 標(biāo)DSP。 選 擇 菜 單Targets-ExporttoCodeComposerStudio(tm)IDE,打開ExporttoCHeaderFile對話框,選擇Cheaderfile,指定變量名(濾波器階數(shù)和系數(shù)向量),輸出數(shù)據(jù)類型可選浮點(diǎn)型或32b,16b整型等,根據(jù)自己安裝選擇目標(biāo)板板號和處理器號,單擊OK,保存該頭文件,需指定文件名(filtercoeff.h)和路徑(保存在c:timyprojectsfir工程中)。(3) 修改CCS匯編程序,刪掉數(shù)據(jù)前的所有文字,在開頭加上.data,第

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

5、匯編程序流程圖第 5 章實(shí)驗(yàn)過程35.1 匯編語言實(shí)驗(yàn)步驟與內(nèi)容MATLAB輔助DSP實(shí)現(xiàn)FIR,其總體過程為在DSP中編寫處理程序,在MATLAB中利用濾波器設(shè)計(jì)、分析工具(FDATOOL),根據(jù)指定的濾波器性能快速設(shè)計(jì)一個(gè)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ù)改變時(shí),相應(yīng)頭文件中系數(shù)也改變,方便了程序調(diào)試、仿真。(1) 在MATLAB中先編寫程序, 查看待濾

6、波和已濾波的信號的時(shí)域和頻域波形,如圖5.1和圖5.2所示。圖 5.1 待濾波信號的時(shí)域圖圖 5.2 待濾波信號的頻域圖利用FDATOOL設(shè)計(jì)FIR濾波器的參數(shù),操作步驟如圖5.3所示。4打開Export,把Numerator改為B,如圖5.4所示。1X1LJ圖 5.4Export 設(shè)置已濾波的信號的時(shí)域和頻域波形,如圖5.5和圖5.6所示圖 5.3FIR 濾波器的參數(shù)5圖 5.5 已濾波信號時(shí)域波形圖圖 5.6 已濾波信號頻域波形圖MATLAB濾波器設(shè)計(jì)工具在完成FIR設(shè)計(jì)后,如圖5.7所示,在Exportas中選擇16bit符號整數(shù)輸出,然后單擊OK按鈕。生成fir.hC語言頭文件。將系數(shù)

7、稍作修改,調(diào)整后拷貝到程序的系數(shù)初始化空間即可。(2)在CCS中編寫匯編語言程序, 進(jìn)行調(diào)試, 實(shí)現(xiàn)帶通濾波的功能。 在CCSIDE中建立LHM.pjt工程,用匯編語言編寫處理主程序fir.asm。另外根據(jù)板上的存儲(chǔ)器配置方式,編寫存儲(chǔ)器配置文件fir.cmd文件,將MATLAB生成的LHM.h和inputl.dat文件拷貝到LHM.pjt工程文件夾下,進(jìn)行編譯、鏈接,生成可執(zhí)行文件LHM.out。運(yùn)行程序,查看輸入輸出波形,修改相應(yīng)參數(shù)進(jìn)行調(diào)試5.2 實(shí)驗(yàn)過程中出現(xiàn)的錯(cuò)誤及解決的辦法(1)在MATLAB程序設(shè)計(jì)中,采樣頻率設(shè)置的過小,截止頻率大于采樣頻率的一半,運(yùn)行的時(shí)候圖形出現(xiàn)錯(cuò)誤。(2)

8、FIR.m中的采樣頻率要和開始設(shè)置時(shí)的采樣頻率一致,否則結(jié)果會(huì)出現(xiàn)圖 5.7MATLAB 輸出數(shù)值轉(zhuǎn)換圖(3)加載初始化data數(shù)據(jù),圖5.8所示。圖 5.8data 初始化圖6(3)在CCS中未定義標(biāo)號,程序運(yùn)行錯(cuò)誤。(4)在.h文件中未把coeff頂格寫,編譯時(shí)出現(xiàn)錯(cuò)誤。(5)未將fir.h和input.dat文件考入工程文件中。6)間接尋址過程中,程序中丟失。(7)在View的Graph中單擊Time/frequency出現(xiàn)graphpropertydialog框,未修改抽樣點(diǎn)數(shù)。顯示的圖形出現(xiàn)差異5.3 CCS 程序運(yùn)行后的各種輸出結(jié)果在View的Graph中單擊Time/freque

9、ncy出現(xiàn)graphpropertydialog框。將顯示類型,圖形名稱,起始地址,抽樣點(diǎn)數(shù),數(shù)據(jù)類型等分別進(jìn)行設(shè)置,輸出各種波形。輸出濾波前的信號時(shí)域波形。首先,設(shè)置如圖5.9所示,輸出濾波前圖5.10為濾波前的信號,波形很雜亂,從時(shí)域上很難看出信號的周期性。修改相應(yīng)設(shè)置,輸出如圖5.11所示濾波前信號頻譜。偏差。的信號時(shí)域波形。7圖 5.11 濾波前信號頻譜波形圖經(jīng)過濾波后,時(shí)域波形頻譜波形如圖5.12和 5.13所示圖 5.12 濾波后信號時(shí)域波形圖圖 5.13 濾波后信號頻譜圖由上述的所有截圖可知,輸入?yún)?shù)中,通帶截止頻率和阻帶截止頻率是比較重要的兩個(gè)參數(shù),不宜過小,過小濾掉的高頻成分

10、太多,很難還原出遠(yuǎn)波形的形狀,也不宜過大,過大濾波效果欠佳。在本課程設(shè)計(jì)中,通帶截止頻率選用4000Hz,阻帶截止頻率選用4500Hz,因此,顯示圖形時(shí)的,時(shí)域顯示的抽樣點(diǎn)數(shù)為1024,頻域顯示的帶寬為0.5Hz。對比濾波前后信號的時(shí)域圖5.10和5.12、頻譜波形圖5.11和5.13可以知道,濾波前的時(shí)域信號的波形圖的波形很雜亂,很難看出信號的周期性,濾波后周期性也相對的明顯起來了;濾波前信號分布在整個(gè)頻帶上,濾波后阻帶范圍內(nèi)的基本被濾掉,這些都可以從上述截圖看出。8附件:源程序清單用線性緩沖區(qū)實(shí)現(xiàn) FIR 濾波器程序清單.title“FIR1.ASM”.mmregs.defstartx.u

11、sect“x”,8PA0.set0PA1.set1.dataCOEF:.word1*32768/10.word2*32768/10.word-4*32768/10.word3*32768/10.word-4*32768/10.word2*32768/10.word1*32768/10.textstart:SSBXFRCTSTM#x+7,AR2STM#6,AR0LD#x+1,DPPORTRPA1,x+1FIR1:RPTZA,#6MACD*AR2-,COEF,ASTHA,*AR2PORTW*AR2+,PA0BDFIR1PORTRPA1,*AR2+0.end用循環(huán)緩沖區(qū)實(shí)現(xiàn) FIR 濾波器程序清單:

12、.title“FIR2.ASM”9.mmregs.def.bssstarty,1xn.usect“xn”,7b0.usect“b0”,7PA0.set0PA1.set1.datatable:.word1*32768/10.word2*32768/10.word3*32768/10.word4*32768/10.word5*32768/10.word6*32768/10.word7*32768/10.textstart:SSBXFRCTSTM#b0,ARlRPT#6MVPDtable,*ARl+STM#xn+6,AR2STM#b0+6,AR3STM#7,BKSTM#-1,AR0LD#xn,DPP

13、ORTRPAl,xnFIR2:RPTZA,#6MAC*AR2+0%,*AR3+0%,ASTHA,yPORTWy,PA0BDFIR210PORTRPAl,*AR2+0%.end匯編程序清單lhm.h 文件內(nèi)容.datacoeff.word-85,-64,-61,-36,8,62,110,136,131.word96,42,-11,-44,-44,-11,39,85,106.word88,37,-29,-83,-101,-73,-7,70,124.word131,82,-5,-96,-151,-144,-72,37,140.word191,162,61,-76,-191,-231,-174,-35

14、,132.word256,278,180,-7,-208,-337,-330,-176,72.word316,445,392,156,-178,-475,-599,-470,-108.word361,745,857,594,-6,-748,-1336,-1456,-893.word386,2192,4154,5816,6768,6768,5816,4154,2192.word386,-893,-1456,-1336,-748,-6,594,857,745.word361,-108,-470,-599,-475,-178,156,392,445.word316,72,-176,-330,-337

15、,-208,-7,180,278.word256,132,-35,-174,-231,-191,-76,61,162.word191,140,37,-72,-144,-151,-96,-5,82.word131,124,70,-7,-73,-101,-83,-29,37.word88,106,85,39,-11,-44,-44,-11,42.word96,131,136,110,62,8,-36,-61,-64.word-85Fir.asm 內(nèi)容:.titlefir.asm.mmregs.global_c_int00ORDER.set154D_LEN.set1024xn.usectxn,(OR

16、DER-1).usecta0,(ORDER-1);TheLengthofInputDataa011STM#a0,FIR_COEF;Copya0(coefs)toFIR_COEF(AR3)RPT#ORDER-1MVPD#coeff,*FIR_COEF+STM#1,FIR_INDEXSTM#xn,FIR_DATA;Copyxn(data)toFIR_DATA(AR2)RPTZA,#ORDER-1STLA,*FIR_DATA+STM#(xn+ORDER-1),FIR_DATASTM#(a0+ORDER-1),FIR_COEFSTM#input,DATA_IN;GetdatafrominputSTM#

17、output,DATA_OUT;WritedatatooutputSTM#D_LEN-1,BRCRPTBDnext-1STM#ORDER,BKLD*DATA_IN+,AFIR:STLA,*FIR_DATA+%RPTZA,(ORDER-1)MAC*FIR_DATA+0%,*FIR_COEF+0%,A;FIRSSTHA,*DATA_OUT+nextinput.usectinput,D_LENoutput.usectoutput,D_LEN.copyHM.h.text.asgAR0,FIR_INDEX.asgAR2,FIR_DATA.asgAR3,FIR_COEF.asgAR5,DATA_IN.asgAR6,DATA_OUT_c_int00:SSBXFRCT;Getcoefsfromcoef.h12FIR_END:BFIR_END.endFIR.m 的程序如下:fs=40000;%/采樣 HzN=1024%數(shù)據(jù)個(gè)數(shù)T=1/fs;%采樣周期n=0:N-1;df=n*(fs/N)%待濾波信號波形xin=randn(1,1024)figure(1)plot(xin)%待濾波信號頻譜xinff=abs(fft(xin);figure(2)plot(df,xi

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論