[perf](trx-backend-soapysdr): reduce polyphase resampler phases from 128 to 64

Halves the coefficient bank from 128×32 to 64×32 (16 KB → 8 KB) for
better L1 cache utilization while maintaining sufficient fractional
sample resolution.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Stan Grams <sjg@haxx.space>
This commit is contained in:
2026-03-01 09:47:13 +01:00
parent 7eb88b6669
commit 4f99c23e7a
@@ -43,7 +43,7 @@ const STEREO_DIFF_DC_R: f32 = 0.9995;
/// Fractional-resampler FIR taps for WFM audio reconstruction. /// Fractional-resampler FIR taps for WFM audio reconstruction.
const WFM_RESAMP_TAPS: usize = 32; const WFM_RESAMP_TAPS: usize = 32;
/// Polyphase slots for the WFM fractional FIR resampler. /// Polyphase slots for the WFM fractional FIR resampler.
const WFM_RESAMP_PHASES: usize = 128; const WFM_RESAMP_PHASES: usize = 64;
fn build_wfm_resample_bank(cutoff: f32) -> [[f32; WFM_RESAMP_TAPS]; WFM_RESAMP_PHASES] { fn build_wfm_resample_bank(cutoff: f32) -> [[f32; WFM_RESAMP_TAPS]; WFM_RESAMP_PHASES] {
let mut bank = [[0.0; WFM_RESAMP_TAPS]; WFM_RESAMP_PHASES]; let mut bank = [[0.0; WFM_RESAMP_TAPS]; WFM_RESAMP_PHASES];
let anchor = (WFM_RESAMP_TAPS / 2 - 1) as f32; let anchor = (WFM_RESAMP_TAPS / 2 - 1) as f32;