|
MayaFlux 0.5.0
Digital-First Multimedia Processing Framework
|
| MAYAFLUX_API void MayaFlux::Kinesis::Discrete::resonator | ( | double | pole_radius, |
| double | pole_angle, | ||
| std::vector< double > & | a, | ||
| std::vector< double > & | b | ||
| ) |
Two-pole resonator specified by z-plane pole position.
Places a conjugate pole pair at radius pole_radius and angle pole_angle rather than deriving them from a cutoff and Q. Ring time grows as the radius approaches 1.0; the resonant frequency is pole_angle * sample_rate / (2 * pi).
The numerator is a single scalar normalising peak magnitude to unity, so b has length 1 and no zeros are placed. For a resonator with zeros at DC and Nyquist, use biquad_bandpass instead.
| pole_radius | Pole magnitude, clamped to [0, 0.9999] |
| pole_angle | Pole angle in radians, in [0, pi] |
| a | Denominator output, resized to 3, a[0] == 1.0 |
| b | Numerator output, resized to 1 |
Definition at line 270 of file Coefficients.cpp.