Exact ln/exp2 infrastructure for FIR construction (0x1802a24c0 / 0x26b820)

- log2_ln.hpp/cpp: Plugin's exact ln(float) polynomial from 535a70
  (0x1802a24c0). IEEE 754 bit extraction + Horner evaluation.
  Coefficients extracted from binary at 0x181f81f80..0x181f821c0.
  Max error ~3e-6 for typical inputs.

- spectral.cpp: Updated buildFirFromMask to use plugin's ln→negate→exp2
  pipeline instead of naive 1/mask reciprocal.

- exp2_tables.hpp/cpp: Already contains plugin's exp2 tables (0x26b820).

Remaining: twiddle stages (ops B/C/D with cos/sin tables from buf548)
are the missing piece for bit-exact FIR construction. These are
FFT butterflies already implemented in fft.hpp but need integration
into the FIR pipeline.
This commit is contained in:
2026-08-27 12:18:57 +03:00
parent 575d26a771
commit f689023089
4 changed files with 136 additions and 32 deletions
+1
View File
@@ -29,6 +29,7 @@ add_library(soothe2_dsp SHARED
fn529fe0.cpp
rt_weights.cpp
rt_mask_tables.cpp
log2_ln.cpp
)
add_executable(soothe2_harness harness.cpp)