JOVANA
Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

產生頻率:壓控振盪器、鎖相迴路與相位雜訊

在混頻器那一階,我們揮了揮魔杖,變出一個完美乾淨的**本地振盪器**——剛好落在正確 GHz 頻率上的純正弦波。可惜那根魔杖並不存在。每支手機裡都有一個微小的晶片內振盪器,它自己嗡嗡作響、會隨溫度漂移、還會因隨機雜訊而顫抖。這篇會說清楚 LC 壓控振盪器究竟如何產生那個頻率、鎖相迴路如何用一顆值得信賴的石英晶體把它馴服,以及一個叫做**相位雜訊**的指標,如何悄悄決定你的通話會不會斷線。

混頻器要的那個乾淨頻率

在前一階,混頻器把進來的無線電訊號乘上一個本地振盪器(LO)——一個穩定的正弦波——好把整個通道從 GHz 滑降到類比數位轉換器吞得下的頻率。我們當時就直接假設那個 LO 存在:純淨、單一頻率、剛好停在 2.412 GHz 或通道所在之處。現在我們得親手把它造出來。而這裡有個令人不安的事實:振盪器是整台無線電裡唯一必須「無中生有」的方塊——它在完全沒有輸入訊號的情況下維持振盪——這也讓它格外容易被雜訊影響。

無線電對這個頻率有兩個要求。第一是正確的頻率:WiFi 有數十個間隔 5 MHz 的通道,LO 必須能聽令跳到其中任何一個並穩穩停住。第二是頻譜純度:這個頻率應該是一根細如針尖的譜線,而不是一團模糊的塗抹。我們會看到這兩個要求互相拉扯,而化解這股張力,正是頻率合成器的全部精髓。

會自鳴的 LC 諧振槽——壓控振盪器

敲一下高腳杯,它會以單一音高鳴響,這音高由杯子的大小與硬度決定。振盪器要的正是這個:一個有自然頻率的諧振器。在晶片上,我們用 LC 諧振槽來打造它——一個電感與一個電容並聯。能量在電感的磁場與電容的電場之間來回晃盪,以諧振頻率 f₀ = 1 / (2π√(LC)) 鳴響。要做 2.4 GHz 的無線電,你大概會用約 1 nH 的電感與幾百飛法(fF)的電容——這些數字小到能完全放進矽晶片裡。

可是真實的諧振槽每個週期都會漏掉能量——金屬線圈有電阻,矽基板會漏電。放著不管,它就會像高腳杯餘音漸弱那樣鳴響衰減、終至死寂。於是我們加上一個主動電路——通常是一對交叉耦合的電晶體——它偵測到逐漸衰減的振盪,便在每一次擺盪時把能量補回去,剛好抵消損耗。如此一來,它便能永遠鳴響下去。這個能自我維持的「LC 加放大器」迴路,就是振盪器本身。

        Vdd
         |
      +--+--+
      L     C(var)   <- LC tank: sets f0 = 1/(2*pi*sqrt(L*C))
      |     |
  +---o-----o---+    Vtune --> changes C(var) --> changes f0
  |   |     |   |
  |  [M1]  [M2] |    cross-coupled NMOS:
  |   |\   /|   |    each transistor's drain drives
  |   | \ / |   |    the OTHER's gate -> positive
  |   |  X  |   |    feedback that REPLACES the energy
  |   | / \ |   |    the tank loses each cycle
  +---+/   \+---+
         |
        Itail  (bias current sets the swing)
經典的交叉耦合 LC 壓控振盪器。電晶體在每個週期把能量交還給諧振槽;可變電容 C(var) 讓一個調諧電壓拉伸頻率。

那它為什麼叫壓控?我們把固定電容換成可變電容(varactor)——一個二極體,反向偏壓越深,電容越小。餵它一個控制電壓 V_tune,諧振槽的電容就改變,於是 f₀ 跟著改變。現在我們有了一個旋鈕:把 V_tune 從 0 V 轉到 1 V,頻率就掃過整個頻段。這個旋鈕的斜率,也就是每伏特輸入對應多少 MHz 輸出,稱為壓控振盪器增益 K_VCO,待會兒它會極其重要。

相位雜訊——會顫抖的頻率

理想振盪器的輸出是 V(t) = A·cos(2πf₀t):永遠單一頻率。真實的則是 V(t) = A·cos(2πf₀t + φ(t)),其中 φ(t) 是相位上一個微小的隨機抖動——每一次過零點的時刻時而早一絲、時而晚一絲。這個隨機的 φ(t) 就是[[ic-vco-phase-noise|相位雜訊]]。在頻譜分析儀上看它的輸出,你看到的不是一根無限細的譜線,而是帶有裙擺的譜線——一團模糊的功率向 f₀ 兩側塗抹開來。

我們把它量化為:距離載波某個偏移量處、1 Hz 頻寬內的功率,相對於載波功率的比值——單位是 dBc/Hz。一顆優秀的 2.4 GHz CMOS 壓控振盪器,可能達到 1 MHz 偏移處 −110 dBc/Hz。這樣讀它:距離頻率一兆赫處的雜訊,比頻率本身弱了一千億倍。越靠近載波,裙擺上升得越陡(常為每十倍偏移 20–30 dB);越往外,則漸趨平緩、落到一片雜訊地板上。

