數(shù)字信號處理技術(shù)及其應(yīng)用.ppt

上傳人:max****ui 文檔編號:14859473 上傳時間:2020-07-31 格式:PPT 頁數(shù):35 大?。?52KB
收藏 版權(quán)申訴 舉報 下載
數(shù)字信號處理技術(shù)及其應(yīng)用.ppt_第1頁
第1頁 / 共35頁
數(shù)字信號處理技術(shù)及其應(yīng)用.ppt_第2頁
第2頁 / 共35頁
數(shù)字信號處理技術(shù)及其應(yīng)用.ppt_第3頁
第3頁 / 共35頁

下載文檔到電腦,查找使用更方便

9.9 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《數(shù)字信號處理技術(shù)及其應(yīng)用.ppt》由會員分享,可在線閱讀,更多相關(guān)《數(shù)字信號處理技術(shù)及其應(yīng)用.ppt(35頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、書名:數(shù)字信號處理技術(shù)及其應(yīng)用 ISBN:7-111-16016-9 作者:劉麗鈞 出版社:機(jī)械工業(yè)出版社 本書配有電子課件,第5章 匯編語言程序設(shè)計舉例: 5.1 數(shù)據(jù)塊傳送 例1:將數(shù)組X5=1,2,3,4,5初始化 .data TAL: .word 1,2,3,4,5 .sect “.vectors” B START .bss x,5 .text START: STM #x,AR5 RPT #4 MVPD TAB,*AR5+,例2:編寫一段程序?qū)?shù)據(jù)存儲器中的數(shù)組X20復(fù)制到 數(shù)組Y20中。 .bss x,20 .bs

2、s y,20 STM #x,AR2 STM #y,AR3 RPT #19 MVDD AR2+,AR3+,5.2 加減法和乘法運(yùn)算 例3:編寫完成 Z=X+Y-W的功能 LD x,A;直接尋址 ADD y,A SUB w,A; A=A-w STL A, z 例4:編程實(shí)現(xiàn) y=mx+b 的功能 LD m,T MPY x,A ADD b,A STL A, y,,例5:編寫實(shí)現(xiàn) y=x1a1+x2 a2的功能 LD x1,T MPY a1,B LD x2,T MAC a2,B STL B, y STH B, y+1,例6:找出y=aixi(i=1,2,3,4)中乘機(jī)項(xiàng)aixi的

3、最大值, 并存入累加器A中。 STM #a,AR1 STM #x,AR2 STM #2,AR3 LD *AR1+,T MPY *AR2+,A Loop1: LD *AR1+,T MPY *AR2+,B MAX A BANZ loop1,*AR3-,5.3 重復(fù)操作 例7:對一個數(shù)組初始化:X5=0,0,0,0,0 .bss x,5 STM #x,AR1 LD #0,A RPT #4 STL A,*AR1+ 或采用如下方法: .bss x,5 STM #x,AR1 RPTZ A,

4、#4 STL A,*AR1+ 注意:執(zhí)行重復(fù)操作時不響應(yīng)任何中斷,例8:對數(shù)組X5中的每個元素加1 .bss x,5 Begin: LD #1,16,B STM #4,BRC STM #X,AR4 RPTB next-1 ADD *AR4,16,B,A STH A,*AR4+ Next: LD #0,B ,5.4 程序的控制與轉(zhuǎn)移 例9:RC TC CC sub,BNEQ BC new,AGT,AOV 例10:計算 y= xi(i=15) .bss x,5 .bss y,1 STM #x,AR1 STM #4,AR2

5、 LD #0,A Loop:ADD *AR1+,A BANZ loop,*AR2- STL A,y,例11: STM #5,AR1 STM #10,AR0 Loop: *AR1+ CMPR LT,AR1;若(AR1)(AR0),則TC=1 BC loop,TC;若TC=1,則轉(zhuǎn)LOOP,5.5 堆棧的使用方法 在數(shù)據(jù)RAM空間開辟一個堆棧區(qū),設(shè)置如下: Size .set100 Stack .usect”STK”,size STM #stack+size,SP ,例12:編寫實(shí)現(xiàn)方程y=mx+b的程序,單操作數(shù)法: LD m,T

6、 MPY x,A ADD b,A STL A, y,雙操作數(shù)法: MPY *AR2,*AR3,A ADD b,A STL A, y,5.6 雙操作數(shù)乘法,例13:編寫完成 y=aixi(i=120),采用單操作數(shù)方法: LD #0,B STM,#a,AR2 STM #x,AR3 STM #19,BRC RPTB done-1 LD *AR2+,T 3T MPY *AR3+,A ADD A,B Done:STH B, y STL B, y+1,,采用雙操作數(shù)的方法: LD #0,B STM,#a,AR2 STM #x,AR3 STM #19,

7、BRC RPTB done-1 2T MPY *AR2+,AR3+,A ADD A,B Done:STH B, y STL B, y+1,例14:進(jìn)一步優(yōu)化例13的程序: STM #x,AR2 STM #a,AR3 RPTZ A,#19 MAC *AR2+,*AR3+,A STH A,y STL A, y+1,例15 計算Z32=X32+Y32,標(biāo)準(zhǔn)運(yùn)算 LD xhi, 16,A ADDS xho,A ADD yhi,16,A ADDS yho,A STH A,zhi STL A,zho (6個字,6個T),長字運(yùn)算 DLD xhi,A DADD yhi ,A DSTA,zhi (3

8、個字,3個T),,除DST指令(存儲32位數(shù)要用E總線2次,需2個機(jī)器周期)外, 都是單周期指令,也是在單個周期內(nèi)同時利用C總線和D總線, 得到32位操作數(shù)。,5.7 長字運(yùn)算和并行運(yùn)算,并行運(yùn)算指令有4種:并行加載和乘法指令,并行加載和存 儲指令,并行存儲和乘法指令,并行存儲和加/減法指令。,例16:編寫計算和的程序段 .bss x,3 .bss d,3 STM #x,AR5 STM #d,AR2 LD #0,ASM ADD *AR5+,16,A ST *AR5+,16,A ||LD *AR2+,B ADD *AR2

