The above method of finding the frequency response involves physically measuring the amplitude and phase response for input sinusoids of every frequency. While this basic idea may be practical for a real black box at a selected set of frequencies, it is hardly useful for filter design. Ideally, we wish to arrive at a mathematical formula for the frequency response of the filter given by Eq. (1.1). There are several ways of doing this. The first we consider is exactly analogous to the sine-wave analysis procedure given above.
Assuming Eq. (1.1) to be a linear time-invariant filter specification (which it is), let's take a few points in the frequency response by analytically ``plugging in'' sinusoids at a few different frequencies. Two graphs are required to fully represent the frequency response: the amplitude response (gain versus frequency) and phase response (phase shift versus frequency).
The frequency 0 Hz (often called dc, for direct current) is always comparatively easy to handle when we analyze a filter. Since plugging in a sinusoid means setting , by setting , we obtain for all . The input signal, then, is the same number over and over again for each sample. It should be clear that the filter output will be for all . Thus, the gain at frequency is 2, which we get by dividing , the output amplitude, by , the input amplitude.
Phase has no effect at Hz because it merely shifts a constant function to the left or right. In cases such as this, where the phase response may be arbitrarily defined, we choose a value which preserves continuity. This means we must analyze at frequencies in a neighborhood of the arbitrary point and take a limit. We will compute the phase response at dc later, using different techniques. It is worth noting, however, that at 0 Hz, the phase of every real2.2 linear time-invariant system is either 0 or , with the phase corresponding to a sign change. The phase of a complex filter at dc may of course take on any value in .
The next easiest frequency to look at is half the sampling rate,
. In this case, using basic trigonometry (see §A.2), we can
simplify the input as follows:
(2.2) |
(2.3) |
If we back off a bit, the above results for the amplitude response are obvious without any calculations. The filter is equivalent (except for a factor of 2) to a simple two-point average, . Averaging adjacent samples in a signal is intuitively a low-pass filter because at low frequencies the sample amplitudes change slowly, so that the average of two neighboring samples is very close to either sample, while at high frequencies the adjacent samples tend to have opposite sign and to cancel out when added. The two extremes are frequency 0 Hz, at which the averaging has no effect, and half the sampling rate where the samples alternate in sign and exactly add to 0.
We are beginning to see that Eq. (1.1) may be a low-pass filter after all, since we found a boost of about 6 dB at the lowest frequency and a null at the highest frequency. (A gain of 2 may be expressed in decibels as dB, and a null or notch is another term for a gain of 0 at a single frequency.) Of course, we tried only two out of an infinite number of possible frequencies.
Let's go for broke and plug the general sinusoid into Eq. (1.1), confident that a table of trigonometry identities will see us through (after all, this is the simplest filter there is, right?). To set the input signal to a completely arbitrary sinusoid at amplitude , phase , and frequency Hz, we let . The output is then given by
All that remains is to reduce the above expression to a single sinusoid with some frequency-dependent amplitude and phase. We do this first by using standard trigonometric identities [2] in order to avoid introducing complex numbers. Next, a much ``easier'' derivation using complex numbers will be given.
Note that a sum of sinusoids at the same frequency, but possibly different phase and amplitude, can always be expressed as a single sinusoid at that frequency with some resultant phase and amplitude. While we find this result by direct derivation in working out our simple example, the general case is derived in §A.3 for completeness.
We have
(2.4) |