pid: option A heat-rate pre-filter (beta IIR before differentiation)

Adds a configurable IIR pre-filter (beta, default 0.05, τ≈19 s at dt=1 s)
applied to theta_ist before the derivative, so stirrer-induced temperature
noise is attenuated before being amplified by differentiation rather than
after.  The shared filter/derivative/post-filter logic is factored into
TempControllerBase._compute_heatrate(); both Normal and Smith subclasses
call it, replacing their duplicated inline rate blocks.

beta is read from TempCtrl.beta in the config (default 0.05 if absent) and
added to config-sim.json.tpl and config-real.json.tpl.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-30 17:02:14 +02:00
co-authored by Claude Sonnet 4.6
parent 8ca4e4d803
commit 5be1d4e862
5 changed files with 31 additions and 33 deletions
+1
View File
@@ -6,6 +6,7 @@
"pid_type": "Smith"
},
"TempCtrl": {
"beta": 0.05,
"Hold": {
"kp": 0.4,
"ki": 0.0,