數(shù)字濾波器實(shí)現(xiàn)ppt課件_第1頁(yè)
數(shù)字濾波器實(shí)現(xiàn)ppt課件_第2頁(yè)
數(shù)字濾波器實(shí)現(xiàn)ppt課件_第3頁(yè)
數(shù)字濾波器實(shí)現(xiàn)ppt課件_第4頁(yè)
數(shù)字濾波器實(shí)現(xiàn)ppt課件_第5頁(yè)
已閱讀5頁(yè),還剩32頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第7章數(shù)字濾波器理想低通濾波器低通、高通、帶通與帶阻高通濾波器帶通濾波器帶阻濾波器a.Band-reject byAdding parallel stagesb.Band-reject byin a single stagexnh1nh2nynLow-passxnh1n+h2nynband-passhigh-pass有限沖擊響應(yīng)(FIR)濾波器10Npppkxakypa式中,yk是時(shí)刻t=kT時(shí)濾波器的輸出信號(hào),xk是最近( t=kT )的輸入信號(hào),xk-p是延時(shí)了p個(gè)采樣周期的輸入信號(hào), 是第p個(gè)延時(shí)節(jié)的加權(quán)值(也就是濾波器系數(shù))。 從這個(gè)結(jié)構(gòu)可以看出,因?yàn)樵摓V波器的沖激響應(yīng),在N個(gè)采樣周期

