Skip to main content

β: This English translation is in beta — the Traditional-Chinese original is the authoritative version.

Sampling / sub-sampling PLL — kicking the divider out of the loop

Prerequisites: pll_noise_budget (the five-source budget, where the in-band floor SrefN2+ScpS_{ref}N^2+S_{cp} comes from), clock_chain_budget (the +20log10N+20\log_{10}N bookkeeping for ×N, ϕout=Nϕin\phi_{out}=N\phi_{in}), adc_aperture_jitter (aperture math: sampling error = slope × timing error) | Next: serdes_clocking_connection, exercises

The conclusion of pll_noise_budget was: for the classic charge-pump PLL, the in-band floor is set jointly by reference×N2\times N^2 and the PFD/charge-pump/divider — a cleaner VCO doesn't help at all. This page asks the next question: is the loop's front end (PFD, charge-pump, divider) a physical limit, or an architectural choice? The answer is the latter — the sub-sampling PLL (an architecture that samples the high-speed VCO sinusoid directly with a low-speed reference) removes the divider from the phase-detection path entirely, boosting the phase-detector gain (KPDK_{PD}) from "Icp/2πI_{cp}/2\pi divided further by NN" to "gmAg_m\cdot A." As a result, the divider noise term vanishes, and CP noise is no longer amplified by ×N2\times N^2 — the in-band floor drops until only the reference term remains. This is one of the most important architectural breakthroughs in PLL design over the last fifteen years.

External-literature note: the sub-sampling PLL architecture and the standard result "divider noise eliminated, PD/CP noise not multiplied by N2N^2" are not among the five PDFs downloaded for this site (external literature, not among the five source PDFs). Classic reference: X. Gao, E. A. M. Klumperink, M. Bohsali, and B. Nauta, "A Low Noise Sub-Sampling PLL in Which Divider Noise Is Eliminated and PD/CP Noise Is Not Multiplied by N²," IEEE J. Solid-State Circuits, vol. 44, no. 12, pp. 3253–3263, Dec. 2009. This page's derivation is self-contained, and every numeric value is labeled "illustrative"; the five source PDFs supply the other half of the physics — "sensitivity at the sampling point" ([P1]'s ISF).

Intuition first (the punchline up front): in the classic PLL, phase comparison means "divide 5 GHz down to 100 MHz, then compare phase" — dividing shrinks the phase by a factor of NN (the signal weakens by NN), while PFD/CP noise enters unscaled, so the SNR takes an inherent N×N\times hit; the divider then tacks on its own noise on top. Sub-sampling flips this: "don't touch the VCO — sample the 5 GHz sinusoid directly with the 100 MHz reference edge." At lock, the sampling instant lands on the sinusoid's zero crossing — where the slope is steepest (Aω0A\omega_0, V/s) — so a tiny VCO phase shift produces a large change in the sampled voltage. The phase-detector gain is "volt-scale" (AA, V/rad), several orders of magnitude larger than the charge-pump's "microamp-scale" gain. The same electronic noise (in A/√Hz or V/√Hz) divided by a much larger KPDK_{PD} converts to phase noise that is orders of magnitude smaller. The price: the sampler hangs directly off the VCO (reference spur, kT/C folding), and every zero crossing of the sinusoid looks identical (can't lock in NN without an auxiliary loop).

Step 1: the classic CP-PLL's in-band ceiling — noise divided by KPDK_{PD}, then multiplied by N2N^2

First write "how front-end noise becomes output phase noise" as a chain whose units can be checked. The classic integer-N PLL's PFD (phase-frequency detector) compares ϕref\phi_{ref} against ϕout/N\phi_{out}/N (the divider divides the output phase by NN; see clock_chain_budget rule 2), and the charge-pump converts the phase difference into an average current:

iˉcp=Kcp(ϕrefϕoutN)+in,Kcp=Icp2π  [Arad]\bar i_{cp}=K_{cp}\Big(\phi_{ref}-\frac{\phi_{out}}{N}\Big)+i_n, \qquad K_{cp}=\frac{I_{cp}}{2\pi}\ \ \Big[\frac{\text{A}}{\text{rad}}\Big]

Where Kcp=Icp/2πK_{cp}=I_{cp}/2\pi comes from: a phase difference Δϕ\Delta\phi makes the CP conduct for a fraction Δϕ/2π\Delta\phi/2\pi of each reference period, so the average current =IcpΔϕ/2π=I_{cp}\cdot\Delta\phi/2\pi. Dimension check: A × dimensionless = A ✓; KcpK_{cp} is A/rad ✓.

How the noise gets amplified. At lock, the loop drives the average current to zero, so the noise current ini_n is "converted" into an equivalent phase error and absorbed by the output:

0=Kcp(ϕrefϕoutN)+inϕout=Nϕref+NKcpin.0=K_{cp}\Big(\phi_{ref}-\frac{\phi_{out}}{N}\Big)+i_n \quad\Longrightarrow\quad \phi_{out}=N\phi_{ref}+\frac{N}{K_{cp}}\,i_n .

Converting to PSD (in-band, Hlp21\lvert H_{lp}\rvert^2\approx1):

Sϕ,outin-band=N2Sref+N2Sdiv+N2Kcp2Si,cp[rad2/Hz]S_{\phi,out}\Big|_{\text{in-band}}=N^2 S_{ref}+N^2 S_{div}+\frac{N^2}{K_{cp}^2}\,S_{i,cp} \qquad[\text{rad}^2/\text{Hz}]
  • Dimension check: Si,cpS_{i,cp} [A²/Hz] ÷ Kcp2K_{cp}^2 [A²/rad²] = rad²/Hz ✓; N2N^2 dimensionless ✓.
  • Two amplification mechanisms stack: (1) CP noise is first divided by a small KcpK_{cp} (illustrative: Icp=1I_{cp}=1 mA → Kcp=159.2 μK_{cp}=159.2\ \muA/rad; the equivalent gain referred to output phase is further divided by NN, leaving only 3.183 μ3.183\ \muA/rad); (2) once converted to output phase it's multiplied by N2N^2 (N=50N=50 gives +33.98+33.98 dB). Divider noise SdivS_{div} is injected at the PFD input, and likewise takes the ×N2\times N^2 hit.
  • This is exactly the microscopic origin of the Sout=(SrefN2+Scp)Hlp2+S_{out}=(S_{ref}N^2+S_{cp})\lvert H_{lp}\rvert^2+\cdots term in pll_noise_budget (that page lumps CP+divider together as ScpS_{cp}, already referred to the output). There are only three ways to suppress in-band noise: lower NN, lower front-end noise, or — this page's topic — make KPDK_{PD} larger.

Step 2: the sub-sampling idea — sample the VCO sinusoid directly with the reference edge

The sub-sampling phase detector (SSPD) is simply a track-and-hold: every rising edge of the reference samples the VCO's sinusoidal voltage onto a capacitor CsC_s. "Sub-sampling" refers to the sampling rate freff0f_{ref}\ll f_0 — sampling a 5 GHz sinusoid at 100 MHz is severe undersampling, but we only care about the phase error, and the phase error is exactly what gets aliased down near DC — which is what we want. (The idea of using a sampling phase detector for microwave synthesis is itself old — the step-recovery-diode sampler has long been a staple of microwave instrumentation (external literature, not separately cited); what turned it into an integrated CMOS PLL with a full noise analysis is the Gao et al. 2009 paper cited above.)

Deriving KPDK_{PD}. At lock, ω0Tref=2πN\omega_0 T_{ref}=2\pi N (the VCO completes an integer number of cycles per reference period). Let the kk-th reference edge land at tk=kTref+δtkt_k=kT_{ref}+\delta t_k (δtk\delta t_k being the reference's own timing error, in s), with VCO output V(t)=Asin(ω0t+ϕout)V(t)=A\sin(\omega_0 t+\phi_{out}). The sampled voltage:

Vk=Asin(ω0kTref+ω0δtk+ϕout)=Asin(2πNkinteger cycles, drops out+ ϕout+ω0δtk)A(ϕout+ω0δtk)V_k=A\sin\big(\omega_0 kT_{ref}+\omega_0\,\delta t_k+\phi_{out}\big) =A\sin\big(\underbrace{2\pi Nk}_{\text{integer cycles, drops out}}+\ \phi_{out}+\omega_0\,\delta t_k\big) \approx A\big(\phi_{out}+\omega_0\,\delta t_k\big)

The last step uses the small-angle approximation (the lock point sits near the zero of sin\sin). This one equation immediately gives us three facts:

  1. Phase-detector gain: KPD=Vk/ϕout=AK_{PD}=\partial V_k/\partial\phi_{out}=A [V/rad] — direct phase detection on the 5 GHz output phase, no division by NN. It's just the zero-crossing slope converted: slope Aω0A\omega_0 [V/s] divided by ω0\omega_0 [rad/s] gives AA [V/rad]. Dimension check: (V/s)÷(rad/s)=V/rad ✓. Illustrative numbers: A=0.5A=0.5 V, f0=5f_0=5 GHz → slope Aω0=15.71A\omega_0=15.71 mV/ps, KPD=0.5K_{PD}=0.5 V/rad.
  2. Back end: the sampled voltage passes through a gmg_m stage (transconductor, replacing the charge-pump) and becomes a current, with total gain (referred to output phase) KSS=gmAK_{SS}=g_m A. Dimension check: [A/V]×[V/rad]=[A/rad][\text{A/V}]\times[\text{V/rad}]=[\text{A/rad}] ✓. Illustrative: gm=5g_m=5 mS → KSS=2.5K_{SS}=2.5 mA/rad — 785× larger than the classic 3.183 μ3.183\ \muA/rad. (In practice the gmg_m stage is chopped by a pulser (duty cycle) to control loop gain and stability; this page illustrates with a continuous gmg_m — see the original paper for details.)
  3. Reference noise still gets ×N\times N: the δtk\delta t_k term enters as ω0δtk=Nωrefδtk=Nϕref,k\omega_0\delta t_k=N\cdot\omega_{ref}\delta t_k=N\cdot\phi_{ref,k} — the reference's phase error is multiplied by NN through the slope itself. Illustrative: a 1 ps reference edge error → 15.7115.71 mV → 31.4231.42 mrad =50×0.628=50\times0.628 mrad. This confirms clock_chain_budget rules 1/3: ϕout=Nϕref\phi_{out}=N\phi_{ref} is an intrinsic property of "multiplying the frequency by NN" itself, independent of whether a divider is present — what sub-sampling removes is the divider's "noise," not the reference's ×N2\times N^2.

Step 3: deriving the in-band advantage — divider term vanishes, CP noise no longer ×N2\times N^2

Line up steps 1 and 2. Take the same noise current PSD SiS_{i} (A²/Hz) and refer it to output phase:

Sϕ,outclassic=N2Kcp2Si=(2πNIcp)2Si,Sϕ,outSS=Si(gmA)2,S_{\phi,out}^{\text{classic}}=\frac{N^2}{K_{cp}^2}\,S_i=\Big(\frac{2\pi N}{I_{cp}}\Big)^2 S_i, \qquad S_{\phi,out}^{\text{SS}}=\frac{S_i}{(g_m A)^2},

Dividing the two gives sub-sampling's suppression ratio for front-end current noise:

Sϕ,outclassicSϕ,outSS=(2πNgmAIcp)220log10Nremoval of the divider multiplier+20log10 ⁣2πgmAIcpKPD gain bonus  [dB]\frac{S_{\phi,out}^{\text{classic}}}{S_{\phi,out}^{\text{SS}}} =\Big(\frac{2\pi N\,g_m A}{I_{cp}}\Big)^2 \quad\Longrightarrow\quad \underbrace{20\log_{10}N}_{\text{removal of the divider multiplier}} +\underbrace{20\log_{10}\!\frac{2\pi g_m A}{I_{cp}}}_{K_{PD}\text{ gain bonus}}\ \ [\text{dB}]
  • Dimension check: 2πNgmA/Icp2\pi N g_m A/I_{cp} = dimensionless×(A/rad)/(A) — rad is dimensionless, so the whole ratio is dimensionless ✓, and the log is valid.
  • Illustrative numbers (N=50N=50, gmA=2.5g_m A=2.5 mA/rad, Icp=1I_{cp}=1 mA): 33.98+23.92=57.933.98+23.92=57.9 dB.
  • The first term is exactly the "20log10N\sim20\log_{10}N removal of the divider multiplier": CP/PD noise in sub-sampling is no longer amplified by ×N2\times N^2 (external standard result, Gao et al. 2009, cited above). The second term is the extra bonus from KPDK_{PD} changing from Icp/2πI_{cp}/2\pi to gmAg_m A, and it varies by design.
  • The divider noise term N2SdivN^2S_{div} disappears entirely — there is no divider in the loop at all. (There's still a divider on-chip, but it only handles frequency acquisition inside the auxiliary FLL; once locked, it's silenced by the dead zone and is off the phase-noise path — see Step 5.)
  • What remains of the in-band floor is N2Sref\approx N^2S_{ref} + the sampler's own noise — it becomes reference-limited. To go further, the only options are a cleaner reference or a higher freff_{ref} to lower NN (there's no free lunch, per rule 1 of clock_chain_budget).

ILCM comparison (same "kick the divider/CP out" goal, a completely different mechanism): the injection-locked clock multiplier (ILCM) also drives the in-band floor to reference-limited, but by a different route — the sub-sampling PLL is a continuous-time closed loop (the divider is reduced to an auxiliary FLL; sampling the zero crossing is the phase detector), while the ILCM is discrete-time, open-loop injection (there is no PFD/CP/divider at all — a pulse generator directly "pulls" the phase toward the reference). The in-band bookkeeping converges to the same destination by different paths: sub-sampling gives N2SrefHlp2N^2S_{ref}\vert H_{lp}\vert^2 (the divider term disappears, CP is no longer ×N2\times N^2); the ILCM gives N2SrefHref2N^2S_{ref}\vert H_{ref}\vert^2 with Href=β/(1(1β)z1)H_{ref}=\beta/(1-(1-\beta)z^{-1}), a first-order discrete-time low-pass (β\beta = the realignment factor) — the same ×N2\times N^2, two completely different ways of kicking the divider out. The full derivation (lock range, β\beta, discrete-time noise shaping) is on subharmonic_injection.

Step 4: the ISF connection — sampling the zero crossing = sampling where Γ\lvert\Gamma\rvert is largest

This step is where this site's main thread and sub-sampling elegantly intersect. The ISF of an ideal LC oscillator with output V=Acos(ω0t)V=A\cos(\omega_0 t) is Γ(ω0τ)=sin(ω0τ)\Gamma(\omega_0\tau)=-\sin(\omega_0\tau) (lab_02, corresponding to [P1]'s LC example) — Γ\lvert\Gamma\rvert is largest at the zero crossing (=1) and zero at the peak. The SSPD happens to fire exactly at the zero crossing, so this single location has two faces:

