fn goertzel(samples: &[f64], target_freq: f64, sample_rate: f64) -> f64
Goertzel algorithm: compute energy at a specific frequency. Much more efficient than FFT when you need only a few frequency bins.