作者f496328mm (为什麽会流泪)
看板R_Language
标题[问题] 快速傅立叶转换 fft
时间Wed Dec 14 00:13:18 2016
文章分类提示:
- 问题: 当你想要问问题时,请使用这个类别。
建议先利用 google 爬文,如输入
「想查询的关键字 site:webptt.com/cn.aspx?n=/*/R_Language/」。
[问题类型]:
程式谘询(我想用R 做某件事情,但是我不知道要怎麽用R 写出来)
[软体熟悉度]:
入门(写过其他程式,只是对语法不熟悉)
[问题叙述]:
我做时间序列问题,图画出来很像声音讯号,所以想做傅立叶转换,
找出重要变数
http://imgur.com/5sVSOrp
上图是所有资料
http://imgur.com/4pcXw6U
上图是两年分重叠在一起,看的出来有关系,对预测应该有帮助
我使用fft这个函数,
由於我不太熟傅立叶转换XD,不知道这个函数做的对不对,所以做几个例子
主要想问,第一个数字转换後,虚数都是0,而且值会变很大,
例如:
fft(c(0:5))
fft(c(1:5))
第一个值都是
15+0i
为什麽会这样??
实际data做出来之後,取绝对值,再画一张图如下
http://imgur.com/ALSxgqj
第一个值也会非常高
================================================================
想请问做过傅立叶的大大,这样是正常的吗?
震幅要怎麽抓?直接取绝对值??
讯号除了频率跟振福,还有其他变数影响吗?
由於我的时间序列,间隔相同,所以频率一样,只有震幅不同
我的理解是这样,不知道会不会影响
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.42.94.225
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1481645600.A.B36.html
※ 编辑: f496328mm (114.42.94.225), 12/14/2016 00:15:34
1F:推 Edster: 你的图怎麽跟我平常看的傅立叶不一样? 12/14 01:37
2F:→ Edster: 我平常用spectrum, 出来就很标准的傅立叶频谱图. 12/14 01:38
可能因为我的DATA不是讯号?? 也不是声音
※ 编辑: f496328mm (134.208.26.172), 12/14/2016 11:06:59
3F:推 bxxl: fft的第一个值就是所谓的DC值,也就是=sum(data) 12/15 00:38
所以不要第一个值会不会比较好?
例如我要把x做fft 就这样
fft.x = fft( c(0,x) )[ 2:length(x) ]
然後取第二个之後的值 第一个就不管它?
※ 编辑: f496328mm (114.36.58.55), 12/15/2016 01:43:36
4F:推 bxxl: 喔对了,大部分y轴会用log scale(单位dB)去画图 12/15 15:45
5F:→ bxxl: 这样就不会因为DC很大而看不清楚频率成份 12/15 15:46