richardeoin / nodejs-fft-windowing

Applies a windowing function to an array of data, making it ready to be FFT'd.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

nodejs-fft-windowing is a node.js module that applies a windowing function to an array of data, making it ready to be FFT'd.

This article by National Instruments gives a good introduction to why windowing functions are useful.

Installation

If you have npm installed, just run:

npm install fft-windowing

Usage

The Hann (Hanning) window is a good general-purpose window. You would use it like so:

var windowing = require('fft-windowing');

var raw = [2, 2, 0, -2, -2, 0, 2, 2];

var windowed = windowing.hann(raw);

The resulting windowed variable is then ready to be fed through a Fast Fourier Transform. A good node.js module to use would be this one.

The following windows are available:

The following windows can also accept an extra parameter, alpha:

You would use it like this:

var windowing = require('fft-windowing');

var raw = [2, 2, 0, -2, -2, 0, 2, 2];

var windowed = windowing.kaiser(raw, 0.5);

Tests

Run node tests/fft-windowing-tests.js. This should generate a file called fft-windowing.pdf in the root directory which shows what happens if you apply each windowing function to a uniform array.

LICENSE

MIT

About

Applies a windowing function to an array of data, making it ready to be FFT'd.

License:MIT License


Languages

Language:JavaScript 100.0%