Taming SNR Heterogeneity: Adaptive Expert Routing for Weak LoRa Signal Decoding

Shuo Yan1, Ningning Hou1, Qiang Yang2
1Macquarie University    2University of Cambridge
IEEE International Conference on Network Protocols (ICNP) 2026, Tempe, Arizona, USA

Overview

LoRa signal representations shift non-smoothly across SNR levels, and a single unified decoder is structurally unable to fit all SNR regimes at once. SAM-Mixer resolves this by routing inputs through an SNR-aware Mixture-of-Experts denoiser, followed by a lightweight chirp classifier. The result is a consistent SNR gain over LoRaPHY across SF=7--9, with substantially fewer parameters at high SFs.

The Problem: Non-Smooth SNR Heterogeneity

Weak-signal LoRa decoders are typically trained as a single network across all SNR levels. But how does the signal representation actually vary with SNR? We measure the Fréchet Inception Distance (FID) between time-frequency representations at different SNR levels, and find that the SNR axis splits into discrete distributional regimes rather than a smooth gradient.

Pairwise FID matrix across SNR
Pairwise FID matrix across SNR levels: a tight high-SNR cluster (0…−10 dB) and a tight low-SNR cluster (−20…−30 dB) form visibly compact blocks, separated by a sharp boundary near −15 dB.

The consequence is negative cross-regime transfer. The pairwise Pearson correlation of decoding accuracy across SNRs for a conventional unified neural decoder (NELoRa) shows that distant SNR regimes are anti-correlated: improving one actively degrades the other.

NELoRa correlation heatmap
NELoRa: two sharply anti-correlated blocks across SNR.
SAM-Mixer correlation heatmap
SAM-Mixer softens those conflicts via expert routing.

Our Solution: SAM-Mixer

SAM-Mixer is an end-to-end framework with two ideas:

(i) SAM-Denoiser — an SNR-aware Mixture-of-Experts module. A lightweight SNR estimator produces a soft routing signal; a gating network selects the most relevant expert branches per input, plus a shared expert that stays active across all inputs to preserve cross-regime structure.

(ii) ChirpMixer — a lightweight chirp classifier. A multi-scale convolutional front-end extracts chirp-specific spectral features, and an axis-wise MLP-Mixer head replaces the dense fully-connected classifier, scaling linearly rather than quadratically with SF.

SAM-Mixer system overview
System overview: SAM-Denoiser (top) routes the STFT through an SNR-aware MoE, then ChirpMixer (bottom) classifies the denoised chirp.

Results

On NELoRa-bench, SAM-Mixer consistently outperforms LoRaPHY, NELoRa, and NELoRa+ in the low-to-mid SNR range across all four spreading factors. The gain is largest at SF=7 and shrinks monotonically as the spreading factor's intrinsic processing gain grows, with SAM-Mixer matching LoRaPHY at SF=10 over the tested SNR range.

SF=7 SER vs SNR
SF = 7
SF=8 SER vs SNR
SF = 8
SF=9 SER vs SNR
SF = 9
SF=10 SER vs SNR
SF = 10

Beyond LoRa: Cross-Domain Transfer

The same architecture, training pipeline, and hyperparameters transfer to underwater acoustic chirp detection (Neusos task) with no domain adaptation. SAM-Mixer outperforms the purpose-built Neusos baseline by +9.4 pp at the toughest −24 dB condition, suggesting that SNR-aware expert routing is a property of chirp-based communication broadly, not LoRa-specific.

Underwater chirp detection accuracy
Cross-domain validation: SAM-Mixer (no per-medium tuning) vs. Neusos (purpose-built underwater detector).

Try It Yourself

The repository ships with the SF=7 checkpoint, a NELoRa-bench symbol cache, and a single-script evaluation that reproduces the LoRaPHY-vs.-SAM-Mixer comparison:

git clone https://github.com/YanShuo1992/sam-mixer.git
cd sam-mixer
git lfs pull
pip install -r requirements.txt

python evaluate.py \
    --config configs/sf7.yaml \
    --weights weights/sf7.pt \
    --cache   data/sf7_sample.pkl

The script reports per-SNR accuracy and an SER–SNR curve for both SAM-Mixer and LoRaPHY, reproducing the SF=7 panel of the paper. See the README for full documentation.