湘潭大學(xué)數(shù)字信號處理實驗報告(第二次)-正弦信號發(fā)生器_第1頁
湘潭大學(xué)數(shù)字信號處理實驗報告(第二次)-正弦信號發(fā)生器_第2頁
湘潭大學(xué)數(shù)字信號處理實驗報告(第二次)-正弦信號發(fā)生器_第3頁
湘潭大學(xué)數(shù)字信號處理實驗報告(第二次)-正弦信號發(fā)生器_第4頁
湘潭大學(xué)數(shù)字信號處理實驗報告(第二次)-正弦信號發(fā)生器_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

數(shù)字信號處理實驗報告(第二次) 學(xué)院:班級:姓名:學(xué)號:指導(dǎo)老師:完成日期:內(nèi)容:實驗四、正弦信號發(fā)生器實驗四、正弦信號發(fā)生器實驗?zāi)康?.掌握利用DSP產(chǎn)生正弦信號的原理2.熟悉子程序調(diào)用的程序結(jié)構(gòu)以及堆棧的使用3.掌握CCS的圖形輸出操作實驗設(shè)備1.集成開發(fā)環(huán)境CodeComposerStudio(簡稱CCS)2.實驗代碼Sin.s54、Lab.cmd和Lab.gel三、實驗內(nèi)容1.閱讀理解多項式逼近正弦的文檔,為第一象限內(nèi)的弧度值。因為,所以只需將第二,三,四象限內(nèi)的弧度值轉(zhuǎn)換到第一象限即可計算出相應(yīng)的正弦函數(shù)值。由于有限精度,規(guī)定弧度值從,其中=0x7FFF,/2=0x4000,=0x8000。利用級數(shù)展開產(chǎn)生正弦波,必須在調(diào)用計算子程序之前備份好累加器A中的當前弧度值,以便計算結(jié)束后實現(xiàn)增量。正弦波的頻率可以通過增幅的大小來進行控制,如果假定程序循環(huán)一次為一個時間單位,則正弦波的周期為65536/步長,頻率為周期倒數(shù)。自動增長時要注意當超過后必須調(diào)整到的范圍內(nèi)才能調(diào)用計算子程序,即若。2.閱讀和理解Sin.s54Sin.s54程序如下:;******************************************************************************; SJTUDSPTech.Center;Copyright(c)2003SJTUDSPTech.Center.AllRightsReserved.;Description:; TMS320C54xProgramforStudentsExperiment;History:; Date Authors Changes; 2003/08/01 FuXuan Created.;******************************************************************************STACK_ADDR .set 0x0500STEP .set 0x0400 ;deltax(mustbepositive),themorethehigherfrequency ;T=65536/STEP,f=1/T .bss sin_out,1 .mmregs .global main .textmain: stm #STACK_ADDR,SP stm #0x00A8,PMST ;IPTR=0x0080 stm #0x0000,SWWSR ;softwarewaitstatusregister sub A ssbx CPL ;directaddressusingSP ssbx FRCT ;fractionmode ssbx OVM ;overflowmode ssbx SXM ;signextension stm #sin_out,AR6sin_loop: pshm AG ;savecurrentx;ddianOK pshm AH;ddianOK pshm AL;ddianOK call calculate_sin ;-pi<=x<=pi;ddianOK sth A,*AR6 ;storesin(x),addprobepoint;ddianOK popm AL;ddianOK popm AH;ddianOK斷點設(shè)置處 popm AG;ddianOK add #STEP,A ;adddelta;ddianOK sub #0x7fff,A,B ;testifx>pi,B=A-pi;ddianOK bc normal_increase,BLT;ddianOK ld #0x8000,A ;A=-pi add B,A ;A=B+(-pi)=x-2*pinormal_increase: b sin_loop;ddianOK dead_loop: nop nop nop nop b dead_loop ;******************************************************************************sign .set 0 ;localvariablecalculate_sin: frame -1 ;allocatesign nop ;nodirectaddressingnextframe st #0,@sign ;decidesign,0for1stand2ndquadrant,1for3rdand4thquadrant xc 2,ALT st #1,@sign abs A ;changeto1stand2ndquadrant sub #0x4000,A,B ;testfor1stquadrant bc first_quadrant,BLEQ;ifnotchangeto1stquadrant sub #0x7fff,A ;Assin(pi-x)=sinx,letx=pi-x neg A first_quadrant: stm #coef,AR2 stlm A,T ;T=x ld *AR2+,16,A ;AH=C5 ld *AR2+,16,B ;BH=C4 rpt #5-1 ;AH=C5*x^5+C4*x^4+C3*x^3+C2*x^2+C1*x+0 poly *AR2+ ld @sign,B ;pickoutsign sfta A,3 ;makeQ15format nop ;nopforBconditiontestbyxc xc 1,BNEQ ;testsign neg A ;sin(-x)=-sinx frame 1 ret;****************************************************************************** .sect "vectors"int_RESET: b main nop nop .space 124*16;sin(x)=0+3.140625x+0.02026367x^2-5.325196x^3+0.5446778x^4+1.800293x^5 .datacoef: ;Asthemaxvalueis-5.325196,soQ12isused .word 0x1cce ;1.800293*4096 .word 0x08b7;0.5446778*4096 .word 0xaacc;-5.325196*4096 .word 0x0053;0.02026367*4096 .word 0x3240;3.140625*4096 .word0x0000 ;0 .end;endofSin.s543.調(diào)試正弦波發(fā)生器圖形觀測時選擇菜單View->Graph->Time/Frequency,然后設(shè)置如下圖:4.加入斷點,并選取圖形觀測,利用動畫及時更新 popm AH;ddianOK斷點設(shè)置處5.試利用迭代的方法來實現(xiàn)正弦信號發(fā)生器得到正弦信號迭代公式:,因為為常數(shù),所以為常數(shù),則利用此公式迭代計算每次只需一次乘法和一次加法。四、實驗結(jié)果及注意事項1.需要使用臨時數(shù)據(jù)時,必須用frame語句留出所需空間,使用結(jié)束后要將堆棧指針還原以防堆棧內(nèi)存泄漏。要注意的是frame的下一條指令不能使用直接尋址。2.利用累加器寫乘法寄存器T(stlm)之后的下一條指令不能使用T;條件轉(zhuǎn)移指令xc在指令訪問階段判斷條件,該條件必須在先于xc指令的2個指令之前產(chǎn)生;條件轉(zhuǎn)移指令bc是在指令執(zhí)行階段判斷條件,不存在這方面的問題。具體細節(jié)請參見《數(shù)字信號處理系統(tǒng)的應(yīng)用和設(shè)計》3.6節(jié)和4.5節(jié)。3.在斷點及動畫運行方式實現(xiàn)正弦波顯示的情況下,查找到存儲器中對應(yīng)存儲正弦波數(shù)據(jù)實時更新的數(shù)據(jù)單元。5.實驗結(jié)果匯總斷點(startaddress=sin_out,step=0x0400)斷點設(shè)置截屏斷點及探針(startaddress=sin_out,step=0x0400)斷點及探針設(shè)置截屏斷點(startaddress=sin_out,step=0x0500)斷點及探針(startaddress=sin_out,step=0x0500)斷點(startaddress=AR6,step=0x0400)斷點及探針(startaddress=AR6,step=0x0400)斷點(startaddress=0X2000,step=0x0400)斷點及探針(startaddress=0X2000,step=0x0400)6.程序流程圖五、實驗心得這次實驗的主要內(nèi)容包括閱讀理解多項式逼近正弦的文檔;閱讀和理解Sin.s54;調(diào)

溫馨提示

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

最新文檔

評論

0/150

提交評論