|
LMMS
|
#include <biquad.h>
Public Member Functions | |
| biquad_d1_lerp () | |
| Constructor (initializes state to all zeros). | |
| void | big_step (double frac) |
| double | process (double in) |
| direct I form with four state variables | |
| double | process_zeroin () |
| direct I form with zero input | |
| double | process_lp (double in) |
| simplified version for lowpass case with two zeros at -1 | |
| void | sanitize () |
| Sanitize (set to 0 if potentially denormal) filter state. | |
| void | reset () |
| Reset state variables. | |
| bool | empty () |
| Public Member Functions inherited from dsp::biquad_coeffs | |
| 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 |
Public Attributes | |
| double | a0cur |
| double | a1cur |
| double | a2cur |
| double | b1cur |
| double | b2cur |
| double | a0delta |
| double | a1delta |
| double | a2delta |
| double | b1delta |
| double | b2delta |
| double | x1 |
| input[n-1] | |
| double | x2 |
| input[n-2] | |
| double | y1 |
| output[n-1] | |
| double | y2 |
| output[n-2] | |
| Public Attributes inherited from dsp::biquad_coeffs | |
| double | a0 |
| double | a1 |
| double | a2 |
| double | b1 |
| double | b2 |
Additional Inherited Members | |
| Public Types inherited from dsp::biquad_coeffs | |
| typedef std::complex< double > | cfloat |
| Static Public Member Functions inherited from dsp::biquad_coeffs | |
| static double | prewarp (float freq, float sr) |
| prewarping for bilinear transform, maps given digital frequency to analog counterpart for analog filter design | |
| static double | unwarp (float omega, float sr) |
| convert analog angular frequency value to digital | |
| static double | unwarpf (float t, float sr) |
| convert analog filter time constant to digital counterpart | |
Two-pole two-zero filter, for floating point values. Uses "traditional" Direct I form (separate FIR and IIR halves). don't use this for integers because it won't work
|
inline |
Constructor (initializes state to all zeros).
|
inline |
|
inline |
|
inline |
direct I form with four state variables
|
inline |
simplified version for lowpass case with two zeros at -1
|
inline |
direct I form with zero input
|
inline |
Reset state variables.
|
inline |
Sanitize (set to 0 if potentially denormal) filter state.
| double dsp::biquad_d1_lerp::a0cur |
| double dsp::biquad_d1_lerp::a0delta |
| double dsp::biquad_d1_lerp::a1cur |
| double dsp::biquad_d1_lerp::a1delta |
| double dsp::biquad_d1_lerp::a2cur |
| double dsp::biquad_d1_lerp::a2delta |
| double dsp::biquad_d1_lerp::b1cur |
| double dsp::biquad_d1_lerp::b1delta |
| double dsp::biquad_d1_lerp::b2cur |
| double dsp::biquad_d1_lerp::b2delta |
| double dsp::biquad_d1_lerp::x1 |
input[n-1]
| double dsp::biquad_d1_lerp::x2 |
input[n-2]
| double dsp::biquad_d1_lerp::y1 |
output[n-1]
| double dsp::biquad_d1_lerp::y2 |
output[n-2]