Skip to main content

Interactive Tools

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

Seven interactive tools (calculators, explorers, animations, and a sandbox) that turn ISF theory into intuition. Everything computes live in the browser and works offline.

Tool 1: phase noise / jitter calculator

Turn ISF theory into feel: drag the sliders below and watch in real time how the single-sideband phase noise L\mathcal{L} (dBc/Hz) and the rms timing jitter σt\sigma_t (fs) change with the design parameters. Underneath are [P1] Eq.(21) and the 1/f² jitter integral.

ISF 相位雜訊 / jitter 互動計算器
1.0 pC
0.50
-24.0 A²/Hz (log)
5.0 GHz
1.0 MHz
1.00 MHz
100 MHz
L(offset) — Eq.(21)
-148.0
dBc/Hz
σ_φ (1100 MHz)
0.06
mrad
σ_t (rms jitter)
1.8
fs
模型:單一白噪源、1/f² skirt(toy)。L = 10·log₁₀[Γ_rms²/q_max² · S_i/(4Δω²)]; σ_t = √(2·L_lin·f_ref²·(1/f₁−1/f₂)) / (2π f₀)。對應 lab_06 / lab_08。

How to play your way to intuition

  • Double q_max: L\mathcal{L} should drop 66 dB (L1/qmax2\mathcal{L}\propto 1/q_{max}^2) — see tank_swing.
  • Halve Γ_rms: L\mathcal{L} also drops 66 dB (LΓrms2\mathcal{L}\propto\Gamma_{rms}^2) — see symmetry, waveform_slope.
  • Pull the lower integration limit f₁ down: σt\sigma_t grows — because 1/f² jitter is dominated by the lower limit (see Example C in numerical_feeling).
  • Raise f₀: at the same σϕ\sigma_\phi, σt=σϕ/(2πf0)\sigma_t=\sigma_\phi/(2\pi f_0) shrinks — but do not forget that higher-frequency circuits usually carry more noise too.

Tool 2: ISF Fourier explorer

Tune the ISF Fourier coefficients c0c_0c3c_3 and watch in real time the waveform Γ(θ)\Gamma(\theta), Γrms\Gamma_{rms}, and the 1/f³ corner ratio c02/(2Γrms2)c_0^2/(2\Gamma_{rms}^2) ([P1] Eq.24). Pull c0c_0 to 0 (symmetric waveform) and the corner approaches 0 — this is the mechanism that suppresses close-in flicker.

ISF 傅立葉探索器(調 c₀–c₃ 看 Γ(θ) 與 1/f³ corner)
θ = 2πΓ(θ)
0.00
1.00
0.00
0.00
Γ_rms
0.707
Σcₙ² (=2Γ_rms²)
1.000
1/f³ corner / ω₁f = c₀²/(2Γ_rms²)
0.000
把 c₀→0(對稱波形)→ 1/f³ corner 趨近 0(close-in flicker 被抑制,[P1] Eq.24)。 Γ_rms 決定 1/f² phase noise([P1] Eq.21)。對應 [fourier](/03_isf_core_theory/fourier_series_of_isf)、[symmetry](/06_design_insights/symmetry)。

Tool 3: SerDes BER bathtub explorer

Take the rms jitter σt\sigma_t obtained by integrating the oscillator phase noise, together with the UI (inverse baud rate), and look at the eye opening and the BER bathtub. As σt\sigma_t grows or the UI shrinks, the eye opening at BER =1012=10^{-12} narrows.

SerDes jitter→BER bathtub 探索器(RJ-only)
BER = 10⁻¹²sampling offset [UI: −0.5 … +0.5]BER (log)
4.0 ps
100 ps
eye 開口 @ 1e-12
44.2%
UI(44.2 ps)
σ_t / UI
4.0%
中心 BER
3.7e-36
σ_t 就是把 oscillator phase noise 積分得到的 rms jitter(見 [serdes_clocking_connection](/06_design_insights/serdes_clocking_connection)、[lab_12](/04_simulation_labs/lab_12_serdes_eye_ber))。 RJ-only toy model(無 ISI/DJ)。

Tool 4: injection-locking explorer

Injection locking (an external signal pulling the oscillator frequency onto itself) has a range set by the ISF fundamental: drag I_inj, the detuning Δω, and the normalized ISF fundamental Γ~1\vert\tilde\Gamma_1\vert to see the lock range ωL=12IinjΓ~1\omega_L=\tfrac12\,I_{inj}\,\vert\tilde\Gamma_1\vert ([P3] Eq.(35)) and the phase dynamics dθ/dt=ΔωωLsinθd\theta/dt=\Delta\omega-\omega_L\sin\theta (the Adler equation — external literature, not among the five source PDFs). When ΔωωL\vert\Delta\omega\vert\le\omega_L, Ω(θ)=ωLsinθ\Omega(\theta)=\omega_L\sin\theta intersects the horizontal line Δω\Delta\omega and the system locks at a fixed point θ\theta^*; once the detuning exceeds the envelope it unlocks, leaving a residual beat frequency Ωbeat=Δω2ωL2\Omega_{beat}=\sqrt{\Delta\omega^2-\omega_L^2}.

