5.16: Discrete Time Filtering of Analog Signals
Learning Objectives
 A brief introduction on how to filter digital signals.
Because of the Sampling Theorem, we can process, in particular filter, analog signals "with a computer" by constructing the system shown in Fig. 5.16.1. To use this system, we are assuming that the input signal has a lowpass spectrum and can be bandlimited without affecting important signal aspects. Bandpass signals can also be filtered digitally, but require a more complicated system. Highpass signals cannot be filtered digitally. Note that the input and output filters must be analog filters; trying to operate without them can lead to potentially very inaccurate digitization.
must be filtered with an antialiasing filter (to ensure a bandlimited signal) before A/D conversion. This lowpass filter (LPF) has a cutoff frequency of W Hz, which determines allowable sampling intervals T_{s}. The greater the number of bits in the amplitude quantization portion of the A/D converter, the greater the accuracy of the entire system. The resulting digital signal x(n) can now be filtered in the timedomain with a difference equation or in the frequency domain with Fourier transforms. The resulting output y(n) then drives a D/A converter and a second antialiasing filter (having the same bandwidth as the first one).
Fig. 5.16.1 To process an analog signal digitally, the signalAnother implicit assumption is that the digital filter can operate in real time: The computer and the filtering algorithm must be sufficiently fast so that outputs are computed faster than input values arrive. The sampling interval, which is determined by the analog signal's bandwidth, thus determines how long our program has to compute each output The computational complexity for calculating each output with a difference equation is O(p+q). Frequency domain implementation of the filter is also possible. The idea begins by computing the Fourier transform of a lengthportion of the input multiplying it by the filter's transfer function, and computing the inverse transform of the result. This approach seems overly complex and potentially inefficient. Detailing the complexity, however, we have O(N log N) for the two transforms (computed using the FFT algorithm) and for the multiplication by the transfer function, which makes the total complexity O(N log N) for N input values. A frequency domain implementation thus requires O( log N) computational complexity for each output value. The complexities of timedomain and frequencydomain implementations depend on different aspects of the filtering: The timedomain implementation depends on the combined orders of the filter while the frequencydomain implementation depends on the logarithm of the Fourier transform's length.
It could well be that in some problems the timedomain version is more efficient (more easily satisfies the real time requirement), while in others the frequency domain approach is faster. In the latter situations, it is the FFT algorithm for computing the Fourier transforms that enables the superiority of frequencydomain implementations. Because complexity considerations only express how algorithm runningtime increases with system parameter choices, we need to detail both implementations to determine which will be more suitable for any given filtering problem. Filtering with a difference equation is straightforward, and the number of computations that must be made for each output value is 2(p+q).
Exercise \(\PageIndex{1}\)
Derive this value for the number of computations for the general difference equation.
Solution
We have multiplications and additions. Thus, the total number of arithmetic operations equals 2(p+q).
Contributor

ContribEEOpenStax