beautypg.com

Motorola DSP96002 User Manual

Page 523

background image

B-4

DSP96002 USER’S MANUAL

MOTOROLA

B.1.6 Real * Complex Correlation Or Convolution (FIR Filter)

cr(n) + jci(n) = SUM(I=0,...,N-1) {( ar(I) + jai(I)) * b(n-I)}

cr(n) = SUM(I=0,...,N-1) { ar(I) * b(n-I) }

ci(n) = SUM(I=0,...,N-1) { ai(I) * b(n-I) }

Program ICycles

Words

move #aaddr,r0 1 1

fclr d0 #baddr+n,r4 1 1

fclr d1 x:(r0),d4.s 1 1

fclr d2 x:(r4)-,d5.s y:(r0)+,d6.s 1 1

do #n,end 2 3

fmpy d4,d5,d2 fadd.s d2,d1 x:(r0),d4.s 1 1

fmpy d6,d5,d2 fadd.s d2,d0 x:(r4)-,d5.s y:(r0)+,d6.s 1 1

end

fadd.s d2,d1 1 1

--- ---

Totals

9 2N+8

(10 2N+9)

B.1.7 Complex Multiply

cr + jci = ( ar + jai ) * ( br + jbi )

cr = ar * br - ai * bi R1

cr,ci R0

ar,ai R4

br,bi

ci = ar * bi + ai * br D5 = ar D6 = bi D4 = br D7 = ai

Program

ICycles

Words

move x:(r0),d5.s y:(r4),d6.s 1 1

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

fmpy.s d4,d7,d2 1 1

fmpy.s d4,d5,d0 1 1

fmpy d6,d7,d2 fadd.s d2,d1 1 1

fsub.s d2,d0 d1.s,y:(r1) 1 1

move d0.s,x:(r1) 1 1

--- ---

Totals:

7 7

(6 6)