code wiki / _hdl_build / nx_aec_dtd_gate.nx
nx_aec_dtd_gate.nx
buildroot/runtime/_hdl_build/nx_aec_dtd_gate.nx
about
nx_aec_dtd_gate.nx -- proves the Geigel DOUBLE-TALK DETECTOR (aec_run_dtd) beats plain NLMS during double-talk.
MEASURED head-to-head: same FAST step (mu~0.75, the one that diverged in nx_aec_gate test 2), same realistic signal
(far-end talks ALONE first so the filter converges, THEN near-end joins = double-talk). The DTD freezes adaptation
while the near-end speaks, so the converged filter is preserved; plain NLMS mis-adapts and lets echo leak through.
dependencies 3 imports · 0 importers
imports: nx_syscalls.nxnx_gate_emit_lib.nxnx_aec.nx
imported by: nobody (leaf or entry point)
call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown
structs
| none |
consts
| none |
functions
| 9 | func energy(arr: *i64, from: i64, to: i64) -> i64 { var s: i64=0; var i: i64=from; while i<to { s = s + arr[i]*arr[i]; i=i+1 } return s } called by 1: main |
| 11 | func resid_echo(out: *i64, near: *i64, from: i64, to: i64) -> i64 called by 1: main |
| 15 | func main() -> i64 |