Motorola DSP56000 Manual page 578

24-bit digital signal processor
Hide thumbs Also See for DSP56000:
Table of Contents

Advertisement

;
All coefficients are divided by 2:
;
w(n)/2=x(n)/2-ai1/2*w(n-1)-ai2/2*w(n-2)
;
y(n)/2=w(n)/2+bi1/2*w(n-1)+bi2/2*w(n-2)
;
;
X Memory Organization
;
;
;
;
;
wN(n-1)
;
wN(n-2)
;
;
;
w1(n-1)
;
R0
w1(n-2)
;
;*********************************************************************************************************************
;
initialization
;*************************************
nsec
equ
start
equ
data
equ
coef
equ
input
equ
output
equ
igain
equ
ori
move
move
move
move
move
opt
;
filter loop: 4*nsec + 9
;*********************************************************************
movep
mpy
;
do
mac
macr
mac
mac
end_cell
rnd
movep
;****************************************************************************************
end
Figure B-5 Real Input FFT Based on Glenn Bergland Algorithm (Sheet 5 of 8)
B - 16
BENCHMARK PROGRAMS
Y Memory Organization
Data + 2*nsec - 1
Data
R4
4
$40
0
0
$ffe0
$ffe1
0.5
#$08,mr
;set scaling mode
#data,r0
;point to filter states
#coef,r4
;point to filter coefficients
#2*nsec - 1,m0
#4*nsec - 1,m4
#igain,y1
;y1=initial gain
cc
y:input,y0
y0,y1,a
x:(r0) +,x0
#nsec,end_cell
-x0,y0,a
x:(r0) -,x1
-x1,y0,a
x1,x:(r0) +
x0,y0,a
a,x:(r0)+
x1,y0,a
x:(r0) +,x0
a
a,y:output
BENCHMARK PROGRAMS
b1N/2
Coef. + 4*nsec - 1
b2N/2
a1N/2
a2N/2
b11/2
b21/2
a11/2
a21/2
Coef.
;get sample
y:(r4)+,y0
;x0=1st section w(n-2),y0=ai2/2
;do each section
y:(r4) +,y0
;x1=w(n-1),y0=ai1/2
y:(r4) +,y0
;push w(n-1) to w(n-2),y0=bi2/2
y:(r4) +,y0
;push w(n) to w(n-1),y0=bi1/2
y:(r4) +,y0
;next iter:x0=w(n-2),y0=ai2/2
;round result
;output sample
MOTOROLA

Advertisement

Table of Contents
loading

This manual is also suitable for:

Dsp56k

Table of Contents