Fast Fourier Transform Javascript

时间:2016-07-11 21:30:26

标签: javascript python fft

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 ?

2 个答案:

答案 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的幂。