// Foundation
Why Oscillators Exist
Every signal in an RF system ultimately originates from an oscillator. The local oscillator (LO) in your receiver provides the reference frequency that the mixer uses to translate signals down to baseband. The transmitter's carrier wave is generated by an oscillator. Your GPS receiver synchronises to atomic oscillators aboard satellites 20,000 km away. The clock in your CPU is an oscillator.
An oscillator converts DC power into a periodic AC signal at a precise frequency. Unlike an amplifier — which needs an input signal — an oscillator sustains itself by feeding its own output back to its input. The frequency of oscillation is set by a resonant element: an LC tank circuit, a quartz crystal, a microwave cavity, or a MEMS resonator.
The oscillator is the hardest RF block to design well. It has contradictory requirements: it needs gain (to start up) but must self-limit (to avoid clipping). It needs to be sensitive to its tank circuit frequency (for stability) but insensitive to supply voltage, temperature, and loading. Phase noise — tiny random frequency fluctuations — determines the purity of every signal in the system. A poorly designed oscillator corrupts the entire radio.
// Oscillation Condition
The Barkhausen Criterion
An oscillator is a feedback amplifier where the loop is deliberately designed to sustain oscillation. For a feedback system with open-loop gain A(jω)·β(jω), the Barkhausen criterion states the two conditions that must be met simultaneously for sustained oscillation:
Barkhausen Criterion
Condition 1 — Magnitude: |A(jω₀) · β(jω₀)| = 1
The loop gain must be exactly unity at the oscillation frequency ω₀.
If |Aβ| > 1: oscillation grows (startup)   If |Aβ| < 1: oscillation decays   If |Aβ| = 1: sustained

Condition 2 — Phase: ∠A(jω₀) · β(jω₀) = 0° (or 360°)
The total phase shift around the loop must be 0°. This selects the oscillation frequency — only one frequency satisfies both conditions simultaneously.

Startup and Amplitude Limiting

For reliable startup, the loop gain must be greater than unity when the oscillator first powers on (typically |Aβ| = 2–3 at small signal). The amplitude then grows exponentially until a nonlinear mechanism reduces the gain back to unity.
Amplitude limiting mechanisms: Active device compression (transconductance gm decreases as signal grows — most common in integrated VCOs). Automatic Gain Control (AGC) — separate loop measures amplitude and adjusts bias, better phase noise. Resistive/diode clamping — simple but adds noise.
+ AMPLIFIER A(jω), gain > 1 RF OUTPUT FEEDBACK β(jω) — LC tank |A·β| = 1   AND   ∠A·β = 0° Both conditions simultaneously → f₀ STARTUP |Aβ|>1 STEADY |Aβ|=1
// The Resonant Element
The LC Tank Circuit

Resonant Frequency and Q Factor

The LC tank stores energy alternately in the inductor's magnetic field and the capacitor's electric field, exchanging at the natural resonant frequency. The Q factor describes how sharply it resonates — higher Q means less energy lost per cycle, sharper resonance, and critically, lower phase noise.
LC Tank — Core Equations
Resonant frequency: f₀ = 1 / (2π√(LC))
Q factor: Q = ω₀L/R_s = 1/(ω₀CR_s) where R_s = series resistance of inductor
3 dB bandwidth: BW = f₀/Q
Peak impedance: Z_peak = Q²·R_s = L/(C·R_s)

Loaded Q vs Unloaded Q:
1/Q_L = 1/Q_u + 1/Q_ext   Always: Q_L < Q_u
Phase noise depends on Q_L — maximise it by minimising loading of the tank.
Q is the most important number in oscillator design. Leeson's equation shows phase noise ∝ (f₀/2Q·Δf)² — doubling Q reduces phase noise by 6 dB. On-chip CMOS inductors: Q = 5–20. PCB inductors: Q = 30–60. SAW/BAW resonators: Q = 500–5,000. Quartz crystals: Q = 10,000–500,000. This is why crystal oscillators have far better phase noise than LC VCOs.
PARALLEL LC TANK L Rs C V_out f₀ = 1 / (2π√LC) Q = ω₀L / Rs BW₋₃dB = f₀ / Q Z_peak = L / (C·Rs)

Loss and Negative Resistance

