You're Invited: Meet the Socket team at BSidesSF and RSAC - April 27 - May 1.RSVP
Socket
Sign inDemoInstall
Socket

fftjs

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

fftjs

A compact Fast Fourier Transform (FFT) and Inverse Fast Fourier Transform (IFFT) library for JavaScript.

0.0.4
latest
Source
npm
Version published
Maintainers
1
Created
Source

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 = [0.13, -0.45, ....];

Or an object consisting of a field named real

let signal = {
              'real': [0.13, -0.45, ....]
             };

Then, you can compute the FFT like so:

const fftjs = require('fftjs');

let phasors = fftjs.fft(signal);

console.log("phasors: " + phasors);

/*
  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.ifft(phasors);

console.log("reconstructed signal: " + reconstructedSignal);
  
/*
  reconstruted signal: [0.13, -0.45, ....];

  reconstructedSignal should be identical to original signal (with very slight rounding errors caused by JavaScript)
*/

FAQs

Package last updated on 24 Apr 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts