跳至主要内容

Tuning line 與 supply pushing 的相位雜訊

前置(先讀這些)white_noise_to_phase_noise(白噪 → 1/f21/f^21/Δω21/\Delta\omega^2 積分器)、flicker_noise_upconversion1/f1/f1/f31/f^3,本頁要畫平行)、phase_vs_amplitude_noise(AM-PM 後門)。本頁假設你已經接受「相位無恢復力 → noise 經 1/Δω21/\Delta\omega^2 積分成裙邊」這條主線。

前面整套 ISF 理論講的都是 device 自己的雜訊電流 in(t)i_n(t) 直接注入 tank 節點。但真實 VCO(voltage-controlled oscillator,壓控振盪器,輸出頻率由一條控制電壓決定)還有兩個**完全不靠 device 內部 ini_n、而是靠「外部電壓節點抖動」**的相位雜訊大門:

  1. tuning line(調諧線):你用一條 VtuneV_{tune} 電壓去調 varactor(變容二極體,加偏壓改變電容的二極體),把 f0f_0 調到想要的頻道。這條線上任何雜訊電壓 vnv_n 都會**直接被頻率調變(FM)**進載波。
  2. supply(電源 VDDV_{DD}:電源電壓變動會經由 device 工作點、寄生電容等路徑改變有效 f0f_0——這叫 supply pushing(電源推移,電源電壓推著振盪頻率跑)

這頁要回答:這兩條外部電壓門,怎麼把低頻雜訊電壓變成 close-in 相位雜訊?為什麼它跟 device flicker 的 1/f31/f^3 機制長得一模一樣?以及怎麼用設計把這兩扇門關小?

物理直覺(先講結論):把 VCO 想成「電壓 → 頻率」的轉換器,靈敏度就是 KVCO=f0/VtuneK_{VCO}=\partial f_0/\partial V_{tune}(Hz/V)。控制節點上有 vn(t)v_n(t) 的雜訊電壓,瞬時頻率就抖 Δf(t)=KVCOvn(t)\Delta f(t)=K_{VCO}\,v_n(t)頻率是相位的微分,所以相位是頻率的積分——這個積分器就是把 SvS_v(電壓雜訊)變成 1/Δω21/\Delta\omega^2 裙邊的同一台機器,跟 ISF 白噪結果用的 1/Δω21/\Delta\omega^2字面上同一個積分器。於是:tune line 的白噪1/f21/f^2;tune line 的 1/f1/f 雜訊1/f31/f^3KVCOK_{VCO} 越大這扇門開越大;把它做小(粗調用 switched-cap、細調才用 varactor)、把 Vtune/VDDV_{tune}/V_{DD} 變乾淨(LDO、共模抑制),就是這頁所有 design knob 的核心。

本頁的 varactor CCVV 模型、LDO/cross-coupled VCO 拓樸細節、量測方法等電路/拓樸/儀器層面的具體屬於標準 RF IC 設計文獻(Razavi、Leeson、廠商 datasheet);不在本站下載的 5 篇 PDF 之內,本頁明確標示「(外部文獻,非本站 5 篇 PDF)」。但「電壓雜訊 → FM → 1/Δω21/\Delta\omega^2 相位裙邊」這條主幹完全用 [P1] 既有的相位積分觀念就能嚴格推出來,下面就這麼做。

第 1 步:定義 KVCOK_{VCO} 與 supply pushing KpushK_{push}

VCO 的工作定義是「輸出頻率隨控制電壓而變」。把振盪頻率 f0f_0 看成控制電壓 VtuneV_{tune} 與電源 VDDV_{DD} 的函數,在工作點做一階泰勒展開:

f0(Vtune,VDD)f0,op+f0VtuneKVCO(VtuneVop)+f0VDDKpush(VDDVDD,op).f_0(V_{tune},V_{DD})\approx f_{0,op}+\underbrace{\frac{\partial f_0}{\partial V_{tune}}}_{K_{VCO}}\,(V_{tune}-V_{op})+\underbrace{\frac{\partial f_0}{\partial V_{DD}}}_{K_{push}}\,(V_{DD}-V_{DD,op}).

兩個斜率就是本頁的兩個主角:

KVCOf0Vtune(單位 Hz/V)K_{VCO}\equiv\frac{\partial f_0}{\partial V_{tune}}\qquad(\text{單位 Hz/V}) Kpushf0VDD(單位 Hz/V)K_{push}\equiv\frac{\partial f_0}{\partial V_{DD}}\qquad(\text{單位 Hz/V})
  • KVCOK_{VCO}(VCO 增益,又叫 tuning sensitivity):每 1 V 控制電壓能把頻率挪多少。它決定調諧範圍(tuning range,能掃過的頻段),也決定 tune line 雜訊的放大倍率——這就是本頁的核心張力:KVCOK_{VCO} 要夠大才能涵蓋頻段、又要夠小才不放大雜訊。
  • KpushK_{push}(supply pushing,電源推移係數):每 1 V 電源變動把頻率推多少。理想上 VCO 對電源免疫(Kpush=0K_{push}=0),實務上電源經 device 偏壓、寄生電容、有效 swing 改 f0f_0Kpush0K_{push}\ne0。(廠商常另給 Hz/V\text{Hz/V}ppm/V\text{ppm/V} 的 pushing figure——外部文獻,非本站 5 篇 PDF。)
  • 單位檢查[f0/V]=Hz/V[\partial f_0/\partial V]=\text{Hz}/\text{V} ✓。兩者量綱相同,數學上完全平行——下面所有推導對 tune line 與 supply 一字不差,只是把 KVCO,vn,tuneK_{VCO},v_{n,tune} 換成 Kpush,vn,DDK_{push},v_{n,DD}
  • 物理意義:這兩個係數把「外部電壓世界」接到「頻率世界」。它們是設計者可控的——不像 device 的 ini_n(被製程/物理決定),KVCOK_{VCO}KpushK_{push} 是拓樸與偏壓選擇的結果。

與 ISF Γ\Gamma 的分工:ISF Γ(ω0τ)\Gamma(\omega_0\tau) 處理「電流脈衝 Δq\Delta q 在哪個相位注入 tank 節點 → 多少相位」;KVCO/KpushK_{VCO}/K_{push} 處理「一個準靜態(quasi-static,相對載波很慢)的控制/電源電壓 → 多少頻率」。tune/supply 雜訊很慢(offset f0\ll f_0),所以不必走 ISF 的逐脈衝相位投影,直接走「電壓 → 頻率 → 積分成相位」這條更直接的 FM 路徑。兩條路最後都匯到同一個 1/Δω21/\Delta\omega^2 積分器(見第 2 步末),這正是本頁要畫的平行。

第 2 步:電壓雜訊如何 FM 載波 → Sϕ=KVCO2Sv/Δω2S_\phi=K_{VCO}^2 S_v/\Delta\omega^2

現在讓 tune 節點帶一個低頻雜訊電壓 vn(t)v_n(t)(offset 頻率 Δωω0\Delta\omega\ll\omega_0,所以在一個載波週期內近乎不變,準靜態成立)。逐步推。

第 2.1 步:電壓雜訊 → 瞬時頻率偏差。KVCOK_{VCO} 的定義,瞬時振盪頻率隨 vnv_n 抖動:

Δf(t)=KVCOvn(t)Δωinst(t)=2πKVCOvn(t).\Delta f(t)=K_{VCO}\,v_n(t)\qquad\Longleftrightarrow\qquad \Delta\omega_{inst}(t)=2\pi K_{VCO}\,v_n(t).
  • 單位檢查Hz/V×V=Hz\text{Hz/V}\times\text{V}=\text{Hz} ✓(角頻率版乘 2π2\pi 得 rad/s ✓)。
  • 這就是 FM(frequency modulation,頻率調變):控制電壓直接調載波的瞬時頻率。

第 2.2 步:頻率是相位的微分 → 相位是頻率的積分。 excess phase ϕ(t)\phi(t) 的定義就是「瞬時頻率對 nominal 的偏差之時間積分」:

ϕ(t)=tΔωinst(t)dt=2πKVCOtvn(t)dt.\phi(t)=\int^{t}\Delta\omega_{inst}(t')\,dt'=2\pi K_{VCO}\int^{t}v_n(t')\,dt'.
  • 這個積分器是關鍵:它跟 [P1] Eq.(11)/(13) 把 ini_n 積成 ϕ\phi 用的是同一台積分器——只是這裡被積的不是「Γin\Gamma\cdot i_n」而是「KVCOvnK_{VCO}\cdot v_n」。積分 = 頻域乘 1/(jΔω)1/(j\Delta\omega)(訊號與系統基本功),所以功率域乘 1/Δω21/\Delta\omega^2,下一步就靠這個。
  • 物理意義:相位沒有恢復力(phase_vs_amplitude_noise 第 1 步),所以「慢慢漂的頻率」會被一路累積成越來越大的相位偏移——offset 越靠近載波(Δω\Delta\omega 越小),積分器增益 1/Δω1/\Delta\omega 越大,裙邊越高。

第 2.3 步:取 PSD(積分器在功率域是 1/Δω21/\Delta\omega^2)。 一個 LTI 系統 ϕ=Hv\phi=\mathcal{H}\,v 對輸入 PSD 的作用是 Sϕ=H(jΔω)2SvS_\phi=|\mathcal{H}(j\Delta\omega)|^2 S_v。這裡 H=2πKVCO/(jΔω)\mathcal{H}=2\pi K_{VCO}/(j\Delta\omega),故 H2=(2πKVCO)2/Δω2|\mathcal{H}|^2=(2\pi K_{VCO})^2/\Delta\omega^2

 Sϕ(Δω)=(2πKVCO)2Sv(Δω)Δω2=KVCO2Sv(Δω)Δf2 \boxed{\ S_\phi(\Delta\omega)=\frac{(2\pi K_{VCO})^2\,S_v(\Delta\omega)}{\Delta\omega^2}=\frac{K_{VCO}^2\,S_v(\Delta\omega)}{\Delta f^2}\ }

右式用 Δω=2πΔf\Delta\omega=2\pi\Delta f2π2\pi 約掉(分子 (2π)2(2\pi)^2、分母 (2π)2(2\pi)^2),所以用 Hz 算更乾淨Sϕ=KVCO2Sv/Δf2S_\phi=K_{VCO}^2 S_v/\Delta f^2

  • 單位檢查(Hz/V)2(V2/Hz)Hz2=Hz2/HzHz2=1Hz\dfrac{(\text{Hz/V})^2\cdot(\text{V}^2/\text{Hz})}{\text{Hz}^2}=\dfrac{\text{Hz}^2/\text{Hz}}{\text{Hz}^2}=\dfrac{1}{\text{Hz}},而相位無因次(rad),故 SϕS_\phirad2/Hz\text{rad}^2/\text{Hz} ✓。(嚴格說 KVCO2K_{VCO}^2 帶的「無因次相位」是隱含的;FM 的相位本來就無因次。)
  • 跟 ISF 白噪結果並排看——white_noise_to_phase_noise 的招牌式 Sϕ=Γrms2qmax2in2/ΔfΔω2S_\phi=\dfrac{\Gamma_{rms}^2}{q_{max}^2}\dfrac{\overline{i_n^2}/\Delta f}{\Delta\omega^2} 與本式 Sϕ=(2πKVCO)2SvΔω2S_\phi=\dfrac{(2\pi K_{VCO})^2 S_v}{\Delta\omega^2} 分母都是 Δω2\Delta\omega^2。device noise 版的「轉換增益」是 Γrms/qmax\Gamma_{rms}/q_{max}(A → rad),tune line 版的是 2πKVCO2\pi K_{VCO}(V → rad/s 再積分)。同一個 1/Δω21/\Delta\omega^2 積分器、不同的入口——這就是本頁要你記住的結構同構。

第 2.4 步:套 SSB 相位雜訊(小角近似)。 用全站慣例 L(Δf)12Sϕ(Δf)\mathcal{L}(\Delta f)\approx\tfrac12 S_\phi(\Delta f)(規範第 3 節公式 16):

L(Δf)=10log10 ⁣[12KVCO2Sv(Δf)Δf2](dBc/Hz).\mathcal{L}(\Delta f)=10\log_{10}\!\left[\frac{1}{2}\cdot\frac{K_{VCO}^2\,S_v(\Delta f)}{\Delta f^2}\right]\qquad(\text{dBc/Hz}).

supply 版完全平行:把 KVCOKpushK_{VCO}\to K_{push}SvSv,DDS_v\to S_{v,DD}(電源電壓雜訊 PSD)即可。兩條門的貢獻是兩個獨立源,功率相加Sϕtot=KVCO2Sv,tune+Kpush2Sv,DDΔf2+(device ISF 那一份)S_\phi^{tot}=\dfrac{K_{VCO}^2 S_{v,tune}+K_{push}^2 S_{v,DD}}{\Delta f^2}+(\text{device ISF 那一份})

第 3 步:白噪 tune line → 1/f21/f^21/f1/f tune line → 1/f31/f^3(與 device c0c_0 平行)

第 2 步的 SϕSv/Δω2S_\phi\propto S_v/\Delta\omega^2 把 tune line 的頻譜形狀原樣繼承,再乘 1/Δω21/\Delta\omega^2。兩種情形:

情形 A — tune line 是白噪(Sv=S_v= 常數): 例如串聯電阻熱雜訊、buffer 寬頻雜訊。則

Sϕ=KVCO2Sv,0Δf2  1Δf220 dB/decade (1/f2).S_\phi=\frac{K_{VCO}^2\,S_{v,0}}{\Delta f^2}\ \propto\ \frac{1}{\Delta f^2}\quad\Rightarrow\quad -20\ \text{dB/decade}\ (1/f^2).

這跟 device 白噪經 ISF 得到的 1/f21/f^2 斜率一模一樣、機制一模一樣(都是白入口 → 1/Δω21/\Delta\omega^2 積分器)。

情形 B — tune line 是 1/f1/f 雜訊(Sv=kv/ΔfS_v=k_v/\Delta f): 例如 charge pump / band-gap / LDO 參考的低頻 flicker,或 varactor 偏壓電路的 1/f1/f。則

Sϕ=KVCO2Δf2kvΔf=KVCO2kvΔf3  1Δf330 dB/decade (1/f3).S_\phi=\frac{K_{VCO}^2}{\Delta f^2}\cdot\frac{k_v}{\Delta f}=\frac{K_{VCO}^2\,k_v}{\Delta f^3}\ \propto\ \frac{1}{\Delta f^3}\quad\Rightarrow\quad -30\ \text{dB/decade}\ (1/f^3).

這正是 device flicker 機制的「外部電壓版」。把兩條 1/f31/f^3 路並排:

機制入口(低頻源)上轉的「閘門」1/f31/f^3 公式骨架
device flicker([P1] Eq.(23))device 1/f1/f 電流 in2ω1/f/Δω\overline{i_n^2}\,\omega_{1/f}/\Delta\omegaISF 的 DC 項 c0c_0Lc02qmax2in2/ΔfΔω2ω1/fΔω\mathcal{L}\propto\dfrac{c_0^2}{q_{max}^2}\dfrac{\overline{i_n^2}/\Delta f}{\Delta\omega^2}\dfrac{\omega_{1/f}}{\Delta\omega}
tune/supply 1/f1/f(本頁)控制電壓 1/f1/f 雜訊 Sv=kv/ΔfS_v=k_v/\Delta fVCO 增益 KVCOK_{VCO}(或 KpushK_{push}LKVCO2kvΔf3\mathcal{L}\propto K_{VCO}^2\,\dfrac{k_v}{\Delta f^3}
  • 平行在哪:device 版的「閘門」是 ISF 的 DC 傅立葉係數 c0c_0flicker_noise_upconversion 第 2 步說「c0c_0 是 flicker 通往載波的唯一閘門」);tune line 版的「閘門」就是 KVCOK_{VCO}KVCOK_{VCO} 在外部電壓世界扮演的角色,就是 c0c_0 在 device 電流世界扮演的角色——兩者都是「把一個低頻源接上 1/Δω21/\Delta\omega^2 積分器」的轉換增益,且都以平方進入 L\mathcal{L}c02c_0^2 vs KVCO2K_{VCO}^2)。
  • 差別(誠實講):device 版的 c0c_0 可以靠波形對稱壓到近 0(救得了 flicker);tune line 版的 KVCOK_{VCO} 不能歸零(歸零就調不動頻率了)——只能縮小(split tuning)或把入口 SvS_v 弄乾淨(LDO)。所以這扇門是「永遠半開」的,設計上反而更需要正面對付。
  • 斜率記憶法:分母每多一個 1/Δω1/\Delta\omega 就多 10-10 dB/dec。白噪入口 + 積分器 = 1/Δω21/\Delta\omega^220-20);1/f1/f 入口(+1+11/Δω1/\Delta\omega)+ 積分器 = 1/Δω31/\Delta\omega^330-30)。和 device 端的數法完全一致。

