I need a FFT function like the FFT in numpy
(python) that takes only ONE list( length doesnt necessarily need to be power of 2).
I used dsp.js
but it needs the Buffer size and buffer size must be power of 2 but my data length is 500.
is there any library that isnt audio exclusive ?
or should I add 0
to end of array ?
答案 0 :(得分:2)
你绝对可以用零填充以达到所需的大小。请参阅此参考:http://www.bitweenie.com/listings/fft-zero-padding/
直接来自文章的引用:
您可能希望零填充时域数据有几个原因。最常见的原因是使波形具有两个幂的样本数。当波形的时域长度是2的幂时,极其有效的基2 FFT算法可用于加速处理时间。为FPGA制作的FFT算法通常也仅适用于功率长度为2的长度。
答案 1 :(得分:1)
除了SleuthEye建议的博客文章中提供的选项之外,还有另一个Discrete Fourier Transform,它恰好用JavaScript编写。输出格式可能与您从其他程序(例如,MATLAB,MathCAD等)获得的格式不同,但通过复制到Excel电子表格并重新格式化或缩放结果,可以轻松编辑进入你想要的格式。
并且,正如您所希望的,此程序不需要输入数量为2的幂。