EE 123: Digital Signal Processing Spring 2007 Lecture 15 March 6 Lecturer: Prof. Anant Sahai Scribe: Julia Owen 15.1 Outline These notes cover the following topics: Overlap-Add and Overlap-Save OFDM tricks Changing Sampling Rates 15.2 Overlap-Save and Overlap-Add Generally in discrete-time processing we talk about linearly convolving a sequence with a FIR filter. In contrast, the FFT performs circular convolution with a filter of equal or lesser length. In computing the DFT or FFT we often have to make linear convolution behave like circular convolution, or vice versa. Two methods that make linear convolution look like circular convolution are overlap-save and overlap-add. 15.2.1 Overlap-Save The overlap-save procedure cuts the signal up into equal length segments with some overlap. Then it takes the DFT of the segments and saves the parts of the convolution that correspond to the circular convolution. Because there are overlapping sections, it is like the input is copied therefore there is not lost information in throwing away parts of the linear convolution. 15.2.2 Overlap-Add The overlap-add procedure cuts the signal up into equal length segments with no overlap. Then it zero-pads the segments and takes the DFT of the segments. Part of the convolution result corresponds to the circular convolution. The tails that do not correspond to the circular convolution are added to the adjoining tail of the previous and subsequent sequence. This addition results in the aliasing that occurs in circular convolution. 15-1
15.3 OFDM Tricks Orthogonal frequency-division multiplexing (OFDM) is a communication technique that employs the FFT to transmit the signal under poor channel conditions. It uses a cyclic postfix trick to imbed a FFT operation in discrete time. In the end overlap-save and OFDM employ the same In general OFDM does: 1. copy first part of vector to end to make periodic enough 2. use DT-FIR filter 3. keep the good output and throw away the rest A way to reassemble the output is to add a null-suffix to the input segments and then do a linear convolution. The goal is then to get the linear convoloution to look like the circular convolution. The convolution yields a part in the beginning that is not correct, followed by a part that does correspond to the circular convolution, and then a part that decays away at the end. Just as in the overlap-add procedure, the two incorrect parts are added together to yield the circular convolution equivalent. A more realistic picture of a communication channel is: The distribution of the noise is white, meaning that it is insensitive to direction or orientation and it is independent from sample to sample. The noise concerns are not the same between overlap-save and overlap-add because in overlap-add the addded regions get double the noise contribution and therefore are colored. If the suffix length is k and the original sequence segment length is n, then there is an increase of noise power equal to n+k. Of interest is the fact that the signal power loss from performing n n overlap-save is, which is the reciprocal of the noise power gained above. This results in n+k an identical SNR for these two procedures, but different noise models. 15.4 Changing Sampling Rates Let s take the example where we sampled a continuous signal with period T but then some time later realized that sampling with a sampling period of T would have been more covenient. 15-2
15.4.1 Downsampling If T = MT, where M is an integer, then this is called downsampling or decimation and in the time domain this corresponds to throwing away samples and keeping every Mth sample. x [n] = x[mn] In the frequency domain this corresponds to streching of the frequency axis by a factor of M. The following is the derivation for the stretching of the frequency axis: Ω s = 2π = 2π T MT Thus the spectrum after sampling is: if we substitute r = i + km X d (e jw ) = frac1t M X d (e jw ) = 1 M where this is equivalent to M 1 i=0 1 T X d = 1 M M 1 i=0 This is illustrated in the following figure: X c (j X X c (j ( w MT 2πk )) MT ( w MT 2πk MT 2π )) MT ( e ( jω M 2πi M ) ) 15-3
The following is block diagram for this process: There is an anti-aliasing filter in front to avoid the overlap in the copies of the spectrum after sampling and stretching. 15.4.2 Upsampling If T = T, where L is an integer, then this is called upsampling or integer interpolation L and in the time domian this corresponds to adding L zeros between samples. { x x[ n [n] = ], n = kl L 0, otherwise = x[k]δ[n kl] Thus the spectrum after sampling is: ( ) X u (e jw ) = x[k]δ[n kl] e jωn = n= This is illustrated in the following figure: x[k]e jωkl = X(e jωl ) 15-4
The following is block diagram for this process: The filter in this case is used to isolate the baseband copy of the spectrum. 15.4.3 Changing Sampling Rate by a Rational (Noninteger) Number Since rational numbers can be expressed as an integer, N, divided by an integer, D, where T = N T. We can think of this as cascading two systems - first upsampling by a factor of D L = D and then downsampling by a factor of M = N. This cascade is illustrated in the following figure: The above system is equivalent to the following system: 15-5
The hardest case is when one wants to change the sampling rate by a irrationla factor. This can be done by using a locally rational factor. 15-6