40 #include "MathSupplement.h"
45 struct IIR_EXPORT BiquadPoleState;
61 complex_t response (
double normalizedFrequency)
const;
66 std::vector<PoleZeroPair> getPoleZeros ()
const;
71 double getA0 ()
const {
return m_a0; }
76 double getA1 ()
const {
return m_a1*m_a0; }
81 double getA2 ()
const {
return m_a2*m_a0; }
86 double getB0 ()
const {
return m_b0*m_a0; }
91 double getB1 ()
const {
return m_b1*m_a0; }
96 double getB2 ()
const {
return m_b2*m_a0; }
104 template <
class StateType>
105 inline double filter(
double s, StateType& state)
const
107 return state.filter(s, *
this);
120 void setCoefficients (
double a0,
double a1,
double a2,
121 double b0,
double b1,
double b2);
126 void setOnePole (complex_t pole, complex_t zero);
131 void setTwoPole (complex_t pole1, complex_t zero1,
132 complex_t pole2, complex_t zero2);
139 if (pair.isSinglePole ())
140 setOnePole (pair.poles.first, pair.zeros.first);
142 setTwoPole (pair.poles.first, pair.zeros.first,
143 pair.poles.second, pair.zeros.second);
157 void applyScale (
double scale);
double getA2() const
Definition: Biquad.h:81
double getA1() const
Definition: Biquad.h:76
double filter(double s, StateType &state) const
Definition: Biquad.h:105
void setPoleZeroPair(const PoleZeroPair &pair)
Definition: Biquad.h:137
double getA0() const
Definition: Biquad.h:71
double getB0() const
Definition: Biquad.h:86
double getB2() const
Definition: Biquad.h:96
double getB1() const
Definition: Biquad.h:91
Definition: Biquad.cpp:40