LMMS
Loading...
Searching...
No Matches
dsp::biquad_d1_lerp Struct Reference

#include <biquad.h>

Inheritance diagram for dsp::biquad_d1_lerp:
dsp::biquad_coeffs

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

Detailed Description

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

Constructor & Destructor Documentation

◆ biquad_d1_lerp()

dsp::biquad_d1_lerp::biquad_d1_lerp ( )
inline

Constructor (initializes state to all zeros).

Member Function Documentation

◆ big_step()

void dsp::biquad_d1_lerp::big_step ( double frac)
inline

◆ empty()

bool dsp::biquad_d1_lerp::empty ( )
inline

◆ process()

double dsp::biquad_d1_lerp::process ( double in)
inline

direct I form with four state variables

◆ process_lp()

double dsp::biquad_d1_lerp::process_lp ( double in)
inline

simplified version for lowpass case with two zeros at -1

◆ process_zeroin()

double dsp::biquad_d1_lerp::process_zeroin ( )
inline

direct I form with zero input

◆ reset()

void dsp::biquad_d1_lerp::reset ( )
inline

Reset state variables.

◆ sanitize()

void dsp::biquad_d1_lerp::sanitize ( )
inline

Sanitize (set to 0 if potentially denormal) filter state.

Member Data Documentation

◆ a0cur

double dsp::biquad_d1_lerp::a0cur

◆ a0delta

double dsp::biquad_d1_lerp::a0delta

◆ a1cur

double dsp::biquad_d1_lerp::a1cur

◆ a1delta

double dsp::biquad_d1_lerp::a1delta

◆ a2cur

double dsp::biquad_d1_lerp::a2cur

◆ a2delta

double dsp::biquad_d1_lerp::a2delta

◆ b1cur

double dsp::biquad_d1_lerp::b1cur

◆ b1delta

double dsp::biquad_d1_lerp::b1delta

◆ b2cur

double dsp::biquad_d1_lerp::b2cur

◆ b2delta

double dsp::biquad_d1_lerp::b2delta

◆ x1

double dsp::biquad_d1_lerp::x1

input[n-1]

◆ x2

double dsp::biquad_d1_lerp::x2

input[n-2]

◆ y1

double dsp::biquad_d1_lerp::y1

output[n-1]

◆ y2

double dsp::biquad_d1_lerp::y2

output[n-2]


The documentation for this struct was generated from the following file: