FFT原理

FFT在通信领域有着很重要的地位,因为它运算快,易于硬件实现,例如OFDM符号的生成就可以直接利用FFT,今天我们就分析一下FFT的原理。

一、DFT复杂度
我们知道FFT是一种DFT的高效算法,称为快速傅立叶变换(fast Fourier transform)。那么为什么要有这种高效算法呢?就先从DFT说起。下面是DFT的公式:
FFT原理_第1张图片
式中
在这里插入图片描述
既然FFT是为了减小DFT的运算复杂度,那么咱们先分析DFT的运算复杂度。举一个简单的例子,假如采用N=3,采用的是BPSK调制,那么假设信号序列是101,经过BPSK调制之后,信号如下:
FFT原理_第2张图片
根据欧拉公式有:
在这里插入图片描述
其中N=3,所以对于k=0:
FFT原理_第3张图片
还有k=1和k=2时X(1)和X(2)。
从这个具体的例子中不难推导出DFT的运算复杂度,对于一个k值,需要进行4N次实数相乘和4N-2次实数相加,所以总共需要4N*N次相乘和N(4N-2)次相加,也就说它的复杂度是O(n^2)。

二、FFT推导
FFT方便处理长度N=2^M的情况,如果长度不是2的整数次幂的情况,则通过补零即可。
首先将x(n)分为奇偶两个序列之和:
在这里插入图片描述
则两个序列的长度都为N/2,则:
FFT原理_第4张图片
由于:
在这里插入图片描述
所以:
在这里插入图片描述
对于其中的X1(k)和X2(k),我们可以推导下面过程:
FFT原理_第5张图片
所以:
在这里插入图片描述
即:
我们把一个N点的DFT拆成了两个N/2的DFT。同理逐渐拆下去,直到2^m的DFT拆成m-1个2点DFT为止。就以8点DFT为例,可以拆成两个4点DFT:
FFT原理_第6张图片
然后继续可以拆成4个2点DFT:
FFT原理_第7张图片
这就是FFT的蝶形运算。

你可能感兴趣的:(其他,FFT,DFT,蝶形运算)