【八】快速傅里叶变换——2

一.快速傅里叶变换——时域抽取2FFT算法

基本出发点是利用旋转因子W_{n}^{k}对称性和周期性,将一个大的DFT分解成一些小的DFT来计算。

算法原理:设输入序列长为N=2^{M}(M为正整数),将该序列按时间顺序的奇偶分解为越来越短的子序列,称为基2按时间抽取的2FFT算法。

如序列长度不满足条件N=2^{M},可以加零补长,使其达到N=2^{M}

输入序列长为N=2^{M}(M为正整数),x(n)={x(0),x(1),x(2),...,x(N-2),x(N-1)}

第一步:分组和变量置换

X(k)=\sum_{n=0}^{N-1}x(n)W_{N}^{nk}k=0,1,2,...,N-1,将x(n)按奇偶分成两组:

\begin{Bmatrix} x(0),x(2),x(4),...,x(N-2)|x(1),x(3),x(5),...,x(N-1) \end{Bmatrix}

第二步:带入DFT定义式

第三步:求子序列的DFT

(有的资料写k=0,1,2,...,N-1。)

其中,X1(k)X2(k)分别为x1(r)x2(r)\frac{N}{2}点DFT,式中:

X_{1}(k)=\sum_{r=0}^{\frac{N}{2}-1}x_{1}(r)\cdot W_{\frac{N}{2}}^{rk}=DFT[x_{1}(r)] =\sum_{r=0}^{\frac{N}{2}-1}x(2r)\cdot W_{\frac{N}{2}}^{rk}

X_{2}(k)=\sum_{r=0}^{\frac{N}{2}-1}x_{2}(r)\cdot W_{\frac{N}{2}}^{rk}=DFT[x_{1}(r)] =\sum_{r=0}^{\frac{N}{2}-1}x(2r+1)\cdot W_{\frac{N}{2}}^{rk}

k=0,1,2,...,\frac{N}{2}-1

因为X1(k)X2(k)均以\frac{N}{2}为周期,且W_{N}^{k+\frac{N}{2}}=-W_{N}^{k}

X(k)=X_{1}(k)+W_{n}^{k}X_{1}(k)  ,k=0,1,2,...,\frac{N}{2}-1

X(k+\frac{N}{2})=X_{1}(k)-W_{n}^{k}X_{1}(k)  ,k=0,1,2,...,\frac{N}{2}-1

至此,一次时域抽取法的理论推导就完成了,从上面的两个式子中,我们定义一种新的运算符,蝶形运算符:

用同样的方法,我们可以得到:

X_{1}(k)=X_{3}(k)+W_{n/2}^{k}X_{4}(k)  ,k=0,1,2,...,\frac{N}{4}-1

X_{1}(k+\frac{N}{4})=X_{3}(k)- {W_{n/2}}^{k}X_{4}(k)  ,k=0,1,2,...,\frac{N}{4}-1

X_{2}(k)=X_{5}(k)+W_{n/2}^{k}X_{6}(k)  ,k=0,1,2,...,\frac{N}{4}-1

X_{2}(k+\frac{N}{4})=X_{7}(k)- {W_{n/2}}^{k}X_{8}(k)  ,k=0,1,2,...,\frac{N}{4}-1

二.DIT-FFT与直接DFT运算量的比较

1.DIT-FFT

从上面的蝶形算法,当N=2^{M}时,其运算应该有M级蝶形,每一级都由\frac{N}{2}个蝶形运算构成。因此每一级运算都需要\frac{N}{2}

次复数乘法和N次复数加法,所以M级蝶形运算的乘法次数为:

C_{M}=\frac{N}{2}\cdot M=\frac{N}{2}\cdot log_{2}^{N}

C_{A}=N\cdot M=N\cdot log_{2}^{N}

2.直接DFT运算

取定X(k)的一个值至少需要N次复数乘法和N-1次复数加法,而K的取值有N个,所以总的时间复杂度为N^{2}次复数乘法和N*(N-1)次复数加法。

3.FFT算法与直接计算DFT所需乘法次数比郊曲线


注:本文整理网上资料,包括知乎、博客等,如有侵权立刻删除。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值