Control Systems · frequency response

Bode Plot

Magnitude and phase vs. frequency — build it, read the margins.
20·log|G(jω)| dB · ∠G(jω)°
1st-order lag

Transfer function

Try it

Frequency response

Stability margins
Detail

The same system, three other ways

One transfer function, four views. Drag a pole across the s-plane and watch all of them move together — the Bode curves, the Nyquist locus and the step response are not separate calculations, they are the same numbers read differently.

How it works

Logs turn multiplication into addition

Logs turn products into sums

A transfer function is a product of simple factors. In dB (20·log₁₀|G|) and degrees, multiplying them becomes adding their magnitude and phase contributions.

Corner frequency

The break point of a pole or zero. Above it a pole rolls off at −20 dB/decade and a zero rises at +20, each asymptotically.

Type of system

The number of pure integrators in the loop: Type 0 has steady-state error to a step; Type 1 tracks a step but lags a ramp.

Margins

Phase margin at gain crossover (target roughly 45–60°); gain margin at phase crossover (at least 6–10 dB).

Worked example. A single pole at 10 rad/s sits at 0 dB and 0° well below its corner, drops through −3 dB and −45° exactly at 10 rad/s, and settles into a clean −20 dB/decade rolloff approaching −90° above it. Every first-order pole looks like this, just shifted along the frequency axis. Bars show the size of the loss in dB.
Field notes

Reading a Bode plot

Why −20 dB/decade per pole

Each real pole contributes exactly one factor of frequency to the rolloff well past its corner. Stack two and you get −40 dB/decade, three −60: additively. Each pole also adds, eventually, another −90° of phase lag, which is why stacking poles steadily erodes phase margin toward the −180° instability threshold.

Minimum-phase systems

A system built only from left-half-plane poles and zeros, like everything this tool can build, has the smallest possible phase lag for a given magnitude shape. Right-half-plane zeros add extra lag without changing the magnitude at all.

Why a resonant pair makes a peak

Two poles arriving together reinforce each other in phase at their natural frequency when damping is low: the lower the damping ratio ζ, the taller and narrower the peak, until at ζ ≥ 1/√2 (about 0.707) it disappears. An integrator, by contrast, is a pure 90° at every frequency, with no corner.

3.01 dBat the corner

The straight lines are exact far from the corner, wrong at it

At the corner the real gain is −3.01 dB, not 0, and the phase exactly −45°. The gain error is largest at the corner and 0.04 dB a decade away; the phase asymptote is exact at the corner and worst at the decade marks, 5.7° out. The two errors never coincide, so a margin read off straight lines is taken from where the phase construction is least reliable.

Questions

What people ask

What is phase margin, really?

How much extra phase lag the loop can tolerate at the gain-crossover frequency (where the loop gain is exactly 1, 0 dB) before the phase reaches −180° and the feedback that was stabilising the system starts reinforcing it instead. Textbook target: roughly 45–60° for a well-damped response.

What is gain margin?

How much extra gain the loop can tolerate at the phase-crossover frequency (where phase is exactly −180°) before the magnitude reaches 0 dB and the same instability sets in. A healthy design usually wants at least 6–10 dB of room here.

Why does a resonant pair make a peak?

Two poles arriving together (a complex-conjugate pair) briefly reinforce each other in phase right at their natural frequency when damping is low — the lower the damping ratio ζ, the taller and narrower that peak, until at ζ ≥ 1/√2 (≈0.707) the peak disappears entirely.

Why does an integrator have constant phase?

1/(jω) is a pure 90° phase shift at every frequency — there's no corner to it, which is exactly why integrators (and the "type" of a control system) contribute a fixed phase lag rather than a frequency- dependent one.

Build a transfer function, see it in the frequency domain. Every element here — gain, poles, zeros, integrators — combines by simple addition once you're in dB and degrees.
The corner

What the straight lines get wrong

The straight-line construction is exact far from the corner and wrong precisely at it. At the corner frequency the real gain is −3.01 dB, not 0, and the phase is exactly −45°.

FrequencyAsymptoteTrue gainAsymptoteTrue phase
÷100.00 dB-0.04 dB0.0°-5.7°
÷50.00 dB-0.17 dB-13.5°-11.3°
÷20.00 dB-0.97 dB-31.5°-26.6°
×10.00 dB-3.01 dB-45.0°-45.0°
×2-6.02 dB-6.99 dB-58.5°-63.4°
×5-13.98 dB-14.15 dB-76.5°-78.7°
×10-20.00 dB-20.04 dB-90.0°-84.3°

The gain error is largest at the corner and negligible a decade away — 0.04 dB at ten times out, which no instrument would resolve. The phase behaves the opposite way: the asymptote is exact at the corner and worst at the decade marks, where it is 5.7° out. So the two errors never coincide, and a stability margin read off the straight lines is being taken from the one place the phase construction is least reliable.

Version history · 1 release
  1. v1.742026-08-08Bode Plot overhauled — a draggable s-plane, Nyquist and step response, and two margin bugs that reported a stable system as fine when it was not

Releases in which this page changed, newest last. Derived from the archived copy of every release, not from notes written afterwards — so it reflects what actually shipped. Site-wide passes are left out; they are in the full changelog.

Rules of thumb are approximations, offered to get you to the right order of magnitude fast. Check anything load-bearing against its source or the exact tool. Privacy · Terms

© 2026 Rules of Thumb · Runs entirely in your browser