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

共享頻譜:多工與展頻

無線電頻譜是人類擁有最擁擠的一塊不動產——有限、被爭奪、而且無法再製造更多。然而數十億支手機、衛星與 Wi-Fi 連線卻能共享它而不墜入一片雜訊。本篇談的就是讓這一切成為可能的工程:**多工**,把通道切成時間、頻率或碼的時槽;以及**展頻**——那個極度違反直覺的把戲:刻意把訊號做得*更寬*,好讓眾多使用者能在雜訊底之下一起低語。

從一條連線到百萬個陌生人

到目前為止,每一階都默默假設了一個舒適的虛構:一個發射器透過自己私有的通道,對一個接收器說話。調變載波、推進空氣、在另一端還原位元。但走到戶外抬頭看看。任何一座城市上空,數千支手機、每戶公寓兩台互相競爭的 Wi-Fi 基地台、十幾顆 GPS 衛星、一架經過的飛機詢答機,還有一台嬰兒監視器,全都在*同一個*瞬間朝著*同一片*天空輻射。沒有人給它們私有通道。它們全在爭奪一個共享、有限的資源——無線電頻譜——而它竟然能運作。

它能運作的原因是多重存取(multiple access):一套有紀律的規則,把一個通道切成許多可用的片段。其總稱技術就是多工——把數個獨立訊號合併到共享媒介上,好讓接收器能乾淨地把*屬於它的*訊號抽回來。整個領域歸結為一個問題、三個經典答案:我們沿著*哪個軸*來劃分資源?你可以劃分頻率、劃分時間,或者——那個微妙的——劃分。每個軸給出一種不同的多工方案,而現代系統三者兼用。

FDM 與 TDM:切頻率、切時間

最古老的答案是分頻多工(FDM):給每個使用者一段不同的窄頻帶,像高速公路上的車道般並排堆疊。類比廣播正是這樣運作——你最愛的 FM 電台在 99.7 MHz,坐在自己 200 kHz 的車道裡,而 100.3 MHz 的電台住在另一條車道,兩者之間留有空的保護頻帶,免得它們的裙襬相撞。接收器把一個帶通濾波器(外加一個本地振盪器——回想那個把它精確鎖定的鎖相迴路)調到某一條車道,無視其餘。每個人都*一直*發射,但各自用自己顏色的光。

互補的答案是分時多工(TDM):給每個使用者*整個*頻帶,但只給一個短暫的輪次。把時間切成重複的訊框(frame),每個訊框給每個使用者一個時槽,然後輪流(round-robin)夠快地走過去,使得——在兩端各有緩衝下——每個使用者都感覺到一條連續的連線。經典的 2G GSM 手機正是這樣運作:八位通話者共享一個 200 kHz 載波,每人每 4.6 ms 拿到一段 577 µs 的突發。陷阱在於每個人都必須對時槽*何時*開始達成共識,精確到微秒,所以 TDM 生死取決於嚴密的同步——一個眾人都信任的共享時鐘。

FDM — divide FREQUENCY            TDM — divide TIME
(everyone all the time,           (everyone full band,
 each in their own band)           one at a time)

 freq                              freq
  ^                                 ^
  | [ U4 ]====guard====             | |U1|U2|U3|U4|U1|U2|U3|U4|
  | [ U3 ]                          | |  full bandwidth used  |
  | [ U2 ]                          | |  by whoever's turn it |
  | [ U1 ]                          | |  is, right now        |
  +-----------------> time          +-----------------------> time

  share by colour                   share by taking turns
分割同一塊時間×頻率矩形的兩種方式。FDM 切水平車道;TDM 切垂直時槽。兩者都讓使用者不重疊——一個在頻率上,一個在時間上。

CDMA:用碼劃分,而非時間或頻率

現在來看那個奇怪的。分碼多重存取(CDMA)做了一件聽起來不可能的事:每個使用者*在同一時間、同一頻帶*發射——而接收器仍能完美地把它們分開。沒有車道,也沒有輪次。取而代之的是,每個使用者被指派一個獨特的高速——一串由 +1 與 −1 組成、稱為碼片序列(chipping sequence)的偽隨機圖樣——他們在發射前,把自己緩慢的資料位元乘上這個快速的碼。訣竅在於這些碼被選成正交的:在數學上,兩個不同的碼對彼此「隱形」。

「正交」能換來什麼?接收器知道它想要的使用者的碼。它把那團混雜、加在一起的電波乘上*那一個碼*,並對每個位元把結果加總起來——這個運算叫做相關(correlation)。對於想要的使用者,他的碼乘上自己的碼,處處得到 +1(一個碼乘自己全是 +1),所以他的位元累加成一個又大又清楚的數。對於每一個*其他*使用者,他的碼乘上想要的碼是正交的——+1 與 −1 等量抵消,加總為。不想要的訊號不是被濾掉的;它們在加總中數學上*自我湮滅*。

實例演練:分開兩個 CDMA 使用者

讓我們用最小可能的 CDMA 系統把這個魔法具體化:兩個使用者、長度 4 的碼。我們把位元 1 寫成 +1、位元 0 寫成 −1(這種「雙極性」對映讓抵消的算術很乾淨——骨子裡就是 BPSK)。挑兩個正交的碼:

Codes (orthogonal: their dot product is zero)
  Ca = (+1, +1, +1, +1)
  Cb = (+1, -1, +1, -1)
  Ca . Cb = (+1)(+1)+(+1)(-1)+(+1)(+1)+(+1)(-1) = 1-1+1-1 = 0   <- orthogonal

