Phase Margin or Dead-Time Test¶
A stability diagnostic — instantiates Coupling Latency and Time-Delay Effects
Measures how much added delay a feedback loop can absorb before it turns unstable, converting "is this loop safe?" into a quantified margin against oscillation.
A Phase Margin or Dead-Time Test characterizes a feedback loop's dynamics and asks a sharp quantitative question: how much more delay can this loop take before its corrections start reinforcing rather than settling the disturbance? What makes it this mechanism and not its siblings is that it produces a stability margin — a number for how close the loop already is to oscillating and how much of that headroom pure transport delay (dead time) is eating. It doesn't map the loop or measure elapsed latency for its own sake; it measures the loop's speed (its time constants) and sensitivity to delay, and reports whether the delay present is safely below the tipping point.
Example¶
A gas-fired industrial furnace holds a target temperature by a controller that adjusts the fuel valve based on a thermocouple reading. But the thermocouple sits well downstream of the burner, so a change in fuel doesn't show up in the reading for ≈40 seconds — pure dead time. Operators notice the temperature slowly hunting: up, over, down, under, never settling. A dead-time test characterizes the loop — its natural response time (its dominant time constant, ≈90 s) and the ≈40 s of transport lag — and computes the phase margin: how much of the loop's stability headroom that delay has consumed. The finding is that at the current controller gain the margin is nearly gone; the delay is a large fraction of the loop's own time constant, which is exactly the regime where corrections arrive late enough to feed the oscillation. The test's number tells the team the loop isn't merely slow — it is close to unstable, and the safe move is to cut controller gain (see the sibling gain limit) rather than push harder.
How it works¶
- Characterize the loop's dynamics. Establish how fast the loop responds on its own — its dominant time constant(s) — from a step response or frequency sweep. Delay only means something relative to this pace.
- Separate the dead time. Isolate the pure transport lag (the delay before any response appears) from the loop's gradual dynamics; dead time is the most destabilizing kind of delay because it adds phase lag without adding damping.
- Compute the margin. Express how close the open loop is to the point where its feedback reinforces rather than corrects — the phase (or gain) margin — and attribute how much of the lost margin is the delay's doing.
- Report as headroom, not a verdict. The output is "you have this much delay margin left," which tells you whether to reduce gain, compensate the delay, or leave the loop alone.
Tuning parameters¶
- Excitation method — a step test versus a frequency sweep. A step is quick and intuitive but crude on delay; a sweep resolves phase lag precisely but is slower and more intrusive to run on a live loop.
- Margin target — how much stability headroom is required. A large margin is robust but sluggish (low gain); a small margin is responsive but brittle to any further delay or drift.
- Delay attribution — whether pure dead time is separated from lagged dynamics. Lumping them together underestimates the delay's specific, disproportionate threat to stability.
- Operating-point coverage — testing at one condition or across the loop's range. Nonlinear loops have different margins at different set-points; a single test can bless a regime that is unsafe elsewhere.
When it helps, and when it misleads¶
Its strength is that it turns a qualitative worry — "this loop feels twitchy" — into a defensible margin against oscillation and names delay as a first-class cause. It is the diagnostic that distinguishes a loop that is merely slow from one that is on the edge of instability, and it says which lever (less gain, delay compensation) actually buys margin.
Its failure modes are the model's. The margin is only as good as the characterization: a linear test on a nonlinear loop, or a single operating point, can certify a loop that oscillates elsewhere or under load. Margins measured on a quiet system can evaporate when the delay itself grows or drifts, so a one-time pass is not a standing guarantee. And a comfortable phase-margin number invites false confidence that the loop is fast enough, which it may not be. The discipline is to test across operating conditions, re-check the margin when the delay profile changes, and read the result as a stability statement, not a performance one.
How it implements the components¶
The test fills the two dynamics-and-sensitivity components:
system_time_constant_profile— it measures how fast the loop responds on its own, the baseline pace against which any delay is judged.delay_sensitivity_assessment— the phase/dead-time margin is the quantified sensitivity of stability to delay: how much headroom remains before corrections start amplifying.
It does not draw the loop or annotate its links (coupled_interaction_boundary, timing_chain_map) — that's the Causal Loop Delay Map — and it does not itself cap the response to restore margin (response_gain_limit), which is the Rate Limit and Cooldown Rule's job.
Related¶
- Instantiates: Coupling Latency and Time-Delay Effects — it quantifies whether a loop's delay threatens its stability.
- Sibling mechanisms: Causal Loop Delay Map · Rate Limit and Cooldown Rule · Smith Predictor or Model-Predictive Compensation · Lead-Lag Cross-Correlation Analysis
Notes¶
The test diagnoses; it does not treat. Its natural downstream partners are the Rate Limit and Cooldown Rule (restore margin by lowering gain) and the Smith Predictor or Model-Predictive Compensation (restore margin by compensating the delay). Reporting a thin margin without triggering one of those is a diagnosis left on the shelf.