Adaptive IIR filters are attractive for the same reasons that
IIR filters are attractive: many fewer coefficients may be needed
to achieve the desired performance in some applications.
However, it is more difficult to develop stable IIR
algorithms, they can converge very slowly, and
they are susceptible to local minima. Nonetheless, adaptive IIR
algorithms are used in some applications (such as low frequency
noise cancellation) in which the need for IIRtype responses is
great. In some cases, the exact algorithm used by a company
is a tightly guarded trade secret.
Most adaptive IIR algorithms minimize the
prediction error, to linearize the estimation
problem, as in deterministic or block linear prediction.
y
k
=∑
n
=1L
v
n
k
y
k

n
+∑
n
=0L
w
n
k
x
k

n
y
k
n
1
L
v
n
k
y
k

n
n
0
L
w
n
k
x
k

n
Thus the coefficient vector is
W
k
=
v
1
k
v
2
k
⋮
v
L
k
w
0
k
w
1
k
⋮
w
L
k
W
k
v
1
k
v
2
k
⋮
v
L
k
w
0
k
w
1
k
⋮
w
L
k
and the "signal" vector is
U
k
=
y
k

1
y
k

2
⋮
y
k

L
x
k
x
k

1
⋮
x
k

L
U
k
y
k

1
y
k

2
⋮
y
k

L
x
k
x
k

1
⋮
x
k

L
The error is
ε
k
=
d
k
−
y
k
=
d
k
−
W
k
T
U
k
ε
k
d
k
y
k
d
k
W
k
U
k
An LMS algorithm can be derived using the approximation
E
ε
k
2=
ε
k
2
ε
k
2
ε
k
2
or
∇^k=∂
ε
k
2∂
W
k
=2
ε
k
∂
ε
k
∂
W
k
=2
ε
k
∂
ε
k
∂
v
1
k
⋮∂
w
1
k
∂
ε
k
⋮=2
ε
k
∂
y
k
∂
v
1
k
⋮∂
y
k
∂
v
L
k
∂
y
k
∂
w
0
k
⋮∂
y
k
∂
w
L
k
∇
k
W
k
ε
k
2
2
ε
k
W
k
ε
k
2
ε
k
v
1
k
ε
k
⋮
ε
k
w
1
k
⋮
2
ε
k
v
1
k
y
k
⋮
v
L
k
y
k
w
0
k
y
k
⋮
w
L
k
y
k
Now
∂
y
k
∂
v
i
k
=∂(∑
n
=1L
v
n
k
y
k

n
+∑
n
=0L
w
n
k
x
k

n
)∂
v
i
k
=
y
k

n
+∑
n
=1L
v
n
k
∂
y
k

n
∂
v
i
k
+0
v
i
k
y
k
v
i
k
n
L
1
v
n
k
y
k

n
n
L
0
w
n
k
x
k

n
y
k

n
n
L
1
v
n
k
v
i
k
y
k

n
0
∂
y
k
∂
w
i
k
=∂(∑
n
=1L
v
n
k
y
k

n
+∑
n
=0L
w
n
k
x
k

n
)∂
w
i
k
=∑
n
=1L
v
n
k
∂
y
k

n
∂
w
i
k
+
x
k

n
w
i
k
y
k
w
i
k
n
L
1
v
n
k
y
k

n
n
L
0
w
n
k
x
k

n
n
L
1
v
n
k
w
i
k
y
k

n
x
k

n
Note that these are difference equations in
∂
y
k
∂
v
i
k
v
i
k
y
k
,
∂
y
k
∂
w
i
k
w
i
k
y
k
: call them
α
i
k
=∂
y
k
∂
w
i
k
α
i
k
w
i
k
y
k
,
β
i
k
=∂
y
k
∂
v
i
k
β
i
k
v
i
k
y
k
, then
∇^k=(
β
1
k
β
2
k
…
β
L
k
α
0
k
…
α
L
k
)T
∇
k
β
1
k
β
2
k
…
β
L
k
α
0
k
…
α
L
k
, and the IIR LMS algorithm becomes
y
k
=
W
k
T
U
k
y
k
W
k
U
k
α
i
k
=
x
k

i
+∑
j
=1L
v
j
k
α
i
k

j
α
i
k
x
k

i
j
L
1
v
j
k
α
i
k

j
β
i
k
=
y
k

i
+∑
j
=1L
v
j
k
β
i
k

j
β
i
k
y
k

i
j
L
1
v
j
k
β
i
k

j
∇^k=2
ε
k
(
β
1
k
β
2
k
…
α
0
k
α
1
k
…
α
L
k
)T
∇
k
2
ε
k
β
1
k
β
2
k
…
α
0
k
α
1
k
…
α
L
k
and finally
W
k
+
1
=
W
k
−U∇^k
W
k
+
1
W
k
U
∇
k
where the μμ may be
different for the different IIR
coefficients. Stability and convergence rate depends on these
choices, of course. There are
a number of variations on this algorithm.
Due to the slow convergence and the difficulties in tweaking the
algorithm parameters to ensure stability, IIR algorithms are
used only if there is an overriding need for an IIRtype filter.
"A good introduction in adaptive filters, a major DSP application."