This page is the complete exercise set for Chapter 03, ISF Core Theory. The problems span derivations, numerical problems, and design back-calculations,
all built around the [P1] Hajimiri–Lee ISF framework, using the site-wide notation.
Format: every solution = step-by-step substitution (with units) → result → dimension check → one-line Python verification.
Python always imports from simulations/common/ (real functions, nothing fabricated).
Authoritative formulas involved (verbatim from spec Section 3, with citations):
impulse→phase (operational ISF): Δϕ=qmaxΓ(ω0τ)Δq (spec formula 5)
Ideal LC (Γ(θ)=−sinθ), qmax=1 pC, f0=5 GHz. A single charge impulse of Δq=1 fC
is injected. Find:
(a) the phase step Δϕ (rad) and the timing error Δt (fs) for injection at θ=3π/2 (where Γ takes its maximum +1).
(b) Δϕ for injection at the peak, θ=0.
Quick check (work it out yourself, then check)
fs
Graded correct within ±5% relative error; scientific notation is accepted.
Exercise 2 (derivation + numerical) — Γrms from the ISF
A toy ISF is the two-harmonic waveform Γ(θ)=cosθ+21cos(2θ).
(a) Write down the Fourier coefficients c0,c1,c2 directly.
(b) Use Parseval to find ∑cn2 and Γrms.
Exercise 3 (numerical) — white noise → L (applying Eq.(21))
f0=5 GHz, Δf=1 MHz, qmax=1 pC, Γrms=0.5, Si=in2/Δf=10−24A2/Hz.
Use [P1] Eq.(21) to find L(1MHz) (dBc/Hz).
Quick check (work it out yourself, then check)
dBc/Hz
Graded correct within ±1% relative error; scientific notation is accepted.
Exercise 4 (design back-calculation) — solving for the required qmax
Keep the numbers from Exercise 3, but the target spec is now L(1MHz)=−160 dBc/Hz (cleaner than Exercise 3).
With all other parameters unchanged (Γrms=0.5, Si=10−24, Δf=1 MHz), by how much must qmax
be scaled up?
Quick check (work it out yourself, then check)
pC
Graded correct within ±5% relative error; scientific notation is accepted.
An oscillator's measured ISF has c0=0.2, c1=1.0 (i.e., an appreciable DC offset — the waveform is up/down asymmetric),
and the device 1/f corner is f1/f=1 MHz (i.e., ω1/f=2π×106 rad/s).
Use [P1] Eq.(24) to estimate the 1/f3 corner frequency Δf1/f3 (with the c0/c1 approximation).
If the circuit is made symmetric (c0→0.02), what does the corner become?
Quick check (work it out yourself, then check)
kHz
Graded correct within ±2% relative error; scientific notation is accepted.
Exercise 6 (derivation) — the frequency-translation meaning of the Fourier coefficients
For a single tone injected near nω0, i(τ)=I0cos((nω0+Δω)τ), use the product-to-sum identity
to prove by hand that after weighting by the n-th ISF harmonic cncos(nω0τ+θn) and integrating, the surviving
slow term gives ϕn(t)≈2qmaxI0cn⋅Δωsin(Δωt−θn),
and explain why this is exactly "the oscillator acting as a mixer, downconverting noise near nω0 to Δω".
A certain noise source conducts only during one half-cycle of the waveform. Approximate its noise modulating function (NMF) α(θ)
as square-wave gating: α(θ)=1 for θ∈[0,π), α(θ)=0 for θ∈[π,2π).
The base ISF is still Γ(θ)=−sinθ. Find Γeff,rms of the effective ISF Γeff=Γ⋅α,
and compare with the always-conducting case Γrms=1/2.
Quick check (work it out yourself, then check)
Graded correct within ±2% relative error; scientific notation is accepted.
Exercise 8 (design back-calculation) — Γrms/qmax from L
A 5 GHz LC oscillator measures L(1MHz)=−130 dBc/Hz, and its white-noise source is known to be
Si=2×10−23A2/Hz (multi-source equivalent). Assuming the 1/f2 region is white-noise dominated, apply Eq.(21)
to back-solve the effective Γrms/qmax (units 1/C). If qmax=1.5 pC, roughly what is Γrms?
(a) Read off the coefficients. Match Γ(θ)=cosθ+21cos(2θ) against the Fourier series
Γ=2c0+∑cncos(nθ+θn): no constant term ⇒c0=0;
first-harmonic amplitude c1=1 (θ1=0); second-harmonic amplitude c2=21 (θ2=0); cn≥3=0.
Step-by-step substitution (with units). This is canonical Example B.
Δω=2πΔf=2π×106=6.283×106rad/s, Δω2=3.948×1013.
qmax2Γrms2=(10−12)20.25=2.5×1023C−2.
4Δω2Si=4×3.948×101310−24=6.332×10−39.
Multiply: 2.5×1023×6.332×10−39=1.583×10−15.
L=10log10(1.583×10−15)=−148.0dBc/Hz.
Result: L(1MHz)≈−148.0 dBc/Hz (the theoretical floor for a single ideal white-noise source).
Dimension check: inside the bracket, C−2⋅(rad/s)2A2/Hz; with C=A⋅s
this reduces to s (per-Hz), and taking 10log10 reads as dBc/Hz ✓. See
white_noise_to_phase_noise.
import numpy as np
gamma_rms, qmax, Si =0.5,1e-12,1e-24
dw =2*np.pi*1e6
L =10*np.log10((gamma_rms**2/qmax**2)*(Si/(4*dw**2)))
print(round(L,1),"dBc/Hz")# -> -148.0 dBc/Hz
Exercise 4 solution (solving for the required qmax)
Back-calculation strategy.L∝1/qmax2 (denominator of Eq.(21)). The target is
ΔL=−160−(−148)=−12 dB below Exercise 3. Writing L in linear form with everything else fixed,
Llin∝1/qmax2:
Result: qmax must be scaled up by about 4× to ≈3.98 pC (i.e., every 6 dB of phase-noise reduction costs qmax×2).
Intuition: this quantifies "increasing the signal swing is the most direct knob for lowering 1/f2 phase noise" (claim C3),
but 12 dB demands 4× the charge swing, paid for in power/area — exactly the trade-off in tank_swing.
Dimension check: C−2⋅s−1⋯ inverts back to qmax in C ✓.
Step-by-step substitution (with units). Use the c0/c1 approximation of [P1] Eq.(24),
Δω1/f3≈ω1/f(c1c0)2, then convert via Δf1/f3=Δω1/f3/(2π);
since ω1/f=2πf1/f, the 2π cancels: Δf1/f3≈f1/f(c1c0)2.
Asymmetric case (c0=0.2, c1=1.0):
Δf1/f3≈106×(1.00.2)2=106×0.04=4×104Hz=40kHz.
After symmetrization (c0=0.02, c1=1.0):
Δf1/f3≈106×(1.00.02)2=106×4×10−4=400Hz.
Result: asymmetric, the 1/f3 corner is ≈40 kHz; after symmetrization (c0 down 10×) the corner drops 100× to ≈400 Hz.
Validity (approximate vs exact form): the (c0/c1)2 approximation assumes the ISF is fundamental-dominated (Γrms2≈c12/2).
Here c0=0.2 is not negligible; using the exact form Δf1/f3=f1/f⋅2Γrms2c02,
with Γrms2=(c02+c12)/2=(0.04+1)/2=0.52, gives
Δf1/f3=106×2×0.520.04≈38.5 kHz — about 4% off the approximate 40 kHz.
After symmetrization (c0=0.02, Γrms2≈0.5) the two forms nearly coincide.
Design message: 1/f3 corner ∝c02. Making the waveform up/down symmetric (suppressing c0) is the most effective way to
push flicker-upconverted close-in 1/f3 noise away from the carrier (see symmetry,
flicker_noise_upconversion).
Physical meaning (mixer view): the n-th ISF harmonic cn acts like one tooth of an LO (local-oscillator) comb, downconverting
noise at the injection frequency nω0+Δω to Δω in baseband;
the fast term (sum frequency ≈2nω0) is filtered out by the integrator's low-pass action. The oscillator is itself a mixer sampling its own harmonics —
this is why cn is "the conversion coefficient from each harmonic to the phase output" (see fourier_series_of_isf).
Dimension check: the units of ϕn=2qmaxI0cn⋅Δωsin(⋯) are
[C]⋅[rad/s][A]⋅(dimensionless); substituting C=A⋅s and treating rad as dimensionless,
=(A⋅s)⋅(1/s)A=AA=1 (dimensionless), so ϕ is dimensionless (phase in rad) ✓.
import numpy as np
# Numerical check: do the integral directly; the slow term survives, the fast term vanishes
n, w0, dw, c_n, I0, qmax, th_n =1,1.0,1e-3,1.0,1.0,1.0,0.4
tau = np.linspace(0,2000*np.pi,4_000_000)# spans many slow periods
Comparison: always conducting gives Γrms=1/2≈0.707; with half-cycle gating, Γeff,rms=0.5.
The ratio is 0.5/0.707=1/2 — gating off half the phase drops the rms by 2 (halves the power).
Result: Γeff,rms=0.5 (≈3 dB lower in power than the always-on 0.707).
Design message: letting the noise conduct only at phases where the ISF is small greatly reduces its effective contribution — this is the
design intuition of steering noise current away from the high-sensitivity region (the zero crossings) (see effective_isf).
The square-wave gating here is an illustrative toy; the real NMF α(θ) is set by the device's bias-dependent thermal noise.
Dimension check: Γ, α, Γeff are all dimensionless ✓.
import numpy as np
from simulations.common.isf_utils import gamma_lc_ideal, gamma_rms, effective_isf
Result: Γrms/qmax≈8.89×1011C−1; if qmax=1.5 pC, then Γrms≈1.33.
Intuition check: Γrms≈1.33 is somewhat above the ideal −sin value 0.707 — reasonable, because this part's measured phase noise
(−130 dBc/Hz) sits about 18 dB above the canonical single ideal white-noise source (−148), reflecting the reality of multiple sources, cyclostationarity,
and a larger ISF. The back-calculation serves as a health check: does the measured PN imply an effective Γrms that is too large?