Digital Signal Processing Reference
In-Depth Information
3
Digital Filters
We use digital filters [1] on many occasions without our knowledge. The main
reason for this is that any sequence of numbers if multiplied 1 and added constitutes
a simple linear filter. The temperature of a bulb follows a similar law but with some
more modifications. Computing compound interest has a similar structure.
Such filters are nothing but a difference equation with or without feedback. For a
software engineer it is a piece of code; for a hardware engineer it is an assembly of
shift registers, adders, multipliers and control logic.
Converting a difference equation to a program is fairly simple and routine. The
key step is to choose the coefficients of the difference equation so they suit your
purpose. There are many methods available in the published literature [1, 2] for
obtaining the coefficients in these difference equations. There are also many
powerful software packages 2 available to assist the designer in the implementation.
There is another class of design approach required in many practical situations,
where we need to obtain the filter coefficients given the measured impulse response
of the filter (h k ), or given an input (u k ) and an output sequence (y k ), or given the
amplitude and phase response of the filter. Problems of this type are known as
inverse problems. For a difference equation, obtaining the output corresponding to a
given input is relatively easy and is known as the forward problem.
3.1 How to Specify a Filter
Conventionally filters are specified in the frequency domain. For a better under-
standing, consider the filter in Figure 3.1. There are three important parameters that
often need to be specified when designing a filter. Conventionally, slope or roll-off
is defined in dB/decade or dB/octave.
1 By another set of constants.
2 MATLAB, SABER, etc.
Search WWH ::




Custom Search