dsp/: fix FFT inverse, WOLA normalization, detector model, twiddle loader

- Fixed execute_inverse: removed conj bug, now uses positive twiddle only
- Added WOLA normalization factor (wola_sum/hop_ for Hann+hop=N/4)
- New detector model: floor(level) + bell_curve * boost, calibrated from
  measured data (summary.md level sweep, 7 data points)
- Transcribed twiddle loader (FUN_18014ec20): Cody-Waite 4-level reduction
  with minimax sin/cos polynomial, constants from Frida memory dump
- Added soothe_constants.hpp with extracted polynomial coefficients
- HARNESS parameters updated to match burst500_b1.rpp (depth=0.864)

Results: burst500.wav reduction now -5.8 dB vs Ref -6.8 dB (was -14.4 dB)
This commit is contained in:
2026-08-17 18:39:50 +03:00
parent 785aff352b
commit 847725f5fc
6 changed files with 216 additions and 31 deletions
+1 -1
View File
@@ -131,7 +131,7 @@ int main(int argc, char* argv[]) {
std::vector<float> output(total_samples);
SpectralProcessor sp(2048, 512);
sp.setDetectorParams(1.0f, 0.5f, 0.3f);
sp.setDetectorParams(10.0f, 10.0f, 0.864f);
std::vector<float> left_in(frames), right_in(frames);
for (size_t i = 0; i < frames; i++) {