(a) Maximum efficiency at reading phase, and naturally AM-rejecting. At the zero crossing, V=Asin(ϕerr)AϕerrV=A\sin(\phi_{err})\approx A\phi_{err}: the voltage carries phase information "one-to-one" (the gain AA V/rad is the maximum anywhere on the sinusoid); meanwhile an amplitude error δA\delta A enters as δAsin(ϕerr)δAϕerr\delta A\sin(\phi_{err})\approx\delta A\cdot\phi_{err} — a second-order small quantity, so it doesn't enter at first order. Conversely, if sampling happened at the peak: V/ϕ=0\partial V/\partial\phi=0 (no phase readout at all), while δA\delta A enters at full strength. This matches exactly the decomposition in phase_vs_amplitude_noise: the zero crossing is a "pure phase" window. The geometry of sampling is the same thread as the aperture math: step 1 of adc_aperture_jitter, "sampling error = slope × timing error," is noise on the ADC page (clock jitter dirtying the sample), but on this page it's flipped around and used as the signal (the reference edge's timing offset is converted into a measurable voltage via the slope Aω0A\omega_0) — the same equation, one side is a liability, the other a phase detector.

(b) Also maximum efficiency at hitting phase — kickback becomes a spur. Every time the sampling switch closes, it exchanges a small packet of charge Δq\Delta q with the VCO node (charge sharing / switch feedthrough). Using [P1]'s operational ISF definition (canonical formula 5):

Δϕ=Γ(ω0τ)qmaxΔq\Delta\phi=\frac{\Gamma(\omega_0\tau)}{q_{max}}\,\Delta q

Hitting at the zero crossing → Γ=1\lvert\Gamma\rvert=1 (maximum) → every kick lands with full force. Illustrative (following the scale of canonical example A, taking Γ=1\lvert\Gamma\rvert=1): Δq=1\Delta q=1 fC, qmax=1q_{max}=1 pC → Δϕ=1\Delta\phi=1 mrad per reference period. This disturbance is deterministic, periodic at freff_{ref}, so it isn't a continuous spectrum but a reference spur (canonical section 10.2's small-angle PM: a residual phase ripple of fundamental amplitude ϕp\phi_p produces a sideband =20log10(ϕp/2)=20\log_{10}(\phi_p/2) dBc; ϕp=1\phi_p=1 mrad → 66.0-66.0 dBc, and if the loop suppresses it to 0.5 mrad → 72.0-72.0 dBc, illustrative). The same Γmax\lvert\Gamma\rvert_{max} that gives you maximum phase-detector gain also gives you maximum kickback damage — this is sub-sampling's core trade-off, unpacked in the next step. (Distinguishing spurs from random PN is covered in measurement_and_spurs.)

