<<home  <<previous  next>>

Below, I have done a visual impression of such signal wrapping. Notice that the window stretches over two subsequent signal blocks.


The second block is wrapped over the first one, summing the sample values, and the total is put in one FFT analysis.


From the figure, it seems that the function as it appears to the FFT, is now periodical. Here is another impression of signal wrapping, with the samples summed in the third figure:


Ok, it is now periodical within the FFT frame, but it is not 1 frequency anymore, since it is modulated. Let me check what the spectrum looks like. Maybe not so surprising, it is similar to the N-point spectrum of the original input, only the wrapped version is compressed to a N/2 point spectrum.


Notice the difference in size. Accounting for it's N/2 spectrum size, the wrapped version has a remarkable leakage character. In terms of unit bin width, the main lobe is reduced to half size: two bins instead of the four bins that are normally associated with a Hann window. It is really the N-point spectrum translated to N/2 point resolution: a factor 2 downsampling of the spectrum. It is the opposite of the zero-padding that I used to generate the upsampled spectra on the previous page, to inspect the Dirichlet functions.

What is the use of this spectrum downsampling? Would we not rather need a more accurate spectrum instead of a less accurate one? Well... since the windowed Fourier transform of a pure sinusoid is by definition a Dirichlet sum with four coefficients in it's main lobe, why not just summarize these in a spectrum of lesser resolution? It reduces the risk of accidentally chopping a main lobe with a sharp filter.

To improve the leakage character, an extra window function is applied. It is a sinc function: FFTsize*(sin(pi*x/FFTsize)/(pi*x)). Because the periodicity of the sinc function is dependent on the FFT frame size and not the input block size, the resulting window function depends on how much of the input you want to wrap in one FFT analysis frame:

inputblock = FFTsize*2
inputblock = FFTsize*4

These windows do not produce a constant sum when they are overlapped. Without demodulation, it would look like this:

inputblock = FFTsize*4