第 4 步:varactor C(V)C(V) 非線性 → AM-PM

到此為止 KVCOK_{VCO} 都當常數。但 varactor 的本質是非線性電容 C(V)C(V)——這帶來第二條更隱蔽的門:AM-PM conversion(振幅調變轉相位調變),也就是 phase_vs_amplitude_noise 第 4 步講的後門。

機制鏈(每一環都用既有觀念):

  1. 頻率由 tank 總電容決定:LC 振盪 f0=12πLCtotf_0=\dfrac{1}{2\pi\sqrt{L\,C_{tot}}},而 CtotC_{tot} 含 varactor 的 C(V)C(V)
  2. varactor 看到的是「偏壓 + 振盪 swing」:node 電壓是 Vtune+vosc(t)V_{tune}+v_{osc}(t),振幅 AA 的正弦擺幅每週期掃過 C(V)C(V) 曲線。
  3. 非線性 → 有效電容隨 swing 變:因為 C(V)C(V) 彎曲,一個週期內的平均有效電容 Cˉ(A)\bar C(A) 會隨振幅 AA 改變(把 C(V)C(V) 在偏壓點泰勒展開,二階項 12C(Vtune)vosc2\tfrac12 C''(V_{tune})\langle v_{osc}^2\rangle 正比於 A2A^2,不為零)。於是 f0f_0 變成振幅的函數 f0(A)f_0(A)
  4. 這就是 ω/A0\partial\omega/\partial A\ne0:振幅雜訊 ΔA\Delta A(本來會被 limit cycle 的恢復力吃掉)透過 f0/A\partial f_0/\partial A 漏成頻率/相位雜訊,再被第 2 步的積分器永久累積成 close-in 裙邊。
