同址计算(Identical Address Operation)是FFT中的主要算法,因其在计算时总是用当前层替代前一层,具有地址不变的关系而得名。也就是输出数据使用原输入数据结点所占用的内存,输出、输入数据利用同一内存单元的这种蝶形计算称为同址计算,该算法在计算全部分析点数据时具有很高的效率。
“同址运算”迭代算法是从第一层开始,以m层的各个节点Xm,k作为已知点,将(m+1)层的各个节点Xm+1,k迭代出来,直到算出最后一层为止,为了节省存储空间,将已算得的对应节点数据替换前一节点,对应数据作为下一轮迭代的已知数据,“同址运算”由此得名。
首先,该算法容易实现,利用旋转因子中出现1处进行基分解(split-radix)省去复数乘积而使DFT速度进一步提高,该算法在计算全部谱线时效率很高。
其次,每一级的蝶形的输入与输出在运算前后可以存储在同一地址的存储单元中,这种同址运算的优点是可以节省存储单元,从而降低对计算机存储量的要求或降低硬件实现的成本。
虽然该算法在计算全部谱线时效率很高,但是在计算局部谱线时存在冗余。
分析FFT结果的特点可知X(k)与X(N-k)有如下关系:
上式表明对N点的FFT只要求出(0-N/2)点,利用对偶规则可以得到另外一半,而不必算出全部点,因此存在冗余。