Step 5: the price — aliasing, reference spur, lock range

(1) Aliasing: wideband noise folds into ±fref/2\pm f_{ref}/2. The SSPD is a system that samples at freff_{ref} (the same math as the ADC in adc_aperture_jitter). The wideband voltage noise at the sampler input (thermal noise of the VCO buffer, PSD SvS_v V²/Hz, bandwidth BnfrefB_n\gg f_{ref}) folds back into the single-sided band fref/2f_{ref}/2 with power conserved:

Sv,fold=SvBnfref/2=2SvBnfrefSϕ,fold=Sv,foldA2  [rad2/Hz]S_{v,fold}=\frac{S_v\,B_n}{f_{ref}/2}=\frac{2S_v B_n}{f_{ref}} \qquad\Longrightarrow\qquad S_{\phi,fold}=\frac{S_{v,fold}}{A^2}\ \ [\text{rad}^2/\text{Hz}]

Dimension check: [V2/Hz]×[Hz]÷[Hz]=[V2/Hz][\text{V}^2/\text{Hz}]\times[\text{Hz}]\div[\text{Hz}]=[\text{V}^2/\text{Hz}] ✓; dividing by A2A^2 [V²/rad²] gives rad²/Hz ✓.

(Dividing by A2A^2: the voltage-to-phase gain at the zero crossing is AA V/rad.) For the sampling capacitor itself, the total noise power is the famous kT/CskT/C_s (independent of bandwidth); once folded, Sv=2kT/(Csfref)S_v=2kT/(C_s f_{ref}). Illustrative: Cs=100C_s=100 fF → kT/Cs=204 μ\sqrt{kT/C_s}=204\ \muV rms → L=147.8\mathcal{L}=-147.8 dBc/Hz — much lower than the 126-126 reference floor (good news), but you have to account for folding before buying a wideband buffer: every doubling of BnB_n adds 3 dB to this term.

