在某些信号处理的应用领域,特别是在一些实时应用中,希望在频域上对离散信号进行连续分析。分析不同时刻其输入样本对应的频谱,这就相当于用一个固定长度随时间滑动的滑动窗口来选择样本,这种在一个滑动窗口内计算N点DFT的算法称为滑动DFT算法。逐点滑动DFT原理图如下图所示:
按照传统的FFT算法,对于某一时刻,用FFT计算出其所有频谱,如果要计算下一时刻的频谱,则再进行一次FFT运算,这两次FFT运算是孤立进行的,它们之间没有任何关系。而实际上,对于连续的两个时刻,我们会发现,其窗口中的样本有着很大的相似性,后一个时刻的样本只是将前一个时刻的样本的第一个输入舍弃,而在最后添加一个新的样本。如果两个时刻相距不远,则后一个时刻的样本只是将前一个时刻的样本的前几个输入舍弃,而在最后添加几个新的样本。不同时刻的窗口中的样本只有一个或几个不同,其时域中的相似性必然会使其频谱有着一定的联系。滑动DFT算法正是基于这样的思想而进行的探讨,对于两个连续时刻的频谱,已知前一时刻频谱,则可以通过简单的递推运算,得到后一时刻的频谱,这在连续的实时谱分析中有着重要的实际意义。