diff --git a/wdsp/RXA.cpp b/wdsp/RXA.cpp index 742218a85..6341910fa 100644 --- a/wdsp/RXA.cpp +++ b/wdsp/RXA.cpp @@ -313,7 +313,7 @@ RXA* RXA::create_rxa ( 0.750, // noise level to initiate tail 0.562, // noise level to initiate unmute 0.000, // minimum tail time - 1.200, // maximum tail time + 0.100, // maximum tail time std::max(2048, rxa->dsp_size), // number of coefficients for noise filter 0); // minimum phase flag diff --git a/wdsp/fmsq.cpp b/wdsp/fmsq.cpp index 12027ca10..8bc2756e6 100644 --- a/wdsp/fmsq.cpp +++ b/wdsp/fmsq.cpp @@ -35,7 +35,7 @@ namespace WDSP { void FMSQ::calc_fmsq (FMSQ *a) { - double delta, theta; + float delta, theta; float* impulse; int i; // noise filter @@ -168,11 +168,13 @@ void FMSQ::xfmsq (FMSQ *a) if (a->run) { int i; - float noise, lnlimit; + double noise, lnlimit; FIRCORE::xfircore (a->p); for (i = 0; i < a->size; i++) { - noise = sqrt(a->noise[2 * i + 0] * a->noise[2 * i + 0] + a->noise[2 * i + 1] * a->noise[2 * i + 1]); + double noise0 = a->noise[2 * i + 0]; + double noise1 = a->noise[2 * i + 1]; + noise = sqrt(noise0 * noise0 + noise1 * noise1); a->avnoise = a->avm * a->avnoise + a->onem_avm * noise; a->longnoise = a->longavm * a->longnoise + a->onem_longavm * noise; if (!a->ready) a->ramp += a->rstep;