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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 八数码问题引发的思考

    八数码问题引发的思考学习人工智能这门课历经坎坷,拿到习题集,第一道就开口脆,原题如下:翻阅AIMA教材无思路,Berlekamp等人的文献不知如何找寻,冥想整日无头绪,遂四方觅得习题集参考答案,还是英文版:Definition:Thegoalstatehasthenumbersinacertainorder,whichwewillmeasureasstartingatt…

    2022年7月26日
    4
  • 零拷贝技术_基因单拷贝

    零拷贝技术_基因单拷贝零拷贝技术概述零拷贝技术指在计算机执行操作时,CPU不需要先将数据从一个内存区域复制到另一个内存区域,从而可以减少上下文切换以及CPU的拷贝时间。它的作用是在数据报从网络设备到用户程序空间传递的过程中,减少数据拷贝次数,减少系统调用,实现CPU的零参与,彻底消除CPU的负载。实现零拷贝用到的主要技术是DMA数据传输技术和内存区域映射技术零拷贝机制可以减少数据在内核缓冲区和用户进程缓冲区之间反复的I/O拷贝操作零拷贝机制可以减少用户进程地址空间之间因为上下文切换而带来的CPU开销物理内存和虚拟

    2022年9月21日
    0
  • linux 同步IO: sync、fsync与fdatasync

    linux 同步IO: sync、fsync与fdatasync传统的UNIX实现在内核中设有缓冲区高速缓存或页面高速缓存,大多数磁盘I/O都通过缓冲进行。当将数据写入文件时,内核通常先将该数据复制到其中一个缓冲区中,如果该缓冲区尚未写满,则并不将其排入输出队列,而是等待其写满或者当内核需要重用该缓冲区以便存放其他磁盘块数据时,再将该缓冲排入输出队列,然后待其到达队首时,才进行实际的I/O操作。这种输出方式被称为延迟写(delayedwrite)(Bach

    2022年5月31日
    29
  • Python如何将py文件打包成exe[通俗易懂]

    Python如何将py文件打包成exe[通俗易懂]安装pyinstaller打开cmd窗口,输入pipinstallpyinstaller,命令行输出successfully表示成功。生成exe文件一、单个py文件在py文件目录下,打开c

    2022年7月6日
    35
  • sublime GOPATH 设置

    sublime GOPATH 设置

    2021年8月25日
    65
  • 电机的力矩、转速和功率「建议收藏」

    电机的力矩、转速和功率「建议收藏」转载来源:[JACK]《电机的力矩、转速和功率》大学电机学这门课程的时候,往往是从电磁场的相互转换关系开始学起,然后会分析很多很多的向量图及等值电路,把人弄得晕晕乎乎。工作当中从事电机的控制的时候,更多的则是实现上一些前人已经做好了的成熟算法。(比如到底选择FOC还是直接转矩?怎样选择合理的弱磁算法?怎样减小力矩纹波?)在工作过程中慢慢地就把一些基础的理论知识当成了大家都约定俗成的定量,…

    2022年5月14日
    58

发表回复

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

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