ΔωAM-PM=ω0AΔA,ω0AC(Vtune)  (varactor 曲率).\Delta\omega_{AM\text{-}PM}=\frac{\partial\omega_0}{\partial A}\,\Delta A,\qquad \frac{\partial\omega_0}{\partial A}\propto C''(V_{tune})\ \ (\text{varactor 曲率}).
  • 物理意義:原本「被抑制」的振幅雜訊(phase_vs_amplitude_noise 主張振幅有恢復力)走了 varactor 曲率這條後門,復活成長壽的相位雜訊,尤其把 device 的 1/f1/f 振幅起伏上轉到 close-in,惡化 1/f31/f^3
  • 關鍵設計推論:AM-PM 正比於 C(Vtune)C''(V_{tune})(曲線曲率),不是 CC'(斜率,那是 KVCOK_{VCO})。所以偏壓在 C(V)C(V) 的反曲/平坦點可使 C0C''\approx0,AM-PM 大幅下降——這跟「縮小 KVCOK_{VCO}」是兩個不同的鈕(一個管曲率、一個管斜率)。
  • 單位/量綱ω0/A\partial\omega_0/\partial A(rad/s)/V(\text{rad/s})/\text{V};乘振幅雜訊 ΔA\Delta A(V)得 rad/s,再積分成相位 ✓。
  • 詳細的 amplitude-modulation 與大訊號分析是 [P4] 的主軸(進階);varactor C(V)C(V) 的精確閉式屬器件文獻(外部文獻,非本站 5 篇 PDF)。本頁只把鏈條接到既有的 AM-PM 觀念。

