Periodic Interpolation (Spectral Zero Padding)
Definition: For all and any integer ,
where zero padding is defined in §7.2.7 and illustrated in Figure 7.7. In other words, zero-padding a DFT by the factor in the frequency domain (by inserting zeros at bin number corresponding to the folding frequency7.21) gives rise to ``periodic interpolation'' by the factor in the time domain. It is straightforward to show that the interpolation kernel used in periodic interpolation is an aliased sinc function, that is, a sinc function that has been time-aliased on a block of length . Such an aliased sinc function is of course periodic with period samples. See Appendix D for a discussion of ideal bandlimited interpolation, in which the interpolating sinc function is not aliased.
Periodic interpolation is ideal for signals that are periodic in samples, where is the DFT length. For non-periodic signals, which is almost always the case in practice, bandlimited interpolation should be used instead (Appendix D).
Proof: First, recall that . That is, stretching a signal by the factor gives a new signal which has a spectrum consisting of copies of repeated around the unit circle. The ``baseband copy'' of in can be defined as the -sample sequence centered about frequency zero. Therefore, we can use an ``ideal filter'' to ``pass'' the baseband spectral copy and zero out all others, thereby converting to . I.e.,
The previous result can be extended toward bandlimited interpolation of which includes all nonzero samples from an arbitrary time-limited signal (i.e., going beyond the interpolation of only periodic bandlimited signals given one or more periods ) by
- replacing the rectangular window with a smoother spectral window , and
- using extra zero-padding in the time domain to convert the cyclic convolution between and into an acyclic convolution between them (recall §7.2.4).
The approximation symbol `' approaches equality as the spectral window approaches (the frequency response of the ideal lowpass filter passing only the original spectrum ), while at the same time allowing no time aliasing (convolution remains acyclic in the time domain).
Equation (7.8) can provide the basis for a high-quality sampling-rate conversion algorithm. Arbitrarily long signals can be accommodated by breaking them into segments of length , applying the above algorithm to each block, and summing the up-sampled blocks using overlap-add. That is, the lowpass filter ``rings'' into the next block and possibly beyond (or even into both adjacent time blocks when is not causal), and this ringing must be summed into all affected adjacent blocks. Finally, the filter can ``window away'' more than the top copies of in , thereby preparing the time-domain signal for downsampling, say by :
Why a DFT is usually called an FFT in practice
Zero Padding Theorem (Spectral Interpolation)