Injection Locking 互動探索器(注入鎖定,外部訊號把振盪器頻率拉到自己身上)
2.00 a.u.
0.40 rad/s
0.50
狀態
LOCKED
|Δω| ω_L
lock range ω_L — [P3] Eq.(35)
0.500
rad/s
phase error θ*
53.1
deg
0πθ+ω_L−ω_LΔω
讀圖:藍色曲線 Ω(θ)=ω_L·sin(θ) 是「振盪器能提供的最大頻率牽引」; 水平線是要克服的失諧 Δω。只要 Δω 落在 ±ω_L 包絡內, 曲線與水平線就有交點(穩定固定點 = 實心綠點,θ*∈[−90°,+90°]; 另一交點為不穩定),系統鎖定,相位差停在 θ* 不再漂移。 一旦 |Δω| > ω_L 交點消失,相位持續滑動,殘餘拍頻 Ω_beat=√(Δω²−ω_L²)。
公式:lock range ω_L = ½·I_inj·|Γ̃₁|([P3] Eq.(35)); 相位動態 dθ/dt = Δω − ω_L·sin(θ)(Adler 方程,外部文獻,非本站 5 篇 PDF); 鎖定條件 |Δω| ≤ ω_L;拍頻 Ω_beat = √(Δω² − ω_L²)。單位:ω_L、Δω、Ω_beat 同為 rad/s, |Γ̃₁| 無因次,I_inj 為任意單位(normalization 已吸收 q_max)。

Tool 5: Allan deviation explorer

Allan deviation (the two-sample standard deviation that measures long-term time-domain frequency stability) σy(τ)\sigma_y(\tau) translates the same oscillator's noise into a curve versus averaging time τ\tau: pick the dominant FM noise type (white / flicker / random-walk FM) and its strength, and watch the log-log slope fall on the τ1/2\tau^{-1/2}, τ0\tau^{0}, τ+1/2\tau^{+1/2} segments in real time. Underneath is the exact closed form of σy2(τ)=20Sy(f)sin4(πfτ)/(πfτ)2df\sigma_y^2(\tau)=2\int_0^\infty S_y(f)\,\sin^4(\pi f\tau)/(\pi f\tau)^2\,df (with Sy(f)=(f2/f02)Sϕ(f)S_y(f)=(f^2/f_0^2)\,S_\phi(f)) for pure power-law processes, matching the slope table in spec 11.2 and lab_19.

Allan deviation σ_y(τ) 互動探索器
主導 FM 雜訊類型:
1.0e-20 (1)
0 %
10⁻³10⁻²10⁻¹10⁰10¹10²10³10⁻¹²10⁻¹¹10⁻¹⁰10⁻⁹10⁻⁸averaging time τ (s)Allan deviation σ_y(τ)τ⁻¹ᐟ²White FM(純)
canonical slope
σ_y ∝ τ^(−1/2)
thermal / shot 白噪 → 1/f² 相位雜訊 → 頻率 random walk-free,sigma_y 隨 τ 下降。
模型:純冪律 FM 過程,S_y(f) = h·f^α(α = 0 / −1 / −2 對應 white / flicker / RW FM)。 Allan 變異數閉式:σ_y² = h/(2τ)(white)、2 ln2·h(flicker)、(2π)²/6·h·τ(RW), 各為 σ_y²(τ) = 2∫₀^∞ S_y(f)·sin⁴(πfτ)/(πfτ)² df 對純冪律的精確積分結果 (IEEE Std 1139;對應 AUTHORING_SPEC 11.2 與 lab_19)。mix 滑桿把另兩型以變異數相加方式混入 (獨立過程變異數可加),可看出複合曲線在三段斜率間彎折。獨立樣本、無 dead-time 假設。

Tool 6: PLL loop-bandwidth explorer

The loop bandwidth (the cutoff frequency up to which the loop can track the input phase) fnf_n of a PLL (phase-locked loop) sets the noise budget: the loop low-passes the reference path and high-passes the VCO path, giving the output Sout=SrefHlp2+SvcoHhp2S_{out}=S_{ref}\vert H_{lp}\vert^2+S_{vco}\vert H_{hp}\vert^2 (spec 10.2). Increasing fnf_n admits more in-band reference noise and less out-of-band VCO noise, so there exists an optimum loop BW that minimizes the integrated jitter σt=Soutdf/(2πf0)\sigma_t=\sqrt{\int S_{out}\,df}/(2\pi f_0) (spec formula 19) — drag the slider to find it. Matches pll_noise_budget and lab_20.