第 5 步:Design knobs(把兩扇門關小)

把上面的物理直接翻成可操作的鈕。每個鈕標明它動哪個量

  • Split tuning(分段調諧)——縮小 KVCOK_{VCO} 最重要的一招(外部文獻,非本站 5 篇 PDF)。把調諧拆成兩層:
    • coarse(粗調):switched-capacitor bank(開關電容陣列,用數位碼切入/切出固定電容)。它用數位碼選頻段,提供大部分調諧範圍,但對連續電壓雜訊免疫(碼不抖,電容就不抖)。
    • fine(細調):varactor,只負責一個小子頻段的連續微調。
    • 效果:總調諧範圍 = 粗調(數位、無雜訊)⊕ 細調(小範圍),而 fine varactor 的 KVCOK_{VCO} 因為只跨小頻段而大幅下降。由第 2 步 SϕKVCO2S_\phi\propto K_{VCO}^2KVCOK_{VCO} 減半 → tune line 那一份相位雜訊降 6 dB。這是把「範圍 vs 雜訊」的張力解開的標準手法。
  • 偏壓在 C(V)C(V) 平坦點——壓 AM-PM(管 CC'')。 選 varactor 工作點讓 C(Vtune)0C''(V_{tune})\approx0(曲率小),ω/A0\partial\omega/\partial A\to0,AM-PM 後門關小。注意這跟縮 KVCOK_{VCO} 是不同鈕:平坦點壓的是二階曲率,不是一階斜率。
  • Supply regulation / LDO——壓 Sv,DDS_{v,DD} 入口(外部文獻,非本站 5 篇 PDF)。 對付 supply pushing:在 VCO 前面放一顆 LDO(low-dropout regulator,低壓差穩壓器,把髒電源濾成乾淨的本地電源),把 Sv,DDS_{v,DD}(到達 VCO 的電源雜訊 PSD)壓低數十 dB。由 supply 版公式 SϕKpush2Sv,DDS_\phi\propto K_{push}^2 S_{v,DD},降 Sv,DDS_{v,DD} 等比降相位雜訊。也可同時降 KpushK_{push}(拓樸層面:對稱 bias、減少電源對 swing 的調變)。
  • Common-mode rejection(共模抑制)——讓差動 VCO 對共模電源/基板雜訊免疫。 差動 tank 上,電源/基板雜訊多以共模形式出現;好的 differential 對稱使共模擾動不轉成差模頻率偏移(理想上 Kpush,CM0K_{push,CM}\to0)。這跟 flicker_noise_upconversion 第 6 步的 differential 觀念同源,但這裡對付的是外部共模電壓而非 device c0c_0
  • 乾淨的 VtuneV_{tune} 路徑——壓 Sv,tuneS_{v,tune} 入口。 loop filter 的電阻熱雜訊、charge-pump 的 1/f1/f、band-gap 參考雜訊都會灌進 VtuneV_{tune};這些是 pll_noise_budget 裡「in-band」那幾項的物理出口。在 PLL 內,loop bandwidth 也決定這些 tune line 雜訊被高通/低通到何種程度。

