fftjs
fftjs is a compact Fast Fourier Transform (FFT) and Inverse Fast Fourier Transform (IFFT) library for JavaScript. It implements the Cooley-Tukey radix-2 Decimation In Time (DIT) algorithm.
How to install
This package is available on npm
.
npm install --save fftjs
How to use
The input can be either an array:
// must be a power of 2.let signal = 013 -045 ...;
Or an object consisting of a field named real
let signal = 'real': 013 -045 ... ;
Then, you can compute the FFT like so:
const fftjs = ; let phasors = fftjs; console; /* phasors: { real: [...], imag: [...] };*/
phasors
now contains the complex values in the ferquency domain representation of the signal!
We can also reconstruct our original time-domain signal from the complex phasors.
let reconstructedSignal = jsfft; console; /* reconstruted signal: [0.13, -0.45, ....]; reconstructedSignal should be identical to original signal (with very slight rounding errors caused by JavaScript)*/