為什麼要為一個一千億比一的雜質如此執著?因為它造成兩種真實的失效,兩者都默默地致命:

  1. 互調混頻(reciprocal mixing)。 你的手機把 LO 調到一個微弱的目標通道——但隔壁一個通道坐著一個很強的干擾源。在混頻器裡,LO 那團雜訊裙擺與那個強鄰相乘,把一片雜訊直接傾倒在你微弱訊號的頭上。目標通道本來好端端的;是骯髒的 LO 把它埋了。能容忍多近多強的鄰居,是由相位雜訊、而非天線或放大器決定的。
  2. EVM 惡化。 現代無線電把位元塞進載波的相位裡——想想 256-QAM,那是一張精細的星座圖,每個點都坐落在一個精確的角度上。相位雜訊讓 LO 的角度抖動,於是每個收到的點都模糊地偏離真正位置。這團模糊就是 EVM(誤差向量幅度)。一旦超過門檻,解碼器便分不清相鄰符元,連結的吞吐量隨之崩潰——你的「5G」就這麼悄悄降速了。

把歌手鎖到音叉上——鎖相迴路

壓控振盪器能達到任何頻率,卻會漂移、會顫抖。石英振盪器恰恰相反:一片以單一固定頻率(比如 40 MHz)振動的石英,穩定度驚人、相位雜訊乾淨——但它卡死在那個頻率上,而且遠低於空中所需。[[phase-locked-loop|鎖相迴路]]的把戲,就是把兩者聯姻:借用石英的*純度與準確度*,再把它倍頻拉高到壓控振盪器那個*高而可調*的頻率上。

想像一個迴授迴路,一台管頻率的恆溫器。鑑相/鑑頻器把分頻後的壓控振盪器拿來和石英參考比較,回報誰跑在前面。電荷泵把這個「太快/太慢」的判決,轉成一小股一小股的電流。迴路濾波器把這些電流脈衝平均成一個平滑的調諧電壓。這電壓輕推壓控振盪器。而迴授路徑上的 ÷N 分頻器就是那個神奇的旋鈕:它告訴迴路 N 個壓控振盪器週期必須等於一個參考週期,於是迴路把壓控振盪器一路逼到 f_out = N × f_ref。想換通道?改 N 就好。

  f_ref           PFD          charge      loop          VCO       f_out
 (crystal) --->  +---+  up/dn   pump      filter       +-----+ --+--> (to mixer)
  e.g. 40MHz     |   |------>  /-\ ----> [R+C low-pass] | VCO |   |   e.g. 2440 MHz
                 +---+        \-/      Vtune ---------->|     |   |
                   ^                                    +-----+   |
                   |                                              |
                   +------------------  / N  <---------------------+
                       divided VCO    (program N to pick channel)

  In lock:  f_out / N  ==  f_ref     ==>   f_out = N * f_ref
  e.g.  N = 61  ->  f_out = 61 * 40 MHz = 2440 MHz
電荷泵式鎖相迴路頻率合成器。分頻比 N 選擇通道;迴路逼著壓控振盪器緊跟石英晶體。

一步步看看迴路上電時做了什麼:

  1. 壓控振盪器從它可變電容碰巧停的地方起振——頻率是錯的。
  2. 鑑相器看見分頻後的壓控振盪器相對於參考在漂移,便泵入電荷加以修正。
  3. 調諧電壓緩升;f_out 朝 N × f_ref 擺動。
  4. 相位誤差縮到零。迴路鎖定了——並且持續鎖定,任何漂移一冒頭就立刻被追殺。

迴路頻寬——兩種雜訊交班之處

這裡是那個漂亮的回報,也是每個[[ic-frequency-synthesizer|頻率合成器]]的核心設計張力。鎖相迴路是個迴授迴路,而迴路只能修正比它自身反應時間*更慢*的誤差。這個反應時間由迴路頻寬設定——通常是幾百 kHz。在這頻寬之內,迴路又快又警覺;在它之外,迴路睡著了,壓控振盪器只能自己撐著。

現在看看這如何把相位雜訊頻譜一分為二:

  1. 靠近載波處(迴路頻寬之內):迴路快得足以追上壓控振盪器的漂移並把它壓下去。在這裡,輸出繼承的是石英晶體那乾淨而準確的相位雜訊(按 N 放大)。
  2. 遠離載波處(迴路頻寬之外):迴路反應不了這麼快,於是輸出就是壓控振盪器原始的相位雜訊,沿著它天然的裙擺滾落。

所以迴路頻寬是兩個雜訊來源之間的交班點——而選定它是個貨真價實的取捨,不是白吃的午餐。把頻寬推得更寬,迴路就壓掉更多壓控振盪器雜訊(有利於近端純度)、也更快鎖上新通道(有利於 WiFi/5G 的快速跳頻)——但它同時讓更多參考雜訊與分數-N 量化雜訊漏進來,還可能孳生討厭的參考突波(reference spur)。把頻寬拉得更窄,你能漂亮地擋掉參考的垃圾,卻得更倚賴赤裸的壓控振盪器,鎖定也更遲緩。

  Phase noise
  (dBc/Hz)
     |
  -80|\
     | \__ shaped by REFERENCE+loop      <-- inside loop BW: loop wins
     |    \____
  -100|        \___
     |  loop BW --> :  \
     |             :   \___ shaped by raw VCO  <-- outside loop BW: VCO alone
  -120|            :       \____
     |             :            \____
     +-------------+------------------------> offset from carrier (Hz)
        1k        ~300k       1M        10M

  Move loop BW left  = quieter reference region, noisier close-in, slower lock
  Move loop BW right = quieter close-in VCO region, more ref spurs, faster lock
合成器的輸出相位雜訊,是兩條曲線縫接而成。迴路頻寬就是那道接縫——而你把接縫放在哪裡,正是核心的設計決策。