Particle Swarm Optimization (PSO) in the Design of Adaptive IIR Filters
In many applications, it is necessary to filter one signal
xn in order to match another signal
yn as closely as possible. In addition, both
signals could be varying over time, so that the filter must change in
order to continually provide minimal error. Generally in these
situations, a Finite Impulse Response (FIR) filter is used because of
the ease with which it may be implemented. But, many times a better
result could be obtained by the use of an Infinite Impulse Response
(IIR) filter. This improvement is generally overlooked due to the
complications introduced by an IIR filter and the fact that an IIR
filter with the transfer function
is the same as the filter with transfer function
which can be approximated as
The main complication which IIR filters introduce is that they depend
nonlinearly on their coefficients. This makes an optimal choice
nearly impossible except in the most trivial of situations. This can
be overcome by applying an optimization technique such as Particle
Swarm Optimization (PSO). Using this technique, we would choose
several possible collections of IIR coefficients, and see what error
each produces. Based on those results, we would choose new points to
test, and continue until all of the points have clustered together and
“swarm” in a small area. PSO converges faster than many
other optimization algorithms that could handle this type of problem.
This makes it an ideal choice for adaptive applications where the
optimization will need to be performed often as the signal evolves.
This has application to many areas of signal processing including acoustic echo cancellation.