40#include "MathSupplement.h"
45 struct DllExport BiquadPoleState;
59 complex_t response (
double normalizedFrequency)
const;
64 std::vector<PoleZeroPair> getPoleZeros ()
const;
69 double getA0 ()
const {
return m_a0; }
74 double getA1 ()
const {
return m_a1*m_a0; }
79 double getA2 ()
const {
return m_a2*m_a0; }
84 double getB0 ()
const {
return m_b0*m_a0; }
89 double getB1 ()
const {
return m_b1*m_a0; }
94 double getB2 ()
const {
return m_b2*m_a0; }
102 template <
class StateType>
103 inline double filter(
double s, StateType& state)
const
105 return state.filter(s, *
this);
118 void setCoefficients (
double a0,
double a1,
double a2,
119 double b0,
double b1,
double b2);
124 void setOnePole (complex_t pole, complex_t zero);
129 void setTwoPole (complex_t pole1, complex_t zero1,
130 complex_t pole2, complex_t zero2);
137 if (pair.isSinglePole ())
138 setOnePole (pair.poles.first, pair.zeros.first);
140 setTwoPole (pair.poles.first, pair.zeros.first,
141 pair.poles.second, pair.zeros.second);
155 void applyScale (
double scale);
double getA2() const
Definition Biquad.h:79
double getA1() const
Definition Biquad.h:74
double filter(double s, StateType &state) const
Definition Biquad.h:103
void setPoleZeroPair(const PoleZeroPair &pair)
Definition Biquad.h:135
double getA0() const
Definition Biquad.h:69
double getB0() const
Definition Biquad.h:84
double getB2() const
Definition Biquad.h:94
double getB1() const
Definition Biquad.h:89