FFT.js是一款高效JavaScript库,提供快速傅里叶变换算法(Radix-4和Radix-2),适用于需要高性能信号处理或频谱分析的应用。
FFT.js Radix-4 FFT的实现如下所示:
```javascript
const FFT = require(fft.js);
const f = new FFT(4096);
const input = new Array(4096).fill(0);
const out = f.createComplexArray();
```
如果数据只有实数(例如使用`toComplexArray()`时的情况),可以通过运行实数FFT来提高25%的计算速度:
```javascript
const realInput = new Array(f.size); // 假设realInput已经被填充了实数值。
f.realTransform(out, realInput);
```
`realTransform()`方法仅会填充输出数组(out)的左半部分,因此如果需要整个频谱(对称性),请执行以下操作:
```javascript
f.completeSpectrum(out);
```