Skip to content
RFrftools.io
Signal ProcessingJuly 20, 20267 min read

PLL Loop Filter Design: A Practical Locking Guide

Learn to design stable PLL loop filters with proper phase margin. Covers component calculation, bandwidth selection, and common mistakes engineers make.

Contents

Why Loop Filter Design Breaks PLLs

Most PLL problems I've debugged over the years come down to the loop filter. The VCO works, the divider's clocking, the phase detector is spitting out pulses — but the thing won't lock, or it locks and then rings for 50 ms every time the reference hiccups. Nine times out of ten, someone grabbed component values from an app note without checking whether they made sense for their actual loop bandwidth and phase margin requirements.

The loop filter in a charge-pump PLL does two jobs: it integrates the phase error to drive the VCO toward lock, and it shapes the closed-loop response to keep the system stable. Get the component values wrong and you'll either have a sluggish loop that takes forever to settle, or an underdamped mess that overshoots and rings. Worse, you might end up right on the edge of instability where everything looks fine on the bench but fails in production when component tolerances stack up.

The Second-Order Loop Filter Topology

The most common loop filter for charge-pump PLLs is the passive second-order type — a series RC from the charge pump output to ground, with a small capacitor in parallel. This gives you one pole at DC (from the main capacitor C1), one zero (from R1 and C1), and a second pole (from R1 and C2) that rolls off high-frequency noise.

The transfer function looks like:

Z(s)=1+sR1C1sC1(1+sR1C2)Z(s) = \frac{1 + sR_1C_1}{sC_1(1 + sR_1C_2)}

That zero is critical. Without it, you'd have a 180° phase shift from the two integrators (the loop filter and the VCO), and the loop would be unstable. The zero adds phase lead right around the crossover frequency, giving you the phase margin you need for stability.

C2 is often called the "ripple capacitor" because its main job is attenuating the charge pump's switching transients. It also prevents the impedance from going to infinity at high frequencies, which would amplify every bit of noise on your charge pump output.

What the Numbers Actually Mean

Loop Bandwidth

This is the unity-gain crossover frequency of the open-loop transfer function. A wider bandwidth means faster lock time and better tracking of reference phase noise at low offset frequencies. But push it too high and you start tracking reference spurs instead of filtering them out.

The rule of thumb is to keep loop bandwidth below about 1/10th of the reference frequency. Go higher and you lose the ability to filter comparison frequency spurs. Some designs push to 1/5th for faster settling, but you're playing with fire — especially if your reference has any jitter.

Phase Margin

Phase margin is how far you are from instability at the crossover frequency. The loop oscillates when phase shift hits 180°; phase margin tells you how much headroom you have.

45° is the textbook minimum for a "stable" system, but it gives you about 23% overshoot on step response. That's fine for some applications, annoying for others.

52° is often called the optimal transient response point — you get the fastest settling with minimal overshoot (around 4-5%).

60° is conservative. Slower response, but rock solid. If your application can tolerate longer lock times, this is the safe choice. Production variations won't push you into instability.

VCO Gain

This is KVCOK_{VCO}, usually specified in Hz/V or rad/s/V. Datasheets give you a typical number, but VCO gain varies significantly with tuning voltage — sometimes by 2:1 across the tuning range. Use the value at your expected operating point, not the number from page one of the datasheet.

Charge Pump Current

Higher charge pump current means larger loop filter components for the same bandwidth, which actually helps — bigger capacitors have lower impedance and are less sensitive to parasitic capacitance on your PCB. The tradeoff is power consumption and sometimes increased reference spurs if the charge pump has mismatch between source and sink currents.

Worked Example: 100 MHz Output from 10 MHz Reference

Let's design a loop filter for a fractional-N synthesizer generating 100 MHz from a 10 MHz reference. The VCO has a gain of 50 MHz/V, and we're using a divide ratio of 10 (integer mode for simplicity). The charge pump delivers 500 μA.

We want reasonably fast settling without excessive overshoot, so let's target 52° phase margin. For loop bandwidth, we'll aim for 50 kHz — that's 1/200th of the reference frequency, conservative enough to filter spurs well.

First, convert everything to consistent units:

  • KVCO=50×106×2pi=3.14×108K_{VCO} = 50 \times 10^6 \times 2\\pi = 3.14 \times 10^8 rad/s/V
  • omegac=2pi×50000=314159\\omega_c = 2\\pi \times 50000 = 314159 rad/s
  • ICP=500×106I_{CP} = 500 \times 10^{-6} A
  • N = 10

For a second-order loop filter with phase margin phim\\phi_m, the component values work out to:

