Re: [問題] 還有人記得傅立葉變換嗎?

看板Math作者 (吹笛牧童)時間4年前 (2019/10/21 04:45), 4年前編輯推噓5(5012)
留言17則, 2人參與, 4年前最新討論串3/9 (看更多)
前同事回了我這段 ----- 如果用 512 階 FFT 且是 100Hz 取樣的話 那麼就傳入 5 秒的資料(500點)剩下的補 0。 再做FFT輸出這些資料的頻譜。 ----- 想必輸入的程式是這樣 for (i = 0; i < 512; i++) { s[i].real = 依序填 512 點取樣值; s[i].imag = 0; } 然後做 fft(s); 可是我怎麼取輸出的頻域呢? s[0] 就是 0hz (直流成份) s[1] 是 100hz s[2] 是 200hz 是這樣嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.82.254.91 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Math/M.1571604334.A.2A0.html ※ 編輯: HuangJC (111.82.254.91 臺灣), 10/21/2019 04:50:34

10/21 05:40, 4年前 , 1F
感覺不太對,取樣定理說要兩倍以上取樣
10/21 05:40, 1F

10/21 05:41, 4年前 , 2F
所以 100HZ 取樣的話,只能還原出 50HZ 以下的波
10/21 05:41, 2F

10/21 05:41, 4年前 , 3F
那我就看不懂頻域怎麼解讀的了..
10/21 05:41, 3F

10/21 11:01, 4年前 , 4F
對原始資料補0是為了符合FFT算法,出來的結果是-f~f
10/21 11:01, 4F

10/21 11:02, 4年前 , 5F
你自己丟個sin波疊合的時域訊號進去就知道了
10/21 11:02, 5F

10/21 11:02, 4年前 , 6F
10/21 11:02, 6F

10/21 11:04, 4年前 , 7F
10/21 11:04, 7F
下面這個,文章代碼消失了,找不到! ------- 我昨天沒做多 sin 波,只做 sin(x) ,1HZ,用 2HZ 去取樣 所以我取到的點全部都是 0 然後我腦袋就當機了... 全取到 0,根本無法預估振幅,是要分析什麼? 取樣定理說要兩倍,我這有兩倍了啊 XD (我是故意找麻煩沒錯,但這很方便驗算..) ※ 編輯: HuangJC (111.82.254.91 臺灣), 10/21/2019 11:38:57

10/21 15:51, 4年前 , 8F
兩個都差不多,反正就是你把FFT後的資料畫出來
10/21 15:51, 8F

10/21 16:26, 4年前 , 9F
你看我文章的那張圖,做完FFT之後的X是頻率Y是振幅
10/21 16:26, 9F

10/21 21:07, 4年前 , 10F
振幅是一種相對的東西,我在下一篇列出了絕對的值
10/21 21:07, 10F

10/21 21:08, 4年前 , 11F
結果發現大有問題,這點當初你有發現嗎?
10/21 21:08, 11F

10/21 22:06, 4年前 , 12F
因為你做FT要歸一阿
10/21 22:06, 12F
這個 歸一 怎麼做? 你的例子裡沒有直流成份 (這是電子電機講法,因為什麼都是 sin 波的組合 這個看法非常適合電子電機,它就是交流電) 或說,常數項 像我把每一項都除以 4 時 s[0] 卻要除以 8 這樣我很心虛,因為怎麼會有個例外呢? 是不是我硬湊得太過份了? 另外我也有算角度,你也沒算 一算角度就發現湊答案湊得誇張.. ※ 編輯: HuangJC (111.82.254.91 臺灣), 10/21/2019 23:49:49

10/21 23:59, 4年前 , 13F

10/21 23:59, 4年前 , 14F
好吧,文中有 模值;有人也是用這些算法
10/21 23:59, 14F

10/22 00:00, 4年前 , 15F
雖然我是湊答案的,但剛好湊到和他一樣 XD
10/22 00:00, 15F

10/22 08:55, 4年前 , 16F
你自己加油吧
10/22 08:55, 16F

10/22 15:03, 4年前 , 17F
謝謝
10/22 15:03, 17F
文章代碼(AID): #1ThCTkAW (Math)
討論串 (同標題文章)
文章代碼(AID): #1ThCTkAW (Math)