用EXCEL做快速傅立葉轉換_FFT in Excel
转载来自:http://yufan-fansbook.blogspot.tw/2013/09/excel-fft-fast-fourier-transform02.html
[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的更多相关文章
- Excel 批量快速合并相同的单元格:数据透视表、宏代码、分类汇总
Excel 批量快速合并相同的单元格 在制作Excel表格的时候,为了使得自己制作的报表更加简洁明了,方便查阅,经常需要合并很多相同的单元格,如果有几千几万条记录需要合并的话,真的会让人发疯.怎样 ...
- 浅谈FFT(快速博立叶变换)&学习笔记
0XFF---FFT是啥? FFT是一种DFT的高效算法,称为快速傅立叶变换(fast Fourier transform),它根据离散傅氏变换的奇.偶.虚.实等 特性,对离散傅立叶变换的算法进行改进 ...
- Oracle导入excel数据快速方法
Oracle导入excel数据快速方法 使用PLSQL Developer工具,这个可是大名鼎鼎的Oracle DBA最常使用的工具. 在单个文件不大的情况下(少于100000行),并且目的 ...
- Python办公自动化之Excel做表自动化:全网最全,看这一篇就够了!
文章目录 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做案例的人,却不知道如何去学习更加高深的知识.那么针对这三类人,我给大家 ...
- 2021年都要过去啦,你还在用Excel做数据可视化效果吗?
2021年都要过去啦,你还在用Excel做数据可视化效果吗?古语有云,"工欲善其事,必先利其器",没有专业的工具,前期准备的再好也是白搭.现在运用数据可视化工具于经营活动中的企业是 ...
- Excel如何快速统计一列中相同数值出现的个数--数据透视表
excel如何快速统计一列中相同数值出现的个数_百度经验 --这里介绍了两种解决方式,用第一种https://jingyan.baidu.com/article/9113f81b2c16822b321 ...
- 可视化设计,类Excel的快速开发平台
活字格Web应用生成器,是可视化设计,类Excel的快速开发平台,接下来给大家介绍如何体现这些特点. 一.可视化设计 网页系统的开发,包含UI设计+代码编写的工作,最终形成网页系统.这要求系统开发人员 ...
- java结合testng,利用excel做数据源的数据驱动实例
数据驱动部分,是自动化测试常用部分,也是参数化设计的重要环节,前面分享了,mysql.yaml做数据源,那么再来分享下excel做数据驱动 思路: 先用POI读取excel.解析读取数据,返回list ...
- numpy.loadtxt() 出现codecError_____ Excel 做矩阵乘法
1) 用 numpy读入csv文件是报错 UnicodeDecodeError: 'gbk' codec can't decode byte 0xbf in position 2: illegal m ...
随机推荐
- HTML:foreach
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...
- 微信小程序城市定位(百度地图API)
概述 微信小程序提供一些API(地址)用于获取当前用户的地理位置等信息,但无论是wx.getLocation,还是wx.chooseLocation均没有单独的字段表示国家与城市信息,仅有经纬度信息. ...
- gcc4.9.1新特性
C family Support for colorizing diagnostics emitted by GCC has been added. The -fdiagnostics-color=a ...
- Android 关于arm64-v8a、armeabi-v7a、armeabi、x86下的so文件兼容问题
Android 设备的CPU类型(通常称为”ABIs”) 引用: https://blog.csdn.net/ouyang_peng/article/details/51168072 armeabiv ...
- python_6
set 集合 {} 无序 s = {1,2,3,4,5} s = {}print(type(s)) # 空{}就是字典 s = {1,2,3,4,5}s = {1,2,3,'22','ss',Fals ...
- Java包装类的自动拆装箱
题目: Integer i = 42; Long l = 42l; Double d = 42.0; 下面为true的是 A.(i == l) B.(i == d) C.(l == d) D.i.eq ...
- mongodb安装建议
1)软件包的选择 确保使用最新的稳定版本.目前我们线上使用的版本是2.4.6.MongoDB软件包下载页面http://www.mongodb.org/downloads. 确保线上环境总是使用64位 ...
- 云硬盘性能测试工具FIO介绍
一.云硬盘的性能衡量指标 云硬盘的性能指标一般通过以下几个指标进行衡量 IOPS:每秒的读写次数,单位为次(计数).存储设备的底层驱动类型决定了不同的IOPS 总IOPS:每秒执行的I/O操作总次数 ...
- Java语法基础学习DayEighteen(常用类)
一.String类 1.特点 String代表不可变的字符序列,底层用char[]存放. String是final的. 2.内存解析 3.常用方法 int length() char charAt(i ...
- [Scala] [Coursera]
Week 1 Cheat Sheet Link Evaluation Rules Call by value: evaluates the function arguments before call ...










