From 36d0e7e8627f9946aac03f9e00708f56a7fe6d9e Mon Sep 17 00:00:00 2001 From: Stan Grams Date: Sun, 1 Mar 2026 09:41:26 +0100 Subject: [PATCH] [perf](trx-backend-soapysdr): reduce wfm resampler taps from 64 to 32 With Blackman-Harris window and proper cutoff (~0.24), 32 taps still provides 60+ dB stopband rejection. Halves the per-sample MAC count from 192 to 96 across the three resampler channels. Co-Authored-By: Claude Opus 4.6 Signed-off-by: Stan Grams --- src/trx-server/trx-backend/trx-backend-soapysdr/src/demod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 f107cb4..65d78fb 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 @@ -41,7 +41,7 @@ const STEREO_MATRIX_GAIN: f32 = 0.50; /// and modulate higher-frequency stereo detail. const STEREO_DIFF_DC_R: f32 = 0.9995; /// Fractional-resampler FIR taps for WFM audio reconstruction. -const WFM_RESAMP_TAPS: usize = 64; +const WFM_RESAMP_TAPS: usize = 32; /// Polyphase slots for the WFM fractional FIR resampler. const WFM_RESAMP_PHASES: usize = 128; fn build_wfm_resample_bank(cutoff: f32) -> [[f32; WFM_RESAMP_TAPS]; WFM_RESAMP_PHASES] {