Every real LC tank has loss from the inductor's series resistance R_s. The active device must supply energy at exactly the rate it is lost, viewed as a negative resistance −R_neg that cancels R_s.
Startup Condition
|R_neg| > R_tank   (typically target 2–3× for corners)
For cross-coupled CMOS pair: R_neg = −2/gm
Startup: gm > 1/R_tank = R_s·(ω₀C)² / ... or simply: gm·R_tank > 1 (loop gain > 1)
// Circuit Architectures
LC Oscillator Topologies
All practical LC oscillators use three classical feedback configurations, differentiated by how the feedback voltage is tapped from the tank.
Colpitts
Feedback via capacitive voltage divider (C₁, C₂). The transistor sees voltage across C₂. Feedback factor β = C₂/(C₁+C₂).
f₀ = 1/(2π√(L·C_eff))   1/C_eff = 1/C₁ + 1/C₂
Used in: discrete BJT/FET VCOs, crystal oscillators, microwave oscillators. Good high-frequency performance.
Clapp
A Colpitts with an extra series capacitor C₃ in series with L. Since C₃ ≪ C₁,C₂, it dominates the resonance — decoupling transistor parasitics from the tank for better stability.
f₀ ≈ 1/(2π√(LC₃)) since C₃ ≪ C₁,C₂
Best for: Fixed-frequency precision oscillators where stability > tuning range.
Hartley
Feedback via inductive voltage divider — tapped inductor L₁, L₂. Feedback factor β = L₁/(L₁+L₂).
f₀ = 1/(2π√((L₁+L₂+2M)·C))
Used in: Older discrete designs, AM radio receivers, signal generators. Tapped inductor hard to implement on-chip.
Cross-Coupled CMOS
Two inverting amplifiers cross-coupled to form differential negative resistance −2/gm. Fully differential — rejects supply noise. Dominant topology in all modern RF ICs.
R_neg = −2/gm   startup: gm > 1/R_tank
Advantage: Easy CMOS integration, differential output, excellent PN if bias is optimised.

Cross-Coupled CMOS VCO — Block View

VDD L/2 L/2 V+ V− C_var (varactor) V_tune M1 NMOS M2 NMOS R_neg = −2/gm I_ss
// Voltage-Controlled Oscillator
VCO Design

Varactor Diode Tuning

A VCO replaces the fixed capacitor in the LC tank with a varactor — a reverse-biased diode whose junction capacitance changes with the applied voltage. When V_tune changes, the depletion region width changes, shifting the resonant frequency.
Varactor Capacitance vs Voltage
C_j(V) = C_j0 / (1 − V/φ)^m
C_j0 = zero-bias junction capacitance, φ = built-in potential (≈0.7 V silicon), m = grading coefficient
m = 0.5 abrupt junction, 0.33 linear graded, ≈1.0 hyperabrupt (engineered for linear f-vs-V)

Key issue: The C-V curve is nonlinear → K_vco (MHz/V) varies across tuning range → PLL loop bandwidth changes. Hyperabrupt varactors give more uniform K_vco — preferred in PLL VCOs.

VCO Gain K_vco and Nonlinearity

K_vco — VCO Gain
K_vco = df/dV_tune   (MHz/V or GHz/V)
Typical: 10–500 MHz/V for RF VCOs at 0.5–10 GHz

Higher K_vco → wider tuning but more FM noise from supply voltage ripple:
PN_supply ≈ 20·log₁₀(K_vco × V_noise / Δf)
For K_vco = 100 MHz/V, V_noise = 100 nV/√Hz at Δf = 100 kHz: PN_supply = −80 dBc/Hz

This is why a low K_vco and a clean, well-decoupled VCO supply are critical design priorities.

Tuning Range vs Phase Noise Tradeoff

Wider tuning range requires larger varactor swing → more varactor series resistance → lower tank Q → worse phase noise. This is the fundamental VCO tradeoff.
Solutions to the Tradeoff
1. Switched capacitor banks: Binary-weighted cap array for coarse tuning, small varactor for fine tuning. Varactor swing stays small → Q preserved.
2. Multiple VCO cores: Each covers a narrow sub-band (e.g. 4 VCOs × 15% TR = 60% total coverage).
3. Hyperabrupt varactors: Better tuning efficiency → smaller C_var needed → lower varactor loss.
4. Dual-loop PLL: Coarse integer-N loop + fine fractional-N loop working together.
ParameterOn-Chip LC VCOOff-Chip LC VCOSAW/BAW VCO
Inductor Q5–2030–60500–5000
PN @ 1 MHz−110 to −130 dBc/Hz−130 to −150−150 to −170
Tuning range10–40%5–30%<1%
IntegrationFull SoCExternalExternal
Used inWiFi, LTE, 5G chipsetsTest equipment, radar LOHigh-purity LO, base stations
// Most Critical Specification
Phase Noise — Leeson's Equation
Phase noise describes the short-term frequency instability of an oscillator — random fluctuations of the output frequency due to noise in the circuit. It is specified in dBc/Hz at a given offset from the carrier. It determines receiver sensitivity (reciprocal mixing), transmitter spectral purity, and radar range/Doppler resolution.

