diff --git a/.vscode/.server-controller-port.log b/.vscode/.server-controller-port.log index ff10b4b..503ed52 100644 --- a/.vscode/.server-controller-port.log +++ b/.vscode/.server-controller-port.log @@ -1,5 +1,5 @@ { "port": 13452, - "time": 1751996081486, + "time": 1752042503106, "version": "0.0.3" } \ No newline at end of file diff --git a/filter/bs412.c b/filter/bs412.c index bcba02f..f7b31a0 100644 --- a/filter/bs412.c +++ b/filter/bs412.c @@ -27,7 +27,7 @@ void init_bs412(BS412Compressor* mpx, float mpx_deviation, float target_power, f } float bs412_compress(BS412Compressor* mpx, float sample) { - mpx->average += (sample * sample) * mpx->mpx_deviation; // rmS + mpx->average += sample * sample * mpx->mpx_deviation * mpx->mpx_deviation; // rmS mpx->average_counter++; float avg_deviation = sqrtf(mpx->average / mpx->average_counter); // RMs @@ -55,5 +55,5 @@ float bs412_compress(BS412Compressor* mpx, float sample) { mpx->gain = fminf(mpx->max, mpx->gain); mpx->gain = fmaxf(0.0f, mpx->gain); - return fminf(sample*mpx->gain, dbr_to_deviation(mpx->target*1.1f)); + return fminf(fmaxf(sample*mpx->gain, -(dbr_to_deviation(mpx->target*1.1f)/mpx->mpx_deviation)), (dbr_to_deviation(mpx->target*1.1f)/mpx->mpx_deviation)); }