diff --git a/src/fm95.c b/src/fm95.c index d7bd773..a82bb78 100644 --- a/src/fm95.c +++ b/src/fm95.c @@ -542,7 +542,8 @@ int main(int argc, char **argv) { if(sca_on) mpx += modulate_fm(&sca_mod, hard_clip(current_sca_in, sca_clipper_threshold))*SCA_VOLUME; float mpx_only = measure_mpx(&mpx_only_power, mpx * mpx_deviation); - float mpower = measure_mpx(&power, (audio+mpx) * mpx_deviation) - mpx_only; + float mpower = measure_mpx(&power, (audio+mpx) * mpx_deviation); + mpower = deviation_to_dbr(dbr_to_deviation(mpower) - dbr_to_deviation(mpx_only)); if (mpower > mpx_power) { float excess_power = mpower - mpx_power; audio *= (dbr_to_deviation(-excess_power)/mpx_deviation);