快速傅里叶变换FFT解析

1、FFT介绍

快速傅里叶变换:理解为实现DFT的快速算法,只是单纯的让数字信号处理器DSP跑DFT算法更快点。

傅里叶变换将信号转换到频域上去分析,学术研究可以用连续信号,模拟域的傅里叶变换去分析问题,但是计算机是无法分析在模拟域分析问题。DFT将频域离散分析问题,一般书本上都会对FFT做描述,为什么有FFT产生,最重要的原因的就是运算量,书本上对DFT的运算复杂度都作了详细介绍。

2、FFT算法核心

FFT实现的核心在于旋转因子具有的性质:

1)周期性:W_{N}^{k*n} = W_{N}^{k*(n+N))} = W_{N}^{n*(k+N))}

2)对称性:W_{N}^{k*(n+N/2))} = -W_{N}^{k*n}   和(W_{N}^{k*n})^{*} = W_{N}^{-k*n} =W_{N}^{k*(N-n)}

3)可约性:W_{N}^{k*n} = W_{m*N}^{m*k*n} 和 W_{N}^{k*n} = W_{N/m}^{k*n/m}

对照下图理解以上3个性质是理解FFT抽取过程,旋转因子变化的原理。以8点DFT举例,e^{(-j*2*pi )/8}连续对应下图,N=8;

X(k) = \sum_{n = 0}^{ N-1} x(n)e^{(-j*2*\pi*k*n)/N}= \sum_{n = 0}^{ N-1} x(n)W_{N}^{k*n}现在只关心旋转因子e^{(-j*2*pi )/8}就可以。以k=1为例

1)周期性应该比较好理解,直观去看第k*n点,与转了k圈或是n圈的重合。

2)对称性从图上很容易看出,点1与点5满足第一个公式,点1与点7共轭对称满足

3)可约性从旋转因子的公式容易得出


上述性质就是实现蝶形运算的关键。

FFT实现另一个的关键点:将长序列分解成短序列计算

 

每一级运算都是2点DFT,经过3级运算最终得到8点DFT结果。

X(1) = x(0)*W_{8}^{1*0} + x(1)*W_{8}^{1*1} + ... +x(7)*W_{8}^{1*7}这是利用理论公式计算出来的结果

以下图片摘抄网页,公式敲起来太麻烦了。

 

注意:每级奇偶抽取是针对相对应子序列的自然顺序的奇偶,不是n的奇偶。例如第二次抽取x(2),x(6)是对应子序列的奇数项。

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值