β: This English translation is in beta — the Traditional-Chinese original is the authoritative version.
Lab 14 — Cyclostationary noise and the effective ISF
Breadcrumb: Simulation labs › System & advanced › This page (cyclostationary / effective ISF). Upstream: lab_06, effective_isf; related: lab_09.
The previous labs all assumed the noise source is "equally noisy over the entire cycle" (stationary). Real circuits are not like that: a tail current source or a switching transistor conducts — and injects noise — only during part of the cycle. Noise whose intensity itself varies periodically with the oscillation phase is called cyclostationary noise. This lab uses a noise-modulating function (NMF) , bounded between 0 and 1, to draw "when the device is noisy", then shows that what actually determines the phase noise is not the raw ISF but the effective ISF .
Physical intuition (conclusion first): phase noise depends not only on how noisy the device is () but also on at which phase of the waveform it is noisy. For the same device, if its noisiest interval happens to land where the ISF is large (e.g. the zero crossing), it does a lot of damage; if it lands at the peak, where ISF≈0, little damage. Multiplying "when it is noisy", , into the ISF gives ; taking the rms of then yields this cyclostationary source's true effective sensitivity .
1. Learning objectives
- Understand the difference between stationary and cyclostationary noise.
- Model "the device is noisy only during part of the cycle" with the NMF .
- Derive the effective ISF and use it in place of when computing the rms.
- See that for the same device with the same amount of noise, the injection phase alone can change by severalfold.
2. Mathematical model
Start from the white-noise phase-noise law of [P1] Eq.(21), p.185:
This assumes is constant (stationary). If the noise is cyclostationary, its instantaneous PSD can be written as "a stationary component times a periodic gate":
Plugging this phase dependence back into the ISF integral kernel of [P1] Eq.(11), p.182 is equivalent to folding the noise's "" into the ISF. Define the effective ISF (spec section 10):
The phase noise of a cyclostationary source is then obtained by replacing with :
and substituting it into [P1] Eq.(21): .
- Why multiplication is correct: describes "the fraction by which the noise amplitude is gated"; the ISF describes "how efficiently noise at that phase converts into phase". Both act on the same injection at the same instant, so their effects multiply.
- Dimension check: dimensionless, dimensionless () ⇒ dimensionless ✓, same units as the raw ISF, directly substitutable into Eq.(21).
This lab uses the ideal-LC (derived in [P1]; maximum at the zero crossing , at the peak ), paired with two smooth gates of equal width : one gate at the zero crossing (bad), one at the peak (good).
3. Block diagram
4. Core Python code
Below is the core of simulations/lab_14_cyclostationary_isf.py: use gamma_lc_ideal ()
as the ISF, a smooth periodic window nmf_window as , then effective_isf (i.e. )
and gamma_rms to compute each rms.
import numpy as np
from simulations.common.isf_utils import gamma_lc_ideal, gamma_rms, effective_isf
def nmf_window(theta, center, width):
"""Smooth periodic gate in [0,1], centered at `center`, of given width (rad)."""
d = np.angle(np.exp(1j * (theta - center))) # wrapped distance
return 0.5 * (1 + np.cos(np.pi * np.clip(d / (width / 2), -1, 1)))
theta = np.linspace(0, 2 * np.pi, 2000, endpoint=True)
gamma = gamma_lc_ideal(theta) # -sin(theta)
# case 1: device noisy near the ZERO CROSSING (where |Gamma| is max) -> bad
a_bad = nmf_window(theta, center=np.pi / 2, width=np.pi)
# case 2: device noisy near the PEAK (where |Gamma|~0) -> good
a_good = nmf_window(theta, center=0.0, width=np.pi)
g_bad = effective_isf(gamma, a_bad) # Gamma * alpha
g_good = effective_isf(gamma, a_good)
grms = gamma_rms(theta, gamma) # stationary reference
grms_bad = gamma_rms(theta, g_bad)
grms_good = gamma_rms(theta, g_good)
print(f"stationary={grms:.3f} bad={grms_bad:.3f} good={grms_good:.3f}")
# -> stationary=0.707, bad=0.395, good=0.177
effective_isf(gamma_values, alpha_values) is a pointwise product (see simulations/common/isf_utils.py),
and gamma_rms(theta, gamma) is , corresponding to [P1] Eq.(20).
5. Full script path
simulations/lab_14_cyclostationary_isf.py (main() generates the figure; the NMF uses nmf_window,
the effective ISF and rms use effective_isf, gamma_rms,
gamma_lc_ideal from simulations/common/isf_utils.py). Re-run: python scripts/run_all_sims.py.
6. Parameter table
| Parameter | Symbol | Value | Role |
|---|---|---|---|
| ISF (ideal LC) | fixed (physically derived) | ||
| Number of phase samples | — | 2000 | one cycle (endpoint included) |
| Bad gate center | noise lands on the zero crossing ( maximal) | ||
| Good gate center | noise lands on the peak () | ||
| Gate width | width | same for both cases (half a cycle) | |
| NMF bounds | smooth raised-cosine window |
7. Units table
| Quantity | Symbol | Unit |
|---|---|---|
| Oscillation phase | rad | |
| ISF | dimensionless | |
| NMF | dimensionless () | |
| effective ISF | dimensionless | |
| rms ISF | dimensionless |
8. Simulation figure

