表总结了DFT重要的一些属性。许多属性与傅立叶变换一致,例如:变换是惟一(双射)的、重叠的使用,以及实部与虚部通过Hilbert变换联系在一起。
表 DFT 定 理
前向和反向变换的相似性产生了一种可选的反演算法。利用DFT的向量/矩阵表示式:
也就是可以利用刻度为1/N的严的DFT计算离散傅立叶反变换。
1.实序列的DFT
现在来研究一下当输入序列是实数时,一些DFT(和FFT)计算的额外简化计算。在这种情况下,我们有两种选择:一种是可以用一个N点DFT计算两个N点序列的DFT;另一种是可以用一个N点DFT计算一个长度为2N的实序列的DFT。
如果利用表给出的Hilbert属性,也就是实序列具有偶对称的实频谱和奇对称的虚频谱,就可以将下面的算法合成起来[124]。
因此,除了一个N点DFT(或FFT)之外的计算量就是来自旋转因子±exp(jπk/N)次实数加法和乘法。
为了用一个长度为N的DFT变换两个长度为N的序列,我们可以运用实序列具有一个偶频谱而纯虚序列的频谱为奇数这一事实(请参阅表)。这也是下面算法的基础。
因此,除了一个N点DFT(或FFT)之外的计算量就是为了构成正确的2个N点DFT而进行的2N次实数乘法。
2.利用DFT计算快速卷积
常用到DFT(或FFT)的一个领域就是计算卷积。如同傅立叶变换一样,时域内的卷积就是将两个变换的序列相乘:两个时间序列在频域内变换,计算一个(标量)逐点乘积,再将结果返回到时域中。与傅立叶变换相比,主要的区别是DFT计算了一个循环的而不是线性的卷积。这一点在用FFT实现快速卷积的时候必须加以考虑。也就产生了两种方法,分别是“重叠节约”和“重叠增加”。在重叠节约方法中,我们只需要简单地放弃在边界被循环卷积破坏的采样即可。在重叠增加方法中,通过在公共乘积流上直接加上部分序列的方法在滤波器和信号中填充0。
对于快速卷积而言,常见的输入序列都是实序列。因此,有效卷积可以用实变换来实现。我们还可以为Hartley变换构造一个类似FFT的算法,与复变换[130]相比较,可以将性能提高两倍。
如果要利用可行的FFT程序,我们需要使用前面讨论过的实序列算法6.2或算法6.3。图给出了一个与算法6.2相似的可选方法,该方法用—个N点DFT来实现两个N点变换,不过在这种情况下,实部用作DFT,虚部用作IDFT,根据卷积理论,在反变换的时候需要用到虚部。
图 采用复数FFT的实数卷积[56]
假设实数值滤波器(也就是F[k]=F[-k]*)的DFT已经被离线计算过,那么在频域内就只需要N/2次乘法来计算X[K]F[K]。
欢迎转载,信息来源维库电子市场网(www.dzsc.com)
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。