dsp56800 Freescale Semiconductor, Inc, dsp56800 Datasheet - Page 412

no-image

dsp56800

Manufacturer Part Number
dsp56800
Description
16-bit Digital Signal Controllers
Manufacturer
Freescale Semiconductor, Inc
Datasheet
B.1.7.2
Figure B-4 shows a memory map for this implementation of the double-precision LMS adaptive filter.
B-16
Do_FIR:
; (Get d(n), subtract fir output, multiply by “u”, put the result in x0.
; This section is application dependent.)
opt
PUSH
MOVE
MOVE
MOVE
MOVE
MOVEP X:InputValue,Y0
MOVE
CLR
MOVE
DO
MAC
MOVE
MACR
MOVEP
MOVE
MOVE
MOVE
MOVE
MOVE
DO
MAC
Double Precision
cc
M01
#X_Vec7,R0
#N_-1,M01
M01,Y1
#2,N
#Coeff,R3
A
Y1,Do_FIR
X0,Y0,A
X0,Y0,A
#Coeff,R3
R3,R1
#NTaps,EndDO1_7_2
X0,Y0,A
Figure B-4. LMS Adaptive Filter — Double Precision Memory Map
Y0,X:(R0)+
X:(R0)+,Y0
X:(R3)+N,X0
A,X:Output
X:(R0)+,y0
X:(R0)+,Y0
r1, r3
r0
DSP56800 Family Manual
X:(R3)+N,X0 ; 1
X:(R3)+,A
X:(R3)+,A0
X memory
x(n-N+1)
x(n-1)
c0_H
c1_H
c0_L
c1_L
x(n)
.
.
.
; 2
; 2
; 2
; 1
; 1
; 1
; 2
; 1
; 2
; 1
; 1
; 1
; 1
; 2
; 1
; 1
; 1
; 1
; 2
; 1
2
2
2
1
1
1
2
1
1
3
1
1
1
1
2
1
1
1
1
3
1
save addr mode state
start of X
modulo N_
initialize REP loop count
adjustment for filtering
get input sample
start of coefficients
save input in x(n),incr R0
X0=c[0,H] and incr R3
do fir
accum & update x[i]
update c[i,H]
last tap
output fir if desired
start of coefficients
start of coefficients
Y0=x(n) and incr R0
a=c[0,H] and incr R3
a0=c[0,L] and incr R3
update coef.
u e(n) x(n)+c; fetch x(n)
Freescale Semiconductor
AA0082

Related parts for dsp56800