Cooley-Tukey算法 (蝶形算法)

Cooley-Tukey算法 (蝶形算法)

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

Cooley-Tukey算法差别于其它FFT算法的一个重要事实就是N的因子能够随意选取。这样也就能够使用N=r
S的Radix-r算法了。最流行的算法都是以r=2或r=4为基的,最简单的DFT不须要不论什么乘法就能够实现。比如:在S级且r=2的情形下,下列索引映射的结果是:

Cooley-Tukey算法 (蝶形算法)

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

Cooley-Tukey算法 (蝶形算法)

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

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

Cooley-Tukey算法 (蝶形算法)

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

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

  表 频率抽取的Radix-2 FFT

Cooley-Tukey算法 (蝶形算法)

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

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

Cooley-Tukey算法 (蝶形算法)

  图2 位逆序和数字逆序

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/118669.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Oracle sql调优(网络优化知识点)

    文章目录一、访问数据的方法1、直接访问数据1.1全表扫描1.2ROWID扫描2、访问索引2.1索引唯一扫描2.2索引范围扫描2.3索引全扫描2.4索引快速全扫描2.5索引跳跃式扫描拓展补充本博客介绍一下属于oracle优化器范畴的一些基础知识,访问数据的方法,分为直接访问数据的方法和访问索引的方法两种,然后有了这些基础知识后,可以参考学习我的另外一篇博客:Oracle优化器简介,对…

    2022年4月13日
    44
  • linux下打开csv文件的软件,linux下的CSV文件操做[通俗易懂]

    linux下打开csv文件的软件,linux下的CSV文件操做[通俗易懂]先介绍一下什么是csv文件,这是一种简单的文本文件,也被称为逗号分隔值文件。linux主要是用于存储简单的数据,下面在weindows下用UE简单生成一下文件。vim而后用excel打开windows这就是一个简单的csv文件,每一个字符都是一个ANSI码,图中的第一行,1,2,3,4,5,7。数组1~7每个都是一个ANSI码,一个逗号也是ANSI码。函数第二行的12,13,434,45,56…

    2022年7月21日
    22
  • virsh命令详解「建议收藏」

    virsh命令详解「建议收藏」virsh虚拟机管理

    2022年8月12日
    5
  • vr的开发流程_vr虚拟现实 需要设备

    vr的开发流程_vr虚拟现实 需要设备http://www.unitymanual.com/forum.php?mod=viewthread&tid=31034 原文出自游戏蛮牛本文介绍虚拟现实项目开发流程,共大家参考与学习,也希望各位提出意见…通过将现实中真实存在的构建在虚拟平台上,使得用户可以不在受时间、地点、位置和区域的限制来完成一些操作。=================================开发流程=

    2025年11月8日
    3
  • 如何理解线程

    如何理解线程

    2021年10月3日
    33
  • IDE工具(17) eclipse创建ftl文件具体步骤

    IDE工具(17) eclipse创建ftl文件具体步骤eclipse如何创建ftl文件?第一步:Window–>Preferences–>General–>Editors–>FileAssociations–>Add新建*.ftl文件第二步:点击下面Associationseditors下的Add…选择JSPEditor第三步:Window–>Preferences…

    2022年6月16日
    94

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号