[feat](trx-rs): add CCI/ACI bars to WFM panel with RDS mitigation

Estimate Co-Channel Interference (CCI) from pilot tone quadrature
leakage and coherence degradation.  Estimate Adjacent Channel
Interference (ACI) from CMA equalizer tap deviation from identity.
Both metrics (0-100 scale) are surfaced through RigFilterState and
displayed as colour-coded bars in the WFM control panel.

The RDS decoder quality parameter is now adaptively penalised when
CCI/ACI levels are elevated, reducing block-error rate under
interference conditions.

https://claude.ai/code/session_016EKzep42RCvE4GxvvRaCwu
Signed-off-by: Claude <noreply@anthropic.com>
This commit is contained in:
Claude
2026-03-27 08:17:34 +00:00
committed by Stan Grams
parent 6b33550116
commit 4da4d8ec66
8 changed files with 180 additions and 9 deletions
+6
View File
@@ -326,6 +326,8 @@ mod tests {
wfm_stereo: true,
wfm_stereo_detected: false,
wfm_denoise: trx_core::WfmDenoiseLevel::Auto,
wfm_cci: 0,
wfm_aci: 0,
sam_stereo_width: 1.0,
sam_carrier_sync: true,
}),
@@ -372,6 +374,8 @@ mod tests {
wfm_stereo: true,
wfm_stereo_detected: true,
wfm_denoise: trx_core::WfmDenoiseLevel::Auto,
wfm_cci: 12,
wfm_aci: 45,
sam_stereo_width: 0.5,
sam_carrier_sync: false,
}),
@@ -384,6 +388,8 @@ mod tests {
assert_eq!(f.sdr_gain_db, Some(18.0));
assert_eq!(f.wfm_deemphasis_us, 50);
assert!(f.wfm_stereo_detected);
assert_eq!(f.wfm_cci, 12);
assert_eq!(f.wfm_aci, 45);
assert_eq!(f.sam_stereo_width, 0.5);
assert!(!f.sam_carrier_sync);
}