转载来自:http://yufan-fansbook.blogspot.tw/2013/09/excel-fft-fast-fourier-transform02.html

[Excel]-用EXCEL做快速傅立葉轉換_FFT in Excel(Fast Fourier Transform in Excel)_02

 
[Excel]-用EXCEL做快速傅立葉轉換_FFT in Excel(Fast Fourier Transform in Excel)_02

第二步:建立想要做快速傅立葉分析的信號
       在此舉一個週期為0.2秒(即頻率為5Hz)COS波為例,在B2,C2分別填上sample rate及40,這代表作快速傅立葉分析時的取樣頻率。在B3,C3分別填上number of sample及32,這代表在做快速傅立葉分析的過程中,總共將取32個取樣點,這裡要特別注意,在excel中的快速傅利葉分析功能中,取樣點數必須要 為2的整數次方,這就是說要利用Excel作快速傅立葉轉換時的取樣點數必須為2, 4, 8, 16, 32, 64, 128, 256, 1024, 2048, 4096,而且在MS Excel中最多只能分析4096個離散數值的快速傅立葉轉換。在B4,C4分別填上sampling time step及0.025,這代表兩個取樣點中間的時間差,其實也就是sample rate的倒數,或者在C4填上公式“=1/C2”。在B5填上delta frequency及在C5填上公式=C2/C3,這代表了快速傅立葉轉換的解析頻率,也等於取樣率/取樣點。 如圖1所示。

圖1

在D8,E8,F8分別填上sample,time及signal,sample為取樣點,D9到D42分別為1到32。time為取樣的時間點從第0秒到第0.31秒。signal則為COS,可在此填上公 式"=COS(2*PI()*$C$5*E9)",在下拉至F40,則可完成此COS波,如圖2所示即為依由離散數值所組成之COS波型。

圖2
 

然後在G8,H8,I8,J8中分別填上fft, amplitude, freq index, frequency,如圖3所示。

圖3
 

第三步:對信號作快速傅立葉分析
       接著就可以進行快速傅立葉轉換了,點選“資料分析”之後會出現各種分析工具,然後點選“傅立葉分析”,如圖4所示。

圖4
 

點選確定之後,會出現如圖5的對話框,在輸入範圍中輸入F9~F40,在輸出範圍中輸入G9~G40,然後按確定。

圖5
 

等程式運算完就會在fft那一欄之中輸出運算結果,如圖6。這些運算值為複數形式。在amplitude中的H29中,輸入公式“=IMABS(G9)”,然後再往下複製此公式至H40。“IMABS”會計算複數的絕對值,此絕對值即為快速傅立葉轉換後之振福。在J9中輸入公式“=0*$C$6”,以下J10公式則為“=1*$C$6”,並往下複製到J40。此欄便成為以C5(delta frequency)為公差之等差級數,這是代表快速傅立葉運算中的頻率遞增。

圖6
 
圖7
 

第四步:繪圖
       然後以J9~J40為橫軸,以H9~H40為縱軸作一散佈圖,如圖8及圖9。

圖8
 

由圖9,可以看出在頻率軸上有兩根頻率,其實以傅立葉轉換來說,實際可用的頻率為取樣頻率的一半,以此例來說就是20MHz。修改一下橫軸範圍至20MHz,如圖10。如此一來我們就完成了在Excel中計算快速傅立葉轉換的方法了。

圖9
 
圖10
 

以數學計算來說,我們所舉頻率為5Hz的正弦波的例子中,經複立葉轉換後應該只會有一種頻率成分的信號,也就是在頻域中只會有一個5Hz的信號存在,即cos波的傅立葉轉換應該為一peak,在圖10看來,信號不是這麼純(pure),並不是完全的peak,那是因為我們取樣的點數不夠所致,可以增加取樣點數來增加精準度。有關要如何增加快速傅立葉轉換的精準度,將在下次再做討論。

圖11為這次所完成的快速傅立葉轉換。

圖11
 

