




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第6章 TMS320C54x的軟硬件設(shè)計(jì),6.3 FIR濾波器的C54x實(shí)現(xiàn)方法,FIR濾波器算法分析,乘法累加運(yùn)算 Z-1操作:延時(shí)操作。有兩種方法實(shí)現(xiàn): 線性緩沖區(qū)法 循環(huán)緩沖區(qū)法 I/O輸入和輸出操作指令: PORTR PA, Smen PORTW Smen, PA,線性緩沖區(qū)法實(shí)現(xiàn)Z-1,又稱延遲線法,特點(diǎn)如下 對(duì)于N級(jí)FIR濾波器,在數(shù)據(jù)存儲(chǔ)器中開(kāi)辟一個(gè)稱之為滑窗的N個(gè)單元的緩沖區(qū),存放最新的N個(gè)輸入樣本 從最老的樣本開(kāi)始,每讀一個(gè)樣本后,將此樣本向下移位。讀完最后一個(gè)樣本后,輸入最新樣本至緩沖區(qū)的頂部。,舉例N=6的線性緩沖區(qū)存儲(chǔ)圖,數(shù)據(jù)存儲(chǔ)器,ARx-,數(shù)據(jù)存儲(chǔ)器,ARx-,數(shù)據(jù)
2、存儲(chǔ)器,ARx-,線性緩沖區(qū)頂部,PORTR,PORTR,滑窗的N個(gè)單元的緩沖區(qū),存放最新的N個(gè)輸入樣本 從最老的樣本開(kāi)始,每讀一個(gè)樣本后,將此樣本向下移位。,樣本向下移位,用延時(shí)指令DELAY實(shí)現(xiàn)。 DELAY:數(shù)據(jù)存儲(chǔ)器單元中的內(nèi)容向較高地址單元傳送。 DELAY Smen ;SmenSmen+1 DELAY *AR2- DELAY指令與其它指令相結(jié)合單周期指令 LT+DELAYLTD MAC+DELAYMACD 因?yàn)閱沃芷趦?nèi)要進(jìn)行一次讀和一次寫(xiě)操作,故延遲操作只能在DARAM中進(jìn)行,循環(huán)緩沖區(qū)法實(shí)現(xiàn)Z-1,特點(diǎn)如下 對(duì)于N級(jí)FIR濾波器,在數(shù)據(jù)存儲(chǔ)器中開(kāi)辟一個(gè)也稱之為滑窗的N個(gè)單元的緩沖
3、區(qū),存放最新的N個(gè)輸入樣本 每次輸入新樣本時(shí),以新樣本改寫(xiě)滑窗中最老的數(shù)據(jù),而滑窗中其它數(shù)據(jù)不需要移動(dòng) 循環(huán)緩沖區(qū)首尾相接,循環(huán)尋址。,舉例N=6的循環(huán)緩沖區(qū)存儲(chǔ)圖,數(shù)據(jù)存儲(chǔ)器,數(shù)據(jù)存儲(chǔ)器,數(shù)據(jù)存儲(chǔ)器,循環(huán)緩沖區(qū)頂部,滑窗的N個(gè)單元的緩沖區(qū),存放最新的N個(gè)輸入樣本 以新樣本改寫(xiě)滑窗中最老的數(shù)據(jù),而滑窗中其它數(shù)據(jù)不需要移動(dòng),循環(huán)緩沖區(qū)底部,6,6,對(duì)設(shè)置循環(huán)緩沖區(qū)的要求,循環(huán)緩沖區(qū)的長(zhǎng)度R小于2N,且地址從一個(gè)低N位為0的地址開(kāi)始; 步長(zhǎng)小于或等于循環(huán)緩沖區(qū)的長(zhǎng)度 所使用的輔助寄存器必須指向緩沖區(qū)單元 循環(huán)尋址算法規(guī)則: If 0index+stepBK index=index+step Els
4、e if index+stepBK index=index+step-BK Else if index+step0 index=index+step+BK,251,循環(huán),1.用線性緩沖區(qū)和直接尋址方法實(shí)現(xiàn)FIR濾波器,直接尋址FIR濾波器程序如下: LD #XN,DP SSBX FRCT PORTR PA1,XN LOP:LD XNM4,T MPY A4,A LTD XNM3 MAC A3,A LTD XNM2 MAC A2,A LTD XNM1 MAC A1,A LTD XN MAC A0,A STH A, y PORTW y, PA0 BD LOP PORTR PA1,XN,數(shù)據(jù)存儲(chǔ)器,y
5、,XN,XNM1,XNM2,XNM3,XNM4,數(shù)據(jù)存儲(chǔ)器,A0,A1,A2,A3,A4,2.用線性緩沖區(qū)和間接尋址方法實(shí)現(xiàn)FIR濾波器,數(shù)據(jù)存儲(chǔ)器,y,X,AR1,數(shù)據(jù)存儲(chǔ)器,a:,AR2,間接尋址FIR濾波器程序如下: STM #x+4,AR1 STM #a+4, AR2 STM #4, AR0 SSBX FRCT LD #x, DP PORTR PA1,x LOP:LD *AR1-,T MPY *AR2-,A LTD *AR1- MAC *AR2-,A LTD *AR1- MAC *AR2-,A LTD *AR1- MAC *AR2-,A LTD *AR1 MAC *AR2+0,A ST
6、H A, y PORTW y, PA0 BD LOP PORTR PA1,*AR1+0,數(shù)據(jù)存儲(chǔ)器,數(shù)據(jù)存儲(chǔ)器,y,X,AR1,a:,AR2,3.用線性緩沖區(qū)和帶移位雙操作是數(shù)尋址方法實(shí)現(xiàn)FIR濾波器,數(shù)據(jù)存儲(chǔ)器,x,AR1,程序存儲(chǔ)器,COFF,雙操作數(shù)、帶移位FIR濾波器程序如下: STM #x+5,AR1 STM #4, AR0 SSBX FRCT LD #x+1, DP PORTR PA1,x+1 LOP:RPTZ #4 MACD *AR1-, COFF, A PORTW *AR1+, PA0 BD LOP PORTR PA1,*AR1+0 .data COFF .word a4,a3
7、,a2,a1,a0,數(shù)據(jù)存儲(chǔ)器,程序存儲(chǔ)器,x,AR1,COFF,4.用循環(huán)緩沖區(qū)和雙操作數(shù)尋址方法實(shí)現(xiàn)FIR濾波器,數(shù)據(jù)存儲(chǔ)器,y,xn,AR3,數(shù)據(jù)存儲(chǔ)器,a0,AR4,60h,80h,81h,82h,83h,84h,88h,89h,8Ah,8Bh,8Ch,循環(huán)緩沖區(qū)FIR濾波器的程序清單,FIR4.ASM源程序 .title “FIR4.ASM” .mmregs .def _c_int00 .bss y,1 xn.usect “xn”, 5 a0 .usect “a0”, 5 PA0 .set 0 PA1 .set 1 .data table:.word 1*32768/10 .word
8、 2*32768/10 .word 3*32768/10 .word 4*32768/10 .word 5*32768/10,.text _c_int00:SSBX FRCT STM #a0,AR1 RPT #4 MVPD table, *AR1+ STM #xn+4,AR3 STM #a0+4,AR4 STM #5, BK STM # -1, AR0 LD #xn, DP PORTR PA1,xn FIR:RPTZ A,#4 MAC *AR3+0%,*AR4+0%,A LD #y,DP STH A, y BD FIR PORTR PA1, *AR3+0% .end,FIR4_V_.asm復(fù)位
9、向量文件程序清單,.title “FIR4_V.asm” .ref _c_int00 .sect “.vectors” B _c_int00 .end,FIR4.cmd 鏈接命令文件清單,FIR4_V.obj FIR4.obj -O FIR4.out -m FIR4.map MEMORY PAGE 0:EPROM:o=0E000h,l=1000h VECS: o=0FF80h,l=0080h PAGE 1:SPRAM: o=0060h,l=0020h DARAM: o=0080h, l=1380h SECTIONS .text:EPROM PAGE 0 .data:EPROM PAGE 0 .
10、bss :SPRAM PAGE 1 xn :align(8) DARAM PAGE 1 a0 :align(8) DARAM PAGE 1 .vectors:VECS PAGE 0 ,系數(shù)對(duì)稱FIR濾波器實(shí)現(xiàn)的要點(diǎn)如下(N=8),1、開(kāi)辟2個(gè)循環(huán)緩沖區(qū):New和Old,長(zhǎng)度各為N/2。 2、AR2指向New緩沖區(qū)中最新的數(shù)據(jù) AR3指向Old緩沖區(qū)中最老的數(shù)據(jù) 3、在程序存儲(chǔ)器中設(shè)置系數(shù)表,4、(AR2)+(AR3)AH, (AR2)-1AR2, (AR3)-1AR3 5、設(shè)置B=0,重復(fù)計(jì)算4次(i=0,1,2,3) (AH)*系數(shù)ai+(B)B 系數(shù)指針(PAR)+1 (AR2)+(AR3
11、)AH, AR2和AR3減1 6、保存和輸出結(jié)果(結(jié)果在BH中),7、修正數(shù)據(jù)指針,讓AR2和AR3分別指向New緩沖區(qū)中最新的數(shù)據(jù)和Old緩沖區(qū)中最老的數(shù)據(jù) 8、用New數(shù)據(jù)區(qū)中最老的數(shù)據(jù)替代Old緩沖區(qū)中最老的數(shù)據(jù)。Old緩沖區(qū)指針減1 9、輸入一個(gè)新數(shù)據(jù)替代New緩沖區(qū)中最老的數(shù)據(jù) 重復(fù)執(zhí)行49步,對(duì)稱FIR濾波器(N=8)源程序清單 .title “FIR5.asm” .mmregs .def _c_int00 .bss y,1 x_new.usect “DATA1” ,4 x_old.usect “DATA2” ,4 Size .set 4 PA0 .set 0 PA1.set 1
12、.data COFF:.word 1*32768/10 .word 2*32768/10 .word 3*32768/10.word 4*32768/10,.text _c_int00:LD #y, DP SSBX FRCT STM #x_new, AR2 STM #x_old+(size-1), AR3 STM #size, BK STM # -1, AR0 PORTR PA1, #x_new FIR:ADD *AR2+0%,*AR3+0%, A RPTZ B ,#(size-1) FIRS *AR2+0%, *AR3+0%, COFF STH B, y PORTW y, PA0 MAR *
13、+AR2(2)% MAR *AR3+% MVDD *AR2, *AR3+0% BD FIR PORTR PA1, *AR2 .end,/*有限沖擊響應(yīng)(FIR)濾波器算法實(shí)驗(yàn)參考源程序 fir.asm */ HIGHPASS.set0 ;if you want to use ,please set the value to 1 BANDPASS.set0 LOWPASS.set1 .globalstart,fir .mmregs COFF_FIR_START .sect coff_fir .if LOWPASS .includelowpasslowpass.inc .elseif BANDPA
14、SS .includebandpassbandpass.inc .else .includehighpasshighpass.inc .endif K_FIR_BFFR.set32 d_data_buffer.usectfir_bfr,64 FIR_DP.usectfir_vars,0 d_filin.usectfir_vars,1 d_filout .usectfir_vars,100h output.usectfir_vars,1 .asgAR4,FIR_DATA_P .asgAR6,INBUF_P .asgAR7,OUTBUF_P .asgAR3,OUTBUF,.sectfir_prog
15、 nop start: LD#FIR_DP,DP STM#d_data_buffer,FIR_DATA_P RPTZA,#K_FIR_BFFR-1 STLA,*FIR_DATA_P+ STM#d_filin,INBUF_P STM#d_filout,OUTBUF_P STM#output,OUTBUF STM#100h,BK fir_loop: NOP ;Add Breakpoint & porbe point LD*INBUF_P,A CALLfir STHA,*OUTBUF_P+% STHA,*OUTBUF main_end: bfir_loop,fir: SSBXSXM SSBXFRCT
16、 STM#d_data_buffer,FIR_DATA_P STLA,*FIR_DATA_P STM#(d_data_buffer+K_FIR_BFFR-1), FIR_DATA_P fir_task: RPTZ A, #K_FIR_BFFR-1 MACD *FIR_DATA_P-,COFF_FIR_START, A RET .end,/* fir.cmd*/ MEMORY PAGE 0: PROG:o= 100h,l= 2000h PAGE 1: DATA1:o= 2600h, l= 1000h DATA2:o= 2100h, l= 100h DATA3:o= 2200h,l= 100h D
17、ATA4:o= 2300h,l= 100h DATA5:o= 2400h,l= 100h DATA6:o= 2500h,l= 100h SECTIONS coff_fir : PROGPAGE 0 fir_prog : PROGPAGE 0 fir_vars : DATA1PAGE 1 fir_coff : DATA2PAGE 1 fir_bfr : DATA3PAGE 1 ,問(wèn)題:,MACD 什么意思? 用什么方法實(shí)現(xiàn)FIR算法? 3.填空: K_FIR_BFFR的值:_; _data_buffer的地址:_; d_filin的地址:_; d_filout的地址:_; output的地址: _; DP的值:_。 4. 循環(huán)尋址的運(yùn)算法則?,斷點(diǎn)的使用問(wèn)題? Run和animate的區(qū)別?,MACD Smen,Pmad,src,src=src+Smen*Pmad T=Smen (Smen+1)=Smen,斷點(diǎn)的使用問(wèn)題,CCS3.3以后版本有多種類型斷點(diǎn): Halt
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五循環(huán)貸款協(xié)議書(shū)
- 深圳股權(quán)轉(zhuǎn)讓合同書(shū)協(xié)議書(shū)范例二零二五年
- 物業(yè)管理費(fèi)的委托收費(fèi)協(xié)議書(shū)二零二五年
- 2025至2030年中國(guó)二手汽車(chē)市場(chǎng)競(jìng)爭(zhēng)與企業(yè)競(jìng)爭(zhēng)策略研究報(bào)告
- 2025年維體康沖劑項(xiàng)目可行性研究報(bào)告
- 2025年砂塊破碎機(jī)項(xiàng)目可行性研究報(bào)告
- 2025年流體用小直徑鋼管項(xiàng)目可行性研究報(bào)告
- 2025年星形聯(lián)接器項(xiàng)目可行性研究報(bào)告
- 2025-2030中國(guó)燃油分配設(shè)備行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略研究報(bào)告
- 2025-2030中國(guó)煙草分選設(shè)備行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略研究報(bào)告
- 探究中醫(yī)藥知識(shí)圖譜-洞察分析
- 六年級(jí)工程問(wèn)題30道應(yīng)用題
- 08D800-6 民用建筑電氣設(shè)計(jì)與施工-室內(nèi)布線
- 2024年廣西高考生物試卷真題(含答案)
- 2024年資格考試-良好農(nóng)業(yè)規(guī)范認(rèn)證檢查員考試近5年真題附答案
- 2024-2025學(xué)年小學(xué)科學(xué)六年級(jí)下冊(cè)湘科版(2024)教學(xué)設(shè)計(jì)合集
- 建筑施工安全檢查標(biāo)準(zhǔn)JGJ59-2011
- 職業(yè)生涯人物訪談報(bào)告
- 幼兒園 小班健康《漢堡男孩》
- 2023年江西省贛州市尋烏縣殘聯(lián)公務(wù)員考試《行政職業(yè)能力測(cè)驗(yàn)》歷年真題及詳解
- 2023年上海市虹口區(qū)街道社區(qū)工作者招聘考試真題及答案
評(píng)論
0/150
提交評(píng)論