The formula
Start with the transfer function evaluated on the jω axis:
H(jω) — the steady-state response to a sinusoid at frequency ω: a complex number whose size is the amplitude ratio and whose angle is the phase shift.
The two plots are:
|H|_dB = 20·log₁₀|H(jω)| versus log ω — the magnitude plot: amplitude gain, in decibels, on a log frequency axis.
φ(ω) = ∠H(jω) versus log ω — the phase plot: how many degrees the output sine lags or leads the input, same axis.
The whole reason for the logarithms is one identity:
20·log₁₀|H₁·H₂| = 20·log₁₀|H₁| + 20·log₁₀|H₂| and ∠(H₁·H₂) = ∠H₁ + ∠H₂ — cascaded blocks multiply, but their Bode plots simply add. You can sketch a ten-element system by stacking ten simple shapes.
The basic shape is the single pole:
H(jω) = 1 / (1 + jω/ω_c) — flat at 0 dB below the corner ω_c, falling at −20 dB per decade above it, with the phase swinging from 0° to −90°. At the corner itself the exact values are −3.01 dB and −45°.
Two slope conversions worth memorizing:
−20 dB/decade = −6.02 dB/octave — the same rolloff quoted two ways; filter datasheets use octaves, control texts use decades.
slope ≈ −n·20 dB/decade ⇒ φ ≈ −n·90° — Bode's gain-phase relation for minimum-phase systems: the local magnitude slope, in units of 20 dB/decade, predicts the phase in units of 90°.
Where you meet it
- On the bench with a network analyzer or a frequency response analyzer, sweeping an amplifier or filter board. The instrument's default display is a Bode plot, and "read the bandwidth off the analyzer" means finding where the magnitude trace drops 3 dB from the passband.
- Measuring a power supply's control loop: injection transformer across a resistor in the feedback path, sweep from a few hundred hertz past crossover, and the gain and phase traces tell you whether the converter will ring after a load step. The stability margins are read straight off the pair.
- On a vibration test stand. A transmissibility plot from a shaker survey — response accel over input accel versus frequency — is a Bode magnitude plot wearing a mechanical badge. The peaks are the modes, and the fixture qualification report is built around that trace.
- At a design review, where the loop-shaping chart is the argument. Crossover frequency, slope at crossover, margins at the tolerance corners — the whole conversation happens on one Bode plot, which is why control engineers defend the format like a religion.
How it works
The plot earns its keep through the straight-line asymptote rules. Every real pole bends the magnitude slope down by 20 dB/decade at its corner frequency; every real zero bends it up by the same. An integrator (1/s) is a −20 dB/decade line through 0 dB at ω = 1 with a flat −90° of phase; a differentiator is its mirror. Stack the segments and you have the sketch. The sketch is honest about its own error: the true magnitude sits 3 dB below the asymptote corner for a single pole, and nearly nothing a decade away (−0.04 dB one decade below the corner — checked). The standard phase approximation runs a straight ramp at −45° per decade from ω_c/10 to 10·ω_c, and its worst error is about 5.7°, at the two ends of the ramp.
A worked example, numbers checked. Take an RC low-pass with a 1 kHz corner — R = 1 kΩ, C ≈ 159 nF. The measured trace should read:
f = 100 Hz: −0.04 dB, −5.7° (one decade below the corner)
f = 1 kHz: −3.01 dB, −45.0° (the corner)
f = 10 kHz: −20.04 dB, −84.3° (one decade above)
The asymptotic sketch says 0 dB, 0 dB, and −20 dB at those three points. The worst disagreement is the 3 dB at the corner; everywhere else the straight lines are within a fraction of a dB. That is why the sketch is trustworthy for architecture and untrustworthy only in the octave around each corner.
Second-order sections are where the asymptotes stop being enough. A lightly damped pair — say ζ = 0.1 — puts a resonant peak about +14 dB above the asymptote intersection, right where the straight-line sketch shows a polite corner. Anything with structure in it (a shaker armature, a cable harness, an LC output filter) has those peaks, and they are exactly the features that matter for stability and for fatigue. Sketch by hand to think; measure or compute to decide.
The deeper property, and the one Bode himself proved, is that for a minimum-phase system the two plots are not independent. Slope buys phase: a magnitude falling at −20·n dB/decade over a wide band drags the phase to about −n·90°. That is why a loop crossing 0 dB at −20 dB/decade is comfortable and one crossing at −40 dB/decade is an oscillator with paperwork pending.
The gotchas, which is where the real engineering lives:
- The gain-phase relation only holds for minimum-phase systems. A pure transport delay adds
−ω·τradians of phase and changes the magnitude plot not at all. A right-half-plane zero does the same trick. Infer phase from a measured magnitude plot on a system with delay in it — a digital controller, a long pneumatic line, a boost converter — and the phase will be worse than the magnitude promises. Always measure both traces. - Bode plots are small-signal objects. The math assumes linearity; the instrument assumes the device under test responds at the drive frequency only. Overdrive the injection and the analyzer reports a smooth curve for a system that is actually saturating. If the plot changes with drive level, the plot is telling you the model doesn't apply.
- The log axis cannot show ω = 0. DC behavior appears only as the trend at the left edge, and integrators run off the top of the chart. That is a feature for loop work and a trap for anyone reading steady-state gain off the plot.
- Reading open-loop stability from a Bode pair is a shortcut, not a theorem. It works when the open loop is stable and the gain crosses 0 dB once. Conditionally stable loops and unstable plants need the full Nyquist plot; the Bode pair is a projection of it that can hide an encirclement.
- The classic units mistake: dB is
20·log₁₀for amplitude ratios (voltage, acceleration, pressure) and10·log₁₀for power ratios. They agree only because power goes as amplitude squared into a fixed impedance. Mixing them mis-slopes every trace by a factor of two, and it happens in real test reports.
The mistake people make most is reading the −3 dB bandwidth or the crossover off the asymptotic sketch instead of the actual curve near a resonance, where the sketch is off by whatever the peaking is. The asymptotes are a thinking tool. The measurement is the truth.
History
The Bode plot is a Bell System artifact, third act of a three-act story. Harold Black invented the negative feedback amplifier in 1927 to make thousand-mile telephone repeater chains tolerably linear, and in doing so gave the Bell System a new way to build accidental oscillators [2][6]. Harry Nyquist explained the oscillation in "Regeneration Theory," in the January 1932 Bell System Technical Journal: trace the loop's frequency response in the complex plane and watch how it behaves around the point −1 [4][5]. That settled analysis. It did not yet give a designer a workflow.
Hendrik Bode — Bell Labs from 1926, filter and equalizer designer by trade, "Boh-dee" to his colleagues — supplied the workflow. In 1938 he worked out the asymptotic log-log magnitude and phase plots that carry his name, turning the design of a feedback amplifier into shaping straight-line segments on semilog paper [2][7]. He published the theory behind it, including the relation tying attenuation slope to phase for minimum-phase networks, as "Relations Between Attenuation and Phase in Feedback Amplifier Design" in the July 1940 Bell System Technical Journal [2][3], and consolidated the whole method in his 1945 book Network Analysis and Feedback Amplifier Design [1][2]. The format survived vacuum tubes, transistors, and the move from telephone repeaters to flight control because it solved a permanent problem: multiplication is hard to see, and Bode's axes turn it into addition.
Related tools
- /tools/rc-filter — the single-pole corner that every Bode sketch is built from
- /tools/db-converter — the 20·log₁₀ arithmetic behind the magnitude axis
- /tools/db-voltage-ratio — amplitude ratio to dB and back, the y-axis of the magnitude plot
- /tools/opamp-gain — the flat gain whose intersection with the open-loop rolloff sets amplifier bandwidth
- /tools/q-factor-bandwidth — the resonant peaking that the straight-line asymptotes hide
- /tools/series-rlc-impedance — a second-order magnitude-and-phase pair you can compute point by point
- /tools/frequency-period — the x-axis housekeeping when a spec mixes Hz and rad/s
Sources
- https://en.wikipedia.org/wiki/Bode_plot
- https://en.wikipedia.org/wiki/Hendrik_Wade_Bode
- https://archive.org/details/bstj19-3-421
- https://en.wikipedia.org/wiki/Harry_Nyquist
- https://archive.org/details/bstj11-1-126
- https://en.wikipedia.org/wiki/Harold_Stephen_Black
- https://picotest.com/five-things-every-engineer-should-know-about-bode-plots