快速傅立叶变换(FFT)算法(原来这就是蝶形变换)

快速傅立叶变换(FFT)算法(原来这就是蝶形变换)

为了实现FFT的海面模拟,不得不先撸个FFT算法实现。

离散傅立叶变换(DFT)

学习FFT之前,首先要先了解什么是DFT,我们都知道傅立叶变换是将时域转换为频域。但是我们计算机是没办法处理连续的点,因此就有了离散傅立叶变换DFT。

标准DFT公式:

X(k)=\sum_{n=0}^{N-1}x(n)e^{-i^{\frac{2\pi k}{N}n}},k\in {0,1,...,N-1}

我们令:

W_{N}^{k}=e^{-i^{\frac{2\pi k}{N}}}

 

W的一些性质

W_{N}^{k}=W_{2N}^{2k}

证明:\dpi{120} W_{N}^{k}=e^{-i^{\frac{2\pi k}{N}}} =cos(- \frac{2\pi k}{N})+isin(- \frac{2\pi k}{N})   =cos(- \frac{2\pi (2k)}{2N})+isin(- \frac{2\pi (2k)}{2N}) =W_{2N}^{2k}

 

W_{N}^{k+\frac{N}{2}}=-W_{N}^{k}

W_{N}^{0}=W_{N}^{N}

证明方法同上。

 

快速傅立叶变换(FFT)

我们将X(k)按照奇偶组合,在k\in {0,1,...,\frac{N}{2}-1},有:

X(k)=\sum_{n=0}^{N-1}x(n)e^{-i^{\frac{2\pi k}{N}n}}

=\sum_{n=0}^{\frac{N}{2}-1}x(2n)e^{-i^{\frac{2\pi k}{N}(2n)}}+\sum_{n=0}^{\frac{N}{2}-1}x(2n+1)e^{-i^{\frac{2\pi k}{N}(2n+1)}}

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值