2、后變?yōu)?,因此稱為有限沖激響應(yīng)濾波器。FIR濾波器的基本結(jié)構(gòu),是一個(gè)分節(jié)的延時(shí)線,每一節(jié)的輸出加權(quán)累加,得到濾波器的輸出。數(shù)學(xué)上可以表示為:而IIR濾波器的差分方程后面還需要加上一項(xiàng)Mpppkyb110)1(110)(NpNNppzazaazazH將式 作Z變換,得傳輸函數(shù):10Npppkxaky由傳輸函數(shù)可以看出,由于FIR的傳輸函數(shù)H(z)只在Z平面上的原點(diǎn)處有極點(diǎn),因此,它是穩(wěn)定的。FIR濾波器的橫截型結(jié)構(gòu)Z-1Z-1Z-1Z-1+y(n)x(n)x(n-1)x(n-2)x(n-N+1)a0a1a2aN-2aN-1FIR濾波器的主要特點(diǎn) 單位沖激響應(yīng)只有有限多項(xiàng) 可以設(shè)計(jì)成線性相位系數(shù)

3、只在零點(diǎn)處有極點(diǎn),因此系統(tǒng)總是穩(wěn)定的 便于DSP實(shí)現(xiàn)并可用立即數(shù)乘加指令編程,節(jié)約存儲(chǔ)器系統(tǒng)非線性相移造成輸出信號(hào)失真 系統(tǒng)相位特性決定了信號(hào)不同頻率的時(shí)延,系統(tǒng)的群延時(shí)定義為相位函數(shù)的導(dǎo)數(shù)。 dd)(忽略相位信息的后果DFT變換DFT反變換忽略相位信息輸入波形輸出波形要求線性相位的例子 通信系統(tǒng):數(shù)據(jù)通信、調(diào)制解調(diào)器 希爾伯特變換器:要求輸入輸出信號(hào)正交 高保真音響系統(tǒng):音樂(lè)的相位失真必須減到最小,盡可能逼真地重現(xiàn)原來(lái)的聲音 理想微分器線性相位的FIR濾波器 系統(tǒng)的群延時(shí)tconsddgtan)(線性相位設(shè)計(jì) 當(dāng)hp=hN-p 即hp關(guān)于中點(diǎn)對(duì)稱,且:2NTg則滿足線性相位要求,群延時(shí)為:s

4、gfNNT221FIR濾波器的DSP實(shí)現(xiàn) FIR濾波器的基本算法是一種乘法-累加運(yùn)算,即不斷的輸入樣本x(n),經(jīng)過(guò) 延時(shí)后,再進(jìn)行乘法-累加,最后輸出濾波結(jié)果y(n) 操作:延遲(一個(gè)采樣周期)操作,兩種方法:1、線性緩沖區(qū)實(shí)現(xiàn)2、用循環(huán)緩沖區(qū)實(shí)現(xiàn)1z1z1z1z線性緩沖區(qū)法 線性緩沖區(qū)法又稱延遲線法。其方法是:對(duì)于n=N的FIR濾波器,在數(shù)據(jù)存儲(chǔ)器中開(kāi)辟一個(gè)N單元的緩沖區(qū),存放最新的N個(gè)樣本;濾波時(shí)從最老的樣本開(kāi)始,每讀一個(gè)樣本后,將此樣本向下移位;讀完最后一個(gè)樣本后,輸入最新樣本至緩沖區(qū)的頂部。 以上過(guò)程,可以用N=6的線性緩沖區(qū)示意圖來(lái)說(shuō)明,如圖所示: 循環(huán)緩沖區(qū)法 下圖說(shuō)明了使用循環(huán)

5、尋址實(shí)現(xiàn)FIR濾波器的方法。對(duì)于N級(jí)FIR濾波器,在數(shù)據(jù)存儲(chǔ)區(qū)開(kāi)辟一個(gè)稱為滑窗的具有N個(gè)單元的緩沖區(qū),滑窗中存放最新的N個(gè)輸入樣本值。每次輸入新的樣本時(shí),新的樣本將改寫(xiě)滑窗中最老的數(shù)據(jù),其他數(shù)據(jù)則不需要移動(dòng)。用循環(huán)緩沖區(qū)實(shí)現(xiàn)1zFIR濾波器編程實(shí)現(xiàn)RPTBD fir_filter_loop-1STM #k_FIR_BFFR,BK;FIR circular bffr sizeLD *INBUF_P+,A;load the input valueFir_filter:STL A,*FIR_DATA_P+%;replace oldest sample with newest sampleRPTZ A

6、,(K_FIR_BUFF-1)MAC *FIR_DATA_P+0%,*FIR_COFF_P+0%,A;filteringSTH A,*OUTBUF_P+;replace the oldest bffr valuefir_filter_loop計(jì)算16階的FIR濾波器輸出256個(gè)點(diǎn).sect ”fir_prog” STM #255,BRC;Repeat 256 timesRPTBD fir_filter_loop STM #16,BK;FIR circular buffer sizeLD *AR7+,A;load the input valueSTL A,*AR4+%;replace oldes

7、t sample with newest sampleRPTZ A,#15MAC *AR4+0%,*AR3+0%,A;filteringSTH A,*AR5+;replace the oldest buffer valueFir_filter_loopC54的FIRS指令 該指令實(shí)現(xiàn)一個(gè)對(duì)稱的FIR濾波器。累加器A的高段和由pmad(程序存儲(chǔ)器地址)尋址的pmem相乘,結(jié)果加到累加器B中。同時(shí),存儲(chǔ)器操作數(shù)Xmem和Ymem相加,結(jié)果左移16bits,然后裝入累加器A。在下一個(gè)循環(huán)中,pmad加1. 語(yǔ)法:FIRS Xmem,Ymem,pmad 例:FIRS *AR3+,*AR4+,COEFF

8、S【例】用循環(huán)緩沖區(qū)和雙操作數(shù)尋址方法編寫(xiě)實(shí)現(xiàn)FIR濾波的程序。1FIR濾波器設(shè)計(jì) 設(shè)計(jì)一個(gè)FIR低通濾波器,通帶邊界頻率為1500Hz,通帶波紋小于1dB;阻帶邊界頻率為2000Hz,阻帶衰減大于40dB;采樣頻率為8000Hz。FIR濾波器的設(shè)計(jì)可以用MATLAB窗函數(shù)法進(jìn)行。2產(chǎn)生濾波器輸入信號(hào)的文件 按照通常的程序調(diào)試方法,先用Simulator逐步調(diào)試各子程序模塊,再用硬件仿真器在實(shí)際系統(tǒng)中與硬件儀器聯(lián)調(diào)。使用CCS的Simulator進(jìn)行濾波器特性測(cè)試時(shí),需要輸入時(shí)間信號(hào)x(n)。本例設(shè)計(jì)一個(gè)采樣頻率Fs為8000Hz,輸入信號(hào)頻率為1000Hz和2500Hz的合成信號(hào),通過(guò)設(shè)計(jì)的

9、低通濾波器將2500Hz信號(hào)濾掉,余下1000Hz信號(hào)。3編寫(xiě)FIR數(shù)字濾波器的匯編源程序FIR數(shù)字濾波器匯編程序fir.asm如下:* * * * * * * * * * * * 一 個(gè) F I R 濾 波 器 源 程 序 fir.asm*.mmregs.global start.def start,_c_int00INDEX .set 1KS.set 256 ;輸入樣本數(shù)據(jù)個(gè)數(shù)COEF_FIR .sect COEF_FIR;FIR濾波器系數(shù)N .set 17 ;FIR濾波器階數(shù).word 0,158,264,-290,-1406,-951,3187,9287,12272.word9287,

10、3187,-951,-1406,-290,264,158,0.dataINPUT.copy firin.inc;輸入數(shù)據(jù)在數(shù)據(jù)區(qū)輸入數(shù)據(jù)在數(shù)據(jù)區(qū)0 x2400OUTPUT.space1024;輸出數(shù)據(jù)在數(shù)據(jù)區(qū)輸出數(shù)據(jù)在數(shù)據(jù)區(qū)0 x2500COEFTAB .usectFIR_COEF,NDATABUF.usectFIR_BFR,NBOS.usectSTACK,0FhTOS.usectSTACK,1 .text.asg AR0,INDEX_P .asgAR4,DATA_P;輸入數(shù)據(jù)輸入數(shù)據(jù)x(n)循環(huán)循環(huán)緩沖區(qū)指針緩沖區(qū)指針 .asgAR5,COEF_P;FIR系數(shù)表指針系數(shù)表指針 .asg AR

11、6,INBUF_P;模擬輸入數(shù)據(jù)指針模擬輸入數(shù)據(jù)指針 .asgAR7,OUTBUF_P ;FIR濾波器輸出數(shù)據(jù)濾波器輸出數(shù)據(jù)指針指針 _c_int00 b start nop nopstart: SSBx FRCT ;小數(shù)乘法編程時(shí),設(shè)置小數(shù)乘法編程時(shí),設(shè)置FRCT(小數(shù)方式小數(shù)方式)位位 MVPD#COEF_FIR,*COEF_P+ STM#INDEX,INDEX_P STM#DATABUF,DATA_P;數(shù)數(shù)據(jù)循環(huán)緩沖區(qū)清零據(jù)循環(huán)緩沖區(qū)清零 RPTZA,#N-1 STLA,*DATA_P+ STM#(DATABUF+N-1),DATA_P;數(shù)數(shù)據(jù)循環(huán)緩沖區(qū)指針指向據(jù)循環(huán)緩沖區(qū)指針指向xn-

12、(N-1) STM#COEFTAB,COEF_P STM #COEFTAB,COEF_P;將將FIR系數(shù)從系數(shù)從程序存儲(chǔ)器移到數(shù)據(jù)存儲(chǔ)器程序存儲(chǔ)器移到數(shù)據(jù)存儲(chǔ)器 RPT #N-1 FIR_TASK: STM#INPUT,INBUF_P STM #OUTPUT,OUTBUF_P STM#KS-1,BRCRPTBDLOOP-1STM#N,BK;FIR循環(huán)緩沖區(qū)大小循環(huán)緩沖區(qū)大小LD*INBUF_P+,A;裝載輸入數(shù)據(jù)裝載輸入數(shù)據(jù)FIR_FILTER: ;FIR濾波運(yùn)算濾波運(yùn)算STLA,*DATA_P+%;用最新的樣本值替代用最新的樣本值替代最舊的樣本值最舊的樣本值RPTZA,N-1MAC*DATA

13、_P+0%,*COEF_P+0%,ASTHA,*OUTBUF_P+.end4編寫(xiě)FIR濾波器鏈接命令文件 對(duì)應(yīng)以上匯編程序的鏈接命令文件fir.cmd如下:fir.obj-m fir.map-ofir.outMEMORYPAGE 0:ROM1(RIX) :ORIGIN=0080H,LENGTH=100HPAGE 1:INTRAM1(RW) :ORIGIN=2400H,LENGTH=0200H INTRAM2(RW) :ORIGIN=2600H,LENGTH=0100H將輸出文件名改成fir.out,如果不使用-o,則輸出文件省缺名為a.out。-m選擇項(xiàng)建立映射列表文件,該映射列表描述存儲(chǔ)器劃分、輸入與輸出斷的位置以及外部符號(hào)重新定位后的地址。PAGE說(shuō)明一個(gè)存儲(chǔ)器空間,用戶最多可以說(shuō)明255頁(yè)。通常,page0是程序存儲(chǔ)器,page1是數(shù)據(jù)存儲(chǔ)器。INTRAM3(RW):ORIGIN=2700H,LENGTH=0100HB2B(RW):ORIGIN=0070H,LENGTH=10H SECTIONS.text :ROM1PAGE 0.data : INTRAM1 PAGE 1FIR_COEF: INTRAM2 PAGE 1FIR_BFR : INTRAM3 PAGE 1.stac

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論