Leeson's Equation (1966)

Leeson's Phase Noise Model
L(Δf) = 10·log₁₀ { (2FkT/P_sig) · [1 + (f₀/2Q_L·Δf)²] · [1 + f_c/|Δf|] }

F = oscillator noise factor (excess noise)   k = 1.38×10⁻²³ J/K   T = 290 K
P_sig = output power (Watts)   f₀ = oscillation frequency   Q_L = loaded Q
Δf = offset from carrier   f_c = 1/f corner frequency of active device

Thermal floor (Δf → ∞): L_floor = 10·log₁₀(2FkT/P_sig)
At P = 0 dBm, F = 0 dB: floor = −171 dBc/Hz

Key levers: Double Q_L → −6 dB. Double P_sig → −3 dB. Halve F → −3 dB. Lower f_c (GaAs/SiGe vs CMOS) → narrows 1/f³ region.

The Three Phase Noise Regions

Δf 1/f³ region 30 dB/decade Flicker noise 1/f² region 20 dB/decade White × resonator Flat floor 0 dB/decade Thermal noise floor f_c (1/f corner) f₀/2Q_L −40 −80 −120 −130 −174 L(Δf) — single-sideband phase noise
Why CMOS VCOs have worse close-in phase noise than GaAs: CMOS transistors have a high 1/f noise corner frequency (f_c = 1–10 MHz), making the 1/f³ region extend to much higher offsets. GaAs MESFET and SiGe HBT devices have f_c = 1–100 kHz. This is why high-performance LOs for 4G/5G base stations still use SiGe BiCMOS or GaAs rather than pure CMOS.
// VCO Phase Noise Calculator — Leeson's Equation
MHz
dBm
dB
kHz
kHz
// Phase Noise Spectrum — Leeson Model (interactive)
Red = total phase noise · Shaded regions: 1/f³ (flicker) · 1/f² (white×resonator) · flat floor (thermal)
// Precision Resonators
Crystal & MEMS Resonators
An on-chip LC VCO (Q ≈ 10) gives −110 to −130 dBc/Hz at 1 MHz offset. A quartz crystal (Q ≈ 100,000) achieves −150 to −175 dBc/Hz — a 40 dB improvement from Q alone. Crystal oscillators dominate all applications where frequency accuracy and phase noise matter more than tunability.

Butterworth-Van Dyke Crystal Model

Crystal Equivalent Circuit
Series branch: Lm (motional inductance) + Cm (motional capacitance) + Rm (motional resistance)
Shunt: C₀ (package + electrode capacitance, 1–5 pF)

Typical values: Lm = 1–100 mH, Cm = 0.001–0.1 pF, Rm = 1–100 Ω, C₀ = 1–5 pF

Series resonance: fs = 1/(2π√(Lm·Cm))
Parallel resonance: fp = fs · √(1 + Cm/C₀) — slightly above fs (<1% gap)
Q = ω_s·Lm/Rm — typically 10,000 to 500,000

Between fs and fp the crystal looks inductive — this is the operating region for Colpitts crystal oscillators. External load capacitance C_L trims the frequency:
f_L = fs · [1 + Cm/(2(C₀ + C_L))]
BUTTERWORTH-VAN DYKE CRYSTAL MODEL C₀ Rm Lm Cm Q = ω_s·Lm/Rm = 10,000 to 500,000

Crystal Cuts and Temperature Stability

Common Crystal Cuts
AT-cut (most common): 35°15' from X-axis. Cubic f-vs-T curve. Deviation ±5–30 ppm over −40°C to +85°C. Used in virtually all XO and TCXO.

SC-cut (Stress Compensated): Doubly-rotated. Flat f-vs-T curve near 75–85°C — used in OCXOs where oven is set in this flat region. Achieves ±0.01–0.1 ppm.

TCXO correction: Measures temperature, applies compensating V_ctrl to a varactor → ±0.5–2 ppm
OCXO correction: Heats crystal to SC-cut flat region → ±0.001–0.01 ppm (but 0.5–3 W heater)

XO, TCXO, OCXO, MEMS — Compared

