Transcript 下載/瀏覽
DSP24X 弦波產生器 指導教授:簡聰富 學 生: 陳 俊 漢 學 號 : 19022004 班 級 : 二技機電三甲 使用IIR數位濾波器理論產生 正弦波產生器 • • X(n) = sin nwT Sin nwT = 1 (e e • 1 z sin wT jnwt jnwt n )Z 2 X(z) = (e e 2 j n 0 z 2 z cos wT 1 jnwt 2j jnwt ) A=2coswT , B=-1, C=sin wT , w=2πf, T=1/fs • H(z) = Y ( z) Cz X ( z) 2 W ( z) z Az B 上式轉移函數改寫如下: • Y(z) = Az 1Y ( z ) Bz 2Y ( z ) Cz 1 X ( z ) • y(n) = Ay(n - 1) By(n - 2) Cx(n - 1) 數位正弦振盪器方塊圖 A,B,C係數 • A = 2cos wT = 2cos(2*π(fd/fs)) = 1.90211 • B = -1 • C = sin wT = sin(2*π(fd/fs)) = 0.30902 fd:輸出頻率(500hz) fs:取樣頻率(10khz) • A / 2*215 = 31164 = 079bch • B / 2*215 = -16384 = 0c000h • C / 2*215 = 5063 = 013c7h 程式如下 • • • • • • • • • • • • • • • • • .include f240regs.h .include initial.asm .bss X0,1 .bss X0,1 .bss Y0,1 .bss Y1,1 .bss Y2,1 .bss A,1 .bss B,1 .bss QUOT,1 .set 013c7h .set 079bch .set 0C000h .set 0080h .sect ".pvecs" PVECTORS B PHANTOM .space 76*16 • • • • • • • • • • • • • • • • • • • • B TPINT1_ISR .sect ".vectors" RSVECT B START INT1 B GISR2 .text START: NOP CALL LDP LACC SACL SACL SPLK SPLK SPLK LDP SPLK SPLK SPLK initial #X0 #0 Y0 Y2 #Y1_INIT,Y1 #A_INIT,A #B_INIT,B #DP_EV #8042H,T1CON #006AH,GPTCON #2000,T1PR • • • • • • • • • • • • • • • • • • • • SPLK SPLK SPLK SPLK LDP SPLK LACC CLRC wait B #1000,T1CMPR #0FFFEH,T1CNT #09042H,T1CON #IFRA_MASK,EVIMRA #0 #02h,IMR IFR INTM nop wait GISR2: LDP #DP_EV LACC EVRA,1 LDP #0 ADD #PVECTORS BACC TRINT1_ISR: LDP #X0 LAR ARO,#Y2 LAR AR1,#B • • • • • • • • • • • • • • • • • • • • LACC #0 MAR *,AR0 LT *-,AR1 MPY *-,AR0 LTD *,AR1 MPY *,AR0 APAC SACH Y0,1 LACC Y0 ADD Y0 SACL Y0 DMOV Y0 RPT #3 SFR ADD #800H SACL QUOT OUT QUOT,DAX CLRC INTM RET .END 輸出結果 • 取樣頻率10kHz ; 輸出頻率500Hz • 10000/500=20個取樣點 輸出波形圖 END…