設計鐵律(一句話):tune/supply 這兩扇門的相位雜訊 ==(轉換增益 K2K^2×\times(入口電壓雜訊 SvS_v×\times1/Δf21/\Delta f^2 積分器)。三個因子各有對應的鈕:KKsplit tuning / 對稱拓樸壓、SvS_vLDO / 乾淨參考 / 低雜訊 loop filter 壓、曲率衍生的 AM-PM 用平坦偏壓點壓。

Worked example(帶單位 + dimension check)

例 G(tune line 白噪 → L\mathcal{L}KVCO=50K_{VCO}=50 MHz/V、tune line 電壓雜訊 100100 nV/Hz/\sqrt{\text{Hz}}(即 Sv=100\sqrt{S_v}=100 nV/Hz/\sqrt{\text{Hz}})於 Δf=1\Delta f=1 MHz offset、f0=5f_0=5 GHz。求 L(1MHz)\mathcal{L}(1\,\text{MHz})

步驟 1(把 Sv\sqrt{S_v} 平方成 PSD)

Sv=(100 nV/Hz)2=(107 V/Hz)2=1014 V2/Hz.S_v=(100\ \text{nV}/\sqrt{\text{Hz}})^2=(10^{-7}\ \text{V}/\sqrt{\text{Hz}})^2=10^{-14}\ \text{V}^2/\text{Hz}.

步驟 2(電壓雜訊 → 頻率偏差密度,建立手感):頻率偏差的 rms 密度 =KVCOSv=5×107 Hz/V×107 V/Hz=5 Hz/Hz=K_{VCO}\sqrt{S_v}=5\times10^7\ \text{Hz/V}\times10^{-7}\ \text{V}/\sqrt{\text{Hz}}=5\ \text{Hz}/\sqrt{\text{Hz}}。也就是這條 tune line 在 1 MHz offset「每 Hz\sqrt{\text{Hz}} 抖 5 Hz 的頻率」。

步驟 3(套第 2 步的 SϕS_\phi,用 Hz 形式)

Sϕ=KVCO2SvΔf2=(5×107)2×1014(106)2=(2.5×1015)×10141012=251012=2.5×1011 rad2/Hz.S_\phi=\frac{K_{VCO}^2\,S_v}{\Delta f^2}=\frac{(5\times10^{7})^2\times10^{-14}}{(10^{6})^2}=\frac{(2.5\times10^{15})\times10^{-14}}{10^{12}}=\frac{25}{10^{12}}=2.5\times10^{-11}\ \text{rad}^2/\text{Hz}.

步驟 4(SSB)L=12Sϕ=1.25×1011\mathcal{L}=\tfrac12 S_\phi=1.25\times10^{-11},取 10log1010\log_{10}

L(1MHz)=10log10(1.25×1011)=109.0 dBc/Hz.\mathcal{L}(1\,\text{MHz})=10\log_{10}(1.25\times10^{-11})=-109.0\ \text{dBc/Hz}.
  • 結果L(1MHz)109\mathcal{L}(1\,\text{MHz})\approx-109 dBc/Hz——單這一條 tune line 白噪源就貢獻 109-109 dBc/Hz。對照「單一 device 白噪源」的 canonical 例 B(148-148 dBc/Hz,white_noise_to_phase_noise),tune line 在同一 offset 高了近 40 dB——這說明一條沒處理好的 tune line 可以輕易主導整顆 VCO 的 1/f21/f^2,正是為什麼 split tuning / 乾淨 VtuneV_{tune} 這麼關鍵。
  • dimension check(Hz/V)2(V2/Hz)Hz2=Hz2V2V2Hz1Hz2=Hz1\dfrac{(\text{Hz/V})^2\cdot(\text{V}^2/\text{Hz})}{\text{Hz}^2}=\dfrac{\text{Hz}^2\cdot\text{V}^{-2}\cdot\text{V}^2\cdot\text{Hz}^{-1}}{\text{Hz}^2}=\text{Hz}^{-1}SϕS_\phirad2/Hz\text{rad}^2/\text{Hz} ✓。
  • f0=5f_0=5 GHz 去哪了?(誠實註記):本式的 L\mathcal{L} 不顯含 f0f_0——f0f_0 是這條裙邊「坐在哪根載波上」的位置,但 1/f21/f^2 裙邊的高度由 KVCO2Sv/Δf2K_{VCO}^2 S_v/\Delta f^2 決定,與 f0f_0 無關。f0f_0 真正進場是在換算 timing jitter 時(Δt=Δϕ/2πf0\Delta t=\Delta\phi/2\pi f_0,見 psd_phase_noise_jitter),或在以 ppm/V\text{ppm/V} 表示 KVCO/f0K_{VCO}/f_0 的相對靈敏度時。給定 f0=5f_0=5 GHz 是為了讓你知道這是顆 5 GHz VCO,但別把它硬塞進 L\mathcal{L} 公式。
import math
K_vco = 50e6 # Hz/V
S_v = (100e-9)**2 # V^2/Hz (100 nV/sqrt(Hz))
df = 1e6 # Hz offset
S_phi = K_vco**2 * S_v / df**2 # rad^2/Hz
L = 10*math.log10(0.5*S_phi) # SSB, L = (1/2) S_phi
print(S_phi, L) # -> 2.5e-11 rad^2/Hz, -109.03 dBc/Hz

例 H(supply pushing → L\mathcal{L},平行驗證)Kpush=2K_{push}=2 MHz/V、電源雜訊 1 μV/Hz1\ \mu\text{V}/\sqrt{\text{Hz}}Sv,DD=1012 V2/HzS_{v,DD}=10^{-12}\ \text{V}^2/\text{Hz})於 Δf=1\Delta f=1 MHz。求 supply 那一份 L\mathcal{L}

Sϕ=Kpush2Sv,DDΔf2=(2×106)2×1012(106)2=4×1012×10121012=4×1012 rad2/Hz,S_\phi=\frac{K_{push}^2 S_{v,DD}}{\Delta f^2}=\frac{(2\times10^{6})^2\times10^{-12}}{(10^{6})^2}=\frac{4\times10^{12}\times10^{-12}}{10^{12}}=4\times10^{-12}\ \text{rad}^2/\text{Hz}, L=10log10(12×4×1012)=10log10(2×1012)=117.0 dBc/Hz.\mathcal{L}=10\log_{10}(\tfrac12\times4\times10^{-12})=10\log_{10}(2\times10^{-12})=-117.0\ \text{dBc/Hz}.
  • 手感:即使 KpushK_{push}KVCOK_{VCO} 小 25 倍,一個「只有」1 μV/Hz1\ \mu\text{V}/\sqrt{\text{Hz}} 的髒電源仍貢獻 117-117 dBc/Hz。放一顆把 Sv,DDS_{v,DD} 降 20 dB 的 LDO(電壓雜訊降 10 倍),這一份就降 20 dB 到 137-137 dBc/Hz——這就是 LDO 對 supply pushing 的直接價值。
  • dimension check:同例 G,Hz1\text{Hz}^{-1}rad2/Hz\text{rad}^2/\text{Hz} ✓。
# supply pushing 平行版:同一公式,K_vco->K_push, S_v->S_vdd
K_push, S_vdd, df = 2e6, (1e-6)**2, 1e6
S_phi = K_push**2 * S_vdd / df**2
print(10*math.log10(0.5*S_phi)) # -> -117.0 dBc/Hz

K_push 第一性驗證(Level-1 ring 實測,lab_38)

例 H 的 Kpush=2K_{push}=2 MHz/V 是給定的代表值(照顧得不錯的 LC VCO 等級)。這一節不給定:拿 lab_32 那顆 MOS Level-1(Shichman-Hodges 平方律)3 級 ring,用 KpushK_{push}定義直接量——先靜態掃 VDDV_{DD}f0(VDD)f_0(V_{DD}) 的斜率,再疊一個小漣波驗證第 2 步的 FM 積分器預測。誠實聲明:這是 device-equation level(Level-1 平方律、λ=0\lambda=0),非 SPICE/BSIM/PDK;數字是這顆 toy ring 的,但物理與量級教訓是通用的。完整 script:simulations/lab_38_supply_pushing_ring.py(node equation 逐位元沿用 lab_32,只把 VDDV_{DD} 升格成參數;交叉檢查差 0.00.0 V/s)。

靜態量測:f0(VDD)f_0(V_{DD}) 掃描 → KpushK_{push}

VDDV_{DD} 從 0.9 V 掃到 1.1 V(25 mV 一格),每點讓 ring 穩定振盪後用門檻交越量週期:

VDDV_{DD} [V]0.9000.9501.0001.0501.100
f0f_0 [GHz]0.93941.08031.22521.37381.5255

f0(1.000V)=1.2252f_0(1.000\,\text{V})=1.2252 GHz 與 lab_32 完全一致(同一顆 ring、同一積分器)。在 1.0 V 取中央差分:

Kpush=f0VDD1.0V=f0(1.025)f0(0.975)0.05 V=2.936 GHz/VK_{push}=\left.\frac{\partial f_0}{\partial V_{DD}}\right|_{1.0\,\text{V}}=\frac{f_0(1.025)-f_0(0.975)}{0.05\ \text{V}}=2.936\ \text{GHz/V}

(9 點二次擬合的導數 2.932 GHz/V,差 0.1%——斜率萃取自洽。)單位檢查:Hz ÷ V = Hz/V ✓。

為什麼這麼大?手算 sanity check(逐步):ring 的頻率是 f0=12NτDf_0=\dfrac{1}{2N\tau_D}([P2] Eq.(15) 的觀念;這個 2 是「每週期兩個 edge」的電路事實,不是記帳慣例),而每級延遲 τDCLΔV/ID\tau_D\approx C_L\,\Delta V/I_D,其中 swing ΔVVDD\Delta V\propto V_{DD}、驅動電流走平方律 IDk2WL(VDDVT)2I_D\approx\tfrac{k'}{2}\tfrac{W}{L}(V_{DD}-V_T)^2。所以

f0  (VDDVT)2VDD1f0f0VDD=2VDDVT1VDDf_0\ \propto\ \frac{(V_{DD}-V_T)^2}{V_{DD}}\quad\Rightarrow\quad \frac{1}{f_0}\frac{\partial f_0}{\partial V_{DD}}=\frac{2}{V_{DD}-V_T}-\frac{1}{V_{DD}}

(分子的 2 是平方律指數,物理來源,非慣例。)代 VDD=1.0V_{DD}=1.0 V、VT=0.4V_T=0.4 V:2/0.61/1.0=2.33 V12/0.6-1/1.0=2.33\ \text{V}^{-1},乘 f0=1.2252f_0=1.2252 GHz 得 2.859 GHz/V——與量測 2.936 GHz/V 差 2.6%,量級與物理都對。單位檢查V1×Hz=Hz/V\text{V}^{-1}\times\text{Hz}=\text{Hz/V} ✓。

正規化 pushing 是 Kpush/f0=2.40K_{push}/f_0=2.40 /V =2.4×106=2.4\times10^6 ppm/V。對照:LC VCO 的 f0f_0 由 tank 的 LCL\,C 決定、電源只透過寄生與偏壓微擾它(典型 pushing 落在 ppm/V~千 ppm/V 等級——外部文獻,非本站 5 篇 PDF);ring 的 f0f_0 就是 device 電流除以電容,電源直接坐在公式裡。「ring 的 supply pushing 天生比 LC 大好幾個數量級」不是經驗談,是 f0=1/(2NτD)f_0=1/(2N\tau_D) 的直接後果。

動態驗證:10 mV 漣波 → narrowband FM sidebands

VDDV_{DD} 上疊 Vr=10V_r=10 mV、fm=100f_m=100 MHz 的正弦漣波。由第 2 步的積分器,逐步:

Δf(t)=KpushVrsin(2πfmt)ϕ(t)=2πΔfdt=KpushVrfmβcos(2πfmt)\Delta f(t)=K_{push}V_r\sin(2\pi f_m t)\quad\Rightarrow\quad\phi(t)=\int 2\pi\,\Delta f\,dt'=-\underbrace{\frac{K_{push}V_r}{f_m}}_{\beta}\cos(2\pi f_m t)

峰值相位偏移(FM 調變指數)β=KpushVr/fm\beta=K_{push}V_r/f_m單位檢查(Hz/V)VHz=\dfrac{(\text{Hz/V})\cdot\text{V}}{\text{Hz}}= 無因次(rad)✓——這正是「頻率抖動 ÷ 調變頻率 = 相位」的 FM 基本功。代量測值:

βpred=2.936×109 Hz/V×0.01 V108 Hz=0.2936 rad.\beta_{pred}=\frac{2.936\times10^{9}\ \text{Hz/V}\times 0.01\ \text{V}}{10^{8}\ \text{Hz}}=0.2936\ \text{rad}.

模擬把漣波真的加進 node equation、從門檻交越時間萃取 ϕ(t)\phi(t) 再做正弦擬合:βmeas=0.2942\beta_{meas}=0.2942 rad,比值 1.002(調變相位 88.2°-88.2°,理論 90°-90°ϕ=sin=cos\phi=\int\sin=-\cos ✓)。頻譜上 f0±fmf_0\pm f_m 出現 sidebands:量測 16.31/16.83-16.31/-16.83 dBc,對 narrowband FM 預測 20log10(β/2)=16.6720\log_{10}(\beta/2)=-16.67 dBc(Bessel 精確值 20log10(J1/J0)=16.5520\log_{10}(J_1/J_0)=-16.55 dBc)。慣例旗標:這裡的 /2/2FM 數學J1/J0β/2J_1/J_0\approx\beta/2),跟 L12Sϕ\mathcal{L}\approx\tfrac12 S_\phi 的 SSB 記帳 2、或 [P1] Eq.(21) 分母的 4,不是同一個 2。上下 sideband 差 0.52 dB 是伴生 AM(swing 本身跟著 VDDV_{DD} 動,mVr/VDD=1%m\approx V_r/V_{DD}=1\%)——正是第 4 步 AM-PM 議題的電源版縮影;連 f0±2fmf_0\pm2f_m 的二階 sideband(38.6/39.8-38.6/-39.8 dBc)都對上 J2/J0J_2/J_039.2-39.2 dBc。

這個確定性單音實驗驗證的就是第 2 步那台積分器:隨機的 vn(t)v_n(t) 不過是無數個這種單音的疊加(PSD 語言),所以「β\beta 對上」等價於「Sϕ=Kpush2Sv/Δf2S_\phi=K_{push}^2S_v/\Delta f^2 對上」。

# lab_38 關鍵數字(跑 PYTHONPATH=. python simulations/lab_38_supply_pushing_ring.py 可再現)
K_push = (1.2991e9 - 1.1523e9) / 0.05
print(f"{K_push:.3e}") # -> 2.936e9 Hz/V(中央差分 @ 1.0 V)
beta = K_push * 10e-3 / 100e6
print(round(beta, 4)) # -> 0.2936 rad(量測 0.2942,比 1.002)

Level-1 ring 的 supply pushing:f0(VDD) 掃描、漣波相位調變、FM sidebands

如何解讀:(a) f0(VDD)f_0(V_{DD}) 幾乎是一條直線(微彎),紅色切線斜率就是 KpushK_{push};(b) 門檻交越萃取的 ϕ(t)\phi(t)(紫點)與正弦擬合,紅虛線 ±βpred\pm\beta_{pred} 是純理論、未擬合;(c) 頻譜以載波為 0 dB,±100\pm100 MHz 的 sidebands 落在預測線上,±200\pm200 MHz 的小峰是二階 FM sideband。參數:CL=10C_L=10 fF/節點、N=3N=3、靜態掃描 dt=25dt=25 fs、動態 dt=100dt=100 fs、記錄 150 ns;runtime 約 28 s。

例 I(端到端:量測 KpushK_{push} × 本頁公式):拿例 H 同款電源雜訊 1 μV/Hz1\ \mu\text{V}/\sqrt{\text{Hz}}Sv,DD=1012 V2/HzS_{v,DD}=10^{-12}\ \text{V}^2/\text{Hz})@ Δf=1\Delta f=1 MHz,換上這顆 ring 量到的 Kpush=2.936K_{push}=2.936 GHz/V:

Sϕ=Kpush2Sv,DDΔf2=(2.936×109)2×1012(106)2=8.62×106 rad2/Hz,S_\phi=\frac{K_{push}^2\,S_{v,DD}}{\Delta f^2}=\frac{(2.936\times10^{9})^2\times10^{-12}}{(10^{6})^2}=8.62\times10^{-6}\ \text{rad}^2/\text{Hz}, L(1MHz)=10log10 ⁣(12×8.62×106)=53.7 dBc/Hz.\mathcal{L}(1\,\text{MHz})=10\log_{10}\!\big(\tfrac12\times8.62\times10^{-6}\big)=-53.7\ \text{dBc/Hz}.

(這裡的 12\tfrac12L12Sϕ\mathcal{L}\approx\tfrac12S_\phi 的 SSB 小角慣例,規範第 3 節公式 16。)dimension check(Hz/V)2V2/Hz÷Hz2=Hz1(\text{Hz/V})^2\cdot\text{V}^2/\text{Hz}\div\text{Hz}^2=\text{Hz}^{-1} → rad²/Hz ✓。比例 H 的 117.0-117.0 dBc/Hz 糟 63.3 dB——正好 20log10(2936/2)20\log_{10}(2936/2),全部來自 KpushK_{push} 的平方。這就是「未穩壓的 ring 接髒電源是災難」的定量版;反過來說,K2K^2 也是好消息:LDO 每壓 20 dB 電壓雜訊,這一份相位雜訊等比降 20 dB。