TypeAccuracyPN @ 1 kHzPowerCostUsed in
XO±20–100 ppm−135 dBc/Hz1–5 mW$0.5–2MCU, USB, basic clocks
TCXO±0.5–2 ppm−145 dBc/Hz2–10 mW$2–20GPS, WiFi, BT, cellular
OCXO±0.01–0.1 ppm−160 dBc/Hz0.5–3 W$20–200Base stations, test equipment
CSAC±0.001 ppm−170 dBc/Hz120 mW$1500+Military, holdover timing
MEMS±0.1–1 ppm−130 dBc/Hz1–3 mW$1–10IoT, automotive, wearables
Why MEMS oscillators are growing fast: Silicon MEMS resonators (SiTime, TXC) achieve Q = 50,000–200,000 by etching a vibrating silicon beam in vacuum. They match AT-cut crystal accuracy, resist vibration and shock better (critical for automotive), can be integrated closer to the IC, and are made in CMOS fabs. Their only limitation: phase noise floor is slightly higher than quartz for ultra-low-noise applications like base station LOs.
// Engineering Practice
Practical Oscillator Design Rules
VCO Design — 10 Rules
① Maximise loaded Q: Q_L is dominant. Use thick metal inductors, avoid vias through the inductor loop, connect tank to high-impedance node. Target Q_L > 0.5×Q_u.

② Use switched-cap banks for coarse tuning: Keep varactor swing ≤30% of C_fixed. Large cap banks for coarse, small varactor for fine tuning. Preserves varactor Q.

③ Minimise K_vco: Just enough for temperature + process drift. Target 50–150 MHz/V for 2.4 GHz VCO. Each decade lower in K_vco = 20 dB lower supply FM noise.

④ Keep K_vco variation under 2× across tuning range: PLL loop bandwidth varies with K_vco → instability if it changes >4×. Use hyperabrupt varactor or digital K_vco compensation.

⑤ Optimise bias current: Phase noise improves with I_bias until current crowding / triode region. Sweet spot: transistors at peak gm/I_D. Simulate 3 dB vs 2 mA steps.

⑥ Clean VCO supply: Use a dedicated LDO. Decouple with 10 nF + 1 nF ceramics within 0.5 mm of the VCO supply pin. Aim <10 Ω supply impedance at all FM-relevant frequencies.

⑦ Substrate isolation: Use deep n-well, guard rings, >100 μm separation from digital clock nets. Substrate-injected switching noise is a primary phase noise degradation mechanism.

⑧ Startup margin at corners: Verify gm×R_tank > 3 at slow/cold corner. Use a short startup bias boost (2× I_ss for first 10 μs) if marginal.

⑨ Always buffer the VCO output: Direct connection to divider or mixer causes load pulling. Use a cascode or common-source buffer. Buffer noise contribution is negligible (sees large VCO signal).

⑩ Crystal load capacitance: PCB must present the specified C_L (typically 12 or 18 pF) to the crystal including stray capacitance. Incorrect C_L shifts frequency by several ppm — critical for GPS/cellular.
// Complete Design
Worked Example — 2.4 GHz Cross-Coupled CMOS VCO
Design Specification
Target: 2400–2484 MHz, ±100 MHz tuning range, for WiFi 2.4 GHz PLL
Phase noise: <−120 dBc/Hz at 1 MHz offset (free-running)
Technology: 65 nm CMOS, VDD = 1.2 V, budget <10 mW

1
Inductor: Octagonal 2-turn spiral, W = 10 μm, OD = 200 μm
Estimated L = 1.2 nH, R_s = 3 Ω → Q_L = ω₀L/R_s = 2π×2.4×10⁵×1.2×10⁻⁹/3 = 6.0
2
Tank capacitance:
C = 1/(4π²f₀²L) = 1/(4π²×(2.4×10⁹)²×1.2×10⁻⁹) = 3.66 pF
C_fixed = 2 pF switched banks + C_var = 1.66 pF nominal varactor
3
Loaded Q with varactor:
Varactor R_series ≈ 4 Ω → Q_var = 1/(ω₀×C_var×R_var) ≈ 10
Q_tank = Q_L×Q_var/(Q_L+Q_var) = 60/16 ≈ 3.75
4
Leeson phase noise at 1 MHz:
P = 0 dBm, F = 6 dB (factor 4), f_c = 1 MHz
L(1 MHz) = 10·log₁₀[(2×4×4×10⁻²¹/10⁻³) × (1+(2.4×10⁹/(2×3.75×10⁶))²) × 1]
= 10·log₁₀[3.2×10⁻¹⁸ × 102401] ≈ −124.8 dBc/Hz ✓ meets spec
5
Startup check:
R_tank = Q²×R_s = 3.75²×3 = 42 Ω → gm_min = 1/42 = 24 mS (3× margin → target 72 mS)
At I_D = 3 mA per transistor in 65 nm: gm ≈ 40 mS
6
Power: I_SS = 6 mA × VDD 1.2 V = 7.2 mW ✓ within budget