版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> DSP課程設(shè)計</b></p><p> 題 目: FIR濾波器設(shè)計</p><p><b> 指導老師:</b></p><p><b> 姓 名: </b></p><p><b> 學 號: </b&
2、gt;</p><p> 專業(yè)年級: 電 信 08</p><p> 院 系: 電氣信息學院</p><p> 2012年01月12日</p><p> 設(shè)計題目:FIR濾波器設(shè)計</p><p><b> 設(shè)計要求</b></p><p> FIR濾
3、波器設(shè)計要求</p><p> 設(shè)計一個FIR低通(或高通、帶通)濾波器通帶邊界頻率為1500Hz,通帶波紋小于1dB;阻帶邊界頻率為2000 Hz,阻帶衰減大于40 dB;采樣頻率為8000 Hz.FIR濾波器的設(shè)計可以用MATLAB窗函數(shù)法進行。</p><p> 利用MATLAB計算濾波器系數(shù)</p><p><b> fir(n,wn)<
4、;/b></p><p> 例如:round(fir1(16,1500/8000*2)*32768)</p><p> round(fir1(16,1500/8000*2,’high’)*32768)</p><p> 可用以下語句看頻譜特性,如圖4—1所示為低通濾波特性</p><p> 圖4—1低通濾波特性曲線</p&
5、gt;<p><b> 功能描述</b></p><p><b> 部分語句說明</b></p><p> 1).global start,fir設(shè)定全局變量。</p><p> 2)COFF_FIR_START: .sect”coff_fir”。</p><p> Inc
6、lude”ZB0807040126.inc”(設(shè)定系數(shù)文件)。</p><p> 3)K_FIR_BFFR .set32(濾波階數(shù))。</p><p> 4)d_filin(存放輸入波形)。</p><p> 5)d_filout(存放輸出波形)。</p><p><b> 指定存儲器</b></p>
7、<p> 指定AR4為FIR_DATA_P數(shù)據(jù)寄存器。</p><p> 指定AR6為INBUF_P輸入數(shù)據(jù)寄存器。</p><p> 指定AR7為OUTBUF_P輸出數(shù)據(jù)寄存器。</p><p><b> 匯編程序部分說明:</b></p><p> start部分:程序初始化部分指定寄存器,清
8、空寄存器。</p><p> fir_loop部分:循環(huán)調(diào)入輸入數(shù)據(jù),并調(diào)用子程序fir進行計算。</p><p> main_end部分:跳轉(zhuǎn)至循環(huán)部分。</p><p> fir部分:子程序部分。其中fir_task部分:進行計算并返回計算結(jié)果。</p><p><b> 算法特點</b></p>
9、<p><b> FIR的原理及公式</b></p><p><b> 濾波器公式:</b></p><p><b> N=1,2,3…</b></p><p><b> FIR設(shè)計原理:</b></p><p> 根據(jù)系數(shù)h是偶對
10、稱為了簡化運算產(chǎn)生如下計算方法</p><p> 如果一個FIR濾波有一個沖擊響應,h(0,h(1),…,h(N-1),和想x(n)描</p><p> 繪的時常濾波你,輸出濾波y(n)的n給出以下方程式:</p><p><b> 算法設(shè)計</b></p><p> 設(shè)N=20,FIR濾波器算法設(shè)計如下:<
11、;/p><p> 1.y(n)=h(0)x(20)+h(1)x(19)+,…,+h(19)x(1)+h(20)x(0)</p><p> AR4,FIR_DATA_P</p><p> AR6,INBUF_P</p><p> AR7,OUTBUF_P</p><p> 程序分別用AR4指向FIR_DATA_P
12、C,AR6指向INBUF_P,AR7指向OUTBUF_P</p><p><b> 相應參數(shù)計算</b></p><p> 低通濾波器的濾波系數(shù)的計算</p><p> round(fir1(20,1750/9600 )*32768)</p><p><b> 濾波器輸入信號參數(shù)</b>&l
13、t;/p><p><b> 編寫程序</b></p><p><b> 源程序</b></p><p> .globalstart,fir</p><p><b> .mmregs</b></p><p> COFF_FIR_START: .se
14、ct "coff_fir"</p><p> .include"0807040126.inc"</p><p> K_FIR_BFFR .set20</p><p> d_data_buffer .usect"fir_bfr",64</p><p> FIR
15、_DP .usect"fir_vars",0</p><p> d_filin .usect"fir_vars",1</p><p> output .usect"fir_vars",1</p><p> input .usect "fir_vars
16、",1</p><p> d_filout .usect"fir_vars",100h</p><p> stacksize .set 256</p><p> stack .usect "fir_vars",stacksize</p><p>
17、; .asg AR4,FIR_DATA_P</p><p> .asg AR6,INBUF_P</p><p> .asg AR7,OUTBUF_P</p><p> .asg AR3,OUTBUF</p><p> .asgAR2,INBUF</p><p> .sect"fir_p
18、rog" </p><p><b> nop</b></p><p><b> start:</b></p><p> stm #stack+stacksize,SP</p><p> LD#FIR_DP,DP</p><p> STM#
19、d_data_buffer,FIR_DATA_P;</p><p> RPTZ A,#K_FIR_BFFR-1;RC=31</p><p> STLA,*FIR_DATA_P+;</p><p> STM#d_filin,INBUF_P</p><p> STM#d_filout,OUTBUF_P </
20、p><p> STM#output,OUTBUF</p><p> STM#input,INBUF</p><p> STM#100h,BK</p><p> fir_loop: </p><p><b> NOP </b></p><p> L
21、D*INBUF_P,A</p><p> STL A,*INBUF</p><p><b> CALLfir</b></p><p> STHA,*OUTBUF_P+%</p><p> STHA,*OUTBUF</p><p><b> main_end
22、:</b></p><p> b fir_loop </p><p><b> fir: </b></p><p> STM#d_data_buffer,FIR_DATA_P</p><p> STLA,*FIR_DATA_P</p><p>
23、 STM#(d_data_buffer+K_FIR_BFFR-1),FIR_DATA_P </p><p> fir_task: </p><p> RPTZA,#K_FIR_BFFR-1</p><p> MACD*FIR_DATA_P-,COFF_FIR_START,A</p><p><b> RET&
24、lt;/b></p><p><b> .end</b></p><p> 0807040126.cmd程序</p><p><b> MEMORY</b></p><p><b> {</b></p><p><b>
25、 PAGE 0:</b></p><p> PROG:o= 100h,l= 2000h </p><p><b> PAGE 1:</b></p><p> DATA1:o= 2600h, l= 1000h</p><p> DATA2:o= 2100h, l= 100h</p>
26、;<p> DATA3:o= 2200h,l= 100h</p><p> DATA4:o= 2300h,l= 100h</p><p> DATA5:o= 2400h,l= 100h</p><p> DATA6:o= 2500h,l= 100h</p><p><b> }</b
27、></p><p><b> SECTIONS</b></p><p><b> {</b></p><p> coff_fir : {}> PROGPAGE 0</p><p> fir_prog : {}> PROGPAGE 0</p><
28、p> fir_vars : {}> DATA1PAGE 1</p><p> fir_coff : {}> DATA2PAGE 1</p><p> fir_bfr : {}> DATA3PAGE 1 </p><p><b> }</b></p><p><b&
29、gt; 濾波器系數(shù)測試程序</b></p><p> b=round(fir1(20,1750/8000 )*32768)</p><p> fid=fopen('0807040126.inc','w');</p><p> fprintf(fid,' .word %d\n',b);</p
30、><p> fclose(fid)</p><p> freqz(b,1,512)</p><p> 濾波器輸入信號生成程序</p><p> i=0:0.4:255;</p><p> a=round((sin(2*pi*[i]*7501000/8000)+sin(2*pi*[i]*3600/8000))*32
31、768/2);</p><p> fid=fopen('0807040126.dat','w');</p><p> fprintf(fid,'1651 2 0 0 0\n');</p><p> fprintf(fid,'%d\n',a);</p><p> fclos
32、e(fid)</p><p> freqz(a,1,512)</p><p><b> 調(diào)試過程</b></p><p><b> 調(diào)試前的準備</b></p><p> 啟動SETUP并選擇芯片。</p><p> 在CCS的安裝目錄myproject子目錄下創(chuàng)建
33、一個文件夾。</p><p><b> MATLAB的使用</b></p><p> 使用MATLAB工具編寫濾波器系數(shù)測試程序,生成0807040126.inc文件并保存在0807040126文件夾中。</p><p> 使用MATLAB工具編寫輸入信號生成程序,并生成0807040126.dat文件保存在0807040126文件夾中。
34、</p><p><b> 編寫及編譯程序</b></p><p> 選中Project菜單中New命令新建一個工程并命名為0807040126。</p><p> 選中File菜單中New-Source File命令,并編寫源程序,然后以.asm格式保存在0807040126文件夾里。</p><p> 再選中
35、File菜單中New-Source File命令,并編寫鏈接程序,然后以.asm格式保存在0807040126文件夾里。</p><p> 選中Project菜單中Add File tO Project…命令,將以上程序加載到工程目錄下</p><p> 編譯并鏈接程序,如果有錯就修改,然后再編譯鏈接直到無誤為止。</p><p><b> 觀察點設(shè)
36、置</b></p><p> 選中Project菜單中New命令新建一個工程并命名為0807040126。</p><p> 設(shè)置斷點:在標號fir_loop下面的Nop語句設(shè)置軟件斷點(Toggle breakpoint)探針(ToggleProbe point)。</p><p> 選中File菜單中File I/O命令,將會看到File I/
37、O對話框按照下圖操作然后選中Add Probe Point…再按以前的試驗方法操作。</p><p><b> 打開觀察窗口</b></p><p> 選擇菜單“View”、“Graph”、“Time/Frequency…”按照下面所示操作:</p><p><b> 地址分別為:</b></p>&l
38、t;p> input和output,buffersize:1,display data size:200;DSP Data Type:16-bit signed integer;Sampling Rate:1Hz。</p><p><b> 運行并觀察結(jié)果</b></p><p><b> 運行結(jié)果</b></p>&l
39、t;p><b> 運行結(jié)果</b></p><p><b> 輸入信號頻譜圖</b></p><p><b> 設(shè)計心得</b></p><p> 由于使用MATLAB工具較少,對MATLAB編程不熟練。</p><p> 在程序編譯過程中,常常在第3)步出現(xiàn)錯
40、誤,經(jīng)仔細分析是生成0807040126.inc文件時以及編譯時工程沒有自動導入0807040126.inc文件有關(guān)。</p><p> 在編寫程序過程中將.include "0807040126.inc"命令搞錯經(jīng)常出現(xiàn)以下錯誤:</p><p> .include "0807040126//0807040126.inc"</p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- dsp課程設(shè)計-fir濾波器設(shè)計
- dsp課程設(shè)計---fir濾波器設(shè)計
- dsp課程設(shè)計--fir濾波器設(shè)計
- dsp軟件課程設(shè)計---fir濾波器設(shè)計
- dsp課程設(shè)計報告--fir濾波器設(shè)計
- dsp課程設(shè)計-fir高通濾波器設(shè)計
- dsp課程設(shè)計報告(fir濾波器的dsp實現(xiàn))
- 基于dsp的fir濾波器設(shè)計課程設(shè)計報告
- dsp課程設(shè)計fir數(shù)字濾波器
- dsp課程設(shè)計--有限沖擊響應fir濾波器的設(shè)計
- dsp課程設(shè)計-- 有限沖擊響應fir濾波器的設(shè)計
- fir帶通濾波器課程設(shè)計
- fir帶阻濾波器課程設(shè)計
- fir帶通濾波器課程設(shè)計
- dsp課程設(shè)計---基于dsp的實時fir濾波器的實現(xiàn)
- fir數(shù)字濾波器的dsp課程設(shè)計
- dsp課程設(shè)計--濾波器
- dsp課程設(shè)計-- 基于tms320vc5509 dsp的fir濾波器設(shè)計
- dsp課程設(shè)計--基于tms320vc5509 dsp的fir濾波器設(shè)計
- 基于fpga的fir濾波器課程設(shè)計
評論
0/150
提交評論