PLL loop-bandwidth 探索器(最佳 loop BW)
1k10k100k1M10M100M1Gf_nS_out (rad²/Hz, log)offset Δf [Hz, log]ref·|H_lp|²vco·|H_hp|²S_out1k10k100k1M10M最佳 f_nσ_t (rms jitter) vs loop BW f_nloop BW f_n [Hz, log]
500 kHz
-12.0 rad²/Hz
-10.0 rad²/Hz
5.0 GHz
σ_t @ 目前 f_n
476.2
fs(f_n = 500 kHz
最佳 loop BW f_n*
5.93 MHz
σ_t,min = 197.1 fs
ref/VCO 交越
26 kHz
shaped ref = shaped VCO
離最佳值
142%
σ_t 高於最小
模型:type-II 2nd-order PLL(ζ = 0.707),參考雜訊取平坦 floor、VCO 取 1/f² skirt(@1 MHz 錨定)。低頻被 loop 追蹤(|H_lp|²),高頻 VCO 被高通抑制(|H_hp|²): S_out = S_ref·|H_lp|² + S_vco·|H_hp|²。積分頻段 1 kHz–1 GHz、σ_t = √(∫S_out df)/(2π f₀) (規範公式 19)。加大 f_n 會多收 in-band 參考雜訊、少收 out-of-band VCO 雜訊,故 存在最小化積分 jitter 的最佳 f_n。對應 pll_utils / lab_13 / lab_20,pedagogical toy model(非特定 silicon loop)。

Tool 7: ISF sandbox — draw a waveform, see the ISF and the phase noise

Use three "shape" sliders (rise/fall slope ratio A=frise/ffallA=f'_{rise}/f'_{fall}, squareness, duty) to draw your own periodic waveform; the sandbox instantly computes the slope-approximation ISF Γ(θ)\Gamma(\theta) ([P2] Appendix approach, not the exact PPV), the Fourier coefficients cn\vert c_n\vert and Γrms\Gamma_{rms}, then translates them via [P1] Eq.(21) and Eq.(24) into L(1MHz)\mathcal{L}(1\,\text{MHz}) and the 1/f³ corner. Pull AA from 5 back to 1 (more symmetric rise/fall) and watch c00c_0\to 0 with the corner falling all the way to 0 — the hands-on feel of "symmetry↑ → c0c_0↓ → 1/f³ corner↓" from the symmetry page; crank the squareness up (steeper edges) and you get the Γrms\Gamma_{rms}↓ → L\mathcal{L}↓ story of waveform_slope.

ISF sandbox: draw a waveform → see the ISF and phase noise
1.00
0.00
0.50
5.0 GHz
1.00 pC
V(θ) (normalized, amplitude 1)θ = 2πfall ZC
One period T = 1/f₀ = 200.0 ps; the steepest edge's slew ≈ (dV/dθ)·ω₀ = 31.4 V/ns (amplitude 1 V).
Γ(θ) max = 1.00θ = 2π
The ISF is a slope approximation ([P2] Appendix approach), not an exact PPV: Γ(θ) = −V′(θ)/f′²_max, with the rising and falling edges each normalized by their own maximum slope (a single global normalization would force c₀ to be identically 0).
0.000c₀1.000c₁0.000c₂0.000c₃0.000c₄0.000c₅
Γ_rms
0.707
c₀ (signed)
0.000
L(1 MHz) — [P1] Eq.(21)
-145.0
dBc/Hz
1/f³ corner — [P1] Eq.(24)
0.0
kHz
Model: 512-point numerical computation. L(1 MHz) uses [P1] Eq.(21) (SSB /4 convention) with a fixed S_i = 10⁻²⁴ A²/Hz; 1/f³ corner = c₀²/(2Γ_rms²)·f₁/f, f₁/f = 1 MHz ([P1] Eq.(24)). f₀ only rescales the time axis and the slew (at a fixed offset, Eq.(21) has no explicit f₀ dependence). Anchor point (numerically verified): sine setting (A=1, squareness 0, duty 0.5, q_max=1 pC) → Γ_rms = 0.707, |c₁| = 1.000, c₀ ≈ 0, corner = 0, L(1 MHz) = −145.0 dBc/Hz (Example B's −148.0 dBc/Hz corresponds to Γ_rms = 0.5; 0.707 is 3.0 dB higher than 0.5).

Formula reference

L(Δf)=10log10 ⁣(Γrms2qmax2Si4(2πΔf)2),σt=12πf02Llinfref2(1f11f2)\mathcal{L}(\Delta f)=10\log_{10}\!\left(\frac{\Gamma_{rms}^2}{q_{max}^2}\cdot\frac{S_i}{4\,(2\pi\Delta f)^2}\right), \qquad \sigma_t=\frac{1}{2\pi f_0}\sqrt{2\,L_{\text{lin}}\,f_{ref}^2\left(\frac{1}{f_1}-\frac{1}{f_2}\right)}

where Si=in2/ΔfS_i=\overline{i_n^2}/\Delta f and Llin=10L/10L_{\text{lin}}=10^{\mathcal{L}/10}. This is a single-source, 1/f²-skirt toy model (not transistor-level): real oscillators have multiple noise sources, cyclostationarity, flicker (1/f³), and a noise floor. Full derivations in white_noise_to_phase_noise and psd_phase_noise_jitter.