Place poles. Estimate what you cannot see.
A position-sensed mass–spring–damper with designed state feedback and a Luenberger observer. Compare true and estimated states, noise and actuator limits.
Move the closed-loop poles
Does doubling the desired natural frequency improve speed without any cost?
Pin ωn = 2. Change only ωn to 4, then 6 rad/s. Compare position and requested/applied force. Keep damping and the initial state fixed.
Synchronized signals
Select a trace or use the replay slider. The first current signal is cyan; secondary signals and numbered pinned runs are dashed. Every setting change recalculates from the initial state.
Compare one change 0/3
Keep initial state, inputs and seed matched when comparing controllers. Pinned traces retain their original settings and stop time.
Observed result
Recorded duration: 0 s · Clipped command time: — s
Final target error: — m
These observations describe a finite run, not a general stability or robustness guarantee.
Equations, assumptions and method
x′ = Ax + Bu; ureq = −Kx̂ + Nr; x̂′ = Ax̂ + Buapplied + L(y − Cx̂)
m = 1 kg, k = 4 N/m, c = 0.8 N·s/m; x = [position, velocity], y = position + noise. Continuous controller and observer, RK4 at 1 ms, recorded every 20 ms. Observer damping is 0.8; its natural frequency is the chosen ratio times controller ωn. Uniform seeded noise is held for 20 ms. Saturation is included; delays, model mismatch and process noise are not. This is not a sampled digital implementation or a Kalman filter.