added prewarp_at_cutoff in bw_iir{1,2}
This commit is contained in:
parent
20bb3a8193
commit
029ec29f6d
@ -57,7 +57,7 @@ static void plugin_mem_set(plugin *instance, void *mem) {
|
||||
}
|
||||
|
||||
static void plugin_reset(plugin *instance) {
|
||||
bw_iir1_coeffs_mm1(instance->sample_rate, instance->cutoff, instance->cutoff, instance->coeff_x, instance->coeff_lp, &instance->b0, &instance->b1, &instance->a1);
|
||||
bw_iir1_coeffs_mm1(instance->sample_rate, instance->cutoff, 1, instance->cutoff, instance->coeff_x, instance->coeff_lp, &instance->b0, &instance->b1, &instance->a1);
|
||||
float y;
|
||||
bw_iir1_reset(0.f, &y, &instance->s, instance->b0, instance->b1, instance->a1);
|
||||
instance->to_reset = 0;
|
||||
|
@ -63,7 +63,7 @@ static void plugin_mem_set(plugin *instance, void *mem) {
|
||||
}
|
||||
|
||||
static void plugin_reset(plugin *instance) {
|
||||
bw_iir2_coeffs_mm2(instance->sample_rate, instance->cutoff, instance->q, instance->cutoff, instance->coeff_x, instance->coeff_lp, instance->coeff_bp, instance->coeff_hp, &instance->b0, &instance->b1, &instance->b2, &instance->a1, &instance->a2);
|
||||
bw_iir2_coeffs_mm2(instance->sample_rate, instance->cutoff, instance->q, 1, instance->cutoff, instance->coeff_x, instance->coeff_lp, instance->coeff_bp, instance->coeff_hp, &instance->b0, &instance->b1, &instance->b2, &instance->a1, &instance->a2);
|
||||
float y;
|
||||
bw_iir2_reset(0.f, &y, &instance->s1, &instance->s2, instance->b0, instance->b1, instance->b2, instance->a1, instance->a2);
|
||||
instance->to_reset = 0;
|
||||
|
@ -54,7 +54,7 @@ void impl_set_sample_rate(impl handle, float sample_rate) {
|
||||
|
||||
void impl_reset(impl handle) {
|
||||
plugin *instance = reinterpret_cast<plugin *>(handle);
|
||||
bw_iir1_coeffs_mm1(instance->sample_rate, instance->cutoff, instance->cutoff, instance->coeff_x, instance->coeff_lp, &instance->b0, &instance->b1, &instance->a1);
|
||||
bw_iir1_coeffs_mm1(instance->sample_rate, instance->cutoff, 1, instance->cutoff, instance->coeff_x, instance->coeff_lp, &instance->b0, &instance->b1, &instance->a1);
|
||||
float x0[1] = { 0.f };
|
||||
iir1Reset<1>(x0, BW_NULL, &instance->s, instance->b0, instance->b1, instance->a1);
|
||||
instance->to_reset = 0;
|
||||
|
@ -60,7 +60,7 @@ void impl_set_sample_rate(impl handle, float sample_rate) {
|
||||
|
||||
void impl_reset(impl handle) {
|
||||
plugin *instance = reinterpret_cast<plugin *>(handle);
|
||||
bw_iir2_coeffs_mm2(instance->sample_rate, instance->cutoff, instance->q, instance->cutoff, instance->coeff_x, instance->coeff_lp, instance->coeff_bp, instance->coeff_hp, &instance->b0, &instance->b1, &instance->b2, &instance->a1, &instance->a2);
|
||||
bw_iir2_coeffs_mm2(instance->sample_rate, instance->cutoff, instance->q, 1, instance->cutoff, instance->coeff_x, instance->coeff_lp, instance->coeff_bp, instance->coeff_hp, &instance->b0, &instance->b1, &instance->b2, &instance->a1, &instance->a2);
|
||||
float x0[1] = { 0.f };
|
||||
iir2Reset<1>(x0, BW_NULL, &instance->s1, &instance->s2, instance->b0, instance->b1, instance->b2, instance->a1, instance->a2);
|
||||
instance->to_reset = 0;
|
||||
|
@ -121,6 +121,7 @@ static inline void bw_iir1_process_multi(
|
||||
static inline void bw_iir1_coeffs_ap1(
|
||||
float sample_rate,
|
||||
float cutoff,
|
||||
char prewarp_at_cutoff,
|
||||
float prewarp_freq,
|
||||
float * BW_RESTRICT b0,
|
||||
float * BW_RESTRICT b1,
|
||||
@ -133,6 +134,7 @@ static inline void bw_iir1_coeffs_ap1(
|
||||
static inline void bw_iir1_coeffs_hp1(
|
||||
float sample_rate,
|
||||
float cutoff,
|
||||
char prewarp_at_cutoff,
|
||||
float prewarp_freq,
|
||||
float * BW_RESTRICT b0,
|
||||
float * BW_RESTRICT b1,
|
||||
@ -145,6 +147,7 @@ static inline void bw_iir1_coeffs_hp1(
|
||||
static inline void bw_iir1_coeffs_hs1_lin(
|
||||
float sample_rate,
|
||||
float cutoff,
|
||||
char prewarp_at_cutoff,
|
||||
float prewarp_freq,
|
||||
float high_gain_lin,
|
||||
float * BW_RESTRICT b0,
|
||||
@ -158,6 +161,7 @@ static inline void bw_iir1_coeffs_hs1_lin(
|
||||
static inline void bw_iir1_coeffs_hs1_dB(
|
||||
float sample_rate,
|
||||
float cutoff,
|
||||
char prewarp_at_cutoff,
|
||||
float prewarp_freq,
|
||||
float high_gain_dB,
|
||||
float * BW_RESTRICT b0,
|
||||
@ -171,6 +175,7 @@ static inline void bw_iir1_coeffs_hs1_dB(
|
||||
static inline void bw_iir1_coeffs_lp1(
|
||||
float sample_rate,
|
||||
float cutoff,
|
||||
char prewarp_at_cutoff,
|
||||
float prewarp_freq,
|
||||
float * BW_RESTRICT b0,
|
||||
float * BW_RESTRICT b1,
|
||||
@ -183,6 +188,7 @@ static inline void bw_iir1_coeffs_lp1(
|
||||
static inline void bw_iir1_coeffs_ls1_lin(
|
||||
float sample_rate,
|
||||
float cutoff,
|
||||
char prewarp_at_cutoff,
|
||||
float prewarp_freq,
|
||||
float dc_gain_lin,
|
||||
float * BW_RESTRICT b0,
|
||||
@ -196,6 +202,7 @@ static inline void bw_iir1_coeffs_ls1_lin(
|
||||
static inline void bw_iir1_coeffs_ls1_dB(
|
||||
float sample_rate,
|
||||
float cutoff,
|
||||
char prewarp_at_cutoff,
|
||||
float prewarp_freq,
|
||||
float dc_gain_dB,
|
||||
float * BW_RESTRICT b0,
|
||||
@ -209,6 +216,7 @@ static inline void bw_iir1_coeffs_ls1_dB(
|
||||
static inline void bw_iir1_coeffs_mm1(
|
||||
float sample_rate,
|
||||
float cutoff,
|
||||
char prewarp_at_cutoff,
|
||||
float prewarp_freq,
|
||||
float coeff_x,
|
||||
float coeff_lp,
|
||||
@ -318,6 +326,7 @@ static inline void bw_iir1_process_multi(
|
||||
}
|
||||
|
||||
#define BW_IIR1_COEFFS_COMMON \
|
||||
prewarp_freq = prewarp_at_cutoff ? cutoff : prewarp_freq; \
|
||||
const float t = bw_tanf(3.141592653589793f * prewarp_freq * bw_rcpf(sample_rate)); \
|
||||
const float k = t * cutoff; \
|
||||
const float d = bw_rcpf(k + prewarp_freq); \
|
||||
@ -326,6 +335,7 @@ static inline void bw_iir1_process_multi(
|
||||
static inline void bw_iir1_coeffs_ap1(
|
||||
float sample_rate,
|
||||
float cutoff,
|
||||
char prewarp_at_cutoff,
|
||||
float prewarp_freq,
|
||||
float * BW_RESTRICT b0,
|
||||
float * BW_RESTRICT b1,
|
||||
@ -338,6 +348,7 @@ static inline void bw_iir1_coeffs_ap1(
|
||||
static inline void bw_iir1_coeffs_hp1(
|
||||
float sample_rate,
|
||||
float cutoff,
|
||||
char prewarp_at_cutoff,
|
||||
float prewarp_freq,
|
||||
float * BW_RESTRICT b0,
|
||||
float * BW_RESTRICT b1,
|
||||
@ -350,6 +361,7 @@ static inline void bw_iir1_coeffs_hp1(
|
||||
static inline void bw_iir1_coeffs_hs1_lin(
|
||||
float sample_rate,
|
||||
float cutoff,
|
||||
char prewarp_at_cutoff,
|
||||
float prewarp_freq,
|
||||
float high_gain_lin,
|
||||
float * BW_RESTRICT b0,
|
||||
@ -365,17 +377,19 @@ static inline void bw_iir1_coeffs_hs1_lin(
|
||||
static inline void bw_iir1_coeffs_hs1_dB(
|
||||
float sample_rate,
|
||||
float cutoff,
|
||||
char prewarp_at_cutoff,
|
||||
float prewarp_freq,
|
||||
float high_gain_dB,
|
||||
float * BW_RESTRICT b0,
|
||||
float * BW_RESTRICT b1,
|
||||
float * BW_RESTRICT a1) {
|
||||
bw_iir1_coeffs_hs1_lin(sample_rate, cutoff, prewarp_freq, bw_dB2linf(high_gain_dB), b0, b1, a1);
|
||||
bw_iir1_coeffs_hs1_lin(sample_rate, cutoff, prewarp_at_cutoff, prewarp_freq, bw_dB2linf(high_gain_dB), b0, b1, a1);
|
||||
}
|
||||
|
||||
static inline void bw_iir1_coeffs_lp1(
|
||||
float sample_rate,
|
||||
float cutoff,
|
||||
char prewarp_at_cutoff,
|
||||
float prewarp_freq,
|
||||
float * BW_RESTRICT b0,
|
||||
float * BW_RESTRICT b1,
|
||||
@ -388,6 +402,7 @@ static inline void bw_iir1_coeffs_lp1(
|
||||
static inline void bw_iir1_coeffs_ls1_lin(
|
||||
float sample_rate,
|
||||
float cutoff,
|
||||
char prewarp_at_cutoff,
|
||||
float prewarp_freq,
|
||||
float dc_gain_lin,
|
||||
float * BW_RESTRICT b0,
|
||||
@ -403,17 +418,19 @@ static inline void bw_iir1_coeffs_ls1_lin(
|
||||
static inline void bw_iir1_coeffs_ls1_dB(
|
||||
float sample_rate,
|
||||
float cutoff,
|
||||
char prewarp_at_cutoff,
|
||||
float prewarp_freq,
|
||||
float dc_gain_dB,
|
||||
float * BW_RESTRICT b0,
|
||||
float * BW_RESTRICT b1,
|
||||
float * BW_RESTRICT a1) {
|
||||
bw_iir1_coeffs_ls1_lin(sample_rate, cutoff, prewarp_freq, bw_dB2linf(dc_gain_dB), b0, b1, a1);
|
||||
bw_iir1_coeffs_ls1_lin(sample_rate, cutoff, prewarp_at_cutoff, prewarp_freq, bw_dB2linf(dc_gain_dB), b0, b1, a1);
|
||||
}
|
||||
|
||||
static inline void bw_iir1_coeffs_mm1(
|
||||
float sample_rate,
|
||||
float cutoff,
|
||||
char prewarp_at_cutoff,
|
||||
float prewarp_freq,
|
||||
float coeff_x,
|
||||
float coeff_lp,
|
||||
|
@ -137,6 +137,7 @@ static inline void bw_iir2_coeffs_ap2(
|
||||
float sample_rate,
|
||||
float cutoff,
|
||||
float Q,
|
||||
char prewarp_at_cutoff,
|
||||
float prewarp_freq,
|
||||
float * BW_RESTRICT b0,
|
||||
float * BW_RESTRICT b1,
|
||||
@ -152,6 +153,7 @@ static inline void bw_iir2_coeffs_bp2(
|
||||
float sample_rate,
|
||||
float cutoff,
|
||||
float Q,
|
||||
char prewarp_at_cutoff,
|
||||
float prewarp_freq,
|
||||
float * BW_RESTRICT b0,
|
||||
float * BW_RESTRICT b1,
|
||||
@ -167,6 +169,7 @@ static inline void bw_iir2_coeffs_hp2(
|
||||
float sample_rate,
|
||||
float cutoff,
|
||||
float Q,
|
||||
char prewarp_at_cutoff,
|
||||
float prewarp_freq,
|
||||
float * BW_RESTRICT b0,
|
||||
float * BW_RESTRICT b1,
|
||||
@ -182,6 +185,7 @@ static inline void bw_iir2_coeffs_hs2_lin(
|
||||
float sample_rate,
|
||||
float cutoff,
|
||||
float Q,
|
||||
char prewarp_at_cutoff,
|
||||
float prewarp_freq,
|
||||
float high_gain_lin,
|
||||
float * BW_RESTRICT b0,
|
||||
@ -198,6 +202,7 @@ static inline void bw_iir2_coeffs_hs2_dB(
|
||||
float sample_rate,
|
||||
float cutoff,
|
||||
float Q,
|
||||
char prewarp_at_cutoff,
|
||||
float prewarp_freq,
|
||||
float high_gain_dB,
|
||||
float * BW_RESTRICT b0,
|
||||
@ -214,6 +219,7 @@ static inline void bw_iir2_coeffs_lp2(
|
||||
float sample_rate,
|
||||
float cutoff,
|
||||
float Q,
|
||||
char prewarp_at_cutoff,
|
||||
float prewarp_freq,
|
||||
float * BW_RESTRICT b0,
|
||||
float * BW_RESTRICT b1,
|
||||
@ -229,6 +235,7 @@ static inline void bw_iir2_coeffs_ls2_lin(
|
||||
float sample_rate,
|
||||
float cutoff,
|
||||
float Q,
|
||||
char prewarp_at_cutoff,
|
||||
float prewarp_freq,
|
||||
float dc_gain_lin,
|
||||
float * BW_RESTRICT b0,
|
||||
@ -245,6 +252,7 @@ static inline void bw_iir2_coeffs_ls2_dB(
|
||||
float sample_rate,
|
||||
float cutoff,
|
||||
float Q,
|
||||
char prewarp_at_cutoff,
|
||||
float prewarp_freq,
|
||||
float dc_gain_dB,
|
||||
float * BW_RESTRICT b0,
|
||||
@ -261,6 +269,7 @@ static inline void bw_iir2_coeffs_mm2(
|
||||
float sample_rate,
|
||||
float cutoff,
|
||||
float Q,
|
||||
char prewarp_at_cutoff,
|
||||
float prewarp_freq,
|
||||
float coeff_x,
|
||||
float coeff_lp,
|
||||
@ -280,6 +289,7 @@ static inline void bw_iir2_coeffs_notch(
|
||||
float sample_rate,
|
||||
float cutoff,
|
||||
float Q,
|
||||
char prewarp_at_cutoff,
|
||||
float prewarp_freq,
|
||||
float * BW_RESTRICT b0,
|
||||
float * BW_RESTRICT b1,
|
||||
@ -295,6 +305,7 @@ static inline void bw_iir2_coeffs_peak_lin(
|
||||
float sample_rate,
|
||||
float cutoff,
|
||||
float Q,
|
||||
char prewarp_at_cutoff,
|
||||
float prewarp_freq,
|
||||
float peak_gain_lin,
|
||||
float * BW_RESTRICT b0,
|
||||
@ -311,6 +322,7 @@ static inline void bw_iir2_coeffs_peak_dB(
|
||||
float sample_rate,
|
||||
float cutoff,
|
||||
float Q,
|
||||
char prewarp_at_cutoff,
|
||||
float prewarp_freq,
|
||||
float peak_gain_dB,
|
||||
float * BW_RESTRICT b0,
|
||||
@ -327,6 +339,7 @@ static inline void bw_iir2_coeffs_peak_lin_bw(
|
||||
float sample_rate,
|
||||
float cutoff,
|
||||
float bandwidth,
|
||||
char prewarp_at_cutoff,
|
||||
float prewarp_freq,
|
||||
float peak_gain_lin,
|
||||
float * BW_RESTRICT b0,
|
||||
@ -343,6 +356,7 @@ static inline void bw_iir2_coeffs_peak_dB_bw(
|
||||
float sample_rate,
|
||||
float cutoff,
|
||||
float bandwidth,
|
||||
char prewarp_at_cutoff,
|
||||
float prewarp_freq,
|
||||
float peak_gain_dB,
|
||||
float * BW_RESTRICT b0,
|
||||
@ -496,6 +510,7 @@ static inline void bw_iir2_process_multi(
|
||||
}
|
||||
|
||||
#define BW_IIR2_COEFFS_COMMON \
|
||||
prewarp_freq = prewarp_at_cutoff ? cutoff : prewarp_freq; \
|
||||
const float t = bw_tanf(3.141592653589793f * prewarp_freq * bw_rcpf(sample_rate)); \
|
||||
const float k1 = prewarp_freq * prewarp_freq; \
|
||||
const float k2 = t * cutoff; \
|
||||
@ -510,6 +525,7 @@ static inline void bw_iir2_coeffs_ap2(
|
||||
float sample_rate,
|
||||
float cutoff,
|
||||
float Q,
|
||||
char prewarp_at_cutoff,
|
||||
float prewarp_freq,
|
||||
float * BW_RESTRICT b0,
|
||||
float * BW_RESTRICT b1,
|
||||
@ -526,6 +542,7 @@ static inline void bw_iir2_coeffs_bp2(
|
||||
float sample_rate,
|
||||
float cutoff,
|
||||
float Q,
|
||||
char prewarp_at_cutoff,
|
||||
float prewarp_freq,
|
||||
float * BW_RESTRICT b0,
|
||||
float * BW_RESTRICT b1,
|
||||
@ -542,6 +559,7 @@ static inline void bw_iir2_coeffs_hp2(
|
||||
float sample_rate,
|
||||
float cutoff,
|
||||
float Q,
|
||||
char prewarp_at_cutoff,
|
||||
float prewarp_freq,
|
||||
float * BW_RESTRICT b0,
|
||||
float * BW_RESTRICT b1,
|
||||
@ -558,6 +576,7 @@ static inline void bw_iir2_coeffs_hs2_lin(
|
||||
float sample_rate,
|
||||
float cutoff,
|
||||
float Q,
|
||||
char prewarp_at_cutoff,
|
||||
float prewarp_freq,
|
||||
float high_gain_lin,
|
||||
float * BW_RESTRICT b0,
|
||||
@ -582,6 +601,7 @@ static inline void bw_iir2_coeffs_hs2_dB(
|
||||
float sample_rate,
|
||||
float cutoff,
|
||||
float Q,
|
||||
char prewarp_at_cutoff,
|
||||
float prewarp_freq,
|
||||
float high_gain_dB,
|
||||
float * BW_RESTRICT b0,
|
||||
@ -589,13 +609,14 @@ static inline void bw_iir2_coeffs_hs2_dB(
|
||||
float * BW_RESTRICT b2,
|
||||
float * BW_RESTRICT a1,
|
||||
float * BW_RESTRICT a2) {
|
||||
bw_iir2_coeffs_hs2_lin(sample_rate, cutoff, Q, prewarp_freq, bw_dB2linf(high_gain_dB), b0, b1, b2, a1, a2);
|
||||
bw_iir2_coeffs_hs2_lin(sample_rate, cutoff, Q, prewarp_at_cutoff, prewarp_freq, bw_dB2linf(high_gain_dB), b0, b1, b2, a1, a2);
|
||||
}
|
||||
|
||||
static inline void bw_iir2_coeffs_lp2(
|
||||
float sample_rate,
|
||||
float cutoff,
|
||||
float Q,
|
||||
char prewarp_at_cutoff,
|
||||
float prewarp_freq,
|
||||
float * BW_RESTRICT b0,
|
||||
float * BW_RESTRICT b1,
|
||||
@ -612,6 +633,7 @@ static inline void bw_iir2_coeffs_ls2_lin(
|
||||
float sample_rate,
|
||||
float cutoff,
|
||||
float Q,
|
||||
char prewarp_at_cutoff,
|
||||
float prewarp_freq,
|
||||
float dc_gain_lin,
|
||||
float * BW_RESTRICT b0,
|
||||
@ -635,6 +657,7 @@ static inline void bw_iir2_coeffs_ls2_dB(
|
||||
float sample_rate,
|
||||
float cutoff,
|
||||
float Q,
|
||||
char prewarp_at_cutoff,
|
||||
float prewarp_freq,
|
||||
float dc_gain_dB,
|
||||
float * BW_RESTRICT b0,
|
||||
@ -642,13 +665,14 @@ static inline void bw_iir2_coeffs_ls2_dB(
|
||||
float * BW_RESTRICT b2,
|
||||
float * BW_RESTRICT a1,
|
||||
float * BW_RESTRICT a2) {
|
||||
bw_iir2_coeffs_ls2_lin(sample_rate, cutoff, Q, prewarp_freq, bw_dB2linf(dc_gain_dB), b0, b1, b2, a1, a2);
|
||||
bw_iir2_coeffs_ls2_lin(sample_rate, cutoff, Q, prewarp_at_cutoff, prewarp_freq, bw_dB2linf(dc_gain_dB), b0, b1, b2, a1, a2);
|
||||
}
|
||||
|
||||
static inline void bw_iir2_coeffs_mm2(
|
||||
float sample_rate,
|
||||
float cutoff,
|
||||
float Q,
|
||||
char prewarp_at_cutoff,
|
||||
float prewarp_freq,
|
||||
float coeff_x,
|
||||
float coeff_lp,
|
||||
@ -673,6 +697,7 @@ static inline void bw_iir2_coeffs_notch(
|
||||
float sample_rate,
|
||||
float cutoff,
|
||||
float Q,
|
||||
char prewarp_at_cutoff,
|
||||
float prewarp_freq,
|
||||
float * BW_RESTRICT b0,
|
||||
float * BW_RESTRICT b1,
|
||||
@ -689,6 +714,7 @@ static inline void bw_iir2_coeffs_peak_lin(
|
||||
float sample_rate,
|
||||
float cutoff,
|
||||
float Q,
|
||||
char prewarp_at_cutoff,
|
||||
float prewarp_freq,
|
||||
float peak_gain_lin,
|
||||
float * BW_RESTRICT b0,
|
||||
@ -708,6 +734,7 @@ static inline void bw_iir2_coeffs_peak_dB(
|
||||
float sample_rate,
|
||||
float cutoff,
|
||||
float Q,
|
||||
char prewarp_at_cutoff,
|
||||
float prewarp_freq,
|
||||
float peak_gain_dB,
|
||||
float * BW_RESTRICT b0,
|
||||
@ -715,13 +742,14 @@ static inline void bw_iir2_coeffs_peak_dB(
|
||||
float * BW_RESTRICT b2,
|
||||
float * BW_RESTRICT a1,
|
||||
float * BW_RESTRICT a2) {
|
||||
bw_iir2_coeffs_peak_lin(sample_rate, cutoff, Q, prewarp_freq, bw_dB2linf(peak_gain_dB), b0, b1, b2, a1, a2);
|
||||
bw_iir2_coeffs_peak_lin(sample_rate, cutoff, Q, prewarp_at_cutoff, prewarp_freq, bw_dB2linf(peak_gain_dB), b0, b1, b2, a1, a2);
|
||||
}
|
||||
|
||||
static inline void bw_iir2_coeffs_peak_lin_bw(
|
||||
float sample_rate,
|
||||
float cutoff,
|
||||
float bandwidth,
|
||||
char prewarp_at_cutoff,
|
||||
float prewarp_freq,
|
||||
float peak_gain_lin,
|
||||
float * BW_RESTRICT b0,
|
||||
@ -731,13 +759,14 @@ static inline void bw_iir2_coeffs_peak_lin_bw(
|
||||
float * BW_RESTRICT a2) {
|
||||
const float k6 = bw_pow2f(bandwidth);
|
||||
const float Q = bw_sqrtf(k6 * peak_gain_lin) * bw_rcpf(k6 - 1.f);
|
||||
bw_iir2_coeffs_peak_lin(sample_rate, cutoff, Q, prewarp_freq, peak_gain_lin, b0, b1, b2, a1, a2);
|
||||
bw_iir2_coeffs_peak_lin(sample_rate, cutoff, Q, prewarp_at_cutoff, prewarp_freq, peak_gain_lin, b0, b1, b2, a1, a2);
|
||||
}
|
||||
|
||||
static inline void bw_iir2_coeffs_peak_dB_bw(
|
||||
float sample_rate,
|
||||
float cutoff,
|
||||
float bandwidth,
|
||||
char prewarp_at_cutoff,
|
||||
float prewarp_freq,
|
||||
float peak_gain_dB,
|
||||
float * BW_RESTRICT b0,
|
||||
@ -745,7 +774,7 @@ static inline void bw_iir2_coeffs_peak_dB_bw(
|
||||
float * BW_RESTRICT b2,
|
||||
float * BW_RESTRICT a1,
|
||||
float * BW_RESTRICT a2) {
|
||||
bw_iir2_coeffs_peak_lin_bw(sample_rate, cutoff, bandwidth, prewarp_freq, bw_dB2linf(peak_gain_dB), b0, b1, b2, a1, a2);
|
||||
bw_iir2_coeffs_peak_lin_bw(sample_rate, cutoff, bandwidth, prewarp_at_cutoff, prewarp_freq, bw_dB2linf(peak_gain_dB), b0, b1, b2, a1, a2);
|
||||
}
|
||||
|
||||
#undef BW_IIR2_COEFFS_COMMON
|
||||
|
Loading…
Reference in New Issue
Block a user