9. How to read the figure
- Left panel (a): the black curve is the ISF ( maximal at , , i.e. the zero crossings; at , , i.e. the peaks). The red dashed places the device's noisy interval at the zero crossing (); the green dashed places it at the peak (). The two gates have exactly the same shape and width — only the phase differs.
- Right panel (b): multiplying the left panel gives . The red curve (bad) collides with the ISF's large values at the zero crossing, leaving a deep, wide lobe, ; the green curve (good) lands on the peak, where the ISF is nearly 0, leaving only small residual lobes on either side, .
- Key reading: the stationary reference is (=, the full-cycle rms of ). Once the gate is open for only half the cycle, the rms must drop; but how much it drops depends entirely on where the gate lands on the ISF: the bad case still retains , the good case is cut to — a difference of about . The phase-noise difference is dB. Same device, same amount of noise — changing only the injection phase buys 7 dB.
10. Corresponding paper equations/figures
- White-noise phase noise (with replacing ): [P1] Eq.(21), p.185.
- ISF integral kernel (, where folds in): [P1] Eq.(11), p.182.
- Parseval / rms: [P1] Eq.(20), p.185, .
- Cyclostationary-noise concept: [P1] Sec. II-D "Cyclostationary Noise Sources", Eq.(25)–(27), p.186. There is Eq.(25), substituting it back into the integral is Eq.(26), and the effective ISF is Eq.(27); this lab is its toy visualization.
- Concept extension: where a device's comes from and how it is mapped — see device_noise_mapping and effective_isf.
11. Limitations and approximations
- Toy model, not transistor-level: is an artificial raised-cosine window, not a real NMF extracted from a transistor's / conduction interval; the ISF is the ideal-LC . A real device's and must both be extracted from PSS/transient simulation.
- is a first-order approximation: assumes the noise amplitude is linearly modulated by the gate and that and the phase response are mutually independent; ignores the noise's own AM–PM and any coupling between and .
- rms illustration only, no PSD run: this lab uses to show the scaling; it does not actually push a cyclostationary source through the [P1] Eq.(11) integral to produce a PSD (that would be an extension of lab_06).
- Single source: real circuits have multiple cyclostationary sources, each with its own ; compute each separately and then sum in power.
- Factor-of-2: follows the convention of Eq.(21); the factor-of-2 SSB bookkeeping difference does not affect any of the relative (dB) comparisons here.
Key takeaways
- Cyclostationary noise: noise intensity varies periodically with the oscillation phase, described by .
- Effective ISF: ; the phase noise substitutes for in [P1] Eq.(21).
- Numbers in this lab: stationary ; noise at the zero crossing → (bad); at the peak → (good).
- Design implication: arranging noisy devices to inject at phases where the ISF is small (the peaks) saves considerable phase noise.
Further reading
- Effective-ISF theory: effective_isf
- White noise → phase noise (stationary version): lab_06_white_noise_phase_noise
- Design trade-off roundup: lab_09_design_tradeoffs
- Use in design/theory: how a device's is mapped from bias / conduction interval → device_noise_mapping