[Computer-Aided Engineering] Design Finite Impulse Response Digital Filters The use of interpolation can save coefficients and required signal-processing power when implementing Nyquist FIR filters and multichannel filter banks. Ricardo A. Losada | ED Online ID #7761 | March 2004
Interpolation, as was noted last month, is an effective means of achieving a desired filter response (such as an equiripple response) with a reduced number of multipliers. The approach was applied to the implementation of interpolation finite-impulse-response (IFIR) filters. This month, in Part 3, the concept of interpolation will be further explored and applied to the design of various FIR filter types, including Nyquist filters and more complex filter banks. In the context of multirate signal processing, interpolation usually refers to band-limited interpolation. Band-limited interpolation is based on the notion of an underlying band-limited continuous-time signal that is being sampled. Ideal band-limited interpolation will take a digital (sampled) signal and produced an interpolated signal that will be identical to the signal that would be obtained by sampling the underlying continuous-time signal at a higher rate. Ideal band-limited interpolation can be accomplished by means of upsampling and using an ideal lowpass filter. Especially interesting is a time-domain interpretation of the ideal interpolator, which leads naturally to polyphase implementations. The key concept of band-limited-interpolation is that a signal to be interpolated is a sampled version of a band-limited continuous time signal. Denote the continuous-time signal by xc(t) and suppose its spectrum is zero for all |f| > fmax. Figure 25 shows the frequency spectrum X(2πjf). If the signal is sampled at a sampling frequency fs = 2fmax, the following signal results: xT [n] = { xc(nT) }, T = 1/fs Figure 26 shows its spectrum, xT (e2πjf/fs). Now suppose the continuous-time signal was sampled at a rate of f′s = Lfs = 2Lfmax. The sampled signal at the higher rate can be represented as: xT′[m] = {xc(mT′)}, T′ = 1/ f′s = T/L, where: m = Ln + k , k = 0 ... (L − 1) will have a spectrum xT′ (e2πjf/fs) as shown in Fig. 27 for the case L = 2. The job of the ideal interpolation filter should now be clear from the frequency-domain standpoint. Take the discrete-time signal with spectrum xT (e2πjf/fs) and digitally produce the discrete-time signal xT′ (e2πjf/f′s) that would have been obtained from sampling the original continuous-time signal at a rate of f′s = Lf′s. Figure 28 shows the response of an ideal interpolation filter. Clearly, it is a lowpass filter with periodicity of f′s , i.e. it must be operating at the high sampling rate. For this reason, it is necessary to upsample the input signal (although this is not necessary in practice where efficient algorithms are used) by inserting an appropriate amount of zeros between samples in order to feed the interpolation filter a signal at the correct rate. More precisely, the response of the ideal filter HD(e2πjf/f′s) for the general case of interpolation by a factor of L is given by:
The impulse response of the ideal interpolation filter can be found from the inverse DTFT (ref. 1):
Using the fact that Lf′s = 1/ T′ and T′ = 1/Lfs, the following results:
As expected for an ideal lowpass filter, an infinite impulse response is required to realize it. Further insight for the ideal interpolation filter will be given in the next section as part of a time-domain analysis. Once again, the key idea of ideal band-limited interpolation is to digitally produce a signal that would be exactly the same as a signal obtained by sampling a band-limited continuous-time signal at the higher sampling rate. Figure 29 depicts the situation in the time domain. Assuming the Nyquist sampling criterion has been satisfied (i.e., the continuous-time signal is band-limited and has been sampled at a rate of fs = 1/T ¾ 2fmax), no information has been lost from the continuous-time signal xc(t). Therefore, it should be possible to somehow recreate any instantaneous value xc(t0) of the continuous-time signal from the sampled signal xT [n]. Looking at Fig. 29, it can be seen that the job of the fivefold interpolator is to take every input sample xT [n] and produce five output samples {xT′ [m]}, m = 5n + k, k = 0...4 as follows (note that T = 0.5 and T′ = T/5 = 0.1):.
|
Resources

RSS


















)
