實驗六 FIR 濾波器實驗_第1頁
實驗六 FIR 濾波器實驗_第2頁
實驗六 FIR 濾波器實驗_第3頁
實驗六 FIR 濾波器實驗_第4頁
實驗六 FIR 濾波器實驗_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、實驗六 FIR 濾波器實驗一 實驗?zāi)康?1) 了解FIR 濾波器的原理及使用方法;(2) 了解使用Matlab 語言設(shè)計FIR 濾波器的方法;(3) 了解DSP 對FIR 濾波器的設(shè)計及編程方法;(4) 熟悉對FIR 濾波器的調(diào)試方法;二 實驗內(nèi)容(1) 要求設(shè)計濾波器采樣頻率為600Hz ,截止頻率100Hz 的10階低通濾波器。用匯編語言設(shè)計一個FIR 濾波器實現(xiàn)上面要求。(2)要求設(shè)計濾波器采樣頻率為44000Hz ,截止頻率2000Hz 的15階低通濾波器。用C語言設(shè)計一個FIR 濾波器實現(xiàn)上面要求。三 實驗原理 FIR濾波器的輸入xk和輸出yk之間的關(guān)系可以用如下常系數(shù)線性差分方程及

2、其z變換描述:系統(tǒng)的轉(zhuǎn)移函數(shù)為:FIR 濾波器總是穩(wěn)定的。由于系統(tǒng) 對序列施加的算法,是由加法、延時和常系數(shù)乘三種基本運算的組合,所以可以用不同結(jié)構(gòu)的數(shù)字濾波器來實現(xiàn)而不影響系統(tǒng)總的傳輸函數(shù)。圖 6.1 四階直接型FIR 濾波器的結(jié)構(gòu)四 實驗步驟1濾波器的Matlab 語言設(shè)計在Matlab 中使用濾波器設(shè)計工具箱(FDA )設(shè)計濾波器。圖 6.2 打開的FDA 主界面圖上圖 6.2 是打開的濾波器設(shè)計的主界面圖,在圖6.2 上可以設(shè)計各種滿足用戶要求的濾波器,包括濾波器的類型(IIR 或 FIR )、濾波器的階數(shù)、濾波器的種類、濾波器的截至頻率、帶寬、紋波系數(shù)、采樣頻率等各種和設(shè)計濾波器有關(guān)

3、的所有參數(shù)。圖中,我們設(shè)計10階海明窗(Hamming)函數(shù)的FIR 型濾波器,采樣頻率為600HZ ,截至頻率為100HZ 的低通濾波器。圖中中間顯示的數(shù)據(jù)為設(shè)計好的濾波器參數(shù)。下圖 6 .3 是對應(yīng)頻率特性圖。圖 6.3 濾波器的頻率特性下圖 6.4 是對應(yīng)的沖激響應(yīng)圖。圖 6 .4 濾波器的沖激響應(yīng)圖 6 .5 是對應(yīng)的濾波器階躍特性圖。圖 6 .5 濾波器階躍響應(yīng)。圖 6 .6 是對應(yīng)的濾波器極零點示意圖。圖6 .6 濾波器的極零點2從 Matlab 語言轉(zhuǎn)換成通用語言使用Matlab 語言設(shè)計出濾波器的參數(shù)之后,緊接著需要編寫通用的語言,以便向DSP所需要的匯編語言轉(zhuǎn)換,也直接使用C

