Narcissistic Preening Monarch

    frequencyjs

    0.0.4 • Public • Published

    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

    var fjs = 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:

    var spectrum = 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.

    var spectrum = 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.

    Install

    npm i frequencyjs

    DownloadsWeekly Downloads

    1

    Version

    0.0.4

    License

    MIT

    Last publish

    Collaborators

    • littlehelicase