This month we turn to the topic of adaptive digital filters. Just as we improved our ability to apply controls to external process by introducing a closed loop, we will improve our filtering by closing the loop and using the filter output to modify the filter in real-time.
Adaptive filters can either be IIR (Infinite Impulse Response) or FIR (Finite Impulse Response) type filters (there are also nonlinear filter types, but we will not consider them here). Generally the form of the filter remains fixed as it runs, but a special output channel of the filter (usually called the error output) is fed into a process which recalculates the filter coefficients in order to produce an output that is closer to the desired form (see Figure 1). If it is properly designed, the result of such a filter is an output that enhances the desired component over a wide range of conditions.
As with ordinary digital filters, there is a vast amount of written material available on the topic of adaptive filters. We will only give a limited introduction to the topic here. You should also be aware that a proper treatement of adaptive filters requires a good deal of calculus and linear algebra; I will mostly spare you all the math in order to provide an introduction to the types of adaptive filters and their applications.