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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

PAGEPAGE4基于DSP的FIR數(shù)字濾波器(設計實驗)一、實驗目的1.了解FIR(FiniteImpulseResponse有限沖激響應)濾波器的原理及使用方法;2.了解使用MATLAT語言設計FIR濾波器的方法;3.了解DSP對FIR濾波器的設計及編程方法;4.熟悉在CCS環(huán)境下對FIR濾波器的調試方法;二、實驗原理數(shù)字濾波是DSP的最基本應用,利用MAC(乘、累加)指令和循環(huán)尋址可以方便地完成濾波運算。兩種常用的數(shù)字濾波器:FIR(有限沖激響應)濾波器和IIR(無限沖激響應)濾波器的DSP實現(xiàn)。設FIR濾波器的系數(shù)為h(0),h(1),...,h(N-1),X(n)表示濾波器在n時刻的輸入,則n時刻的輸出為:FIR數(shù)字濾波器的結構如圖3.1所示。圖3.1FIR數(shù)字濾波器的結構圖1、線性緩沖區(qū)法又稱延遲線法。其方法是:對于n=N的FIR濾波器,在數(shù)據(jù)存儲器中開辟一個N單元的緩沖區(qū),存放最新的N個樣本;濾波時從最老的樣本開始,每讀一個樣本后,將此樣本向下移位;讀完最后一個樣本后,輸入最新樣本至緩沖區(qū)的頂部。以上過程,可以用N=6的線性緩沖區(qū)示意圖來說明,如圖3-2所示圖3-2N=6的線性緩沖區(qū)示意圖2、循環(huán)緩沖區(qū)法圖3-3說明了使用循環(huán)尋址實現(xiàn)FIR濾波器的方法。對于N級FIR濾波器,在數(shù)據(jù)存儲區(qū)開辟一個稱為滑窗的具有N個單元的緩沖區(qū),滑窗中存放最新的N個輸入樣本值。每次輸入新的樣本時,新的樣本將改寫滑窗中最老的數(shù)據(jù),其他數(shù)據(jù)則不需要移動。圖3-3FIR濾波器循環(huán)緩沖區(qū)存儲器圖三、實驗內容與步驟設計一個FIR低通濾波器,通帶邊界頻率為1500Hz,通帶波紋小于1dB;阻帶邊界頻率為2000Hz,阻帶衰減大于40dB;采樣頻率為8000Hz。FIR濾波器的設計可以用MATLAB窗函數(shù)法進行。本實驗設計一個采樣頻率Fs為8000Hz,輸入信號頻率為1000Hz和2500Hz的合成信號,通過設計的低通濾波器將2500Hz信號濾掉,余下1000Hz信號。1、MATLAB設計FIR濾波器FIR濾波器的設計可以用MATLAB窗函數(shù)法進行,選擇Hamming窗,其程序為:b=fir1(16,1500/8000*2);得到FIR數(shù)字濾波器系數(shù)b為:b0=0.00000000b9=0.28342322b1=0.00482584b10=0.09725365b2=0.00804504b11=-0.02903702b3=-0.00885584b12=-0.04291741b4=-0.0429174b13=-0.00885584b5=-0.02903702b14=0.00804504b6=0.09725365b15=0.00482584b7=0.28342322b16=0.00000000B8=0.37452503在DSP匯編語言中,不能直接輸入十進制小數(shù),在MATLAB中進行如下轉換:h=round(b*2^15)將系數(shù)轉換為Q15的定點小數(shù)形式,為:h(0)=0h(9)=9287h(1)=158h(10)=3187h(2)=264h(11)=-951h(3)=-290h(12)=-1406h(4)=-1406h(13)=-290h(5)=-951h(14)=264h(6)=3187h(15)=158h(7)=9287h(16)=0h(8)=122722、編寫FIR數(shù)字濾波器的匯編程序;一個FIR濾波器源程序fir.asm .mmregs .globalstart4、實驗步驟及結果(1)在CCS上建立fir工程并運行fir.out程序。建立fir工程,將fir.asm和fir.cmd添加到工程中,對匯編程序進行匯編、鏈接;如果有錯誤則進行修改、調試,當匯編、鏈接成功后,加載并運行fir.out程序。注意,將fir.asm、fir.cmd、firin.inc文件和fir.pjt工程文件放在同一文件夾下。(2)觀察輸入信號的波形及頻譜。單擊View→Graph→Time/Frequency命令,按照如圖3-4所示改變各選項。其中,由.cmd可知輸入信號的數(shù)據(jù)放在數(shù)據(jù)區(qū)0x2400開始的256個單元中。圖3-4Graph屬性設置窗口單擊OK按鈕,則顯示輸入信號的時域波形如圖3-5所示。其波形是頻率為1000Hz和2500Hz正弦信號的合成信號。圖3-5輸入信號的時域波形將圖3-4中的DsiplayType項改為FFTMagnitude,則顯示輸入信號的頻譜圖,如圖3-6所示。圖3-6輸入信號的頻譜圖3、觀察輸出信號的波形及頻譜。單擊View→Graph→Time/Frequency命令,按照如圖3-7所示改變各選項。其中,由.cmd可知輸出信號的數(shù)據(jù)放在數(shù)據(jù)區(qū)0x2500開始的256個單元中。圖3-7Graph屬性設置窗口單擊OK按鈕,將顯示濾波器輸出信號時域波形,如圖3-8所示。圖3-8輸出信號的時域波形圖3-9輸出信號的頻譜圖5、系數(shù)對換FIR濾波器的實現(xiàn)系數(shù)對換FIR濾波器由于具有線性相位,因此應用很廣。一個N=8的FIR濾波器,若h(n)=h(N-1-n),就是對換FIR濾波器,其輸出方程為:總共有8次乘法和7次加法。如改寫成:變成4次乘法和7次加法,乘法運算次數(shù)減少了一半,特別是當階數(shù)較高時,利用系數(shù)對稱的特點,可以明顯減少運算量。(1)FIR濾波器設計在MATLAB下輸入:B=fir1(15,1500/8000*2);H=round(b*2^15);將系數(shù)轉換為Q15的定點小數(shù)形式則濾波器系數(shù)為:h(0)=62h(8)=11439h(1)=188h(9)=6202h(2)=86h(10)=625h(3)=-764h(11)=-1453h(4)=-1453h(12)=-764h(5)=625h(13)=86h(6)=6202h(14)=188h(7)=11439h(15)=62系數(shù)對稱FIR數(shù)字濾波器匯編程序如下: .mmregs .globalstart .def start,_c_int00KS .set 256 ;輸入樣本數(shù)據(jù)個數(shù)N.set16 ;FIR濾波器階數(shù)COEF_FIR .sect"COEF_FIR" ;FIR濾波器系數(shù) .word 62 .word188 .word86 .word-764 .word-1453 .word625 .word6202 .word11439 .dataINPUT .copy "firin.inc";輸入數(shù)據(jù)在數(shù)據(jù)區(qū)0x2400OUTPUT .space 1024;輸出數(shù)據(jù)在數(shù)據(jù)區(qū)0x2500x_new.usect"DATA1",N/2x_old.usect"DATA2",N/2size.setN/2 .text_c_int00 b start nop nopstart: SSBX FRCT ;設置FRCT(小數(shù)方式)位STM#x_new,AR2 ;AR2指向New緩沖區(qū)第一個單元STM#x_old+(size-1),AR3;AR3指向Old緩沖區(qū)最后一個單元STM#-1,AR0STM #INPUT,AR4 ;模擬輸入數(shù)據(jù)指針初始化 STM #OUTPUT,AR5 ;濾波器輸出數(shù)據(jù)指針初始化 STM #KS-1,BRC RPTBD LOOP-1 STM #size,BK ;循環(huán)緩沖區(qū)塊大小BK=size LD *AR4+,A STL A,*AR2FIR_FILTER:ADD *AR2+0%,*AR3+0%,ARPTZB,#size-1 FIRS*AR2+0%,*AR3+0%,COEF_FIR STH B,*AR5+ MAR*+AR2(2)%MAR*AR3+%MVDD*AR2,*AR3+0%LOOP:ENDB END .end鏈接命令文件如下:fir2.obj-m fir2.map-o fir2.outMEMORY{ PAGE0:ROM1(RIX) :ORIGIN=0080H,LENGTH=1000H PAGE1:INTRAM1(RW):ORIGIN=2400H,LENGTH=0200HINTRAM2(RW):ORIGIN=2600H,LENGTH=0100H INTRAM3(RW):ORIGIN=2700H,LENGTH=0100H B2B(RW) :ORIGIN=0070H,LENGTH=10H}SECTIONS{ .text : {}>ROM1

溫馨提示

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

評論

0/150

提交評論