e44e616ab8
ACI: the hard limiter in channel.rs normalised IQ samples to unit magnitude *before* the CMA equalizer, making the signal perfectly constant-modulus so the CMA never adapted and tap deviation stayed at zero. Fix by moving the hard limiter inside process_iq (after the CMA) and replacing the CMA-based metric with IQ envelope coefficient of variation, computed on the raw samples. CCI: the pilot coherence has a theoretical maximum of π/4 ≈ 0.785 (not 1.0), so coherence_penalty was always ~0.215 even for a clean signal. The Q/I ratio also depended on the arbitrary NCO-pilot phase offset rather than actual interference. Fix by normalising coherence by its theoretical max and dropping the phase-dependent Q/I ratio. Gate CCI on pilot detection so mono signals read 0%. https://claude.ai/code/session_01PUXWNMRGfrWYH56k2DLmen Signed-off-by: Claude <noreply@anthropic.com>