B.1.4 Nth Order Power Series (Real, Fractional Data); B.1.5 N Cascaded Real Biquad Iir Filters (Direct Form Ii) - Motorola DSP56800 Manual

16-bit digital signal processor
Table of Contents

Advertisement

END_DOB
RND
A
RND
B
;
;
B.1.4
Nth Order Power Series (Real, Fractional Data)
; c = SUM(I=0,...,N) { a(I) * b**I }
; = [[[a(n) *b+a(n-1)] *b+a(n-2)]*b+a(n-3)].....
opt
cc
MOVE
#BD,R1
MOVE
#AD,R0
MOVE
MOVE
Y0,Y1
MOVE
MOVE
DO
#NUM/2,END_DOC
MAC
A1,Y0,B
MAC
B1,Y1,A
END_DOC
RND
A
;
;
B.1.5
N Cascaded Real Biquad IIR Filters (Direct Form II)
Many digital-filter design packages generate coefficients for direct form II IIR filters. Often, these
coefficients are greater in magnitude than 1.0. This implementation is suitable for IIR filters with
coefficients greater in magnitude than 1.0 because it allows the user to simply divide all coefficients
generated by 2.
; w(n)/2 = x(n)/2 - (a1/2) * w(n-1) - (a2/2) * w(n-2)
; y(n)/2 = w(n)/2 + (b1/2) * w(n-1) + (b2/2) * w(n-2)
; D High Memory Order - w(n-2)1,w(n-1)1,w(n-2)2,w(n-1)2,...
; D Low
Memory Order - (a2/2)1,(a1/2)1,(b2/2)1,(b1/2)1,(a2/2)2,...
; This version uses two pointers.
opt
cc
MOVE #W,R0
MOVE #C,R3
MOVE #-1,N
MOVE
Total:
X:(R1),Y0
X:(R0)+,A
X:(R0)+,B
X:(R0)+,A
X:(R0)+,B
Total: 13
x:input,A
DSP Benchmarks
; 1
1
; 1
1
_______
15
5N+11
; 2
2
; 2
2
; 1
1
b
; 1
1
b
; 1
1
get a(n)
; 1
1
get a(n-1)
; 2
3
; 1
1
get a(n-2), and
so on
; 1
1
get a(n-3), and
so on
; 1
1
_______
1N+12
; 2
2
; 2
2
; 1
1
; 1
1
B-5

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents