diff --git a/dsp/framed_model.cpp b/dsp/framed_model.cpp index 397651a..cc6d30b 100644 --- a/dsp/framed_model.cpp +++ b/dsp/framed_model.cpp @@ -139,7 +139,7 @@ void FramedDetector::processFrame(const std::complex* spectrum, float* m double res_k = std::max(static_cast(res_[b][k]), 1e-12); double lvl = static_cast(am_[k]) / res_k; double xv = std::log10(std::max(lvl, 1e-9)); - double C = G_FIT * lut_parametric(xv, CAP_A_LEVEL, CAP_B_LEVEL, CAP_GAMMA) + W_FIT * std::pow(warp_c(fk), A_FIT); + double C = G_FIT * lut_pchip(xv) + W_FIT * std::pow(warp_c(fk), A_FIT); double g = std::max(1.0 - C, 1e-9) * std::pow(res_k, rp); mask[k] = std::min(static_cast(g), mask[k]); fk += fstep;