(2) The reference-spur see-saw. The kickback from step 4(b) lands exactly where Γ\lvert\Gamma\rvert is largest, so the spur is inherently worse than in a classic PLL. Every countermeasure is a trade: adding an isolation buffer (spur ↓, but the buffer's own noise folds in per (1), and it costs power); shrinking CsC_s (Δq\Delta q ↓ → spur ↓, but kT/CskT/C_s ↑ — noise and spur sit on opposite ends of the same see-saw); dummy-sampler cancellation. The same team's follow-up paper deals specifically with spur reduction: X. Gao, E. A. M. Klumperink, G. Socci, M. Bohsali, and B. Nauta, "Spur Reduction Techniques for Phase-Locked Loops Exploiting a Sub-Sampling Phase Detector," IEEE J. Solid-State Circuits, vol. 45, no. 9, pp. 1809–1821, Sep. 2010 (external literature, not among the five source PDFs; TODO: manual verification needed — volume/issue/page numbers should be manually verified before citing in a formal document).

(3) Lock range: sin\sin can't tell which cycle you're on. sin\sin is 2π2\pi-periodic — every zero crossing of the VCO looks identical to the SSPD, so the SSPD has zero discrimination against "frequency error," and there's no hardware that defines NN at all: any integer kk satisfying f0=kfreff_0=k\,f_{ref} is a valid lock point (harmonic lock — locking to the wrong harmonic). So an SSPLL always pairs with an auxiliary FLL (frequency-locked loop: a conventional ÷N + PFD/CP) responsible for pulling the frequency close to the correct NfrefN f_{ref}; it carries a dead zone — once locked, the phase error is tiny, the auxiliary loop goes completely silent, and the divider's noise never enters the main loop. In an SSPLL, the number NN is defined by the auxiliary loop.

(4) Effect on the optimal loop BW (tying back to the budget page). Using the afn+b/fnaf_n+b/f_n toy model from pll_noise_budget: if the in-band floor aa drops by 7.1 dB (power ×1/5.12\times1/5.12, the illustrative numbers from the worked example below) → the optimum fn\*b/af_n^\*\propto\sqrt{b/a} widens by 5.12=2.26×\sqrt{5.12}=2.26\times, and the minimum integrated jitter (ab)1/4\propto(ab)^{1/4} improves by 5.121/4=1.5×5.12^{1/4}=1.5\timesa lower floor isn't just a lower floor, it also lets you open the loop bandwidth wider and suppress more of the VCO, so the total-jitter payoff is larger than the floor's dB number alone suggests.

Worked example (illustrative): ×50 classic CP-PLL vs. sub-sampling in-band floor

Format: problem → step-by-step substitution (with units) → result → dimension check → Python verification. All component values are representative / illustrative (not tied to any specific silicon process); bookkeeping conventions match clock_chain_budget (SSB, L=12Sϕ\mathcal{L}=\tfrac12S_\phi; this page compares only ratios, so the /2-vs-/4 convention cancels out).

Problem: fref=100f_{ref}=100 MHz, N=50N=50 (f0=5f_0=5 GHz). Reference floor Lref=160\mathcal{L}_{ref}=-160 dBc/Hz, divider's own floor 160-160 dBc/Hz (at its output), CP and gmg_m-stage equivalent noise current both in=4i_n=4 pA/√Hz, Icp=1I_{cp}=1 mA, gm=5g_m=5 mS, A=0.5A=0.5 V, Cs=100C_s=100 fF (300 K). Find the deep in-band output phase-noise floor for both architectures, and convert the in-band portion (brick-wall, 10 kHz–1 MHz, fn=1f_n=1 MHz) into rms jitter.

Step by step (classic CP-PLL):

  1. reference: 160+20log1050=160+33.98=126.02-160+20\log_{10}50=-160+33.98=-126.02 dBc/Hz.
  2. charge-pump: Kcp=Icp/2π=1 mA/2π=159.2 μK_{cp}=I_{cp}/2\pi=1\ \text{mA}/2\pi=159.2\ \muA/rad. At the reference-input phase, S=(4×1012)2/(1.592×104)2=6.32×1016S=(4\times10^{-12})^2/(1.592\times10^{-4})^2=6.32\times10^{-16} rad²/Hz; ×N2=2500\times N^2=25001.58×10121.58\times10^{-12} rad²/Hz → L=10log10(12×1.58×1012)=121.03\mathcal{L}=10\log_{10}(\tfrac12\times1.58\times10^{-12})=-121.03 dBc/Hz.
  3. divider: 160+33.98=126.02-160+33.98=-126.02 dBc/Hz.
  4. power-sum (clock_chain_budget rule 4): Lclassic=118.9\mathcal{L}_{classic}=-118.9 dBc/Hz — CP dominates.

Step by step (sub-sampling):

  1. reference: unchanged, 126.02-126.02 dBc/Hz (step 2, item 3: the ×N\times N is hidden inside the slope).
  2. gmg_m stage: KSS=gmA=2.5K_{SS}=g_mA=2.5 mA/rad → S=(4×1012)2/(2.5×103)2=2.56×1018S=(4\times10^{-12})^2/(2.5\times10^{-3})^2=2.56\times10^{-18} rad²/Hz → L=178.93\mathcal{L}=-178.93 dBc/Hz. Cross-check against step 2: 121.0357.9=178.93-121.03-57.9=-178.93 ✓ (57.9=33.98+23.9257.9=33.98+23.92).
  3. sampler (kT/CkT/C folding): Sϕ=2kT/(Csfref)/A2=3.31×1015S_\phi=2kT/(C_sf_{ref})/A^2=3.31\times10^{-15} rad²/Hz → L=147.81\mathcal{L}=-147.81 dBc/Hz.
  4. power-sum: LSS=125.99\mathcal{L}_{SS}=-125.99 dBc/Hz — reference-limited, an improvement of 7.1 dB.
In-band contribution (@ 5 GHz output)Classic ×50 CP-PLLsub-sampling
reference ×N2\times N^2126.02-126.02126.02-126.02 (unchanged)
PFD/CP (SS: gmg_m stage)121.03-121.03178.93-178.93KPD2K_{PD}^2, 57.9-57.9 dB)
divider ×N2\times N^2126.02-126.02— (removed from loop)
sampler kT/CkT/C folding147.81-147.81
Total [dBc/Hz]118.9\mathbf{-118.9}125.99\mathbf{-125.99}

Converting to jitter (brick-wall, 10 kHz–1 MHz): σϕ2=2×10L/10×(106104)\sigma_\phi^2=2\times10^{\mathcal{L}/10}\times(10^6-10^4), σt=σϕ/(2πf0)\sigma_t=\sigma_\phi/(2\pi f_0) (canonical formulas 18/19) → classic 50.950.9 fs, sub-sampling 22.522.5 fs (a 2.26×2.26\times savings in the in-band portion).

Dimension check (overview): A²/Hz ÷ (A/rad)² = rad²/Hz ✓; rad²/Hz × Hz = rad² ✓; rad ÷ (rad/s) = s ✓; every argument to a dB operation is dimensionless ✓.

Python verification (runs as-is; # -> shows actual output):

import numpy as np
N, f_ref = 50, 100e6
f0 = N*f_ref # 5 GHz
padd = lambda *L: 10*np.log10(sum(10**(x/10) for x in L))
# --- (a) classic charge-pump PLL: the three in-band terms (illustrative) ---
L_ref_out = -160.0 + 20*np.log10(N)
print(round(L_ref_out, 2)) # -> -126.02 (ref ×N²)
K_cp = 1e-3/(2*np.pi) # I_cp=1 mA -> 159.2 uA/rad
Si = (4e-12)**2 # (4 pA/√Hz)²
L_cp = 10*np.log10(0.5*Si/K_cp**2*N**2)
print(round(L_cp, 2)) # -> -121.03 (CP, ÷K_cp² then ×N²)
L_div_out = -160.0 + 20*np.log10(N)
print(round(L_div_out, 2)) # -> -126.02 (divider ×N²)
L_classic = padd(L_ref_out, L_cp, L_div_out)
print(round(L_classic, 1)) # -> -118.9 (CP dominates)
# --- (b) sub-sampling PLL (illustrative) ---
K_ss = 5e-3*0.5 # g_m·A = 2.5 mA/rad (referred to output phase)
print(round(20*np.log10(K_ss/(K_cp/N)), 1)) # -> 57.9 (= 33.98 + 23.92 dB)
L_gm = 10*np.log10(0.5*Si/K_ss**2)
print(round(L_gm, 2)) # -> -178.93 (same i_n, ÷K_SS²)
L_smp = 10*np.log10(0.5*(2*1.380649e-23*300/(100e-15*f_ref))/0.5**2)
print(round(L_smp, 2)) # -> -147.81 (kT/C folded into f_ref/2)
L_ss = padd(L_ref_out, L_gm, L_smp)
print(round(L_ss, 2)) # -> -125.99 (reference-limited)
print(round(L_classic - L_ss, 1)) # -> 7.1 (in-band improvement, dB)
# --- (c) convert the in-band portion into jitter (brick-wall 10 kHz–1 MHz) ---
for L in (L_classic, L_ss):
st = np.sqrt(2*10**(L/10)*(1e6-1e4))/(2*np.pi*f0)
print(round(st*1e15, 1)) # -> 50.9 / 22.5 (fs)

Honesty note: these illustrative numbers were chosen so the classic architecture is "CP-dominated" and sub-sampling is "reference-dominated" — a deliberately typical teaching scenario; in a real design ini_n, IcpI_{cp}, duty cycle, and auxiliary-loop residuals would all shift the relative ranking of the terms, but the structural result — "the divider term vanishes and the CP term is no longer ×N2\times N^2" — does not change (Gao et al. 2009's measurements indeed show the in-band floor approaching the reference-limited value).

Interactive exploration: drag each term around

經典 CP-PLL vs sub-sampling PLL:in-band 地板互動比較(示意模型)
50 → 5.0 GHz
-160 dBc/Hz
1.0 mA
4.0 pA/√Hz
5.0 mS
0.50 V
100 fF
經典 in-band 地板
-118.9
dBc/Hz
sub-sampling 地板
-126.0
dBc/Hz
CP→gm 抑制(K_PD²)
57.9
dB
in-band 改善
7.1
dB
-200-180-160-140-120-100經典 CP-PLLref ×N²-126.0CP (×N²)-121.0divider ×N²-126.0總和-118.9sub-sampling PLLref ×N²-126.0gm (÷K_PD²)-178.9sampler kT/C-147.8總和-126.0in-band 相位雜訊貢獻 [dBc/Hz](換到 f₀ 輸出,deep in-band,SSB)
示意模型(非特定製程):f_ref 固定 100 MHz;divider 自身床固定 −160 dBc/Hz(再 ×N²); K_cp = I_cp/2π(對 PFD 輸入相位)、K_SS = g_m·A(對輸出相位,取樣在過零點); sampler 項 = 2kT/(C_s·f_ref)/A²(kT/C 摺進 ±f_ref/2)。ref ×N² 兩邊都在—— sub-sampling 只移除 divider/CP 那兩項。對應 sampling_pll 頁的 worked example。

Try it: (1) increase NN — both sides' reference terms rise together (the ×N2\times N^2 hit is unavoidable), but the classic architecture's CP term rises too, while SS's gmg_m term stays put; (2) increase gmg_m or AA — only SS's front-end term drops; (3) shrink CsC_s — the sampler term rises (the noise side of the kT/C see-saw).

Design-knobs checklist

KnobEffectTrade-off
KPD=gmAK_{PD}=g_mAfront-end noise ÷KPD2K_{PD}^2AA is set by VCO swing (the same knob as tank_swing: larger swing → lower ISF phase noise and higher phase-detector gain, a double bonus); larger gmg_m → more power
NN / freff_{ref}reference ×N2\times N^2 (the only floor SS has left)SSPLL floor is reference-limited → only a higher-frequency, lower-noise reference helps; divider/CP terms no longer stand in the way
CsC_skT/C folding vs. kickback spursmall CsC_s: spur ↓, noise ↑; large CsC_s: the reverse — a see-saw
isolation bufferspur ↓buffer noise folds in via aliasing (Bn/fref\propto B_n/f_{ref}), power ↑
pulser duty cycleloop gain / stabilitythe chopping ratio adjusts both KK and the noise duty cycle simultaneously — must be tracked together
loop BW fnf_nlower floor → fn\*b/af_n^\*\propto\sqrt{b/a} widensillustrative: floor 7.1-7.1 dB → fn\*×2.26f_n^\*\times2.26, σt,min×1/1.5\sigma_{t,min}\times1/1.5 (the U-shape from pll_noise_budget)
auxiliary-FLL dead zonedivider silent once lockeddead zone too narrow → FLL keeps butting in and disturbing phase; too wide → frequency drift goes unmanaged

Connection to SerDes

In a SerDes sampling-clock jitter budget, the in-band floor is often the dominant term (clock_chain_budget's worked chain: 65.9% comes from the in-band floor raised by ×N2\times N^2). This page's illustrative numbers compress the in-band portion from 50.9 fs to 22.5 fs (2.26×2.26\times), and the optimal loop BW can then also widen by 2.26×2.26\times to suppress more of the VCO — a direct credit to serdes_clocking_connection's eye/BER accounting (RJ overhead =2Q1σt=2Q^{-1}\sigma_t). On the cost side: the reference spur is deterministic jitter (DJ, see dj_dual_dirac), which shows up on the eye diagram as a dual peak rather than a Gaussian tail — the "lower RJ, higher DJ risk" trade that sub-sampling buys is exactly what the system level needs to watch.

Applicability and failure conditions

ConditionWhen it holdsWhen it fails
Small-angle linearization (sampling point near zero crossing)KPD=AK_{PD}=A, AM doesn't enter at first orderlarge phase error (during acquisition) → sin\sin saturates, gain drops; the auxiliary FLL pulls it back
Sampling point exactly at zero crossingmaximum gain, best AM rejectionDC offset / delay shifts the sampling point → KPD=AcosϕdcK_{PD}=A\cos\phi_{dc} drops, AM starts to leak in
Sources uncorrelated, whitepower-sum and folding formulas holdsupply-correlated noise, gmg_m-stage flicker (close-in, handled separately)
Divider confined to the auxiliary FLL, silenced by dead zonedivider noise never enters the main looppoorly designed dead zone → FLL intervenes intermittently, divider/CP noise leaks back in
Illustrative valuesthe structural conclusion (what vanishes, what stays) is trustworthythe absolute dB values must not be benchmarked against any real process/paper measurement
f0=Nfreff_0=Nf_{ref} integer relationSSPD always samples the same phase point every cyclefractional-N requirements → need extra techniques like DTC/interpolation (external literature, beyond this page)

Key takeaways

  • Classic CP-PLL front-end noise referred to output: Sϕ,out=N2Si/Kcp2S_{\phi,out}=N^2S_i/K_{cp}^2, Kcp=Icp/2πK_{cp}=I_{cp}/2\pismall gain in the denominator, then ×N2\times N^2 — this is why the in-band floor is stuck at CP+divider (the microscopic version of pll_noise_budget).
  • Sub-sampling: the reference edge directly samples the VCO sinusoid's zero crossing, giving KPD=AK_{PD}=A V/rad (slope Aω0A\omega_0 ÷ ω0\omega_0), paired with a gmg_m stage to give KSS=gmAK_{SS}=g_mA A/rad — phase detection referred to output phase, no ÷N.
  • The advantage = 20log10N20\log_{10}N (removal of the divider multiplier) + 20log10(2πgmA/Icp)20\log_{10}(2\pi g_mA/I_{cp}) (gain bonus); illustrative 33.98+23.92=57.933.98+23.92=57.9 dB; the divider noise term vanishes entirely (external standard result, Gao et al. JSSC 2009).
  • Reference ×N2\times N^2 is present in both — the ×N\times N is hidden in the sampling slope (ω0δt=Nωrefδt\omega_0\delta t=N\omega_{ref}\delta t), an intrinsic property of frequency multiplication, not the divider's fault. The SSPLL floor is therefore reference-limited.
  • ISF duality: sampling the zero crossing = sampling where Γ\lvert\Gamma\rvert is largest — maximum gain for reading phase (AA V/rad, AM-resistant), and maximum severity for hitting phase via kickback (Δϕ=ΓΔq/qmax\Delta\phi=\Gamma\Delta q/q_{max}, [P1]'s operational definition) → the reference spur is inherently worse; noise (kT/C ↑) and spur (Δq\Delta q ↓) share the same CsC_s see-saw.
  • Aliasing: wideband noise at the sampler input folds into ±fref/2\pm f_{ref}/2 (Sfold=2SvBn/frefS_{fold}=2S_vB_n/f_{ref}); the kT/C version is illustratively 147.8-147.8 dBc/Hz.
  • The SSPD can't tell which cycle it's on (harmonic lock) → needs an auxiliary FLL (÷N + PFD/CP + dead zone) to define NN and manage acquisition.
  • Worked example (illustrative): in-band floor 118.9125.99-118.9\to-125.99 dBc/Hz (+7.1+7.1 dB), in-band jitter 50.922.550.9\to22.5 fs; the lower floor also lets the optimal loop BW widen by 2.26×2.26\times, gaining another 1.5×1.5\times on total jitter.

Further reading

External literature (not among the five downloaded PDFs)

  • X. Gao, E. A. M. Klumperink, M. Bohsali, and B. Nauta, "A Low Noise Sub-Sampling PLL in Which Divider Noise Is Eliminated and PD/CP Noise Is Not Multiplied by N²," IEEE J. Solid-State Circuits, vol. 44, no. 12, pp. 3253–3263, Dec. 2009. (the classic sub-sampling PLL paper; source of this page's "divider vanishes + PD/CP not multiplied by N2N^2" result)
  • X. Gao, E. A. M. Klumperink, G. Socci, M. Bohsali, and B. Nauta, "Spur Reduction Techniques for Phase-Locked Loops Exploiting a Sub-Sampling Phase Detector," IEEE J. Solid-State Circuits, vol. 45, no. 9, pp. 1809–1821, Sep. 2010. (TODO: manual verification needed — volume/issue/page numbers should be manually verified)
  • The classic CP-PLL's Kcp=Icp/2πK_{cp}=I_{cp}/2\pi and loop-noise bookkeeping: standard PLL literature (Gardner, Phaselock Techniques; B. Razavi, RF Microelectronics, 2nd ed., 2012), the same sources cited in pll_noise_budget.
  • The part supplied by this site's five source PDFs: [P1] (the ISF operational definition Δϕ=ΓΔq/qmax\Delta\phi=\Gamma\Delta q/q_{max}, the LC oscillator's Γ=sin\Gamma=-\sin, maximum sensitivity at the zero crossing — all the physics in this page's Step 4).