MayaFlux 0.5.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ one_pole()

MAYAFLUX_API void MayaFlux::Kinesis::Discrete::one_pole ( double  pole,
std::vector< double > &  a,
std::vector< double > &  b 
)

One-pole filter specified by pole position.

A positive pole gives a lowpass whose smoothing increases as the value approaches 1.0; a negative pole gives a highpass. The numerator normalises DC gain to unity for positive poles and Nyquist gain to unity for negative.

Parameters
polePole position on the real axis, clamped to (-0.9999, 0.9999)
aDenominator output, resized to 2, a[0] == 1.0
bNumerator output, resized to 1

Definition at line 284 of file Coefficients.cpp.

285{
286 const double p = std::clamp(pole, -0.9999, 0.9999);
287 a.assign({ 1.0, -p });
288 b.assign({ 1.0 - std::abs(p) });
289}
size_t a
size_t b

References a, and b.