先備:psd_phase_noise_jitter · lti_vs_ltv | 接下來:03 核心理論章習題
這頁是 02 基礎章 的成套習題。題型涵蓋推導題(要你把式子親手導出來)、數值題
(代數字、帶單位、做 dimension check)、與設計反推題(給目標規格、反算所需參數)。
怎麼用這頁:先把題目自己做一遍,再展開「解答」對照。每題解答都遵守同一套格式:
逐步代入(帶單位)→ 結果 → dimension check → 一行 Python 驗證。Python 驗證一律
引用本站真實函式庫 simulations/common/(不杜撰 API),你可以直接貼進 REPL 跑。
涉及的核心公式(都來自規範與本章頁面,沿用同一 notation):
- phase→time:Δt=2πf0Δϕ(規範公式 17)
- phase variance:σϕ2=∫f1f2Sϕ(f)df(規範公式 18)
- rms jitter:σt=2πf01∫f1f2Sϕ(f)df(規範公式 19)
- SSB↔phase PSD(小角):L(Δf)≈21Sϕ(Δf)(規範公式 16)
- Parseval:n=0∑∞cn2=π1∫02π∣Γ(x)∣2dx=2Γrms2([P1] Eq.(20), p.185)
- Lorentzian 線寬(FWHM):Δf3dB=πD,相位擴散 Var[Δϕ(t)]=2D∣t∣(規範 11.2;連 [E2] Demir 2000,不在 5 篇 PDF 內)
- Allan 斜率對照:white FM →τ−1/2、flicker FM →τ0、random-walk FM →τ+1/2(規範 11.2;Allan 為外部文獻)
習題 1(數值題)— phase ↔ time 換算
一顆 f0=5 GHz 的振盪器,某瞬間 excess phase 偏移 Δϕ=5×10−4 rad。
求對應的 timing error Δt(fs),並把 Δϕ 換成「度」。
小測驗(先自己算,再檢查)
fs
判定:相對誤差 ±5% 內算對;可用科學記號輸入。
習題 2(數值題)— rms jitter 由相位變異反推
已知某時鐘的 rms phase σϕ=14.07 mrad(在 1→100 MHz 積分頻段內),f0=5 GHz。
求 rms timing jitter σt(fs)。
習題 3(推導題 + 數值)— Parseval:由 ISF 算 Γrms 與 ∑cn2
理想 LC 振盪器的 ISF 是 Γ(θ)=−sinθ。
(a) 用定義 Γrms2=2π1∫02πΓ2(θ)dθ 親手算 Γrms。
(b) 用 Parseval(規範公式 11)求 ∑n=0∞cn2,並說明只有哪個 cn 非零。
習題 4(數值題)— PSD 積分得相位變異
某振盪器在 offset f 的單邊 phase PSD 在 1/f2 區可寫成 Sϕ(f)=f2K,
其中 K=10−4 rad2⋅Hz(即 Sϕ(1Hz)=10−4)。求積分頻段
f1=103 Hz 到 f2=106 Hz 的相位變異 σϕ2 與 σϕ(mrad)。
小測驗(先自己算,再檢查)
mrad
判定:相對誤差 ±6% 內算對;可用科學記號輸入。
習題 5(概念 + 推導題)— LTI vs LTV:同 impulse、不同相位
理想 LC 的 ISF Γ(θ)=−sinθ。同一顆 Δq 的電荷脈衝,分別在
(a) 波形過零點(zero-crossing,θ=π/2,此處 cos 波形斜率最大、−sin 取極值)
與 (b) 波形峰值(θ=0)注入。用 Δϕ=Γ(θ)Δq/qmax
說明兩者相位效果差多少,並一句話講清楚這「為什麼是 LTV 而不是 LTI」。
取 Δq=1 fC、qmax=1 pC。
小測驗(先自己算,再檢查)
mrad
判定:相對誤差 ±2% 內算對;可用科學記號輸入。
習題 6(設計反推題)— Lorentzian 線寬反推 phase diffusion
某自由運轉振盪器量到的載波 3-dB 線寬(FWHM)Δf3dB=1 kHz。
(a) 反推 phase diffusion 係數 D(rad²/s)。
(b) 估計相位累積到變異 Var[Δϕ]=1 rad2(相位「跑掉約 1 rad」、相干性大致瓦解)需要多久 t。
小測驗(先自己算,再檢查)
rad²/s
判定:相對誤差 ±2% 內算對;可用科學記號輸入。
習題 7(概念 + 斜率判讀題)— Allan deviation 斜率
在 log–log 的 Allan deviation 圖 σy(τ) 上量到三段不同斜率:
−1/2、0、+1/2。分別對應哪一種 FM 雜訊型態?並說明為何「flicker FM」會在 ADEV 上
形成一段平台(floor)。
習題 8(數值題)— 由 L(Δf) 換 Sϕ 再換單音 jitter
某 spur-free 振盪器在 Δf=1 MHz 量到 L(1MHz)=−120 dBc/Hz。
(a) 求該 offset 的 Sϕ(rad²/Hz)。
(b) 若在 1→10 MHz 這 1 decade 內 PSD 為 1/f2(即 Sϕ=K/f2,用 (a) 定 K),
f0=5 GHz,求此頻段 rms jitter σt(fs)。
小測驗(先自己算,再檢查)
fs
判定:相對誤差 ±5% 內算對;可用科學記號輸入。
解答展開
習題 1 解答(phase ↔ time 換算)
逐步代入(帶單位)。 用 phase→time(規範公式 17):
Δt=2πf0Δϕ=2π×5×109 Hz5×10−4 rad=3.1416×10105×10−4 s.Δt≈1.59×10−14 s=15.9 fs.換成度:
Δϕ=5×10−4×π180≈0.0286∘.結果:Δt≈15.9 fs,Δϕ≈0.0286∘。
Dimension check:[rad/s][rad]=[s] ✓(2πf0 的單位是 rad/s,rad 是
無因次,相除得秒)。這正是規範第 8 節 canonical 例 A 的 timing error。
from simulations.common.noise_utils import phase_to_time_error
dt = phase_to_time_error(5e-4, f0=5e9)
print(dt*1e15, "fs")
習題 2 解答(rms jitter 由相位變異反推)
逐步代入(帶單位)。 rms jitter(規範公式 19)。這裡已直接給 σϕ,所以
∫Sϕdf=σϕ,公式退化成 phase→time 在 rms 意義下的版本:
σt=2πf0σϕ=2π×5×109 Hz14.07×10−3 rad=3.1416×10101.407×10−2 s.σt≈4.479×10−13 s=447.9 fs.結果:σt≈447.9 fs。這對應規範第 8 節 canonical 例 C(f0=5 GHz、
L(1MHz)=−100 dBc/Hz、1/f² 斜率、積分 1→100 MHz 的 lab_08 結果)。
Dimension check:[rad/s][rad]=[s] ✓。
import numpy as np
sigma_phi = 14.07e-3
f0 = 5e9
sigma_t = sigma_phi/(2*np.pi*f0)
print(sigma_t*1e15, "fs")
(完整積分版見 numerical_feeling 與
simulations/common/noise_utils.py 的 integrate_rms_jitter。)
習題 3 解答(Parseval:由 ISF 算 Γrms 與 ∑cn2)
(a) 直接積分算 Γrms。 用 sin2θ 在一個週期上平均為 21:
Γrms2=2π1∫02π(−sinθ)2dθ=2π1∫02πsin2θdθ=2π1⋅π=21.Γrms=21≈0.707.(b) 用 Parseval 求 ∑cn2。 規範公式 11([P1] Eq.(20), p.185):
n=0∑∞cn2=2Γrms2=2×21=1.哪個 cn 非零:Γ(θ)=−sinθ=cos(θ+2π),是純一次諧波,
所以只有 c1=1(且 θ1=π/2),其餘 c0=c2=⋯=0。驗證:∑cn2=c12=1 ✓。
結果:Γrms=1/2≈0.707、∑cn2=1、唯一非零係數 c1=1。
Dimension check:Γ 無因次(規範 notation 表),故 Γrms2、∑cn2 皆無因次 ✓。
import numpy as np
from simulations.common.isf_utils import gamma_lc_ideal, gamma_rms, compute_fourier_coefficients
theta = np.linspace(0, 2*np.pi, 4096, endpoint=False)
g = gamma_lc_ideal(theta)
print(gamma_rms(theta, g))
a0, a, b, c, ph = compute_fourier_coefficients(theta, g, n_harmonics=5)
print(np.sum(c**2))
習題 4 解答(PSD 積分得相位變異)
逐步代入(帶單位)。 phase variance(規範公式 18),代 Sϕ(f)=K/f2:
σϕ2=∫f1f2f2Kdf=K[−f1]f1f2=K(f11−f21).代 K=10−4 rad2⋅Hz、f1=103 Hz、f2=106 Hz:
σϕ2=10−4(1031−1061)=10−4×(10−3−10−6)=10−4×9.99×10−4=9.99×10−8 rad2.σϕ=9.99×10−8≈3.16×10−4 rad=0.316 mrad.結果:σϕ2≈9.99×10−8 rad2,σϕ≈0.316 mrad。
手感:1/f2 積分由低頻端 f1 主導(1/f1≫1/f2)——這就是為什麼近載波相位
雜訊對總 jitter 貢獻最大。
Dimension check:[K]⋅[1/f]=(rad2⋅Hz)⋅(1/Hz)=rad2 ✓
(σϕ2 是 rad²)。
import numpy as np
K, f1, f2 = 1e-4, 1e3, 1e6
var = K*(1/f1 - 1/f2)
print(var, "rad^2 ->", np.sqrt(var)*1e3, "mrad")
習題 5 解答(LTI vs LTV:同 impulse、不同相位)
逐步代入(帶單位)。 用操作型 ISF(規範公式 5)Δϕ=Γ(θ)Δq/qmax。
Δq/qmax=10−15/10−12=10−3。
(a) 過零點 θ=π/2(Γ=−sin(π/2)=−1,敏感度最大):
Δϕa=(−1)×10−3=−1×10−3 rad=−1 mrad.(b) 峰值 θ=0(Γ=−sin0=0,敏感度為零):
Δϕb=0×10−3=0 rad.結果:在過零點注入造成 ∣Δϕ∣=1 mrad 的相位跳變;在波峰注入造成 0 相位跳變
(該處電荷只改振幅、隨後被 amplitude restoring 拉回)。
為什麼是 LTV 不是 LTI:一個 LTI(線性非時變)系統的 impulse response 只跟「經過多久」
t−τ 有關,跟「何時注入」τ 無關。但這裡同樣大小的 Δq,在 θ=π/2 與 θ=0
得到完全不同的 Δϕ——響應顯式依賴絕對注入相位 Γ(ω0τ),這正是
**LTV(線性時變)**的定義特徵(見 lti_vs_ltv)。
Dimension check:Γ 無因次 × Δq/qmax(C/C 無因次)= rad ✓。
from simulations.common.isf_utils import gamma_lc_ideal, impulse_to_phase_step
import numpy as np
dq, qmax = 1e-15, 1e-12
for name, theta in [("zero-crossing", np.pi/2), ("peak", 0.0)]:
g = gamma_lc_ideal(theta)
dphi = impulse_to_phase_step(dq, g, qmax)
print(name, dphi*1e3, "mrad")
習題 6 解答(Lorentzian 線寬反推 phase diffusion)
註:Lorentzian 線寬與 phase diffusion 屬外部文獻([E2] Demir 2000),不在 5 篇 PDF 內;
公式逐字取自規範 11.2。
(a) 反推 D。 FWHM 線寬(規範 11.2):
Δf3dB=πD⟹D=πΔf3dB=π×103 Hz=3.142×103 rad2/s.(b) 估累積到 1 rad² 的時間。 相位擴散(規範 11.2)Var[Δϕ(t)]=2D∣t∣,令其 =1 rad2:
t=2D1=2×3.142×1031≈1.59×10−4 s=159 μs.結果:D≈3.14×103 rad2/s;相位累積到 ≈1 rad2 約需 159 µs
(即相干時間 τc∼1/(2D) 量級)。注意 1/Δf3dB=1 ms 與此同數量級——
線寬越窄,相干時間越長,兩者倒數關係。
Dimension check:(a) [Δf]=Hz=1/s,乘 π(無因次)得 D 的 rad²/s
(rad² 是相位方差的無因次「rad」平方,per second)✓。(b) rad2/srad2=s ✓。
import numpy as np
df_3db = 1e3
D = np.pi*df_3db
t = 1/(2*D)
print(D, "rad^2/s ;", t*1e6, "us")
(背景與完整推導見 lorentzian_linewidth。)
習題 7 解答(Allan deviation 斜率判讀)
註:Allan variance 屬外部文獻(Allan 1966),不在 5 篇 PDF 內;斜率對照表逐字取自規範 11.2。
斜率對照(規範 11.2)。 在 log–log 的 σy(τ) 圖上:
| 量到的斜率 σy(τ)∝τ? | 對應雜訊型態 | 物理 |
|---|
| τ−1/2 | white FM(white frequency modulation) | 頻率是白噪 → 相位是隨機漫步;平均越久越穩 |
| τ0(平台/floor) | flicker FM(1/f frequency) | σy 與閘門時間 τ 無關 → ADEV 形成平地板 |
| τ+1/2 | random-walk FM(頻率隨機漫步) | 頻率本身漂移 → 平均越久越差,斜率上揚 |
為什麼 flicker FM 形成平台:把 Sy(f)∝1/f(flicker FM)代入規範 11.2 的
σy2(τ)=2∫0∞Sy(f)(πfτ)2sin4(πfτ)df,做變數代換
u=πfτ,τ 會從被積函數裡完全約掉——積分變成一個與 τ 無關的純數常數,
所以 σy2(τ)= 常數 ⇒σy(τ)∝τ0,在 log–log 上是一條水平線(floor)。
這個 floor 是石英/原子鐘等長期穩定度的招牌特徵,標定「再怎麼延長平均時間都壓不下去」的底限。
結果:τ−1/2→ white FM、τ0→ flicker FM(floor)、τ+1/2→ random-walk FM。
Dimension check:σy(τ) 是無因次的分數頻率穩定度(y=Δf/f0