4、 語言,然后調(diào)用CCS 自帶的C 編譯器將C 語言轉(zhuǎn)換成匯編語言,但一般情況下,濾波器對實時要求比較高,而整個濾波器的程序編寫也不是很大,所以建議采用匯編語言編寫。* 輸入信號產(chǎn)生程序*clear all; clf; N=256; fs=600; dt=1/fsfor k=1:Nf1=37.5; f2=150; y(k)=0.2+0.2*sin(2*pi*f1*k*dt)+0.08*sin(2*pi*f2*k*dt); endy=fft(y,N); pyy=y.*conj(y); f=(0:N/2-1);plot(f/256*600,pyy(1:N/2)圖 6.8 和圖 6.9 分別是濾波前和

5、濾波后的信號功率譜圖。圖 6.8 濾波前的信號功率譜圖圖 6.9 濾波后的信號功率譜圖3 濾波器的匯編語言設(shè)計在編寫匯編程序之前,首先將濾波器的參數(shù)寫出,從上面濾波器的設(shè)計中我們得出濾波器的參數(shù)如下,這些參數(shù)從圖 6.2 打開的FDA 主界面圖可以看到。圖 6.10 是濾波器的參數(shù)顯示圖。圖 6.10 濾波器的參數(shù)圖針對以上濾波參數(shù),編寫匯編語言程序如下: .mmregs .def start .ref filter_startK_DATA_SIZE .set 256 ; input data sizeK_BUFFER_SIZE.set 16 ; processing buffer size,

6、must be greater than the number of a and b, and must be power of 2K_STACK_SIZE .set 256 ; stack sizeK_B .set 11 ; 系數(shù)個數(shù)K_CIR .set K_BUFFER_SIZESTACK.usect"stack",K_STACK_SIZESYSTEM_STACK .set K_STACK_SIZE+STACKDATA_DP .usect "filter_vars",0filterdata .usect "filter_vars"

7、,K_DATA_SIZEbufferdatay .usect "filter_vars",K_BUFFER_SIZE*2bufferdatax .usect "filter_vars",K_BUFFER_SIZE*2 .data .global inputdatainputdata.WORD75,4595,-2444,11368,15066,-2014,-8408,6957.WORD12879,-1643,-5536,11893,19128,4966,428,16305.WORD21315,4595,-2444,11368,15066,-2014,-84

8、08,6957.WORD12879,-1643,-5536,11893,19128,4966,428,16305.WORD21315,4595,-2444,11368,15066,-2014,-8408,6957.WORD12879,-1643,-5536,11893,19128,4966,428,16305.WORD21315,4595,-2444,11368,15066,-2014,-8408,6957.WORD12879,-1643,-5536,11893,19128,4966,428,16305.WORD21315,4595,-2444,11368,15066,-2014,-8408,

9、6957.WORD12879,-1643,-5536,11893,19128,4966,428,16305.WORD21315,4595,-2444,11368,15066,-2014,-8408,6957.WORD12879,-1643,-5536,11893,19128,4966,428,16305.WORD21315,4595,-2444,11368,15066,-2014,-8408,6957.WORD12879,-1643,-5536,11893,19128,4966,428,16305.WORD21315,4595,-2444,11368,15066,-2014,-8408,695

10、7.WORD12879,-1643,-5536,11893,19128,4966,428,16305.WORD21315,4595,-2444,11368,15066,-2014,-8408,6957.WORD12879,-1643,-5536,11893,19128,4966,428,16305.WORD21315,4595,-2444,11368,15066,-2014,-8408,6957.WORD12879,-1643,-5536,11893,19128,4966,428,16305.WORD21315,4595,-2444,11368,15066,-2014,-8408,6957.W

11、ORD12879,-1643,-5536,11893,19128,4966,428,16305.WORD21315,4595,-2444,11368,15066,-2014,-8408,6957.WORD12879,-1643,-5536,11893,19128,4966,428,16305.WORD21315,4595,-2444,11368,15066,-2014,-8408,6957.WORD12879,-1643,-5536,11893,19128,4966,428,16304.WORD21315,4595,-2444,11368,15066,-2014,-8408,6957.WORD

12、12879,-1643,-5536,11893,19128,4966,428,16304.WORD21315,4595,-2444,11368,15066,-2014,-8408,6957.WORD12879,-1643,-5536,11893,19128,4966,428,16304.WORD21315,4595,-2444,11368,15066,-2014,-8408,6957.WORD12879,-1643,-5536,11893,19128,4966,428,16304 .text .asg AR2,ORIGIN .asg AR3,INPUT .asg AR4,FILTER .asg

13、 AR5,OUTPUT .asg AR7,TBL start: SSBX FRCT SSBX INTM LD #DATA_DP,DP STM #STACK,SP CALL filter_start NOP NOP NOPLOOP B LOOP * .def b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11 .def filter_start,COE_TBL ;低同濾波系數(shù); -1107, -927, 887, 4540, 8346, 9977, 8346, 4540, 887,; -927, -1107;高通濾波系數(shù);128, -274, -649, 3911, -8441

14、, 10656, -8441, 3911, -649,; -274, 128;COE_TBL:b1 .set -1107;-1318b2 .set -927;-611b3 .set 887;1381b4 .set 4540;4798 b5 .set 8346;8120b6 .set 9977;9503b7 .set 8346;8120b8 .set 4540;4798b9 .set 887;1381b10 .set -927;-611b11 .set -1107;-1318 .bss table,K_B .bss x,3 .textfilter_start: STM #inputdata,OR

15、IGIN STM #bufferdatax,INPUT STM #filterdata,OUTPUT ;filtering STM #K_DATA_SIZE-1,BRC ;定義循環(huán)執(zhí)行的次數(shù),共256點 STM #K_CIR,BK ;定義循環(huán)緩存大小 STM #1,AR0 ;set the circular buffer size and the step size RPTB filter_end-1 ;讀入一個新信號數(shù)據(jù) MVDD *ORIGIN+,*INPUT RPT #K_B-1-1 ; MAR *INPUT-0% ;調(diào)整指針,指向最舊的一個信號數(shù)據(jù) ;對系數(shù)進行計算 MPY *INPU

16、T+0%,#b11,B LD B,A MPY *INPUT+0%,#b10,B ADD B,A MPY *INPUT+0%,#b9,B ADD B,A MPY *INPUT+0%,#b8,B ADD B,A MPY *INPUT+0%,#b7,B ADD B,A MPY *INPUT+0%,#b6,B ADD B,A MPY *INPUT+0%,#b5,B ADD B,A MPY *INPUT+0%,#b4,B ADD B,A MPY *INPUT+0%,#b3,B ADD B,A MPY *INPUT+0%,#b2,B ADD B,A MPY *INPUT+0%,#b1,B ADD B,A

17、STH A,*OUTPUT+ ;輸出新的濾波信號數(shù)據(jù) filter_end: NOP RET .end 配置文件:MEMORY PAGE 0:PARAM: org = 3000h len = 4000hPAGE 1:DARAM: org = 100h len=4000hSECTIONS.text : > PARAM PAGE 0stack : > DARAM PAGE 1filter_vars : > DARAM PAGE 1.bss : > DARAM PAGE 1.data : > DARAM PAGE 1程序運行結(jié)果如下:如果使用我們提供的配置文件,其中濾波

18、前的數(shù)據(jù)首地址放在數(shù)據(jù)存儲空間的地址320H 處,濾波后的數(shù)據(jù)首地址放在數(shù)據(jù)存儲空間的地址200H 。圖6.11 濾波前CCS 中的數(shù)據(jù)時域波形圖 6.12 濾波前CCS 中的數(shù)據(jù)頻域波形圖6.13 濾波后CCS 中的數(shù)據(jù)時域波形圖 6.14 濾波后CCS 中的數(shù)據(jù)頻域波形(2) 結(jié)合實驗三的語音信號采集回放程序,設(shè)計一個低通濾波器,對采集到的數(shù)據(jù)進行實時濾波。A:實驗準備1將DSP仿真器與計算機連接好。2將仿真器的JTAG插頭與SEED-DEC5416單元的J1相連接3將5V外接電源與SEED- DTK 5416的J11相連,查看D1和D3是否均亮,若有不亮的,請斷開電源,檢查電源。4將耳麥接口插入J6,音頻線連接計算機的音頻輸出插口與SEED-DEC5416單元的J5接口。B實驗步驟1打開CCS2.

溫馨提示

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

最新文檔

評論

0/150

提交評論