Skip to content

Repository files navigation

Build Status

frequencyjs

A library for computing the frequencies of signals. It will include Fourier Transformation (under development) and Wavelet Transformation with different basis functions. It also includes a very simple tone generator.

Installation

Simply via npm oder bower (package will soon be added to bower).

npm install frequencyjs
bower install frequencyjs

Usage

frequencyjs consists of the following packages

  • Generators
  • Transformators

Generators

To generate a signal simply do

varfjs=require("frequencyjs");fjs.Generator.sine({frequency:440})// there will be different types here.create({length: 2200,sampling: 2200});// data will give you a list of objects [{t:0,value:0},...]

Transformators

To analyse a signal you can use the DFT on any signal:

varspectrum=fjs.Transform.toSpectrum([1,0,-1,0,1,0,-1,0],{sampling: 8,method: 'dft'});

If you want to use FFT you must keep in mind that the FFT only works on signals with a power of two length. Simply switch the method to fft and you get your FFT.

varspectrum=fjs.Transform.toSpectrum(signal,{method: 'fft'});

The signals created with the Generator above contain information about their sampling rate (signal.sampling) and thus it is possible to omit the sampling rate.

Spectrum

A spectrum calculated with the toSpectrum method has the following methods:

  • data(): returns a list of Frequencies with their amplitude
    e.g [{frequency:0, amplitude:0},{...},...] The frequencies are always ascending.
  • dominantFrequency(): returns the dominant frequency of the signal as an object containing the frequency and the amplitude
    e.g. `{frequency: 2, amplitude: 1}``

Acknowledgement

A part of this library is based on dsp.js which has a very nice and fast implementation of the FFT. It currently uses a huge portion of the dsp.js code.

License

This library is under the MIT License.

About

A signal analysis tool

Resources

Stars

3 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages