Special Filter Instructions
4-68
Figure 4–7. Filter Instruction and Circular Buffering for N+1 Tap Filter
16 BitsTAG
AC n+1AC n+2 AC ny
if TAG = 1
Rx
even
coeff_array
DP
coeff_array
Rx
even
+1
CORK/FIRK only
COR/FIR only
h[0]
h[1]
h[2]
0
0
0
h[3]
h[4]
0
0
0
h[N–1]
0
0
0
h[N]0
0
16 Bits17
th
Bit
coeff_array
coeff_array
is stored in
program or data memory
based on filter instruction.
x
[k]
x
[k–1]
x
[k–2]
0
0
0
x
[k–3]
x
[k–4]
0
0
0
x
[k–N]
0
0
1
x
[k+1]0
16 Bits17
th
Bit
sample_buf
x
x
x
x
x
x
x
+
STAT
x[k–N–1] is replaced
by x[k+1]
y = Σ
k
=0..N
h[
m
] ×
x
[k–
m
]
+
R5 = –2(N+1)
program memory (FIRK/CORK)
data memory (FIR/COR)
48-bit accumulation for COR/CORK
32-bit accumulation
for FIR/FIRK
17
th
Bit
Rx
even