用EXCEL做快速傅立葉轉換_FFT in Excel的更多相关文章

  1. Excel 批量快速合并相同的单元格:数据透视表、宏代码、分类汇总

    Excel 批量快速合并相同的单元格   在制作Excel表格的时候,为了使得自己制作的报表更加简洁明了,方便查阅,经常需要合并很多相同的单元格,如果有几千几万条记录需要合并的话,真的会让人发疯.怎样 ...

  2. 浅谈FFT(快速博立叶变换)&学习笔记

    0XFF---FFT是啥? FFT是一种DFT的高效算法,称为快速傅立叶变换(fast Fourier transform),它根据离散傅氏变换的奇.偶.虚.实等 特性,对离散傅立叶变换的算法进行改进 ...

  3. Oracle导入excel数据快速方法

    Oracle导入excel数据快速方法 使用PLSQL  Developer工具,这个可是大名鼎鼎的Oracle  DBA最常使用的工具.    在单个文件不大的情况下(少于100000行),并且目的 ...

  4. Python办公自动化之Excel做表自动化:全网最全,看这一篇就够了!

    文章目录 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做案例的人,却不知道如何去学习更加高深的知识.那么针对这三类人,我给大家 ...

  5. 2021年都要过去啦,你还在用Excel做数据可视化效果吗?

    2021年都要过去啦,你还在用Excel做数据可视化效果吗?古语有云,"工欲善其事,必先利其器",没有专业的工具,前期准备的再好也是白搭.现在运用数据可视化工具于经营活动中的企业是 ...

  6. Excel如何快速统计一列中相同数值出现的个数--数据透视表

    excel如何快速统计一列中相同数值出现的个数_百度经验 --这里介绍了两种解决方式,用第一种https://jingyan.baidu.com/article/9113f81b2c16822b321 ...

  7. 可视化设计,类Excel的快速开发平台

    活字格Web应用生成器,是可视化设计,类Excel的快速开发平台,接下来给大家介绍如何体现这些特点. 一.可视化设计 网页系统的开发,包含UI设计+代码编写的工作,最终形成网页系统.这要求系统开发人员 ...

  8. java结合testng,利用excel做数据源的数据驱动实例

    数据驱动部分,是自动化测试常用部分,也是参数化设计的重要环节,前面分享了,mysql.yaml做数据源,那么再来分享下excel做数据驱动 思路: 先用POI读取excel.解析读取数据,返回list ...

  9. numpy.loadtxt() 出现codecError_____ Excel 做矩阵乘法

    1) 用 numpy读入csv文件是报错 UnicodeDecodeError: 'gbk' codec can't decode byte 0xbf in position 2: illegal m ...

随机推荐

  1. 依赖注入原理---IoC框架

    先来讲一讲,一个简单的依赖注入例子. 1. 依赖 如果在 Class A 中,有 Class B 的实例,则称 Class A 对 Class B 有一个依赖.例如下面类 Human 中用到一个 Fa ...

  2. 【转】阿里云免费SSL证书申请与安装使用(IIS7)

    阅读目录 准备: 第一步:免费SSL证书申请 第二步:证书导入 第三步:分配服务器证书 最后一步:访问测试 回到顶部 准备: 阿里云已完成备案的域名一个 回到顶部 第一步:免费SSL证书申请 登陆阿里 ...

  3. Python3+getopt解析命令行参数

    一.说明 在学C语言的时候就知道可以通过argc获取命令行参数个数,可以通过argv获取具体参数.但自己写的程序获取到的参数一是没有键值形式二是写的参数不能乱序,和系统命令不太一样. 再往后点知道有g ...

  4. python -- 内置模块02

    1.os 所有和操作系统相关的内容都在os模块,一般用来操作文件系统 import os os.makedirs('dirname1/dirname2') # 可生成多层递归目录 os.removed ...

  5. 曾经觉得学习晦涩难懂的我是如何爱上linux的

    2016年冬天,我已经是一名学习计算机科学与技术专业的大三的“老腊肉”了,但是当时的水平依旧平平.就在2016年快要结束的时候,我周围的同学们被一股考研和工作的压力炸开了锅,我也在默默思考着我的人生, ...

  6. LNMP(一)

    第二十课LNMP(一) 目录 一.LNMP架构介绍 二.MySQL安装 三.PHP安装 四.Nginx介绍 五.Nginx安装 六.扩展 一.LNMP架构介绍 之前已经学习过LAMP架构,与LAMP相 ...

  7. My SQL随记 002 登陆

    如何启动MySQL服务 Step1 我的电脑右键属性找到 控制面板 选择 系统和安全 Step2 管理工具中找到服务 Step3 找到你的MySQL启动服务 如何通过黑窗口登陆退出 MySQL Ste ...

  8. mysql中describe关键字

    今天写代码的时候,有一个类的数据始终不能插入,老是提示在You have an error in your SQL syntax; check the manual that corresponds ...

  9. nodejs -- http模块. request() 方法 , get方法.

    1. request方法: 提交评论到慕课网: var http = require('http'); var querystring = require('querystring'); var po ...

  10. php源码学习——开篇

    这个系列是对php源码的学习记录.由于本人水平有限,可能并不能写的非常清晰和深入,所以,可能只适合本人阅读:) 初次接触php源码,看到陌生的文件夹和大量的文件,可能会觉得茫然无措.php-inter ...