β: This English translation is in beta — the Traditional-Chinese original is the authoritative version.
Effective ISF and cyclostationary noise
Prerequisites: isf_definition (definition of ), rms_isf ( and ), stochastic_noise_basics (stationary vs cyclostationary noise).
So far we have assumed the noise sources are stationary — their statistics (e.g., mean-square power) do not change with time. Resistor thermal noise is like that. But the dominant noise sources in an oscillator are the transistors, and transistor noise power varies periodically with the operating point: strong when the device conducts a large current, weak when it is off. Noise whose statistics vary periodically with time is called cyclostationary noise.
This page answers: how does ISF theory handle cyclostationary device noise? The answer is elegant and simple — fold the periodic "noise-intensity modulation" into the ISF, obtaining the effective ISF:
From then on, every formula stays the same with substituted for (the cyclostationary decomposition and the effective ISF come from [P1] Sec. II-D "Cyclostationary Noise Sources", Eq.(25)–(27), p.186; is Eq.(27)).
Try it yourself: the interactive explorer below keeps fixed and lets you drag the NMF window's center phase , width, and floor, watching , , and overlaid live, along with , , and the phase-noise change relative to the stationary case.
nmf_window in simulations/lab_14_cyclostationary_isf.py). Γ_eff = Γ·α; Γ_eff,rms and c0_eff are computed with the trapezoidal rule (361 samples over one period), matching simulations/common/isf_utils.py's gamma_rms/compute_fourier_coefficients conventions. L-degradation uses 10·log₁₀(Γ_eff,rms²/0.5²) dB referencing the site's canonical stationary example B (Γ_rms=0.5, [P1] Eq.21); this ratio is independent of the well-known /2-vs-/4 SSB-accounting constant in Eq.(21) since that constant cancels between numerator and denominator (see white_noise_to_phase_noise.md).Physical intuition (conclusion first): two "time windows" open and close simultaneously in an oscillator: (1) the ISF — how sensitive the oscillator is to noise right now (where the waveform is easy to kick); (2) the NMF — how much noise the device leaks right now (when the transistor is working). What actually enters the phase is the overlap of the two windows. If the device dumps most of its noise only at instants where the ISF is insensitive (like a good Colpitts: the current pulse lands at the voltage trough, where the ISF is small), most of the noise is simply wasted — this is why including matters; using the average noise power alone can badly over- or under-estimate.
Step 1: decomposing cyclostationary noise
[P1] Sec. II-D "Cyclostationary Noise Sources" (p.186) decomposes a white cyclostationary current as ([P1] Sec. II-D, Eq.(25), p.186):
where:
- is a white stationary random process — fixed intensity, easy to handle.
- is a deterministic periodic function describing the modulation of the noise amplitude, called the noise-modulating function (NMF).
[P1] normalizes to a maximum of 1 (, period ). Under this definition, the instantaneous mean-square noise power , where is the maximum mean-square power.
- Physics used: MOS channel noise or overdrive voltage, and these quantities vary periodically with the waveform, so the noise power is "gated" — the device only really leaks noise at certain phases ([P1] uses MOS channel noise as its example).
- Unit check: is dimensionless ( to ); and are both currents (A) ✓.
Deriving the NMF from device thermal noise
The previous step took as a periodic modulation that fell from the sky. But for an analog designer with 40 years of experience, the real question is: where does come from, and why does it have that shape? The answer is written entirely in the device's bias-dependent thermal noise. This section derives by hand from the transistor's instantaneous bias, and works a switching-pair example to show how it changes the .
Physical intuition (conclusion first): transistor thermal noise is not of fixed intensity — its mean-square noise current is proportional to some bias-dependent quantity ( or for a MOS, the collector current for a BJT). In an oscillator these quantities swing periodically with the large-signal waveform: noise is strongest when the device is fully on and nearly vanishes when it is off. Take the instantaneous noise power relative to its maximum, take the square root, normalize the peak to 1 — that is the NMF . So is not an extra assumption; it is simply the instantaneous envelope of the device thermal noise.
Step A: transistor thermal noise is bias-dependent
Start from the standard device thermal-noise expression (treated as white over the offset band of interest). For MOSFET channel thermal noise (standard external device model, not among the five source PDFs):
where is the noise coefficient ( long-channel, larger short-channel) and is the instantaneous transconductance (units S = A/V). The key point is that itself varies with the instantaneous bias — in an oscillator the device's gate-source voltage swings with the waveform, so
is itself a periodic function of time. For a square-law MOS in saturation, ; when the device is off (), , , and the noise switches off.
- Physics used: thermal-noise intensity is set by the channel conductance (proportional to or ); the oscillator's large-signal waveform switches this conductance periodically. Same story for a BJT: collector shot noise , with pulsing along the waveform.
- Unit check: is ; multiplying by (A/V) gives ✓.
Step B: normalize → obtain
Write the instantaneous mean-square noise power as "maximum × a shape". Define the maximum mean-square power (the peak over one period); then
Comparing term by term with [P1]'s decomposition (Step 1 above), read off immediately
- This is the microscopic origin of the NMF: is the square root of the instantaneous transconductance relative to its peak (the square root because is defined on the amplitude side; noise power is ). at phases where the device conducts fully, where it is off. For circuits that conduct only over a small slice of phase (switching pair, class-C, the Colpitts current pulse), is a narrow periodic gate.
- Unit check: a ratio is dimensionless, and so is its square root → is dimensionless, ✓, consistent with the convention.
- Interface to the ISF: substituting back into the previous step gives . The shape of is set entirely by the device's — i.e., by circuit topology + bias + large-signal waveform — it is not a free parameter.
Design takeaway (deeper): since and switches with whether the device conducts, which slice of phase the device conducts in is a knob in the designer's hand. Push the conduction window (the peak) onto a zero of the ISF () and collapses — this is exactly the physics behind the low phase noise of Colpitts/class-C. The switching-pair example below turns this into numbers.
Step 2: absorb into the ISF to get
Substitute the decomposition into the LTV phase response [P1] Eq.(11), p.182:
The product of the two periodic functions in the middle is defined as the effective ISF (substituted back into (11) this is [P1] Sec. II-D, Eq.(26), p.186; itself is [P1] Eq.(27), p.186):
So the form of the equation is entirely unchanged: the remaining is stationary white noise acting on a system whose ISF is . [P1] says it plainly:
"the cyclostationary noise can be treated as a stationary noise applied to a system with an effective ISF".
- Math used: move the deterministic periodic factor from the "random-process side" to the "system-weight side" — since is deterministic, this move is fully legal and changes no statistics.
- Unit check: dimensionless, dimensionless dimensionless and still -periodic ✓.
- Practical rule (claim C9): use in every subsequent calculation — especially the Fourier coefficients , , and . That is, in white_noise_to_phase_noise and flicker_noise_upconversion, Eq.(21), (23), (24) all take , , .
Step 3: why this matters for design — Colpitts vs ring
is a pointwise product of two periodic functions, so phase alignment decides everything. [P1] (p.187, Fig. 14–15) illustrates with two classic examples, and the difference is dramatic:
- Colpitts LC oscillator: the transistor's collector current is a short, tall current pulse followed by a long quiet stretch. That current spike lands exactly at the minimum of the tank voltage — where the ISF is small (the trough is insensitive). So is much smaller than alone: the device leaks noise only at the least sensitive instants, and most of the noise is wasted. [P1] verbatim: " is quite different from , and hence the effect of cyclostationarity is very significant for the LC oscillator and cannot be neglected." — this is one key reason Colpitts phase noise is good.
- Ring oscillator: device current is largest during the transition — exactly where the ISF is largest (most sensitive). The peak overlaps the peak, so and cyclostationarity does not help. [P1]: the ring's is nearly identical to — this "unfortunate coincidence" is one reason ring phase noise is usually worse (another is that a ring burns all its stored energy every period).
- Design takeaway: low phase noise takes more than small and large — you also want the device to leak noise only at ISF-insensitive phases (keep the peak misaligned from the peak). Colpitts does this by construction; it is a topology-level advantage.
Step 4: also affects flicker — remember to use
Continuing from the previous page: flicker upconversion depends only on the DC term of the ISF. But the quantity to look at is really the DC value of , i.e., (average over one period). [P1] states it explicitly in the design section (p.187–188, near Eq.(30)): the corner is set by the DC value of the (effective) ISF.
- Consequence: even if the main signal path's is very symmetric (), if some source's is asymmetric, the average of can still be nonzero the flicker gate reopens.
- The tail source's notoriety (echoing the flicker page): the ISF/NMF combination of the tail current source often gives a large DC value, strongly upconverting the tail's flicker. Symmetrizing the main path cannot save it — check every source from the (including ) point of view.
Numerical example (toy, for intuition)
Toy setup (not transistor-level): ideal LC with . This toy deliberately places the conduction window at the peak of (the most sensitive phase) to show how much cyclostationary gating still saves under "bad alignment" — approximate the NMF by a normalized Gaussian pulse: is a narrow peak of height 1 near (where , i.e., , the most sensitive point). (For the well-aligned Colpitts case — window at the trough where — see Worked example 2(b) below.)
Compare the of with the original :
- Original : .
- With the narrow (duty about , peak at the most sensitive phase ): is nonzero only in that narrow window; its energy is roughly the duty times the original .
Substituting into [P1] Eq.(21) (with replacing ), everything else as in Example B ( GHz, MHz, pC, ):
- Intuition: this 0.22 was gated down from the ungated LC (, dBc/Hz), so compare against the same origin: accounting for cyclostationary gating improves things by about 10 dB ( drops from 0.707 to 0.22, dB). Even with the window at the most sensitive phase (bad alignment), merely leaking noise over a small slice of phase saves about 10 dB — ignoring badly overestimates the noise. (Another comparison: relative to the convention's Example B / dBc/Hz it is about dB; but 0.22 was not gated down from 0.5, so 0.707 is the self-consistent baseline.)
- Required caveat: the duty and phase of here are illustrative toy numbers, not values extracted from a real Colpitts; the real must come from device operating points/simulation. TODO: extract and from an actual Colpitts simulation to replace this toy estimate.
Supplement: PPV / adjoint method / Floquet theory (external-literature background)
In [P1] the ISF is introduced via physical intuition plus impulse simulations. Behind it there is in fact a rigorous mathematical foundation, but that foundation is not among the five PDFs we downloaded — it comes from the broader nonlinear-oscillator/perturbation-theory literature (claim C13). So you can see the whole map, here is the intuition; formal citations have been added (see the honesty note below, [E2]/[E3]):
- Floquet theory: the mathematical framework for the solution structure of linear differential equations with periodic coefficients. An oscillator linearized around its limit cycle is exactly such a system. Floquet gives a set of periodically time-varying eigenvectors (Floquet eigenvectors) and exponents describing the growth/decay of perturbations along each direction.
- PPV (Perturbation Projection Vector): within the Floquet framework, the first principal vector corresponding to the zero Floquet exponent (the neutral direction — the phase direction, because phase has no restoring force). Projecting any perturbation onto yields the phase shift. The PPV is essentially the rigorous version of the ISF — corresponds to the component of at the injection node. Demir et al. (2000) use the PPV to write the phase dynamics as the first-order equation (see the reference form collected in equation_index).
- Adjoint method: the standard practical method for extracting the ISF/PPV from simulation. It solves the periodic solution of the adjoint (transposed) problem of the system's monodromy matrix, obtaining the entire (i.e., the entire ISF) in one shot — far more efficient than injecting impulses one phase at a time (the brute-force method of this site's lab_04). The PSS + Pnoise flow of commercial RF simulators uses this class of method internally.
Honesty note: PPV / adjoint / Floquet belong to Demir–Mehrotra–Roychowdhury (2000), Kärtner, and other external literature — not among the five PDFs downloaded for this site; they are given here only as standard literature background for intuition. Formal citation added: Demir et al. 2000 (IEEE TCAS-I 47(5):655–674, DOI 10.1109/81.847872), see references [E2] (external literature). Scope note: the rigorous PPV definition and the form are the core result of [E2] Demir 2000 (the entire paper is on this topic, TCAS-I 47(5):655–674, DOI 10.1109/81.847872); the correspondence between and ("ISF = the PPV scalarized along the charge-injection direction") is in [E2] and Kärtner [E3]. This site only cites, and does not re-derive (external-literature scope).
Worked examples
Format per convention Sec. 10.4: problem → step-by-step substitution (with units) → result → dimension check → one-line Python verification. All duty cycles and phases are illustrative toy numbers (not transistor-level extractions).
Worked example 1: of a square-wave gating NMF (duty )
Toy problem: ideal LC with . The device conducts only in a narrow window of duty ( of the period) centered on the zero crossing (, where , the most sensitive point), and leaks no noise the rest of the time. Use a square-wave NMF (peak already normalized to 1). Find .
Step-by-step substitution: under square-wave gating, equals inside the narrow window and 0 elsewhere. Since the window is narrow and centered where , inside the window, so
A bit more precisely: with the window centered at with half-width , the average of inside the window is slightly below 1 (about ), so .
Result: , much smaller than the ungated LC's . (Note: here the device sits at the most sensitive phase — "bad" alignment; a Colpitts-like window at the trough gives an even smaller — see Worked example 2.)
Dimension check: , , are all dimensionless → is dimensionless ✓.
import numpy as np
from simulations.common.isf_utils import gamma_lc_ideal, effective_isf, gamma_rms
x = np.linspace(0.0, 2*np.pi, 200001, endpoint=True)
gamma = gamma_lc_ideal(x) # -sin x
center, half = np.pi/2, 0.1*np.pi # window center, half-width (duty=0.1)
alpha = ((np.abs(((x-center+np.pi)%(2*np.pi))-np.pi)) <= half).astype(float)
g_eff = effective_isf(gamma, alpha) # Γ_eff = Γ·α
print(gamma_rms(x, g_eff)) # -> ~0.31
Worked example 2: phase alignment decides everything (Colpitts vs ring toy) + relative PN change
Toy problem: same square-wave gating with duty , but compare two alignments: (a) ring-like: window centered at ( maximal); (b) Colpitts-like: window centered at (waveform peak, ). Find each , and via [P1] Eq.(21) the phase-noise change (dB) relative to the ungated stationary case ().
Step-by-step substitution: the relative PN change depends only on the ratio, since with all other parameters identical:
- (a) ring-like (window at ): (Worked example 1).
- (b) Colpitts-like (window at ): is tiny inside the window; its average within the half-width is , so .
Result: same duty, same amount of noise, yet phase alignment alone changes the PN by about 15 dB ((b)'s dB vs (a)'s dB). Colpitts-like (noise leaked at the insensitive peak) is far better than ring-like — this is the quantitative evidence that cyclostationarity "cannot be neglected". (Echoing the main text: the ungated gives dBc/Hz; Colpitts-like improves a further dB. Illustrative toy numbers.)
Dimension check: the ratio is dimensionless → gives dB ✓.
import numpy as np
from simulations.common.isf_utils import gamma_lc_ideal, effective_isf, gamma_rms
x = np.linspace(0.0, 2*np.pi, 200001, endpoint=True)
gamma = gamma_lc_ideal(x)
half = 0.1*np.pi
def gated_rms(center):
a = ((np.abs(((x-center+np.pi)%(2*np.pi))-np.pi)) <= half).astype(float)
return gamma_rms(x, effective_isf(gamma, a))
g_ring = gated_rms(np.pi/2) # bad alignment
g_colpitts = gated_rms(0.0) # good alignment
g_stat = 0.7071 # ungated LC
for name, g in [("ring-like", g_ring), ("Colpitts-like", g_colpitts)]:
print(name, round(g,3), "rms ;", round(20*np.log10(g/g_stat),1), "dB vs stationary")
# -> ring-like 0.311, -7.1 dB ; Colpitts-like 0.057, -21.9 dB
Worked example 3: the switching pair's 2-per-period gate — how of change the
This example applies the "derive from device thermal noise" result above to the skeleton of a real topology: the differential switching pair. It is the core shared by cross-coupled LC VCOs, Gilbert mixers, and CML logic, so this shape (conducting twice per period) is especially representative. We compute the and of and see how they open/alter the close-in .
Toy problem (gate shape is illustrative, not a transistor-level extraction): the two devices of a differential pair conduct alternately — the left device in the positive half-cycle, the right device in the negative half-cycle. Seen from a single device's noise, its is a narrow once-per-period pulse (duty ); but treating the pair as a whole (both devices' noise counted) as one equivalent source injecting into the tank, conduction events occur twice per period (one narrow gate each at and ), so the equivalent NMF is a 2-per-period gate : a window of half-width and height 1 at each of , and 0 elsewhere. Take the ideal-LC ISF . Find and of , and assess the .
Step-by-step substitution:
(1) Why a 2-per-period gate generates . repeats twice per period (fundamental period ), so by itself it contains only even harmonics (). is pure fundamental (odd). Their product mixes "odd × even" into new harmonics — the point is that it generates a nonzero (absent when looking at alone, which has ), and possibly a nonzero .
(2) Compute (DC value = one-period average). . Inside the window at , ; inside the window at , . The two windows carry equal and opposite ; with equal width and height, the average cancels:
(Each window has width .) A symmetric 2-per-period gate → → in theory no — this is the root of the "clean close-in" behavior of differential/push-pull structures (echoing fourier_series_of_isf Step 7 on half-wave symmetry suppressing even harmonics, and symmetry).
(3) Compute . Even harmonics do not cancel. (take the magnitude together with the component). At : , , product ; at : , , product — huh, it cancels again? Check the component: at and at , also 0. So in this ideally symmetric arrangement is also very small — an ideal differential pair suppresses the even harmonics too. What really generates is mismatch: if the two conduction windows differ in width/height (rise/fall asymmetry, mismatch), the cancellation fails, and pops up together with . Below we quantify this "mismatch opens the door" effect.
(4) Mismatch opens the door: set the right window's height to ( mismatch). The two windows are no longer equal, and the average is no longer zero:
so (magnitude ). A mismatch of pushes the formerly zero up to — the is reopened.
(5) Consequence for the (using [P1] Eq.(23),(24)). The amount of flicker-upconverted is proportional to ([P1] Eq.(23)); the corner ([P1] Eq.(24)):
from the 2-per-period gate (two windows, inside each, total duty ): . Substituting: symmetric () → corner (no ); mismatched () →
Result: ideal symmetric switching pair: , , no . With mismatch: , corner (small but nonzero) — the device's bias-dependent gating combined with mismatch is the source of close-in ; symmetry is the knob that closes this door.
Dimension check: , , are all dimensionless; in the corner formula, (rad/s) × dimensionless ratio = rad/s ✓.
import numpy as np
from simulations.common.isf_utils import gamma_lc_ideal, effective_isf, gamma_rms, compute_fourier_coefficients
x = np.linspace(0.0, 2*np.pi, 200001, endpoint=True)
gamma = gamma_lc_ideal(x) # -sin x
half = 0.1*np.pi
def gate_2pp(delta=0.0): # two windows per period: pi/2 and 3pi/2, right window height 1-delta
w1 = (np.abs(((x-np.pi/2 + np.pi) % (2*np.pi)) - np.pi) <= half).astype(float)
w2 = (np.abs(((x-3*np.pi/2 + np.pi) % (2*np.pi)) - np.pi) <= half).astype(float)
return w1 + (1.0-delta)*w2
for delta, name in [(0.0, "symmetric"), (0.2, "mismatch 20%")]:
g_eff = effective_isf(gamma, gate_2pp(delta))
a0, a, b, c, ph = compute_fourier_coefficients(x, g_eff, n_harmonics=4)
grms = gamma_rms(x, g_eff)
corner = (a0**2) / (2*grms**2) # Δω_{1/f3} / ω_{1/f}
print(name, "c0_eff=", round(abs(a0),3), "c2_eff=", round(c[2],3),
"Grms_eff=", round(grms,3), "corner/w1f=", round(corner,4))
# -> symmetric c0_eff≈0.000 c2_eff≈0.000 Grms_eff≈0.440 corner/w1f≈0.0
# -> mismatch 20% c0_eff≈0.039 c2_eff≈0.037 Grms_eff≈0.398 corner/w1f≈0.005
- Intuition: this example quantifies the second knob — symmetry — beyond the main text's "phase alignment decides everything". The switching pair's 2-per-period gating by itself (when symmetric) forces to zero and keeps close-in clean; once device mismatch breaks the symmetry, comes back to life and the reopens. This is why the flicker upconversion of differential VCOs is so sensitive to layout symmetry and mismatch.
- Required caveat: the gate duty, half-width, and mismatch are all illustrative toy numbers (not transistor-level extractions). A real switching pair's must come from device operating points/PSS simulation. TODO: extract and from an actual cross-coupled pair simulation to replace this toy gate.
Full utility library: simulations/common/isf_utils.py (effective_isf, gamma_rms, compute_fourier_coefficients).
The corresponding lab is simulations/lab_14_cyclostationary_isf.py (generates cyclostationary_effective_isf.png).
Validity and failure conditions
| Condition | When it holds | What happens when it fails |
|---|---|---|
| Noise decomposes as | holds; calculations proceed as usual | Strong correlation / non-multiplicative modulation needs a fuller model |
| is a deterministic periodic function | Can be moved from the random side to the system side | Not applicable if itself is random |
| Small perturbation, phase-linear | First-order theory valid | Large injection → nonlinear, needs numerics |
| and known | Predictions accurate | Both must be extracted via simulation/adjoint (see above) |
Which papers/equations this maps to
- Cyclostationary decomposition [P1] Sec. II-D, Eq.(25), p.186; substituted back into (11) to rewrite [P1] Eq.(26), p.186; effective-ISF definition [P1] Eq.(27), p.186 (verified verbatim).
- Colpitts vs ring comparison of , , [P1] Fig. 14–15, p.187.
- corner uses the DC value of the (effective) ISF, near [P1] Eq.(30), p.187–188.
- PPV/adjoint/Floquet: external literature (Demir et al. 2000 etc.), collected in equation_index as references; claim C13.
- Claim C9 (the ISF naturally accommodates cyclostationarity, ).
Key takeaways
- Device noise is mostly cyclostationary: the noise power is periodically "gated" by the operating point.
- Decompose ( = NMF, ) and absorb into the ISF: ; every formula afterwards uses unchanged.
- Phase alignment decides everything: Colpitts ( peak at the trough) → , noise is wasted (a good thing); ring (the two peaks overlap) → , cyclostationarity does not help.
- For flicker, look at the DC value of , ; the tail source often dominates the through a large DC in its .
- The rigorous foundation is PPV / adjoint / Floquet (ISF = the first Floquet vector of the zero exponent), from Demir et al. and other external literature, not among the five PDFs; the adjoint method extracts the ISF efficiently from simulation.
Further reading
- Operational definition of the ISF: impulse_to_phase_shift
- White-noise (using ): white_noise_to_phase_noise
- Flicker (using ): flicker_noise_upconversion
- LC vs ring topology trade-off: lc_vs_ring
- Advanced injection theory (same ISF): paper_003_injection_locking_part1