From 8440fe164bd37150bbebee98dd301503c5623593 Mon Sep 17 00:00:00 2001 From: Stan Grams Date: Sat, 28 Feb 2026 22:54:03 +0100 Subject: [PATCH] [fix](trx-backend-soapysdr): reduce wfm audio cutoff Co-authored-by: OpenAI Codex Signed-off-by: Stan Grams --- .../trx-backend/trx-backend-soapysdr/src/demod.rs | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/trx-server/trx-backend/trx-backend-soapysdr/src/demod.rs b/src/trx-server/trx-backend/trx-backend-soapysdr/src/demod.rs index 6207774..f43f858 100644 --- a/src/trx-server/trx-backend/trx-backend-soapysdr/src/demod.rs +++ b/src/trx-server/trx-backend/trx-backend-soapysdr/src/demod.rs @@ -11,11 +11,10 @@ const RDS_BPF_Q: f32 = 10.0; /// Pilot tone frequency (Hz). const PILOT_HZ: f32 = 19_000.0; /// Audio bandwidth for WFM (Hz). -/// 17 kHz passes the full FM stereo audio bandwidth. The 4th-order -/// Butterworth is −3 dB at 17 kHz, −8 dB at 19 kHz (pilot), and −28 dB -/// at 38 kHz (carrier). Combined with deemphasis (−18 dB at 19 kHz) the -/// pilot is still >25 dB below audibility. -const AUDIO_BW_HZ: f32 = 17_000.0; +/// 15.8 kHz leaves more guard band below the 19 kHz pilot and reduces +/// top-end artifacts on strong signals while still preserving the useful +/// broadcast audio range. +const AUDIO_BW_HZ: f32 = 15_800.0; /// Q values for a proper 4th-order Butterworth cascade (two 2nd-order stages). /// Stage 1: Q = 1 / (2 cos(π/8)) const BW4_Q1: f32 = 0.5412;