|
| | biquad_d2 () |
| | Constructor (initializes state to all zeros).
|
| double | process (double in) |
| | direct II form with two state variables
|
| double | process_lp (double in) |
| bool | empty () const |
| | Is the filter state completely silent? (i.e. set to 0 by sanitize function).
|
| void | sanitize () |
| | Sanitize (set to 0 if potentially denormal) filter state.
|
| void | reset () |
| | Reset state variables.
|
| | biquad_coeffs () |
| void | set_null () |
| void | set_lp_rbj (float fc, float q, float sr, float gain=1.0) |
| void | set_lp_zoelzer (float fc, float q, float odsr, float gain=1.0) |
| void | set_hp_rbj (float fc, float q, float esr, float gain=1.0) |
| void | set_hp_rbj_optimized (float fc, float q, float esr, float gain=1.0) |
| void | set_bp_rbj (double fc, double q, double esr, double gain=1.0) |
| void | set_br_rbj (double fc, double q, double esr, double gain=1.0) |
| void | set_allpass (float freq, float pole_r, float sr) |
| void | set_bilinear (double aa0, double aa1, double aa2, double ab0, double ab1, double ab2) |
| | set digital filter parameters based on given analog filter parameters
|
| void | set_bilinear_direct (double aa0, double aa1, double aa2, double ab1, double ab2) |
| | set digital filter parameters directly
|
| void | set_peakeq_rbj (double freq, double q, double peak, double sr) |
| void | set_lowshelf_rbj (float freq, float q, float peak, float sr) |
| void | set_highshelf_rbj (float freq, float q, float peak, float sr) |
| void | copy_coeffs (const biquad_coeffs &src) |
| | copy coefficients from another biquad
|
| float | freq_gain (float freq, float sr) const |
| cfloat | h_z (const cfloat &z) const |
Two-pole two-zero filter, for floating point values. Uses slightly faster Direct II form (combined FIR and IIR halves). However, when used with wildly varying coefficients, it may make more zipper noise than Direct I form, so it's better to use it when filter coefficients are not changed mid-stream.