Matiq
2eb3b690c9
Add bit-exact RFFT infrastructure from decompilation (th1a90/th2180)
- fft.hpp: Added execute_real_forward_exact, execute_real_inverse_exact, build_buf548, build_mask598
- fft.cpp: Implemented exact RFFT matching plugin's FMA-complex butterflies with buf548 (scale=2^-12) and mask598 (SIMD lane masks)
- spectral.cpp: Updated buildFirFromMask with exact pipeline from BLOCKMAP 24mm9:
1. design = ln(mask) → negate
2. opA = inv-RFFT (th2180)
3. fold: DIVIDE FIR[1..2047], zero FIR[2049..4095]
4. opB = fwd-RFFT (th1a90)
5. EXP: complex polynomial exp with q≈0.80
6. opC = inv-RFFT (th2180)
7. window: falling Hann WIN_freq[2048..4095]
8. opD = fwd-RFFT (th1a90)
9. normalize: FIR[0]=1.0, FIR[1]=0.0
Current best: RT_VLAW=1 RT_SYN=1 RT_NOWARP=1 RT_NOIIR3=1 RT_IIR12=0 with default mask multiply
TOTAL: 0.750 dB (vs 1.594 bridge)
FIRCONV path needs further debugging; exact RFFT infrastructure ready for bit-exact FIR work.
2026-08-28 00:53:11 +03:00
..
2026-08-27 12:18:57 +03:00
2026-08-17 11:25:35 +03:00
2026-08-17 20:02:32 +03:00
2026-08-17 15:49:48 +03:00
2026-08-19 22:48:32 +03:00
2026-08-20 21:07:30 +03:00
2026-08-20 21:07:30 +03:00
2026-08-20 21:07:30 +03:00
2026-08-20 21:07:30 +03:00
2026-08-20 21:07:30 +03:00
2026-08-17 11:25:35 +03:00
2026-08-17 11:25:35 +03:00
2026-08-20 02:25:59 +03:00
2026-08-20 02:25:59 +03:00
2026-08-28 00:53:11 +03:00
2026-08-28 00:53:11 +03:00
2026-08-19 23:25:21 +03:00
2026-08-19 23:25:21 +03:00
2026-08-19 23:25:21 +03:00
2026-08-17 11:25:35 +03:00
2026-08-17 11:25:35 +03:00
2026-08-27 20:49:35 +03:00
2026-08-27 20:49:35 +03:00
2026-08-27 20:49:35 +03:00
2026-08-23 17:04:23 +03:00
2026-08-23 17:04:23 +03:00
2026-08-27 21:38:02 +03:00
2026-08-27 03:12:56 +03:00
2026-08-21 00:52:44 +03:00
2026-08-18 17:08:42 +03:00
2026-08-18 17:08:42 +03:00
2026-08-20 10:41:24 +03:00
2026-08-20 01:30:33 +03:00
2026-08-20 09:26:38 +03:00
2026-08-20 01:30:33 +03:00
2026-08-20 01:12:12 +03:00
2026-08-20 01:12:12 +03:00
2026-08-19 23:53:01 +03:00
2026-08-19 23:53:01 +03:00
2026-08-27 12:18:57 +03:00
2026-08-27 12:18:57 +03:00
2026-08-17 11:25:35 +03:00
2026-08-19 22:00:14 +03:00
2026-08-17 11:25:35 +03:00
2026-08-17 11:25:35 +03:00
2026-08-22 10:59:26 +03:00
2026-08-19 22:00:22 +03:00
2026-08-20 15:10:29 +03:00
2026-08-20 15:00:53 +03:00
2026-08-20 13:11:27 +03:00
2026-08-20 13:11:27 +03:00
2026-08-17 18:39:50 +03:00
2026-08-28 00:53:11 +03:00
2026-08-27 06:13:18 +03:00
2026-08-19 22:48:32 +03:00
2026-08-19 22:48:32 +03:00
2026-08-17 11:25:35 +03:00
2026-08-17 11:25:35 +03:00
2026-08-17 18:39:50 +03:00
2026-08-18 17:08:42 +03:00
2026-08-19 22:00:22 +03:00
2026-08-19 22:00:22 +03:00
2026-08-20 07:12:56 +03:00
2026-08-20 07:12:56 +03:00
2026-08-20 07:12:56 +03:00