B.1.16 Autocorrelation Algorithm - Motorola DSP56800 Manual

16-bit digital signal processor
Table of Contents

Advertisement

;
A faster version of the PID
;
y(n) = y(n-1) + k0 x(n) + k1 x(n-1) + k2 x(n-2)
opt
cc
move
#s+2,r0
move
#2,m0
move
#k,r3
;
B accumulator holds y(n-1), Y1 holds the K0 coefficient
move
mac
x0,y0,b
mac
y0,x0,b
movep
macr
y0,x0,b
movep
;
;
B.1.16
Autocorrelation Algorithm
move
#cor,r1
move
#frame,r2
do
#lpc+1,_loop1
move
r2,r3
clr
b
move
#frame,r0
lea
(r2)+
move
lc,y1
move
#>N-(p+1),a
add
y1,a
rep
a
mac
y0,x0,b
move
b0,x:(r1)+
move
b1,x:(r1)+
_loop1
;
B-24
x:(r0)+,y0
x:(r3)+,y0
x:(r0)+,y0
x:(r3)-,x0
x:input,b
b,x:(r0)+
b,x:output
x:(r0)+,y0
x:(r3)+,x0
x:(r0)+,y0
x:(r3)+,x0
DSP56800 Family Manual
;
; r0 mod 3
;
; 1
1 get x(n-2),k2
; 1
1 get x(n-1),k1
; 1
1
; 1
1 get x(n)
; 1
1 save x(n)
; 1
1 y(n) in b
_________
6
6
; 2
2
; 2
2
; 2
3
; 1
1
; 1
1
; 2
2
; 1
1
; 1
1
; 2
2
; 1
1
; 1
3
; 1
1
; 1
1
; 1
1
; ______
2
23
(p+1)
(N-p/2)+15(p+1) +6

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents