Cooley-Tukey算法 (蝶形算法)

本文介绍了Cooley-Tukey快速傅立叶变换(FFT)算法的特点及其在不同基下的应用。详细讨论了Radix-2和Radix-4算法的工作原理,包括信号流程图、蝶形运算和索引变换等关键概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Cooley-Tukey算法区别于其他FFT算法的一个重要事实就是N的因子可以任意选取。这样也就可以使用N=r S的Radix-r算法了。最流行的算法都是以r=2或r=4为基的,最简单的DFT不需要任何乘法就可以实现。例如:在S级且r=2的情形下,下列索引映射的结果是:

  S>2时的-个一般惯例是,在信号流程图中2点DFT是以蝶形图的形式绘出的,图1给出了8点变换的图示。信号流程图己经简化成用所有指向一个节点的箭头都代表加法的形式了,而常系数乘法则是在箭头上加一个因子表示。Radix-r算法具有logr(N)级,并且每组都有相同类型的旋转因子。

  图1 radix-2的长度为8的频率抽取算法

  从图的信号流程图可以看出,计算可以“就地”完成,也就是蝶形所使用的存储位置可以被重写,因为数据在下一步的计算中已不再需要了。Radix-2变换的旋转因子乘法总数是:

因为每两个箭头仅有一个旋转因子。

  由于图1中的算法在频域中开始将最初的DFT分成更短的DFT,所以这种算法就叫作频率抽取(decimatiON-in-frequency,DIF)算法。典型的输入值是按顺序出现的,而频率值的索引是按位逆序的。表给出了DIF Radix-2算法的特征值。

  表 频率抽取的Radix-2 FFT

  我们还可以用时间抽取(decimation h time,DIT)构造一种算法。在该情况下,首先将输入序列分开,就会发现所有频率值都是按顺序出现的。

  图2给出了索引41的radix-2和radix-4算法的必要索引变换。radix-2算法需要位顺序的反转,也就是位逆序。而radix-4需要首先构造一个2位的“数字”然后再反转这些数字,这种操作就称为数字逆序。

  图2 位逆序和数字逆序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值