在进行DIT-FFT将N点序列DFT拆分成M次时需要应用到蝶形图,在这里我将详细的描述蝶形图该如何绘制
这里将有N=16点进行举例
①首先我们得得到初始时序序列的排序。即x(0−15)x(0-15)x(0−15)的时域序列的排序。
这里推荐使用二进制高位到低位进位法进行判决。
即从最高位开始加1,若最高位已经是1了向次高位进位,直到加满。
如:
那么我们已经明白该如何进行最初的时域序列的排序了,接下来可以先画上第一次的蝶形运算。
如图:
这时我们需要知道蝶形图的下脚的C为多少,这里引进一个公式(公式在这就不进行推导)C=WNj∗2M−L(L为第L层蝶形运算j=0,1,…2L−1)C=W_N^{j*2^{M-L}}(L为第L层蝶形运算 j=0,1,…2^{L-1})C=WNj∗2M−L(L为第L层蝶形运算j=0,1,…2L−1)
因此我们可以进行C的填充。
以此类推画完全部的蝶形图:

本文深入探讨了离散傅立叶变换(DFT)和快速傅立叶变换(FFT)的原理,以16点序列为例详细阐述了DFT的计算过程,并通过二进制高位到低位进位法排列初始序列。重点介绍了FFT中的蝶形运算,解释了蝶形图的构造,给出了计算蝶形图中系数C的公式,并逐步展示了如何填充和绘制完整的蝶形图,帮助读者理解FFT算法的实现细节。
&spm=1001.2101.3001.5002&articleId=112362312&d=1&t=3&u=7580b445bb154ed4bbb8efd08a5c2c58)
171

被折叠的 条评论
为什么被折叠?



