0
A
回答
2
https://en.wikipedia.org/wiki/Cooley%E2%80%93Tukey_FFT_algorithm通常用於二元分割,但實際上處理任意分解。只要你的號碼完全分解成小數字(你的號碼是2*2*3*3*5*5*7*7
),這將給出一個相當有效的FFT。 (請參閱「通用分解」一節。)
還有其他可以處理任意大小的FFT算法,但它們速度要慢得多(儘管比天真好)。見https://en.wikipedia.org/wiki/Chirp_Z-transform#Bluestein.27s_algorithm爲一個。
http://www.nayuki.io/page/free-small-fft-in-multiple-languages以多種語言(包括JavaScript)實現了一般Cooley-Tukey FFT算法。它沒有對任意素數做有效的實現,但是你沒有任何大的處理。
相關問題
- 1. 使用1D FFT的2D FFT
- 2. 尋找故意buggy代碼片段
- 3. Java代碼長度-1意思是
- 4. 笨任意長度URI
- 5. 結合任意長度
- 6. C++任意長度整數
- 7. 1D無FFT快速卷積
- 8. FFT和IFFT的長度
- 9. 決定FFT的長度
- 10. 快速任意角度尋路
- 11. 尋找任意非矩形體
- 12. 尋找對相交集的任意集
- 13. FFT代碼分解
- 14. 尋找關於FFT模板的幫助
- 15. 尋找代碼定製
- 16. TSQL - 尋找代碼澄清
- 17. 代碼尋找遊戲02.05
- 18. 尋找鉻的源代碼
- 19. 尋找部署PHP代碼
- 20. 尋找Angular2類源代碼
- 21. javascript長參數列表;尋找替代
- 22. 查找表與任意長度查詢而不中的R
- 23. 使用水珠找到任意長度的數字
- 24. Excel複合條件爲任意長度
- 25. Ada中的任意長度整數
- 26. java中的任意數組長度
- 27. cbind任意長度向量無警告
- 28. 遍歷任意長度的元組
- 29. 處理用C任意長度整數++
- 30. 任意長度的Numpy分段
您可以添加零來創建兩個數組長度冪(零填充) – MBo
如果您確實需要一個44100長度的FFT,那麼您可能會出錯。對於任意長度的DFT,最有效的算法在內部使用更大的冪次冪FFT,所以即使在最好的情況下,長度爲44100的FFT也需要比長度爲65536的FFT更長的時間。 –
由於44100 = 2「3」5「7」,總時間將大致與'2x(2 + 3 + 5 + 7)'成比例,與'16x2'進行比較。 –