與 ISF 的接口:supply 看到的是「逐級敏感度的相干總和」

device 雜訊與 supply 雜訊在 ISF 語言裡有一個關鍵差別:

  • device noise(每級自己的 ini_nNN 級的雜訊源彼此獨立,各級貢獻以功率相加——這是 [P2] ring 分析的記帳方式(每級一份 Γrms2\Gamma_{rms}^2)。
  • supply(VDDV_{DD} rail):電源是所有 NN共用的 port。一個低頻(準靜態)電源擾動同時、同方向改變每一級的延遲——輪到哪一級切換,哪一級就被同一個 vnv_n 加速或拖慢,一個週期內 2N2N 個 edge 的延遲變化同號累加ΔT\Delta T。所以 supply 有效敏感度是逐級敏感度的相干(振幅)總和,而這個總和的平均(DC)成分就是 2πKpush2\pi K_{push}:對慢擾動而言「每一刻都有某級在被推」,總和敏感度從不換號。
  • 推論一:獨立源疊 NN 份走 N\sqrt N(功率相加),相干源走 NN(振幅相加)——supply 雜訊不是「多一個雜訊源」而已,它繞過了獨立源的統計折扣
  • 推論二:supply 有效敏感度的 DC 項天生很大(角色如同 device flicker 上轉裡的 c0c_0),所以電源的 1/f1/f 雜訊會如第 3 步所述上轉成 1/f31/f^3;但 device 版可用波形對稱c0c_0 壓到近 0(lab_32 那顆對稱 ring 量到 c0=0.0014c_0=0.0014),supply 版沒有這張牌——「每級延遲都跟著 VDDV_{DD} 跑」不是對稱性能取消的。能打的牌只剩壓入口(LDO)與壓 KpushK_{push} 本身(差動/穩壓拓樸、delay 對 VDDV_{DD} 一階不敏感的 stage 設計——外部文獻,非本站 5 篇 PDF)。

限制(誠實):Level-1 平方律、λ=0\lambda=0、單一 lumped CLC_LN=3N=3 單點(未驗證 NN 標度);真實 PDK ring 因 velocity saturation、短通道效應,KpushK_{push} 數字會不同(但仍遠大於 LC——外部文獻經驗),而本節的方法(定義量測 + FM 驗證)與結構結論(相干總和、K2K^2 槓桿)不變。

適用與失效條件

條件成立時失效時會怎樣
控制/電源雜訊很慢(Δωω0\Delta\omega\ll\omega_0,準靜態)KVCO/KpushK_{VCO}/K_{push} 為常數、FM 模型成立高頻(接近 f0f_0)時要回到 ISF/HTM 的逐諧波處理
KVCOK_{VCO} 在工作點近似線性單一斜率 f0/V\partial f_0/\partial V 足夠varactor 強非線性 → KVCOK_{VCO}VtuneV_{tune} 變、且生 AM-PM(第 4 步)
小擾動、相位線性Sϕ=K2Sv/Δf2S_\phi=K^2 S_v/\Delta f^2 成立大電壓擺動 → 高階 FM sidebands、頻譜失真
AM-PM 可忽略(C0C''\approx0「只算 FM」近似良好強曲率 → 振幅雜訊復活成相位雜訊,需 [P4] APF 框架
各源獨立功率直接相加 Sϕtot=S_\phi^{tot}=\sum相關源(共用參考)需考慮相關項,共模抑制可幫忙

與哪些 paper/公式對應

  • 相位積分器 1/Δω21/\Delta\omega^2 與 device 白噪 1/f21/f^2、flicker 1/f31/f^3 的結構:[P1] Eq.(11)/(13), p.182–183(相位是 noise 的積分)、Eq.(21) p.185(1/f21/f^2)、Eq.(23) p.185(1/f31/f^3c0c_0 閘門)。本頁把「c0c_0 閘門」類比成「KVCOK_{VCO} 閘門」。
  • AM-PM / amplitude modulation 的完整框架:[P4](APF、amplitude decay,進階;見 phase_vs_amplitude_noise)。
  • KVCO/KpushK_{VCO}/K_{push} 定義、split tuning、switched-cap bank、LDO、varactor C(V)C(V)、共模抑制、pushing figure 等電路/拓樸/儀器具體:標準 RF IC 設計文獻(外部文獻,非本站 5 篇 PDF)——Razavi RF Microelectronics、Leeson 模型、廠商 datasheet。
  • L12Sϕ\mathcal{L}\approx\tfrac12 S_\phi:規範第 3 節公式 16(小角 PM)。
  • KpushK_{push} 第一性量測(lab_38):ring 頻率觀念 f0=1/(2NτD)f_0=1/(2N\tau_D) 來自 [P2] Eq.(15), p.794;device 方程與 ring 本體沿用 lab_32(Level-1 方程級,非 SPICE/BSIM/PDK);narrowband FM 的 J1/J0β/2J_1/J_0\approx\beta/2 屬標準通訊教科書內容(外部文獻,非本站 5 篇 PDF)。

重點回顧

  • KVCO=f0/VtuneK_{VCO}=\partial f_0/\partial V_{tune}Kpush=f0/VDDK_{push}=\partial f_0/\partial V_{DD}(皆 Hz/V):把外部電壓世界接到頻率世界的轉換增益。
  • tune/supply 節點的雜訊電壓 vnv_n FM 載波Δf=Kvn\Delta f=K\,v_n → 相位是頻率的積分 → Sϕ=K2Sv/Δf2S_\phi=K^2 S_v/\Delta f^2(與 ISF 白噪用的是同一個 1/Δω21/\Delta\omega^2 積分器)。
  • 白噪 tune line → 1/f21/f^21/f1/f tune line → 1/f31/f^3KVCOK_{VCO} 在外部電壓世界的角色 == ISF 的 c0c_0 在 device 電流世界的角色(都以平方進 L\mathcal{L}),但 KVCOK_{VCO} 不能歸零、只能縮小。
  • varactor C(V)C(V) 非線性 → AM-PMω/AC(Vtune)\partial\omega/\partial A\propto C''(V_{tune}),把被抑制的振幅雜訊復活成相位雜訊;偏壓平坦點(小 CC'' 壓它(與縮 KVCOK_{VCO} 是不同鈕)。
  • design knobs:split tuning(coarse switched-cap + fine varactor,縮 KVCOK_{VCO}、平坦偏壓點(壓 AM-PM)、LDO / 乾淨參考(壓 SvS_v 入口)共模抑制(對付 supply/基板共模)
  • 數值:KVCO=50K_{VCO}=50 MHz/V、100100 nV/Hz/\sqrt{\text{Hz}} @ 1 MHz → L(1MHz)=109\mathcal{L}(1\,\text{MHz})=-109 dBc/Hz(單一條 tune line 就能主導 1/f21/f^2 區);L\mathcal{L} 不顯含 f0f_0
  • lab_38 第一性實測:Level-1 3 級 ring 量到 Kpush=2.936K_{push}=2.936 GHz/V(2.4×1062.4\times10^6 ppm/V,手算平方律模型差 2.6%);10 mV @ 100 MHz 漣波的 FM 驗證 βmeas/βpred=1.002\beta_{meas}/\beta_{pred}=1.002;同款 1 μV/Hz1\ \mu\text{V}/\sqrt{\text{Hz}} 電源下 L=53.7\mathcal{L}=-53.7 dBc/Hz,比例 H 糟 63.3 dB——ring 的 supply 是「逐級敏感度的相干總和」,沒有對稱性歸零這張牌,必須靠 LDO/穩壓拓樸。

延伸閱讀