#include <dsp_filter.h>
|
enum | Type {
LowPass
, HighPass
, BandPassSkirt
, BandPass0dB
,
Notch
, AllPass
, Peaking
, LowShelf
,
HighShelf
, MatchedLowPass
, MatchedHighPass
, MatchedBandPass0dB
,
MatchedPeaking
} |
|
|
| Biquad (double samplerate) |
|
| Biquad (const Biquad &other) |
|
void | run (float *data, const uint32_t n_samples) |
|
void | compute (Type t, double freq, double Q, double gain) |
|
void | configure (double a1, double a2, double b0, double b1, double b2) |
|
void | configure (Biquad const &) |
|
float | dB_at_freq (float freq) const |
|
void | reset () |
|
void | coefficients (double &a1, double &a2, double &b0, double &b1, double &b2) const |
|
|
void | set_vicanek_poles (const double W0, const double Q, const double A=1.0) |
|
void | calc_vicanek (const double W0, double &A0, double &A1, double &A2, double &phi0, double &phi1, double &phi2) |
|
Biquad Filter
Definition at line 221 of file dsp_filter.h.
◆ Type
Enumerator |
---|
LowPass | |
HighPass | |
BandPassSkirt | |
BandPass0dB | |
Notch | |
AllPass | |
Peaking | |
LowShelf | |
HighShelf | |
MatchedLowPass | |
MatchedHighPass | |
MatchedBandPass0dB | |
MatchedPeaking | |
Definition at line 223 of file dsp_filter.h.
◆ Biquad() [1/2]
ARDOUR::DSP::Biquad::Biquad |
( |
double |
samplerate | ) |
|
◆ Biquad() [2/2]
ARDOUR::DSP::Biquad::Biquad |
( |
const Biquad & |
other | ) |
|
◆ calc_vicanek()
void ARDOUR::DSP::Biquad::calc_vicanek |
( |
const double |
W0, |
|
|
double & |
A0, |
|
|
double & |
A1, |
|
|
double & |
A2, |
|
|
double & |
phi0, |
|
|
double & |
phi1, |
|
|
double & |
phi2 |
|
) |
| |
|
private |
◆ coefficients()
void ARDOUR::DSP::Biquad::coefficients |
( |
double & |
a1, |
|
|
double & |
a2, |
|
|
double & |
b0, |
|
|
double & |
b1, |
|
|
double & |
b2 |
|
) |
| const |
◆ compute()
void ARDOUR::DSP::Biquad::compute |
( |
Type |
t, |
|
|
double |
freq, |
|
|
double |
Q, |
|
|
double |
gain |
|
) |
| |
setup filter, compute coefficients
- Parameters
-
t | filter type (LowPass, HighPass, etc) |
freq | filter frequency |
Q | filter quality |
gain | filter gain |
◆ configure() [1/2]
void ARDOUR::DSP::Biquad::configure |
( |
Biquad const & |
| ) |
|
◆ configure() [2/2]
void ARDOUR::DSP::Biquad::configure |
( |
double |
a1, |
|
|
double |
a2, |
|
|
double |
b0, |
|
|
double |
b1, |
|
|
double |
b2 |
|
) |
| |
setup filter, set coefficients directly
◆ dB_at_freq()
float ARDOUR::DSP::Biquad::dB_at_freq |
( |
float |
freq | ) |
const |
filter transfer function (filter response for spectrum visualization)
- Parameters
-
- Returns
- gain at given frequency in dB (clamped to -120..+120)
◆ reset()
void ARDOUR::DSP::Biquad::reset |
( |
| ) |
|
|
inline |
◆ run()
void ARDOUR::DSP::Biquad::run |
( |
float * |
data, |
|
|
const uint32_t |
n_samples |
|
) |
| |
process audio data
- Parameters
-
data | pointer to audio-data |
n_samples | number of samples to process |
◆ set_vicanek_poles()
void ARDOUR::DSP::Biquad::set_vicanek_poles |
( |
const double |
W0, |
|
|
const double |
Q, |
|
|
const double |
A = 1.0 |
|
) |
| |
|
private |
◆ _a1
double ARDOUR::DSP::Biquad::_a1 |
|
private |
◆ _a2
double ARDOUR::DSP::Biquad::_a2 |
|
private |
◆ _b0
double ARDOUR::DSP::Biquad::_b0 |
|
private |
◆ _b1
double ARDOUR::DSP::Biquad::_b1 |
|
private |
◆ _b2
double ARDOUR::DSP::Biquad::_b2 |
|
private |
◆ _rate
double ARDOUR::DSP::Biquad::_rate |
|
private |
◆ _z1
float ARDOUR::DSP::Biquad::_z1 |
|
private |
◆ _z2
float ARDOUR::DSP::Biquad::_z2 |
|
private |
The documentation for this class was generated from the following file: