→ yeebon: chx64的1/2悖論真的很經典呢07/22 16:41
!!!!!!!!!!!!!!簽名檔破750000點擊率啦!!!!!!!!!!!!!!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 27.52.170.225
※ 文章網址: https://www.ptt.cc/bbs/Math/M.1547003763.A.1D4.html
→ Desperato : ...難道不是因為兩組資料點不一樣嗎(?01/09 11:24
那要如何補到 2^N,?
推 sunev : FFT只要不是質數都可以拆解,不一定要2^N01/09 13:44
→ j0958322080 : 因為不知道會有幾個資料點,所以補到2^N比較好01/09 14:03
推 wohtp : …為什麼補零以後會一樣?01/09 16:51
→ wohtp : FFT應該有假設資料是periodic 吧?補了零波形都整個01/09 16:53
→ wohtp : 不一樣啦。01/09 16:53
→ j0958322080 : 所以我是問要怎麼補01/09 16:55
→ Desperato : 這篇有說明加0會發生什麼事情 01/09 17:28
→ j0958322080 : 那篇0補在後面可是他的頻譜只是變平滑而已 01/09 17:49
→ Desperato : 雖然是平滑 畢竟變了 01/09 17:51
→ Desperato : 它有說補零的話 0的部分至少要超過一半 01/09 17:52
→ j0958322080 : 不過如四樓所說,補零整個波形就改變了,為何出來的 01/09 18:09
→ j0958322080 : 頻譜僅是變的平滑而已?我其實認為應該是完全不同 01/09 18:09
推 shuncheng : 無限長的訊息看成 [signal 0 0 0 0 0 0..0 0 0] 01/09 21:31
→ shuncheng : 而我們對x1 FFT 與 [x1 0 0 0 .. 0 0] FFT是一樣的 01/09 21:32
→ shuncheng : x1 , [x1 0], [x1 0 0] .... 都是一樣 01/09 21:32
→ shuncheng : 了解DTFT跟取樣之後 應該會比較清楚 01/09 21:34
→ shuncheng : 我才一年沒碰 都忘光了 有錯請指正XD 感恩 01/09 21:35
→ recorriendo : 時域的長度對應到頻域的解析度(反之亦然)這是最基本 01/10 04:48
→ recorriendo : 變平滑純粹就因為頻域的解析度變高 看上去就平滑了 01/10 04:52
→ recorriendo : 實際頻譜相同頻率點上的值沒有改變 01/10 04:54
→ recorriendo : 這裡的數學是DFT FFT只是算DFT的一個算法而已 01/10 04:54
→ recorriendo : 你拿一個補零成兩倍長的例子代入DFT就會知道沒變 01/10 04:55
→ recorriendo : 現在你的例子不是補到整數備嘗 所以頻遇取樣的地方 01/10 04:56
→ recorriendo : 沒有對到的地方 當然就不會發現一樣的值 01/10 04:57
→ recorriendo : 還有用現成軟體套件不用自己補零因為軟體都已優化了 01/10 08:11
→ j0958322080 : 感謝樓上,因為我是要 C 實現,一開始發現為什麼網 01/10 08:42
→ j0958322080 : 路上找的code都有限定2^N可是numpy跟matlab都不用 01/10 08:42
推 sunev : 如果補零到整數倍,那分解回來一樣是在原長度做FT 01/10 11:06
→ j0958322080 : 我剛剛試了一下出來的結果還是不一樣,不知道哪錯了 01/10 11:38
→ j0958322080 : FFT 先與 自己寫的 DFT 和 numpy FFT 對過沒錯 01/10 11:40
→ j0958322080 : 如果是五個量測點,我 FFT 補到 16 個去做仍不一樣 01/10 11:40
我把訊號轉成頻譜強度,原訊號是
sin(2*pi)+sin(30*pi)+sin(100*pi),在[0,2pi)內等分1000點,
橘色是FFT補到2048,藍色是直接DFT,還沒除1000。
→ PPguest : 5個和補到16個不一樣應是r大講的頻譜取樣地方沒對到 01/10 22:08
→ PPguest : 看matlab fft的說明文件,裡面FFTW的連結可能有幫助 01/10 22:11
→ PPguest : 0,1/5,...,4/5和0,1/16,...,15/16除了0其他都沒對到 01/10 22:19
※ 編輯: j0958322080 (110.26.230.28), 01/10/2019 23:05:21
※ 編輯: j0958322080 (110.26.230.28), 01/10/2019 23:08:21