Parametri sorteggiati a ogni corsa: intervalli [min, max] per gradini, ambiente, rumore e salti
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
c0054c49a5
commit
797517db33
6 files changed
+97
-70
No files matched your search
@@ -21,15 +21,16 @@ Non ci sono test automatici: la verifica è sui controlli di §5 di SPEC.md, su
|
||||
|
||||
## Mappa del codice
|
||||
|
||||
- [genera.py](genera.py), script unico: `leggi_config` (valida `CHIAVI`) → `genera` → `scrivi`. Dentro `genera`: `perturba` (variabilità per corsa di istanti, ampiezze e `k` dei gradini), `eccesso` (gradini + raffreddamento), `salti` / `eventi` (disturbi Poisson in riscaldamento e raffreddamento), poi filtro del sensore, rumore, quantizzazione.
|
||||
- [genera.py](genera.py), script unico: `leggi_config` (valida `CHIAVI`) → `genera` → `scrivi`. Dentro `genera`: `sorteggia` (estrae a ogni corsa i valori dagli intervalli `[min, max]` di `config.toml` e genera i gradini), `eccesso` (gradini + raffreddamento), `salti` / `eventi` (disturbi Poisson in riscaldamento e raffreddamento), poi filtro del sensore, rumore, quantizzazione.
|
||||
- [config.toml](config.toml): unica fonte dei valori numerici; unità nei suffissi (`_s`, `_ms`, `_c`, `_hz`).
|
||||
- [grafico.py](grafico.py): script separato, non importa `genera.py`.
|
||||
|
||||
## Gotcha
|
||||
|
||||
- `ΔT` = T − ambiente, calcolato **dopo** rumore e quantizzazione di entrambi i canali, mai dalla T vera.
|
||||
- Le chiavi `[min, max]` stanno in `INTERVALLI` / `INTERVALLI_GRADINI` (validate in `leggi_config`): una nuova chiave-intervallo va aggiunta lì oltre che a `CHIAVI`.
|
||||
- Nessun valore numerico nello script: ogni chiave nuova di `config.toml` va aggiunta anche a `CHIAVI` in `genera.py` (chiave mancante ⇒ exit 1) e descritta in SPEC.md e nell'epilogo di `--help`.
|
||||
- Un solo `numpy.random.Generator` seminato da `--seed`: stesso seed + stessa config ⇒ file identico. Cambiare numero o ordine delle estrazioni casuali cambia i file di ogni seed.
|
||||
- Tutto ciò che sembra "fisso" nelle curve (salti, picco, istanti) è casuale per seed: non esistono istanti programmati.
|
||||
- Gli intervalli di §5 di SPEC.md (picco, `T`/`ΔT` finali) sono empirici su ~40 seed: se cambi `config.toml` (gradini, durata, salti, k) ricalcolali e aggiornali.
|
||||
- Gli intervalli di §5 di SPEC.md (picco, `T`/`ΔT` finali) sono empirici su 60 seed: se cambi `config.toml` (intervalli dei gradini, durata, salti, k) ricalcolali e aggiornali.
|
||||
- `uv run genera.py` usa un ambiente a parte nella cache di uv, non `.venv`; i comandi del progetto sono quelli con `.venv/bin/python`.
|
||||
Reference in new issue
Block a user