periodic-function
v1.1.4
Published
Collection of periodic functions
Downloads
26
Maintainers
Readme
periodic-function
Collection of periodic functions with period normalized to turns.
Usage
const fn = require('periodic-function/<fn>')
//π radians
let halfTurn = fn(.5)
//2π radians
let fullTurn = fn(1)
API
let fn = require('periodic-function/<fn>')
The fn
takes the amount of turn t
as the first argument and optional parameters. The list of available functions:
| Signature | Waveform | Meaning |
---|:---:|---|
| sine(t, phase=0) | | Math.sin
normalized to 0..1
rather than radians 0..2π
. To turn into cos, set phase=.25
. |
| triangle(t, ratio=0.5) | | Triangular waveform with regulated ratio. To turn into sawtooth set ratio=0
or ratio=1
. |
| sawtooth(t, inverse=false) | | Edge case of triangular waveform, whether descending or ascending. |
| square(t, ratio=0.5) | | Rectangular waveform with regulated ratio. To turn into pulse set ratio=0
. |
| pulse(t, tlr=0) | | Delta-pulse, which is 1
at 0
and 0
anywhere else. Pass tlr
as a precision tolerance, ie. 1e-5
. |
| fourier(t, real, imag?, normalize=false) | | Fourier Series coefficients, ie. harmonics. 0
harmonic is static level, 1
st is base frequency, 2
nd is double base frequency, 3
rd is triple etc. Set normalize=true
to bring max harmonic to 1
. |
| clausen(t, limit=10) | | Clausen function. Pass limit
to indicate number of iterations, precision/performance tradeoff. |
| step(t, samples) | | Step function, picks closest sample value out of a set. |
| interpolate(t, samples) | | Interpolates between closest values in a sample set. |
| noise(t) | | Repeated sample of noise. |
If you feel like it is not complete list of you know example of a good periodic function, suitable for dsp, welcome to contribute.
Related
Credits
© 2017 Dima Yv. MIT License