npm.io
0.3.1 • Published 5 months ago

frost-fft

Licence
MIT
Version
0.3.1
Deps
0
Size
48 kB
Vulns
0
Weekly
0

frost-fft

The world didn't need yet another Fast Fourier Transform (FFT) implementation, but here we are...

import {fft, ifft, ifftReal} from 'frost-fft';

const signal = new Float64Array(256).map(Math.random);

// The imaginary argument is optional, zeros assumed by default (faster).
const [realCoefs, imagCoefs] = fft(
  signal,
  signal.map(() => 0)
);

// There's no normalization. These are 256 times too large.
const [realSignalScaled, imagSignalScaled] = ifft(realCoefs, imagCoefs);

// The original signal reconstructed (with some floating point noise).
const realSignal = ifftReal(realCoefs, imagCoefs).map(s => s / 256);

Supported imports

Use only the package root import:

import {fft, ifft, ifftReal} from 'frost-fft';

Public export path(s):

  • frost-fft

Do not import from internal build paths such as frost-fft/dist/*; those are not part of the public API contract and may change.

Documentation

Documentation is hosted at the project Github pages.

To generate documentation locally run:

npm run doc

Keywords