1.1.4 • Published 8 years ago
periodic-function v1.1.4
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