24l-2: live (scratch,FIR) pair proves FIR=exp(log(bands)) pointwise (+1%); log support LIMITED to bins 6..623 -> unity passband mechanism; applied = 1.019*B^1.8345 with B=band curve; detector M->B is the only remaining gap

This commit is contained in:
2026-08-24 19:17:59 +03:00
parent 3a611cff35
commit 508b24125f
2 changed files with 46 additions and 1 deletions
+44
View File
@@ -2970,3 +2970,47 @@ out-nofx.wav / out_dual300.wav битЫЕ СТАРОГО происхожден
Корпус после восстановления: t1kq 0.768 / t1k 2.114 / al 0.986 / res 0.437 /
dual 3.264 / comb 6.116 / TOTAL **2.286** (dual улучшился против 3.578 —
свежие рефы).
## ============ ДОПОЛНЕНИЕ 24l-2: ЖИВАЯ ПАРА (scratch, FIR); FIR = exp(log(bands)); поддержка log ОГРАНИЧЕНА ============
### Решающий снапшот
rendersnap2 v4 (слоты +540548/550/598/628) на multi.rpp → multi3/ph040.npz:
в ОДНОМ STOP пойманы scratch@540628 НЕнуловой (231 бин, max |s|=0.75) и FIR.
Проверка поточечно:
```
bin43: scratch=-0.6472 exp(s)=0.5235 FIR=0.5292 (+1.1%)
bin171: scratch=-0.7498 exp(s)=0.4724 FIR=0.4763 (+0.8%)
```
**FIR ≈ exp(scratch) = bands[i] напрямую** (расхождение ~1% — окна/ops).
«Строение кернела» не преобразует кривую — оно ВОСПРОИЗВОДИТ её через
log→exp-тракт (инверсия знака/твидлы/окна из 24l почти взаимно компенсируются;
их остаточная роль ~1% — выяснить отдельно).
### Поддержка лога ОГРАНИЧЕНА
scratch непулевой ТОЛЬКО в бинах 6..623 (~70..7300 Гц) при нотчах на 43 и 171.
Вне поддержки scratch=0 ⇒ exp=1 ⇒ ЕДИНичный passband кернела — вот механизм
ровной единички пасбэнда! Границы поддержки = детекторная активность/порог
(уточнить законом).
### Сшивка всех фактов раунда
```
applied_A = 1.019 · B^1.8345 (24k, rms 0.0025 дБ)
B = exp(scratch) ≈ bands[i] (24l-2, ±1%)
⇒ остаётся ОДНА неизвестная: кривая bands[i] детектора (наша M ≠ B).
Контроль: A(B@43=0.5235)=0.310 → 10.17 дБ vs реф 10.32 ✓;
глубокий флэш D@43=0.315..0.32 = ровно значение, дающее реф-глубину при
подстановке в закон (D и есть B другой мгновенной фазы адаптива).
```
### Буферы
buf548: стабилен внутри сессии, span 4..8193, НЕ классические твидлы
(pair512=(0.707,0.724)) — построение при init, реплицировать численно.
mask598: паттерн lane-select подтверждён.
### NEXT (24m)
1. Формула B(b): центр-закон 1.7436·ln(1+lvl/0.3824) уже есть; скирт-ветка +
границы поддержки (бины 6..623!) — следующие цели. Датасеты: multi3/
rn_lv*/rn_q* + тракты.
2. Численная репликация log→exp тракта (ops A-D, buf548) до ±1% для bit-exact.
3. sens/fc-серии для масштабирования закона.
4. RT_FIRCONV=3 уже даёт правильную композицию — детектор доводить до B.
+2 -1
View File
@@ -18,7 +18,8 @@ import time
import numpy as np
SLOTS = [0x540668, 0x540678, 0x540688, 0x540788, 0x5407f8]
SLOTS = [0x540668, 0x540548, 0x540550, 0x540598, 0x540628,
0x540678, 0x540688, 0x540788, 0x5407f8]
NARR = 8194
SCAL_OFF = 0x540860
SCAL_N = 24 # floats -> 0x540860..0x5408c0