9、+,16,B STH B,*AR2,x,y,z,e,d,f,,,AR5,AR2,例編寫計算Z64=W64+X64-Y64 的程序段 W、X、Y和結(jié)果Z都是64位,它們都由兩個32位的長字組成。利用長字指令完成位數(shù)的加減法,W3 w2 w1 w0 (W64 ) x3 x2 C x1 x0 (X64 ) y3 y2 C y1 y0 (Y64 ) z3 z2 z1 z0 ( Z64 ),,低32 位相加產(chǎn)生進(jìn)位C 低32位相減產(chǎn)生借位C,程序段: DLD w1,A ; A=w1w2 DADD x1,A ; A=w1w0+x1x0,產(chǎn)生進(jìn)

10、位C DLD w3,B ; B=w3w2 ADDC x2,B ; B=w3w2+x2+C ADD x3,16,B ; B=w3w2+x3x2+C DSUB y1,A ; A=w1w0+x1x0-y1y0,產(chǎn)生借位C DST A,z1 ; z1z0=w1w0+x1x0-y1y0 SUBBy2,B ; B=w3w2+x3x2+C-y2-C SUB y3,16,B ; B=w3w2+x3x2+C-y3y2-C DST B,z3 ;z3z2=w3w2+x3x2+C-y3y2-C,32位乘法運(yùn)算 乘法算式如下: x1 x0 S U y1 y0

11、 S U x0y0 UU y1x0 SU x1y0 SU Y1x1 SS w3 w2 w1 w0 S U U U 其中,S---帶符號數(shù),U---無符號數(shù),,,,,例18 :編寫計算W64=X32*Y32 的程序段 STM #x0,AR2 STM #y0,AR3 LD *AR2,T ;T=x0 MPYU AR3+,A ;A=uy0*ux0 STL A w0 ;w0=ux0*uy0 LD A,-16,A ;A=A16 MACSU *AR2+,*AR3-,A ;A+=y1*ux0 MACS

12、U *AR3+,*AR2,A ;A+=x1*uy0 STL A,w1 ;w1=A LD A,-16,A ;A=A16 MAC *AR2,*AR3,A ;A+=x1*y1 STL A,w2 ;w2=A的低16位 STL A,w3 ;w3=A的高16位,5.8 小數(shù)運(yùn)算,1. 小數(shù)的表示方法 C54X采用2的補(bǔ)碼小數(shù),其最高位為符號位數(shù)值范圍從 -11,一個16位2的補(bǔ)碼小數(shù)的每一位權(quán)值為: 一個十進(jìn)制小數(shù)乘以32768之后,將十進(jìn)制整數(shù)部分轉(zhuǎn)換成十六進(jìn)制數(shù),就得到了這個十進(jìn)制小數(shù)的2的補(bǔ)碼表示了。 注意:匯編語言程序中,不能直接寫入十

13、進(jìn)制小數(shù)。要定義 一個系數(shù)0.707,可以寫成:word 32768707/1000 不能寫成327680.707.,-1 1/2 1/4 1/8 2-15,2. 小數(shù)乘法與冗余符號位 出現(xiàn)冗余符號位是兩個帶符號數(shù)相乘,得到的乘積帶2個符號位,造成錯誤的結(jié)果。 解決冗余符號位的方法:在程序中設(shè)定狀態(tài)寄存器ST1中的FRAT(小數(shù)方式)位為1,在乘法器將結(jié)果送至累加器時就能自動的左移一位,自動地消去了兩個帶符號數(shù)相乘時產(chǎn)生的冗余符號位。 注意: 小數(shù)乘法編程時,應(yīng)事先設(shè)置FRCT位: SSBX FRCT MPY AR2, *AR3,A STH A, Z,例19 編寫計算

