24mm9: FIR-chain decoded = min-phase cepstral sandwich; opB/opC are RFFT twins (plan@548), df0 = complex-mul dst=track; validated 0.0065 dB median over 60 clean frames; gamma = 1+s_F(q), q~0.8 source open
This commit is contained in:
@@ -4040,3 +4040,65 @@ opB-воркер 18004ca80: пролог + тег [obj]==6 проверка (0xf
|
||||
Полный дизасм не сохранён (скрипт-глюк с редиректом), перегенерировать:
|
||||
`python3 scripts/disasm_func.py 18004ca80 0x300`.
|
||||
Цель: найти множитель γ=1.760561 внутри opB/opC/df0 → замкнуть конвейер.
|
||||
|
||||
## ============ 24mm9: FIR-ЦЕПЬ ДЕКОДИРОВАНА = MIN-PHASE КЕПСТРАЛЬНЫЙ СЭНДВИЧ; ВАЛИДАЦИЯ 0.0065 дБ ============
|
||||
|
||||
### Структура опов (полные дизасмы в /tmp/opencode/cascade/*.dis)
|
||||
```
|
||||
обёртки 125e0/5560: перестановка аргументов → воркер(rcx=data, rdx=data,
|
||||
r8=ПЛАН, r9=WORK); всё ин-плейс над FIR
|
||||
ПЛАН = buf548@540548 (!НЕ маски/твидлы): {tag=6, log2n=12 [+4],
|
||||
[+8]=0, scale_flag=1 [+0xc], scale=2^-12 [+0x10], work=16384Б [+0x18]}
|
||||
WORK = buf598@540598 (рабочая область FFT, ~1.0 мусор; «lane-mask» из
|
||||
23b — УСТАРЕЛО)
|
||||
th2180(воркер 4ca80) = INVERSE real-FFT (голова: сумма/разность X[0]/X[Nyq]);
|
||||
th1a90(воркер 1a0c0) = FORWARD real-FFT (хвост: пакинг Найквиста в слот n);
|
||||
тела — импортные близнецы 181b853e0/181b81b80 (AVX, только ±1/√2 твидлы,
|
||||
без внутренних масштабов); ffe0 = in-place ×scale (skip при 1/0);
|
||||
copy th2210→136e0→4d900 = пак real→interleaved complex (re=v, im=0).
|
||||
df0 18000b3c0 = ПОЭЛЕМЕНТНОЕ КОМПЛЕКСНОЕ УМНОЖЕНИЕ, dst=arg2:
|
||||
track_i := track_i ⊗ FIR (vfmaddsub213ps; двойная версия b560+)
|
||||
EXP-ядро 140b30→1803831c0: таблично-полиномиальная комплексная экспонента
|
||||
(магия 12582912 expf-класса, guard 87.33654=maxarg−2ln2,
|
||||
редукция 184.665≈128/ln2, диадич. {−37/24,15/8,31/24,11/1024});
|
||||
численно ведёт себя как КОМПЛЕКСНЫЙ exp (вариант flat проиграл 8 дБ).
|
||||
Unicorn-эмуляция невозможна (нет FMA в TCG) — статический декод открыт.
|
||||
```
|
||||
|
||||
### Цепь (все константы из асмa; fn529fe0.dis 52b60c–52b893)
|
||||
```
|
||||
scr@628 → pack(re=scr,im=0) 2049 пар
|
||||
→ FIR[n]=FIR[4096]=0 ; 52b685 (Найквост re:=0, ДО фолда!)
|
||||
→ inv-RFFT ; opA th2180
|
||||
→ fold: y[1..2047]*=2.0 ; xmm13 @1824c41e0, 52d920
|
||||
y[2049..4095]=0 ; 52db50 (y[2048] НЕ трогается)
|
||||
→ fwd-RFFT ; opB th1a90
|
||||
→ комплексная EXP аргумент ×q ; 52b716, q≈0.80 (см. ОТКРЫТО)
|
||||
→ inv-RFFT ; opC th2180
|
||||
→ float[0..2047]*=WINfreq[2048..4095] (падающий Hann); хвост=0 ; 52d990/db50
|
||||
→ fwd-RFFT ; opD th1a90
|
||||
→ FIR[0]=1.0, FIR[1]=0 ; 52b7cd
|
||||
→ df0: mask_i := track_i ⊗ FIR ; финальный combine
|
||||
```
|
||||
Это классическое построение минимально-фазового ядра через кепстр
|
||||
(IDFT лога → удвоение причинной части → exp → обратно).
|
||||
|
||||
### Валидация (структурная фаза, критерий <0.05 дБ — ВЫПОЛНЕН)
|
||||
60 ультрачистых кадров (|γ_fit−1.760561|<5e-4, fit-rms<1e-5, все sc_*):
|
||||
по ВСЕМ 2049 бинам rms медиана **0.0065 дБ**, p90 0.0075, max 0.035 при q=0.80.
|
||||
Инструмент: cascade_sim.py --mask <ds> / fir_probe.py.
|
||||
|
||||
### γ выводится из цепи: γ = 1 + s_F(q), s_F = ∂log|F|/∂log trk в нотче
|
||||
При q=0.8: s_F=0.7516 ⇒ γ_pred=1.7516 против точного 1.760561 (Δ 0.5%).
|
||||
Остаточная структура та же, что даёт пер-бин модуляцию rms 0.0065 дБ.
|
||||
|
||||
### ОТКРЫТО (следующий раунд)
|
||||
1. **Источник q** на аргументе EXP: эмпирика 0.785–0.809 по подвыборкам;
|
||||
главный подозреваемый — внутренность 1803831c0 (или xmm10=0.8
|
||||
@1824c3e28-класс константа вне прослеженного пути). Нужен статический
|
||||
декод ядра (~5700 строк AVX-512+FMA) либо live-захват входа/выхода EXP.
|
||||
2. Асинхронность снапшотов (cur может отставать от scr/trk) ограничивает
|
||||
точность пер-кадрового фита — уйдёт с симуляцией детектора (Этап B).
|
||||
3. Детекторный каскад lvl_raw→scr (шаги 9–17) не тронут; нужны ACC@7c8
|
||||
(+ WINfreq@658 для контроля окна) — обновить rendersnap2 SLOTS.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user