推 j0958322080 : 當然是你不懂FFT,FFT不是只能用2的整數數次方數 11/16 18:12
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
這句挺關鍵的,所以你有看懂我的問題
→ j0958322080 : 當然FFT也不可能應用在任意數目上,在某些數還是DFT 11/16 18:12
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
可是又有這句...
→ j0958322080 : 看你之前的回應我不是很想回你,只是有人貼我那篇 11/16 18:15
懶得打字的話也沒關係,在純文字介面上要討論這些本來就很不容易
如果我不再回應,心中認為自己是對的,那狀況大概和你差不多
只有打出來才會被檢視,更何況被質疑時,也不知是自己錯還是質疑我們的人錯呢..
我們都只能在有打出來的這個範圍繞圈圈而已
現實的說,我搞懂的部份已經解決了我的問題
其實我不用再做回應
還是很感謝大家
※ 編輯: HuangJC (123.204.139.199 臺灣), 11/16/2019 19:35:44
推 sunev : 你查過中文維基了嗎?快速傅立葉變換根本就不限於 11/16 20:26
→ sunev : 2^N啊 11/16 20:26
應該說我沒把題目寫好
我只能拿到需要 2^N 的這種快速傅立葉
有其他的,但我沒拿到
而我們問題也是繞在 "只有這種工具,怎麼用它"
一個補零動作其實是有很多問題的...
> Cooley-Tukey演算法也可以用於序列長度N 為任意因數分解形式的DFT
如果說,能因式分解就能加速,那就只有質數不能做快速傅立葉
(前面推文好像有看到這句)
而 10hz 取樣,所以一秒取了 10 個值, 10 = 5 * 2
我們當然也可以加速一些
但程式複雜度呢?傅立葉分析畢竟是要被寫成副程式運用的
要說任意 size 的話,那連快速兩字都摘掉,直接用 FFT 當然可以 size = 10
但如果沒有 FFTW 這個 DLL,以我同事傳給我的副程式
它很強列的要求 2 的 N 次方
前面那篇視為困擾的也是補 0 這件事
如果你們不是程式設計師,而是數學家
可能感受沒我這麼強烈
你們想的可能是:就算 5*2,也已經用到快速傅立葉,有用到就算
但我會想的是:5*2 這種拆解,那我得去寫這樣的快速傅立葉
我手上沒有
我手上有的是什麼呢?我或許該進一步把副程式公佈,程式小而美
但那才是工程師面對的:這就是我的資源
我同事在我用 FFTW 時跟我說一句話:你要小心可攜性,除非你不想拿去別的平台用
幸運的是我在 win 下開發,所以我沒管可攜性
但我同事在專用晶片開發,廠商已經有寫好的快速傅立葉供他呼叫
如果是廠商限制只能用 2^n 這種型式,那問題還是在的
除非他有興趣自己重寫副程式
問題通常不只一個地方可以解,呼叫端解或者副程式解都可以,都是對的
但我們不是想重寫副程式那個人,我們只有接受而已
因為 speed & size 通常人家都最佳化好了
除非我們很有興趣從輪子開始打造車子...
※ 編輯: HuangJC (123.204.139.199 臺灣), 11/16/2019 23:32:41
→ HuangJC : 不過我挺有興趣查查,晶片有名也才那些.. 11/16 23:39
→ HuangJC : 我同事好像用 arm, 而 arm 好像有 fftw 可以用 11/16 23:39