Bode Plot and Filter Visualiser
See the Bode plot of an RC or RLC low-pass, high-pass or band-pass filter: gain and phase against frequency, with the cutoff, slopes, −3 dB point and Q.
Visualiser
Drag sideways across the plot to move the test frequency, or use the arrow keys. Page Up and Page Down move it a decade, and Home puts it on the corner.
Bode plot of an RC low-pass filter from 1 Hz to 1 MHz. The gain is flat at 0 dB up to the 1.592 kHz corner and falls at 20 dB per decade above it. The phase falls from 0° to −90°, passing −45° at the corner. At the 10 kHz test frequency the gain is −16.07 dB, a ratio of 0.1572, and the phase is −80.96°.
- Corner frequency fc fc = 1/(2πRC) = 1/(2π × 100 µs). There the gain is −3.010 dB, a ratio of 0.7071, and the phase is −45°.
- 1.592 kHz
- Gain 20 log₁₀ |H| at the test frequency, where |H| is the output amplitude over the input. The straight lines give −15.96 dB here, 0.1086 dB above the curve.
- −16.07 dB
- Gain ratio |H| Vout/Vin, which is 10 to the power of the gain over 20. A ratio of 0.7071 is −3.010 dB, half the power; 0.1 is −20 dB and 0.01 is −40 dB.
- 0.1572
- Phase How far the output sine wave leads the input; a negative phase is a lag. The straight-line phase is −80.92° here.
- −80.96°
- Test frequency Drag sideways across the plot to move it, or use the Test frequency slider, the arrow keys on the focused plot, or the buttons under the plot.
- 10 kHz
- Slope here The gradient of the gain curve at the test frequency. Far from every corner it settles on the straight line’s slope: 20 dB per decade for each first-order factor and 40 for a resonant pair.
- −19.51 dB/decade
- Time constant τ τ = RC, and fc = 1/(2πτ). The same RC charges a capacitor to 63.2 percent of its final voltage in one τ.
- 100 µs
| Frequency | Gain (dB) | |H| | Phase |
|---|---|---|---|
| 1 Hz | 0.00 | 1 | 0.0° |
| 10 Hz | 0.00 | 1 | −0.4° |
| 100 Hz | −0.02 | 0.998 | −3.6° |
| 1 kHz | −1.45 | 0.8467 | −32.1° |
| 1.592 kHz fc, −3 dB | −3.01 | 0.7071 | −45.0° |
| 10 kHz | −16.07 | 0.1572 | −81.0° |
| 100 kHz | −35.96 | 0.01591 | −89.1° |
| 1 MHz | −55.96 | 0.001592 | −89.9° |
Citing this tool
Last updated . Add the date you accessed it as well, which a citation of a page that can change asks for. If a specific result matters, cite the permalink from the tool’s share row instead of this page: it reproduces the exact parameters.
The equation
Horowitz and Hill, The Art of Electronics, 3rd edition (2015)
What is a Bode plot?
A Bode plot is a pair of graphs showing how a circuit treats a sine wave at every frequency: the gain
in decibels, G = 20 log₁₀ |H|, and the phase shift in degrees, both drawn against
frequency on a logarithmic axis. Here |H| is the output amplitude divided by the input
amplitude. For the RC low-pass the visualiser opens on, |H| = 1/√(1 + (f/fc)²), where
the corner frequency is fc = 1/(2πRC).
On logarithmic axes those curves are nearly straight lines: flat below the corner and falling at 20 dB per decade above it. So a filter’s whole response can be sketched with a ruler, and how much any frequency is cut can be read at a glance. The plots carry the name of Hendrik Bode, who used them at Bell Telephone Laboratories in his 1940 paper on feedback amplifier design and in his 1945 book, Network Analysis and Feedback Amplifier Design.
Every circuit here is a voltage divider in which one or
two of the parts are a capacitor or an inductor, whose impedance depends on frequency:
1/(j2πfC) for a capacitor and j2πfL for an inductor. So the share of the
input that reaches the output, and its timing, change with frequency. The formulas are the standard
ones, as set out in Horowitz and Hill’s The Art of Electronics.
Using the visualiser
Pick one of five circuits from the Filter menu: an RC low-pass or high-pass, or a series RLC low-pass, high-pass or band-pass. Set the components with the sliders, which step through the E12 values that resistors and capacitors are sold in (1.0, 1.2, 1.5, 1.8 and so on up to 8.2 in every decade), or type an exact value in ohms, nanofarads or millihenries in the box beside each slider. Inductance appears only for the RLC circuits.
The upper plot is the gain and the lower one the phase. The solid curves are exact. The dashed lines are Bode’s straight-line approximations, labelled with their slopes, and the dashed vertical line marks the corner. Open circles mark the −3 dB points and a filled dot marks any resonance peak. The plot spans six decades and moves a whole decade at a time, so the gridlines always fall on 1, 10, 100 and so on, with the corner between 2.5 and 3.5 decades from the left edge.
The solid vertical line is the test frequency: one sine wave in, its gain and phase out. Drag sideways across the plot to move it, or focus the plot and use the arrow keys, which move it 4.7 percent a press. Page Up and Page Down move it a decade and Home puts it on the corner, and the buttons under the plot do the same on a phone. The readouts give the gain in decibels and as a ratio, the phase and the local slope there, and the table under the plot lists the exact values at each decade.
Worked example: a 1 kΩ, 100 nF low-pass at 10 kHz
The visualiser opens on an RC low-pass with R = 1 kΩ and C = 100 nF, tested at
10 kHz. Working it by hand:
- The time constant is
RC = 1000 × 100 × 10⁻⁹ = 1 × 10⁻⁴ s, which is 100 µs. - The corner is
fc = 1/(2π × 10⁻⁴) = 1591.5 Hz, the 1.592 kHz in the readouts. -
At the test frequency,
f/fc = 10000/1591.5 = 6.283. That is exactly 2π, becausef/fc = 2πfRC = 2π × 10⁴ × 10⁻⁴. -
The ratio is
|H| = 1/√(1 + 6.283²) = 1/√40.48 = 0.1572, so a 1 V sine wave comes out at 0.157 V. - In decibels,
G = 20 log₁₀ 0.1572 = −16.07 dB. -
The phase is
φ = −arctan 6.283 = −80.96°: the output lags the input by just under a quarter of a cycle. - The straight line gives
−20 log₁₀ 6.283 = −15.96 dB, which is 0.11 dB above the true value. -
The slope there is
−20 × 39.48/40.48 = −19.51 dB/decade, nearly the straight line’s 20 dB per decade.
Press Up a decade and the test frequency moves to 100 kHz, where the gain is −35.96 dB: 19.89 dB lower for ten times the frequency. One more decade, at 1 MHz, gives −55.96 dB. Far above the corner the RC low-pass takes 20 dB off for every decade, which is a factor of ten in amplitude.
Bode’s straight lines, and how far off they are
The straight-line gain of a first-order low-pass has two pieces: 0 dB up to the corner, then a line
falling at 20 dB per decade, which is 6.02 dB per octave. The true curve hugs both and parts from them
only near the corner, where the gap is largest: 3.01 dB at fc itself, 0.97 dB an octave
either side, at fc/2 and 2fc, and 0.04 dB a decade away. At 10fc
the gain is −20.04 dB, against the line’s −20 dB.
The straight-line phase is a ramp: 0° up to fc/10, then falling 45° per decade through
−45° at the corner to −90° at 10fc, and flat after that. Its largest error is 5.71° at the
two ends of the ramp, because arctan 0.1 = 5.71°. At 10 kHz the opening circuit’s phase line
gives −80.92°, within 0.04° of the true −80.96°.
The same rules build any filter from its factors. Every real pole bends the gain line down by 20 dB per
decade at its corner and takes 90° off the phase over the two decades around it. Every factor of
frequency in the numerator, which a high-pass or a band-pass has, adds 20 dB per decade and 90°. A
resonant pair of poles bends the line by 40 dB per decade at once and swings the phase through 180°,
which the visualiser draws as a ramp from f₀/10 to 10f₀, the rule Nise gives in
Control Systems Engineering.
Why the corner is the −3 dB point
At f = fc the capacitor’s reactance, 1/(2πfC), is exactly equal to R: for the
opening circuit, 1/(2π × 1591.5 × 100 × 10⁻⁹) = 1000 Ω. The voltages across the resistor
and the capacitor are then equal in size and a quarter of a cycle apart, so each is the input divided by
√2. The output is 1/√2 = 0.7071 of the input and lags it by 45°.
In decibels that ratio is 20 log₁₀ 0.7071 = −3.010 dB, and because power goes as the square
of voltage, the output delivers half the power it would at low frequency. That is why the corner is also
called the half-power point, the cutoff frequency or the −3 dB frequency: four names for one number. It
is also why fc = 1/(2πRC) and the time constant τ = RC carry the same
information, and the RC Time Constant Calculator works
between the two directly.
The high-pass filter is the mirror image
Take the output across the resistor instead of the capacitor and the same two parts make a high-pass,
|H| = (f/fc)/√(1 + (f/fc)²). Its straight lines are the low-pass’s turned round, rising at
20 dB per decade up to the corner and flat above it, and its phase runs from +90° down to 0°, passing
+45° at the corner. The corner is unchanged at 1.592 kHz.
At 10 kHz the default high-pass passes a ratio of 0.9876, −0.1086 dB, with the output leading by
9.043°. That loss is exactly the low-pass’s gap from its straight line at the same frequency, because the
high-pass response is the low-pass response multiplied by jf/fc. High-pass filters block a
steady voltage while passing a changing one: a coupling capacitor between two amplifier stages is one,
with the next stage’s input resistance as its R.
Second-order filters and Q
A series RLC circuit is second order: with the inductor and the capacitor together, the gain falls at 40
dB per decade beyond the resonant frequency f₀ = 1/(2π√(LC)), twice as steeply as one RC
section. What happens near f₀ is decided by the quality factor,
Q = (1/R)√(L/C). With the defaults, R = 1 kΩ, L = 100 mH and
C = 100 nF, f₀ = 1/(2π√(0.1 × 10⁻⁷)) = 1591.5 Hz and
Q = √(0.1/10⁻⁷)/1000 = 1.
For the RLC low-pass, with the output across the capacitor, the gain at f₀ is exactly
20 log₁₀ Q, and above Q = 1/√2 = 0.7071 the response peaks before it falls. At
Q = 1 the peak is 1.249 dB at 1.125 kHz, which is f₀√(1 − 1/(2Q²)), and the −3
dB point is at 2.024 kHz, above f₀. Lower R to 200 Ω and Q rises to 5: the peak grows to
14.02 dB at 1.576 kHz, and a signal at f₀ comes out five times larger than it went in. At 10
kHz the RLC low-pass is down 31.82 dB, against 16.07 dB for the RC one.
Two values of Q have names. At Q = 0.7071, which needs R = 1414.2 Ω here, the
response is the Butterworth one, the flattest passband possible, with the −3 dB point exactly at
f₀. At Q = 0.5, with R = 2 kΩ, the circuit is critically damped
and the gain at f₀ is −6.021 dB. Below 0.5 the two poles are real and the straight line
bends twice, at two corners whose product is f₀². The phase runs from 0° to −180°, through
−90° at f₀, and swings faster the higher Q is. The same Q sets how a step makes the circuit
ring, which the RLC Circuit Simulator shows in time.
Band-pass filters and bandwidth
Take the output across the resistor of the series RLC circuit and it passes a band around
f₀. The current, and so the voltage across R, is largest at resonance, where the
inductor’s and the capacitor’s reactances cancel. The gain is 0 dB at f₀ whatever Q is,
with no phase shift, and falls at 20 dB per decade either side. The width between the two −3 dB points
is the bandwidth, B = f₀/Q = R/(2πL).
With the defaults, B = 1000/(2π × 0.1) = 1591.5 Hz, and the −3 dB points are at 983.6 Hz
and 2.575 kHz, from f₀(√(1 + 1/(4Q²)) ∓ 1/(2Q)). They are not equally spaced about
f₀: their product is f₀², so f₀ is their geometric mean, and on the
logarithmic axis it sits exactly halfway between them. Lower R to 100 Ω and Q rises to 10, narrowing the
band to 159.2 Hz, from 1.514 kHz to 1.673 kHz. That is how a radio’s tuned circuit picks out one
station: a high Q passes a narrow band and rejects its neighbours.
Bode plots in control and sampling
Bode developed the plots for feedback amplifiers, and they remain the standard way to check whether a feedback loop is stable. Plot the gain and phase of the whole loop and read two numbers: the phase margin, which is how far the phase is above −180° at the frequency where the loop gain falls through 0 dB, and the gain margin, which is how far the gain is below 0 dB where the phase reaches −180°. A loop with little of either rings or oscillates. The PID Controller Simulator shows what too little margin looks like in time, as overshoot and ringing.
Filters also matter before a signal is digitised. Sampling at a rate fs folds every
frequency above fs/2 back into the band below it, as the
Sampling and Aliasing Visualiser shows, so a low-pass
filter goes in front of the converter to remove them. The slope decides how well that works. A
first-order RC filter takes only 20 dB off per decade, so a frequency ten times its corner still reaches
the converter at about a tenth of its amplitude, 0.0995 to be exact. That is why anti-aliasing filters are
usually of higher order.
What this model leaves out
- The source and the load. The input is an ideal voltage source and nothing is connected to the output. A real load is another resistor in the divider: a 10 kΩ load on the opening low-pass lowers its passband gain to −0.83 dB and raises its corner to 1.751 kHz, because the capacitor then charges through R and the load in parallel.
- Component tolerances. E12 parts are sold as ±10 percent, and the corner moves with
them: a capacitor 10 percent high puts
fc9 percent low. - Parasitics. Real capacitors have series resistance and inductance, and real inductors have winding resistance and capacitance between their turns. Above a few megahertz these dominate, and a capacitor above its self-resonant frequency behaves as an inductor. In the RLC filters, R stands for all the series resistance, the inductor’s winding included.
- Cascades. Two RC sections in a row do not give two independent corners, because the second loads the first. A buffer between them, such as an op-amp follower, restores the simple multiplication of responses that the straight-line rules assume.
- Switching on. A Bode plot is the steady state, after the transient that follows switching on has died away. That transient lasts a few time constants: about 0.5 ms for the opening circuit, five times 100 µs.
Common mistakes
- Using ω where f is meant.
1/(RC)is the corner in radians per second: 10,000 rad/s for the opening circuit, which is 1591.5 Hz, not 10 kHz. Divide by 2π to get hertz. - Mixing 10 log and 20 log. A voltage or current ratio is
20 log₁₀of the ratio and a power ratio is10 log₁₀. A voltage ratio of 0.1 is −20 dB, not −10 dB. - Reading the straight line at the corner. The asymptotes meet at 0 dB at
fc, but the true gain there is −3.01 dB, the largest gap anywhere on a first-order plot. - Calling the slope 20 dB per octave. A first-order filter falls 20 dB per decade, which is 6.02 dB per octave. Each extra order adds the same again.
- Expecting the RLC low-pass to be −3 dB at f₀. The gain at
f₀is20 log₁₀ Q: 0 dB at the default Q of 1, with the −3 dB point at 2.024 kHz. Only the Butterworth Q of 0.7071 puts it atf₀. - Averaging the band edges. The centre of a band-pass is the geometric mean of its −3 dB
points. The default band’s edges average 1779.4 Hz, not the 1591.5 Hz of
f₀.
Common questions
What is a Bode plot?
A Bode plot is two graphs of a circuit’s response to sine waves, drawn against frequency on a logarithmic axis: the gain in decibels, 20 log₁₀ of the output amplitude over the input amplitude, and the phase shift in degrees. On those axes a filter’s gain is close to straight lines, flat in the passband and falling at 20 dB per decade for each order beyond the corner, so the whole response can be sketched with a ruler. It is named after Hendrik Bode of Bell Telephone Laboratories, who used it in his 1940 paper on feedback amplifier design.
How do you calculate the cutoff frequency of an RC filter?
Use fc = 1/(2πRC), with R in ohms and C in farads. A 1 kΩ resistor with a 100 nF capacitor gives RC = 100 µs and fc = 1/(2π × 10⁻⁴) = 1591.5 Hz, about 1.59 kHz. The same formula holds for the low-pass and the high-pass made from the same two parts. At fc the output is 1/√2 = 0.7071 of the input, which is −3.010 dB and half the power, and the phase is −45° for the low-pass and +45° for the high-pass.
How do you draw a Bode plot by hand?
Factor the response into its corners and draw straight lines between them. Start flat at the passband gain; at each real pole bend the gain line down by 20 dB per decade, at each zero bend it up by 20, and at a resonant pair bend it by 40. For the phase, each real pole takes 90° off in a straight ramp from a tenth of its corner frequency to ten times it. Then round off each corner: a first-order corner is 3.01 dB below the lines, and 0.97 dB below them an octave either side.
What is the slope of a low-pass filter on a Bode plot?
A first-order low-pass, such as one RC section, falls at 20 dB per decade above its corner, which is 6.02 dB per octave: ten times the frequency gives a tenth of the amplitude. A second-order low-pass such as a series RLC falls at 40 dB per decade, and each further order adds another 20. A 1 kΩ, 100 nF low-pass is at −16.07 dB at 10 kHz and −35.96 dB at 100 kHz, very nearly 20 dB lower for ten times the frequency.
What does Q do in a second-order filter?
Q sets the shape of the response near the resonant frequency f₀ = 1/(2π√(LC)), and for a series RLC circuit Q = (1/R)√(L/C). In the low-pass the gain at f₀ is 20 log₁₀ Q, and above Q = 1/√2 = 0.7071 the response peaks: Q = 1 gives a peak of 1.249 dB and Q = 5 a peak of 14.02 dB. Q = 0.7071 is the Butterworth response, the flattest passband possible, with its −3 dB point at f₀, and Q = 0.5 is critical damping. In a band-pass filter, Q is f₀ divided by the bandwidth.
How do you find the bandwidth of a band-pass filter?
The bandwidth is the distance between the two −3 dB frequencies, and for a series RLC band-pass it is f₀/Q = R/(2πL). With R = 1 kΩ, L = 100 mH and C = 100 nF, f₀ = 1591.5 Hz and Q = 1, so the bandwidth is 1591.5 Hz, from 983.6 Hz to 2575.2 Hz. The centre frequency is the geometric mean of the two edges, √(983.6 × 2575.2) = 1591.5 Hz, not their average.