jsfft
Small, efficient Javascript FFT implementation for node or the browser.
Usage
JSFFT ships with ComplexArray which can be operated on:
const fft = ; // Use the in-place mapper to populate the data.const data = 512;
Including the fft module attaches FFT methods to ComplexArray. FFT and InvFFT perform in-place transforms on the underlying data:
const frequencies = data;// Implement a low-pass filter using the in-place mapper.frequencies;
Alternatively, frequency-space filters can be implemented via the frequencyMap:
const filtered = data;
Conventions
JSFFT uses the normalization convention that is symmetric between the forward and
reverse transform. With N
data points, the transform is normalized by a factor of √N
:
1 N-1 2πik/N
fft(k) = - ∑ f(j) 𝐞
√N j=0
Other Implementations
DSP is a full featured Digital Signal Processing library in JS which includes a JS FFT implementation.