beautypg.com

Motorola DSP96002 User Manual

Page 556

background image

MOTOROLA

DSP96002 USER’S MANUAL

B-37


Program

ICycles

Words

move #coef,r0 ;point to coefficients

move #3*N,m0 ;mod on coefficients

move #state,r4 ;point to state variables

move #N,m4 ;mod on filter states

move p y:datin,d5.s ;get input sample

move x:(r0)+,d6.s ;get q 1 1

do #N,_elat 2 3

; t*q k*w+q*s get k get s

fmpy d5,d6,d2 fadd.s d1,d3 x:(r0)+,d4.s y:(r4)+,d7.s 1 1

; k*s save s

fmpy.s d4,d7,d0 d3.s,y:(r4)+ 1 1

; t*k w*q-k*s

fmpy d5,d4,d1 fsub.s d0,d2 1 1

; q*s t

t’ get q

fmpy.s d6,d7,d3 d2.s,d5.s x:(r0)+,d6.s 1 1

_elat

fadd.s d1,d3 ;finish last t 1 1

move d3.s,y:(r4)+ ;save 2nd s 1 1

fclr d2 d5.s,y:(r4)+ ;save 1st s 1 1

fclr d3 y:(r4)+,d7.s ;get s 1 1

rep #N 1 2

fmpy d6,d7,d2 fadd.s d2,d3 x:(r0)+,d6.s y:(r4)+,d7.s ;fir 1 1

fadd.s d2,d3 (r4)+ ;adj r4 1 1

move p d3.s,y:datout

--- ---

Totals: 14 5N+11