fn instantaneous_phase(signal: &[f64]) -> Vec<f64>
Compute instantaneous phase via analytic signal (one-sided FFT Hilbert).