C1=ICPcdotKVCONcdotomegac2cdot1sqrt1+tan2(phim)C_1 = \frac{I_{CP} \\cdot K_{VCO}}{N \\cdot \\omega_c^2} \\cdot \frac{1}{\\sqrt{1 + \tan^2(\\phi_m)}}

Plugging in our numbers with phim=52°\\phi_m = 52°:

C1=500×106cdot3.14×10810cdot(314159)2cdot1sqrt1+tan2(52°)C_1 = \frac{500 \times 10^{-6} \\cdot 3.14 \times 10^8}{10 \\cdot (314159)^2} \\cdot \frac{1}{\\sqrt{1 + \tan^2(52°)}}
C1=1.57×1059.87×1011cdot11.62=98 nFC_1 = \frac{1.57 \times 10^5}{9.87 \times 10^{11}} \\cdot \frac{1}{1.62} = 98 \text{ nF}

For R1, we need to place the zero to give us the right phase lead:

R1=tan(phim)omegaccdotC1=1.28314159cdot98×109=41.6 ΩR_1 = \frac{\tan(\\phi_m)}{\\omega_c \\cdot C_1} = \frac{1.28}{314159 \\cdot 98 \times 10^{-9}} = 41.6 \text{ Ω}

That's a bit low — you'd probably round to 39 Ω or 47 Ω depending on what's in your parts bin.

For C2, the standard practice is to make it 1/10th to 1/20th of C1. Let's use 1/10th:

C2=C1/10=9.8 nFC_2 = C_1 / 10 = 9.8 \text{ nF}

Round to 10 nF.

So our final values: C1 = 100 nF, R1 = 39 Ω, C2 = 10 nF.

Open the PLL Loop Filter Designer and punch in these parameters — you'll see the actual phase margin comes out to about 51°, close enough to our target. The BW/f_ref ratio is 0.005, well within the safe zone.

Common Mistakes That Kill Loop Stability

Ignoring VCO Gain Variation

VCO gain isn't constant. A typical LC VCO might have KVCOK_{VCO} vary by 2:1 across its tuning range because the varactor's capacitance-voltage relationship is nonlinear. If you design your loop filter for the datasheet typical value and then operate at a different tuning voltage, your actual phase margin could be 10-15° different than expected.

The fix: design for the worst-case (highest) VCO gain in your operating range. You'll have more phase margin than necessary at other operating points, but at least you won't oscillate.

Parasitic Capacitance on the Loop Filter Node

That node between the charge pump and VCO tuning input is high impedance. Every pF of parasitic capacitance adds to C2, shifting your second pole lower in frequency. On a sloppy layout, you can easily pick up 5-10 pF from traces, pads, and nearby copper.

I've seen designs where the engineer calculated C2 = 1 nF, but the actual effective capacitance was 3 nF after parasitics. The loop still worked, but the phase margin was way off from the simulation.

Pushing Bandwidth Too Close to Reference Frequency

The temptation is always there: "If I just double the loop bandwidth, lock time will halve!" True, but you're also doubling the reference spur level and potentially letting through phase detector noise that should be filtered.

Keep BW/f_ref below 0.1. Below 0.05 if you care about spurious performance. The calculator shows this ratio explicitly so you can't accidentally ignore it.

Using Cheap Capacitors

C1 and C2 are in the signal path. That 100 nF ceramic might have ±20% tolerance, and its capacitance drops significantly with DC bias (X5R and X7R ceramics are notorious for this). For a loop filter, use C0G/NP0 ceramics or film capacitors. Yes, they're bigger and more expensive. No, you don't have a choice if you want predictable performance.

Forgetting About Temperature

Every component in your loop has a temperature coefficient. The VCO gain changes, the charge pump current drifts slightly, and your capacitors shift value. A loop that's perfectly stable at 25°C might have marginal phase margin at -40°C.

Design for 60° phase margin if your product sees wide temperature swings. The extra margin isn't paranoia — it's engineering.

When to Use Each Phase Margin Setting

45° makes sense when lock time is critical and you can tolerate some ringing. Clock recovery circuits sometimes use this because they need to track fast frequency changes.

52° is my default for most synthesizer work. Good balance between speed and stability.

60° is for anything going into production where you can't hand-tune every unit. Medical devices, automotive, aerospace — anywhere that "it worked on my bench" isn't good enough.

Try It

Grab your VCO datasheet and open the PLL Loop Filter Designer. Plug in your reference frequency, target bandwidth, and charge pump current. The calculator handles all the trig and gives you component values you can actually buy, plus verification that your bandwidth-to-reference ratio is sane.

If you're debugging an existing design, work backwards — enter the component values you have and see what phase margin you're actually getting. You might be surprised.

Related Articles