Home Sliding DFT Tutorial Weighted Sliding DFT Example Application Contact


Sliding DFT Tutorial (6 of 6)

Both the FFT and the sliding DFT perform their operations in stages that must occur sequentially. In a sliding processor, all of the stages must execute in one sample interval, since the processor must finish the current sample batch before a new sample arrives to form the next following sample batch.

The average time allowed for each stage to finish processing is on the order of the sample interval divided by the number of stages. There are three processing stages in a sliding DFT, regardless of the batch length. The number of stages in an FFT depends on the base 2 logarithm of the batch length. The figure below shows the relative throughput required of both architectures as the batch length increases.


Since the sliding DFT always executes in three stages, the batch length does not affect the required throughput. On the other hand, the throughput required of the FFT, and thus the expense and difficulty of implementing it in a sliding system, increases steadily.

Although promising for many high-performance applications, the early sliding processor cannot accommodate an amplitude weighting function in a straightforward manner, which limits its capacity to clean up noisy signals and to separate simultaneous signals. Recognizing this limitation, as well as the impracticality of introducing amplitude weights at the input to the sliding processor, various researchers have devised schemes for applying the DFT transformation of the amplitude weights to the output of the sliding processor in a mathematically equivalent convolution operation.


It is a common error to view this operation as straightforward. The assumption is that most weighting functions are based on a modified cosine, the DFT of which is a simple pair of constants that multiply with the output of the sliding processor easily. Unfortunately, any symmetrical weighting function contains slightly more than one period of the cosine (exactly one sample more). This results in an amplitude weighting that is complex and costly to implement using the method shown above. Until recently, no one has found a reasonable way to generate a weighted sliding DFT.