@thi.ng/dsp
Version:
Composable signal generators, oscillators, filters, FFT, spectrum, windowing & related DSP utils
36 lines • 1.21 kB
TypeScript
import type { ICopy, IReset } from "@thi.ng/api";
import { AGen } from "./agen.js";
/**
* Generator of sine & cosine values of given frequency in the form of
* `[sin,cos]` tuples. Start phase always zero.
*
* @remarks
* Implementation based on a self-oscillating SVF (state-variable filter)
* without using any trig functions. Therefore, ~30% faster, but precision only
* useful for very low (< ~2Hz) frequencies. Due to floating point error
* accumulation, phase & amplitude drift will occur for higher frequencies.
*
* References:
*
* - http://www.earlevel.com/main/2003/03/02/the-digital-state-variable-filter/
*
* @param freq - normalized freq
* @param amp - amplitude (default: 1)
*/
export declare class SinCos extends AGen<number[]> implements ICopy<SinCos>, IReset {
protected _freq: number;
protected _amp: number;
protected _f: number;
protected _s: number;
protected _c: number;
constructor(_freq: number, _amp?: number);
copy(): SinCos;
reset(): this;
next(): number[];
freq(): number;
setFreq(freq: number): void;
amp(): number;
setAmp(amp: number): void;
protected calcCoeffs(): void;
}
//# sourceMappingURL=sincos.d.ts.map