14、y=ai*xi( i=14) 的程序 其中數(shù)據(jù)均為小數(shù): a1=0.1 a2=0.2 a3=-0.3 a4=0.4 x1=0.8 x2=0.6 a3=-0.4 x4=-0.2 .bss x , 4 .bss a , 4 .bss y , 1 .data Table: .word 1*32768/10 .word 2*32768/10 .word -3*32768/10 .word 4*32768/10 .word 8*32768/10 .word 6*32768/10 .word -4

15、*32768/10 .word -2*32768/10 .text,Start: SSBX FRCT STM #x , AR1 RPT #7 MVPD table , *AR1 STM #x ,AR2 STM #a , AR3 RPTZ A , #3 MAC AR2+, AR3 , A STH A, y Done: B done,5.9 除法運(yùn)算,C54X中沒有單周期的16位除法指令,利用一條條減法指令(SUBC),加上重復(fù)指令RPT #15就可實(shí)現(xiàn)兩個無符號的除法運(yùn)算。 SUBC Smem ,src ;(s

16、rc)-(Smem)<<15ALU輸出端 ;如果ALU輸出端0, 則(ALU輸出 端)<<1+1src ;否則(src)<<1src 除法運(yùn)算有兩種情況:,1. |被除數(shù)||除數(shù)|,商為小數(shù) 例20: 編寫0.4(0.8)的程序段 .bss num , 1 .bss den , 1 .bss quot , 1 .data Table : .word 4*32768/10 ;0.4 .word -8*32768/10 ;-0.8 .text Start : STM #num ,AR1 RPT #1

17、MVPD table ,*AR1 ;傳送2個數(shù)據(jù)至分子、分母單元 LD den ,16,A ;將分母移到累加器A(3116) MPYA num ;(num)*(A(3216))B, 獲取商的符號(在累加器B中) ABS A ;分母取絕對值,STH A,den ;分母絕對值存放原處 LD num ,16 ,A ;分子A(3216) ABS A ;分子取絕對值 RPT #14 ;15次減法循環(huán),完成除法 SUBC den , A ;如果B0(商是負(fù)數(shù)),則需要變號 XC

18、 1, BLT NEG A STL A,quot ;保存商,注意:SUBC指令僅對無符號數(shù)進(jìn)行操作,因此事先必須對除數(shù)和被除數(shù)取絕對值。利用乘法操作,獲得商的符號,最后通過條件執(zhí)行指令給商加上適當(dāng)?shù)姆枴?2. |被除數(shù)||除數(shù)| ,商為整數(shù) 與例 20,除輸入數(shù)據(jù)外,僅有下列改動 LD num ,16 ,A 改成 LD num ,A RPT #14 改成 RPT #15,5.10 浮點(diǎn)運(yùn)算,為了擴(kuò)大數(shù)據(jù)的范圍和精度,往往需要采用浮點(diǎn)運(yùn)算。C54X雖然是個定點(diǎn)DSP器件,但它支持浮點(diǎn)運(yùn)算。 1. 浮點(diǎn)數(shù)的表示方法 浮點(diǎn)數(shù)用 尾數(shù)和指數(shù)組成,定點(diǎn)數(shù)=尾數(shù)2-指數(shù) 浮點(diǎn)

19、數(shù)的尾數(shù)和指數(shù)可正可負(fù),均用補(bǔ)碼表示。指數(shù)范圍-831。 2. 定點(diǎn)數(shù)浮點(diǎn)數(shù) 通過3條指令實(shí)現(xiàn) (假設(shè)定點(diǎn)數(shù)已在累加器A中) 1)EXP A 例22 EXP A 執(zhí)行前 執(zhí)行后 A=FF FFFF FFCB A=FF FFFF FFCB T= 0000 T= 0019(25),例23 EXP B 執(zhí)行前 執(zhí)行后 A=07 8543 2105 A=FF 8543 0000 T= 0007 T= FFFC(-4) 2) ST T, EXPONENT 這條緊接在XEP后的指令是將保存在T寄存器中的指數(shù)存放到數(shù)據(jù)寄

20、存器的指數(shù)單元。 3)NORM A 例24 : NORM A 執(zhí)行前 執(zhí)行后 A=FF FFFF F001 A=FF 8008 0000 T= 0013 T= 0013(19),例25 : NORM B , A 執(zhí)行前 執(zhí)行后 A=FF FFFF F001 A=FF 4214 1414 B=21 0A0A 0A0A B=FF 4214 1414 T= FFF9 T= FFF9(-7) 注意:NORM指令不能緊跟在EXP指令的后面。 3. 浮點(diǎn)數(shù)定點(diǎn)數(shù) 將浮點(diǎn)數(shù)轉(zhuǎn)化為定點(diǎn)數(shù)時,只要按指數(shù)值將其右移(指數(shù)為負(fù)數(shù)時左移)就行了。 4. 浮點(diǎn)數(shù)乘法舉例 見書P229頁例26,【例5.26】編寫浮點(diǎn)乘法程序,完成x1x20.3(0.8)運(yùn)算程序中保留10個數(shù)據(jù)存儲單元:,

展開閱讀全文
溫馨提示:
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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!