转载来自: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. multipath配置详细参考

    1.配置文件结构及位置multipath配置文件/etc/multipath.conf由节(section),子节(sub-section),属性(atribute)和属性值(value)等组成,其结 ...

  2. 【golang】kafka

    这篇博客是用来记录用go安装及操作kafka库的时候踩到的坑~ 安装kafka库 首先我参考了博客:https://blog.csdn.net/tflasd1157/article/details/8 ...

  3. navicat 定时备份

    1.点击备份-->新建备份 2.对象选择:可以选择要备份的表也可以不选,默认全部选择:之后点击保存:输入文件名即可:注意弹框不会消失,这是已经生成了备份任务 3.点击计划-->新建批量计划 ...

  4. spring中classpath

    http://blog.csdn.net/wlwlwlwl015/article/details/48134763 Maven 项目的 classpath 理解 applicationContext. ...

  5. Jmeter的Body Data里输入中文时乱码

    apache-jmeter-3.0\bin目录下, 用Notepad工具打开jmeter.properties文件 把#jsyntaxtextarea.font.family=Hack的前面的#号去掉 ...

  6. asp.net mvc + dapper(ORM框架) + easyui框架简洁的信息管理项目

    1.目录结构: 2.效果图: 3.IndexController控制器: using System; using System.Collections; using System.Collection ...

  7. java面向对象编程(五)--四大特征之抽象、封装

    1.抽象 我们在前面去定义一个类时候,实际上就是把一类事物的共有的属性和行为提取出来,形成一个物理模型(模版).这种研究问题的方法称为抽象. 2.封装 封装就是把抽象出来的数据和对数据的操作封装在一起 ...

  8. python2入门(2)

    四.python条件语句 if语句基本语法if 判断条件: 执行语句块else if: 执行语句块else: 执行语句 五.循环语句 1 - while循环基本语法while 判断条件: 执行语句块w ...

  9. Visual Studio AI环境记录(Windows10)

    一.环境 Windows [版本 10.0.15063]64位 Git-2.14.1 64位[官网下载] TortoiseGit-2.5.0.0 64位[官网下载],这是一个Git 客户端,外号&qu ...

  10. PTA——组合数

    PTA 7-48 求组合数 #include<stdio.h> double fact(int n); int main() { int m,n; int c; scanf("% ...