[問題] 快速傅立葉轉換 fft

看板R_Language作者 (為什麼會流淚)時間9年前 (2016/12/14 00:13), 9年前編輯推噓3(302)
留言5則, 2人參與, 最新討論串1/1
文章分類提示: - 問題: 當你想要問問題時,請使用這個類別。 建議先利用 google 爬文,如輸入 「想查詢的關鍵字 site:www.ptt.cc/*/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://www.ptt.cc/bbs/R_Language/M.1481645600.A.B36.html ※ 編輯: f496328mm (114.42.94.225), 12/14/2016 00:15:34

12/14 01:37, , 1F
你的圖怎麼跟我平常看的傅立葉不一樣?
12/14 01:37, 1F

12/14 01:38, , 2F
我平常用spectrum, 出來就很標準的傅立葉頻譜圖.
12/14 01:38, 2F
可能因為我的DATA不是訊號?? 也不是聲音 ※ 編輯: f496328mm (134.208.26.172), 12/14/2016 11:06:59

12/15 00:38, , 3F
fft的第一個值就是所謂的DC值,也就是=sum(data)
12/15 00:38, 3F
所以不要第一個值會不會比較好? 例如我要把x做fft 就這樣 fft.x = fft( c(0,x) )[ 2:length(x) ] 然後取第二個之後的值 第一個就不管它? ※ 編輯: f496328mm (114.36.58.55), 12/15/2016 01:43:36

12/15 15:45, , 4F
喔對了,大部分y軸會用log scale(單位dB)去畫圖
12/15 15:45, 4F

12/15 15:46, , 5F
這樣就不會因為DC很大而看不清楚頻率成份
12/15 15:46, 5F
文章代碼(AID): #1OK1uWis (R_Language)
文章代碼(AID): #1OK1uWis (R_Language)