A controller cannot read tomorrow's measurement
Causality says the present output can depend on present and past inputs, but not on an input that has not happened.
First, picture it
A motor cannot react to a load pulse before the pulse reaches it unless the controller already knows the planned event. A forecast is a model-based guess, not a future sensor reading. This distinction matters whenever an offline plot or filter seems to anticipate a change.
What the model says
A system is causal if any two inputs that agree through time t produce the same output through t, assuming the same initial state. An LTI system with an ordinary impulse response is causal when h(t)=0 for t<0; direct feedthrough at the present instant is still causal. This property is independent of linearity and of stability.
u₁(τ)=u₂(τ) for τ≤t ⇒ y₁(τ)=y₂(τ) for τ≤tCompare runs with the same initial state; a different stored state can also change the present output.
With identical initial conditions and settings, adding a later load cannot change the earlier output.
Prediction is allowed; future measurements are not
A controller can use a schedule known in advance, such as a planned reference change, or predict future states from a model. It cannot use the actual future load measurement before that load occurs. A zero-phase filter can use samples on both sides of a time point when processing a completed recording; the same operation cannot run in real time without delay or approximation.
Look for the event boundary
If two experiments have the same seed, initial state and controls, and one has an added load at 4 s, their states before 4 s should agree within numerical tolerance. Divergence before the event would suggest changed setup, a replay bug or a noncausal calculation—not a genuine early physical response.
Make it concrete
Pin a motor run without a load, add a load event at 4 s, and compare both traces before and after the event.
Compare before and after a loadMake a prediction before moving a control.
- PREDICTShould the loaded and unloaded traces differ before the load event?
- CHANGE ONE THINGKeep the motor setup fixed and add only a 4 s load event.
- OBSERVECompare traces on both sides of 4 s with the same replay cursor.
- EXPLAINExplain any early difference by checking changed conditions first.
Causal does not mean fast, stable or physically realizable under every other constraint. It only limits which input times may affect the present output.
Check your understanding+
Does a model-based prediction make a controller noncausal?
No. A prediction based on current and past information is causal; reading an actual future measurement would not be.