This bit period, suppose:
  User A sends bit  +1  -> transmits  +1 * Ca = (+1, +1, +1, +1)
  User B sends bit  -1  -> transmits  -1 * Cb = (-1, +1, -1, +1)

The air sums both signals (they overlap completely in time & frequency):
  R = (+1, +1, +1, +1)
    + (-1, +1, -1, +1)
    = ( 0,  2,  0,  2)        <- a garbled mess; neither bit is readable

Receiver A correlates R with Ca, then sums:
  R . Ca = (0)(+1)+(2)(+1)+(0)(+1)+(2)(+1) = 0+2+0+2 = +4
  Divide by code length 4  ->  +1   == User A's bit.  CORRECT.

Receiver B correlates R with Cb, then sums:
  R . Cb = (0)(+1)+(2)(-1)+(0)(+1)+(2)(-1) = 0-2+0-2 = -4
  Divide by 4  ->  -1   == User B's bit.  CORRECT.
兩個使用者疊在彼此上面發射,但用正確的碼去相關,就能精確還原各自的位元。使用者 B 的能量對 A 的加總毫無貢獻——正交性讓它抵消了。

仔細看接收器 A 的計算。使用者 B 發射的向量藏在 R 裡面,卻對 A 的相關加總貢獻了恰好為零——它造成的每個 +2 都被 Ca 的結構抵消掉,既沒幫忙也沒搗亂。這就是正交性獨力完成整件事。把它放大:真實的 IS-95 CDMA 標準使用 64 碼片的 Walsh 碼,提供 64 個互相正交的通道,再疊在一個更快的偽隨機擾碼之上,後者把能量展開並區分相鄰的基地台。

展頻:刻意變寬

到目前為止我們做的一切都試圖*節省*頻寬。展頻反其道而行,而且聽起來很瘋狂:拿一個需要比方說 10 kHz 的訊號,刻意把它抹開到 10 MHz——寬一千倍,而*總*功率不變。每赫茲的能量下降同樣的一千倍,於是訊號真的能沉到雜訊底之下:一台掃過該頻段的頻譜分析儀看不到任何東西,只見雜訊微弱、幾乎察覺不到地隆起。為什麼有人要如此奢侈地拋棄頻譜效率?因為你換回來的東西:強健性

展頻有兩種方式。你剛才演練的 CDMA 例子是直接序列展頻(DSSS):把資料乘上快速的偽隨機碼片碼,抹開到一個寬頻帶,然後在接收端用同一個碼做相關來解展(de-spread)。跳頻展頻(FHSS)展開的方式不同——它在任一瞬間保持訊號狹窄,但讓它每秒多次在數百個頻率之間*跳躍*,遵循一個發射與接收兩端都知道的偽隨機圖樣。對任何不知道跳頻圖樣的人來說,這訊號就是一團鬼火,從不在同一個地方出現兩次。

展開到底換來什麼?三個強大的性質,全都源自處理增益——展開頻寬與資料頻寬的比值。第一,抗干擾:一個敵意的窄頻干擾器可以用巨大功率轟炸一個頻率,但當接收器解展時,干擾器的窄頻能量被同一個碼*展開*,而你的訊號則塌回到全強度——干擾器被處理增益(常達 20–30 dB)壓制。第二,低截獲機率:藏在雜訊之下,這訊號連被*偵測*都難,更別說解碼。第三,共存:許多展頻使用者(或不相干的系統)在同一頻段重疊,每一個對其他人而言不過是雜訊底上的一個小鼓包。

野外的展頻:GPS 與 Wi-Fi

DSSS 最美的展示就在你口袋裡:GPS。一顆位於 20,000 公里高空的衛星,用大約一顆家用燈泡的功率發射,被一個 1.023 Mchip/s 的碼展開到約 2 MHz。等它抵達地面時,訊號落在熱雜訊底之下 30–40 dB——對一般無線電完全隱形。你的接收器知道每顆衛星獨特的偽隨機碼並對它做相關;處理增益(約 43 dB)把埋住的訊號從雜訊裡拉出來。更妙的是,把本地碼在時間上*滑動*直到相關出現峰值,會告訴接收器訊號的傳播時間,精確到奈秒——而那個傳播時間乘上光速,就是到衛星的距離。分開訊號的解展相關,正是定位你的那個量測。

  1. 捕獲:接收器把它本地的衛星碼副本,在所有可能的時間位移(以及都卜勒頻移的頻率)上滑動,留意相關尖峰——那個尖峰意味著「找到了,而且這就是對齊位置」。
  2. 追蹤:一個迴授迴路(一個碼追蹤迴路,搭配一個載波鎖相迴路)讓本地碼隨著衛星移動與使用者行走,持續鎖在進來的碼上。
  3. 量測:精確的碼相位產生到該衛星的虛擬距離(pseudo-range);對四顆以上的衛星都這麼做,解出三維位置外加接收器的時鐘誤差。

展頻也形塑了早期的 Wi-Fi。最初的 802.11,以及第一個普及的版本 802.11b,在免授權的 2.4 GHz 頻段使用 DSSS——部分*正是因為*展開能讓多個裝置與不相干的器具(微波爐、無線電話、藍牙)在一個沒人授權的頻段中共存。經典的 11 Mbit/s 802.11b 模式使用 11 碼片的 Barker 碼、後來是 CCK,來展開每個符元。展開買到了那份關鍵的早期強健性,抵抗一個人人共享的頻段裡那團亂的干擾。隨著對原始速度的需求爆增,Wi-Fi 為了更高的資料率而遷移到 OFDM(802.11a/g 及之後)——但是 DSSS 讓它起飛。