鸣谢yveh,yhzq
http://www.yhzq-blog.cc/fft总结/

又来了,板子轰炸。。。
快疯掉。。。

FFT

FFT,即为快速傅氏变换,
是离散傅氏变换的快速算法,
它是根据离散傅氏变换的奇、偶、虚、实等特性,
对离散傅立叶变换的算法进行改进获得的。

设x(n)为N项的复数序列,
形如a0*x^0+a1*x+a2*a^2+…+an*x^n
由DFT变换,任一x(m)的计算都需要N次复数乘法和N-1次复数加法,
而一次复数乘法等于四次实数乘法和两次实数加法,
一次复数加法等于两次实数加法,
即使把一次复数乘法和一次复数加法定义成一次“运算”
(四次实数乘法和四次实数加法),那么求出N项复数序列的x(m),
即N点DFT变换大约就需要N^2次运算。
当N=1024点甚至更多的时候,需要N2=1048576次运算,
在FFT中,利用Wn的周期性和对称性,

把一个N项序列(设N=2k,k为正整数),

分为两个N/2项的子序列,

每个N/2点DFT变换需要(N/2)^2次运算,

再用N次运算把两个N/2点的DFT变换组合成一个N点的DFT变换。

这样变换以后,总的运算次数就变成N*2(N/2)^2
继续上面的例子,N=1024时,总的运算次数就变成了525312次,
节省了大约50%的运算量。
而如果我们将这种“一分为二”的思想不断进行下去,
直到分成两两一组的DFT运算单元,
那么N点的DFT变换就只需要Nlog^2N次的运算,
N在1024点时,运算量仅有10240次,是先前的直接算法的1%,
点数越多,运算量的节约就越大,这就是FFT的优越性。

看起来好长一堆话,但是我还是认真的看下来了
豁然开朗【baidu大法好】

那问题来了,里面有概念看不懂啊
比如说复数?
那我们就需要初级数学普及













这样我们就对FFT有一个初步了解了
那么来一道例题?
有助于背板子
http://uoj.ac/problem/34
题解另见blog

转载于:https://www.cnblogs.com/wutongtong3117/p/7673403.html

FFT(不ji是干甚用的diao操作)相关推荐

  1. 浅谈 FFT (终于懂一点了~~)

    FFT(离散傅氏变换的快速算法) FFT(Fast Fourier Transformation)是离散傅氏变换(DFT)的快速算法.即为快速傅氏变换.它是根据离散傅氏变换的奇.偶.虚.实等特性,对离 ...

  2. FFT频谱泄露和加窗 (二)

    学习信号时域和频域.快速傅立叶变换(FFT).加窗,以及如何通过这些操作来加深对信号的认识. 1. 理解时域.频域.FFT 傅立叶变换有助于理解常见的信号,以及如何辨别信号中的错误. 尽管傅立叶变换是 ...

  3. 了解FFT和信号加窗

    0 概览 学习信号时域和频域.快速傅立叶变换(FFT).加窗,以及如何通过这些操作来加深对信号的认识. 1. 理解时域.频域.FFT 傅立叶变换有助于理解常见的信号,以及如何辨别信号中的错误. 尽管傅 ...

  4. FFT频谱分析(补零、频谱泄露、栅栏效应、加窗、细化、频谱混叠、插值),Matlab、C语言代码

    文章目录 引言 Matlab FFT函数 频谱混叠 栅栏效应 细化技术 什么是细化技术? 细化FFT技术的应用: Zoom-FFT算法介绍及MATLAB实现 Zoom-FFT根本没有实现"细 ...

  5. FFT运算的加深理解——栅栏效应、补零、物理分辨率、计算分辨率

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 FFT运算的加深理解--栅栏效应.补零.物理分辨率.计算分辨率 栅栏效应和计算分辨率 物理分辨率 总结 栅栏效应和计算分辨率 栅栏效应 ...

  6. solr 6.1.0 的配置及简单使用

    2019独角兽企业重金招聘Python工程师标准>>> 第一部分 配置部分 jdk 1.8  +  solr 6.1.0 + php扩展 2.4.0 jdk路径:   /usr/lo ...

  7. c#版汉字拼音大全,支持多音字

    using System;    using System.Collections.Generic;    using System.Linq;    using System.Text;      ...

  8. php获取汉字的拼音 拼音首字母

    /***获取汉字的拼音*/function pinyin($s, $isfirst = false) {static $pinyins;$s = trim($s);$len = strlen($s); ...

  9. 转载 什么叫真学习 什么叫假学习

    什么叫做"假学习"?   一.QQ群   一天上班开始看QQ群,聊到下班.里面争论的火热.美其名曰在学习,实际上你什么都没学到.好记性不如烂笔头.争论百变,不如看则帖子. 因为你在 ...

  10. 什么叫做“假学习”?

    一.看书 买一堆书,有空看看.看书,这是典型的假学习.看书看不懂还在看,就是假学习,欺骗自己,安慰自己正在学习而已.专业书都写得很好,但大都是写给已经懂的人看的.看书的最大作用就是证明自己看书是学不到 ...

最新文章

  1. SQL连接操作符介绍(循环嵌套, 哈希匹配和合并连接)
  2. ios 学习常用网站
  3. python pytest测试框架介绍四----pytest-html插件html带错误截图及失败重测机制
  4. 字符串基本操作 c语言,数据结构C语言字符串的基本操作.doc
  5. 身怀56个IM技术专利,网易云信如何改变即时通讯?
  6. HarmonyOS之AI能力·文字图像超分
  7. oracle创建包 和调用,oracle创建函数和调用存储过程和调用函数的例子(区别)...
  8. 悲观锁 引起死锁_悲观锁定时如何避免可怕的死锁-以及Java 8的一些用法!
  9. 华为年度旗舰Mate 30 Pro真机现身,既惊喜又失望...
  10. Linux 文件描述符的概念及与文件流指针的关系
  11. Linux Suspend过程【转】
  12. 计算机教学常规检查小结,总结·反思·提高——邮政路小学全体教师期末教学常规检查反馈...
  13. perfectmoney php接口_Perfect Money完美货币注册和用支付宝提现方法
  14. 重置Ubuntu root 密码
  15. 【LTspice】006 实际电容 阻抗特性曲线
  16. python 删除特定列_pandas删除某一列的方法(drop函数)
  17. 我在国企做软件开发这4年。。
  18. C++上机实验二第2题
  19. zabbix 监控 db2_zabbix实战 - abm
  20. GitHub使用方法(初级)

热门文章

  1. Testing Flutter apps翻译-使用 Mockito 模拟依赖项
  2. Centos下安装Scrapy
  3. python复习第一节
  4. Ubuntu编译安装Keepalived
  5. Scott Mitchell 的ASP.NET 2.0数据操作教程之九:跨页面的主/从报表
  6. 使用TinyPNG批量压缩图片
  7. vue-cli3的命令行创建项目-(慕课网笔记)
  8. map和foreach的区别和应用场景_面试官:说说UDP和TCP的区别及应用场景
  9. 线元法输入曲线要素_Origin入门教程(三):Origin中曲线怎么平移?
  10. mac 安装zkcli_mac zookeeper安装使用