fft-windowing-ts

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

Usage no npm install needed!

<script type="module">
  import fftWindowingTs from 'https://cdn.skypack.dev/fft-windowing-ts';
</script>

README

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

This package is a fork of Richard Eoin richardeoin@gmail.com's package https://github.com/richardeoin/nodejs-fft-windowing

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

Installation

If you have npm installed, just run:

yarn add fft-windowing

Usage

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

import { hann } from "fft-windowing-ts";

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

const windowed = 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:

import windowing from "fft-windowing";

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

const windowed = kaiser(raw, 0.5);

Tests

Run node tests/fft-windowing-tests.js. This should apply each windowing function to a uniform array.

LICENSE

MIT