Motorola DSP96002 User Manual page 628

32-bit digital signal processor
Table of Contents

Advertisement

_clip2_znn
move
fseedd d6,d4
fmpy.s d6,d4,d6
fmpy
fmpy.s d6,d2,d6
fmpy
fmpy.s d0,d3,d0
fcmp
ftfr.s d0,d7
rts
B.1.45
Walsh-Hadamard Transforms
The Walsh-Hadamard transform (WHT) is an orthogonal transform requiring only additions and subtrac-
tions. The transform can be decomposed similar to the fast fourier transform (FFT) to yield a fast imple-
mentation of the WHT.
B.1.45.1 In-place WHT
Since the WHT requires 2 loads and 2 stores per butterfly, the maximum throughput for a WHT butterfly is
4 cycles. This implementation executes 2 butterflies in 8 cycles on the inner loop for a 4N per butterfly
execution speed. The last stage is split out and also executes 2 butterflies in 8 cycles for each pass of the
loop.
In this example, a 16 point transform is performed. The input data are in X:0-f and the output is in x:0-f in
bit reversed order.
Execution speed for a 1024 point WHT is 1.68 milliseconds at 13.5 MIPS.
page
;
;
Implements the Walsh-Hadamard Transform
;
iord
equ
n
equ
org
data
MOTOROLA
fsub.s d0,d6 d6.s,d0.s
d0,d4,d0 fsub.s d6,d2 d2.s,d3.s
d0,d4,d0 fsub.s d6,d3
d7,d0
fflt
132,60,1,1
4
;order of transform=log2(npoints)
1<<iord
;length of transform
x:0
DSP96002 USER'S MANUAL
d6.s,d0.s
y:(r1),d6.s
d9.s,d2.s
d2.s,d4.s
;Zo
1
1
;
1
1
;
1
1
;
1
1
;
1
1
;
1
1
;
1
1
;
1
1
;
1
1
;
1
1
;
2
2
B-109

Advertisement

Table of Contents
loading

Table of Contents