---
title: GPS 接收器的原理與應用—PART2
description: "**作者：Bird** 上一回[【Maker 電子學】GPS 接收器的原理與應用…"
url: "https://makerpro.cc/docs/gps-receiver-principles-and-application-part2/"
updated: "2025-05-05"
category: GPS接收器
---

# GPS 接收器的原理與應用—PART2

**作者：Bird**

上一回[【Maker 電子學】GPS 接收器的原理與應用—PART 1](https://makerpro.cc/2022/02/gps-receiver-principles-and-application-part1/)，我們簡單介紹了 GPS 的衛星系統組成、它的軌道分佈，以及 GPS 所使用的無線電系統。這一回，我們要解釋一下 GPS 用的通訊技術核心：展頻技術，來說明爲什麼 GPS 可以將微弱的訊號傳送到兩萬公里之外的地表。

### 展頻通訊

我們上次有提過，最常用的 L1 波段民用 GPS 訊號，在衛星上的 RF 發射功率是 25.6 W，加上天線的增益、傳輸的衰減的因素，綜合起來加加減減，在地表上收到的訊號強度大約是 -125 dBm。

這是一個非常非常非常弱的訊號。我們要如何在接收到這麼弱的訊號時，又要能從它其中取出有用的資訊呢？

GPS 使用了一種曾經只有在軍事用途上使用，但現今已非常普及的通訊技術來克服這個困難：展頻（spread spectrum）。

最早的展頻通訊技術，目的是用來隱匿（stealth）戰場上的通訊。假設我們今天要傳送一個序列是「1、0、1」的訊號，如果用最簡單振幅調變，高電壓代表 1、低電壓代表 0，那麼傳送出去的訊號就會是這個樣子：

 ![](https://makerpro.cc/wp-content/uploads/2022/03/1-5.jpg)

（圖片來源：Bird 提供）

好，現在我們另外弄一個訊號 P ，它的長度跟原來我們要傳送的一個 bit 長度一樣，但是中間多了一點變化：長這樣：

 ![](https://makerpro.cc/wp-content/uploads/2022/03/2.jpg)

（圖片來源：Bird 提供）

當我們要傳送 1 的時候，就傳送 P 這個訊號；當我們要傳送 0 的時候，就傳送上下顛倒的 P 訊號。

於是當我們要傳送 1、0、1 時，就變成這樣：

 ![](https://makerpro.cc/wp-content/uploads/2022/03/3.jpg)

（圖片來源：Bird 提供）

經過處理的訊號跟原來要傳送的訊號看起來就長得完全不一樣了。如果接收方不知道我們用 P 代表 1、用倒過來的 P 代表 0，它光收到這個處理過的訊號，是沒辦法知道我們在傳送什麼的。

在我們舉的這個例子中，用來代表原始訊號的這個 P 訊號，它變化的倍率是原來訊號的 4 倍。你可以把它想像成我們用速度快四倍的 1011 來代表 1、0100 來代表 0。實務上展頻通訊用的 P 訊號遠比這個倍率要長得多，從數十倍到上千倍都有。當 P 訊號很長時，如果我們不知道發射方用的 P 訊號長什麼樣子，那麼接收方看到的訊號就會很像隨機、沒有意義的雜訊。

因此這個 P 訊號在展頻通訊技術中有一個專門的名字，叫做虛擬隨機碼（Pseudo Randon Number，PRN）。之所以叫「虛擬」是因爲它只是對第三方來說看起來像隨機的，但事實上對發射方和接收方來說，都是可以掌握的。

### **還原訊號**

在解碼時，我們將 PRN 轉換回原始訊號的方法，是將接收到的訊號與已知的 PRN 逐一相乘再相加。

 ![](https://makerpro.cc/wp-content/uploads/2022/03/4.jpg)

（圖片來源：Bird 提供）

如果我們慎選這個 PRN，使用一些有特別性質的 PRN，還可以達成更多強大的功能。比方說，我們可以找到一組 10 個長度爲 20 的 PRN，這 10 個 PRN 在解碼時，都只有跟自己對應的 PRN 逐一相乘才會的到非 0 的值，如果跟別的 PRN 逐一相乘，就會全部得到 0。如果要用個看起來很恐怖的數學式寫起來，就會是這樣：

 ![](https://makerpro.cc/wp-content/uploads/2022/03/5.jpg)

（圖片來源：Bird 提供）

Ci 代表編號 i 的 PRN，Cj 代表編號 j 的 PRN，由於這組 PRN 的長度是 20，因此在逐一相乘累加時，m 要從 0 算到 19。

這個「只有自己跟自己逐一相乘才不會得到 0」 的 PRN 在 GPS 和其它的展頻通訊系統上非常有用。

### **GPS 的展頻通訊系統**

好，讓我們回到 GPS。GPS 用的 PRN 長度非常長，有 1023 個 bit，因此所有可用的 PRN 組合有 2 的 1023 次方這麼多種，這是一個幾乎沒辦法表達的天文數字。在這麼多的組合中，GPS 的設計者精挑細選了其中一些 PRN 出來給 GPS 用。

每一顆 GPS 衛星都有屬於自己獨一無二的 PRN，以現在天上有 30 顆衛星在工作來說，就有 30 組不同的 PRN，而這 30 組 PRN 都符合剛剛說的那個特性：**只有自己跟自己逐一相乘，才會得到有效的結果，自己跟別的 PRN 相乘就會得到 0**。一號衛星的 PRN 跟二號衛星的 PRN 逐一相乘，會得到 0；一號衛星的 PRN 跟 二十八號衛星的 PRN 逐一相乘，也一樣得到 0；只有一號衛星的 PRN 跟一號衛星的 PRN 相乘，才會得到非 0 的結果。

這個性質有什麼用呢？太有用了！

我們可以讓所有的衛星在同一個頻道上發射訊號，這些訊號全部疊在一起、混在一起，就像個大染缸一樣，但是在解碼時，只要用對應的 PRN，就能解出用那個 PRN 編碼的訊號，而不會被混在一起、用其他的 PRN 編碼的訊號影響。

比方說，現在我在的地方，天空中看得到一二三四五六七八號總共八顆衛星，每顆衛星都用自己的 PRN 將訊號編碼後，對地面廣播，於是我收到的訊號，就是這一二三四五六七八總共八顆衛星的訊號，全部混在一起。

這時，如果我要解出來自一號衛星的訊號，我就用一號衛星的 PRN 去跟收到的訊號逐一相乘再相加；如果我要解出來自四號衛星的訊號，我就用四號衛星的 PRN 去跟收到的訊號逐一相乘再相加，於是同一段訊號，只要用不同的方法解碼，就可以得到來自不同衛星的訊號。

這也是爲什麼 GPS 衛星的 L1 訊號只有一個頻率 1575.42 MHz 的原因，因爲所有的衛星，不管是幾號衛星，都用同一個頻率在發射訊號，它們並沒有在稍微不同的頻率或頻道發射訊號，而是貨真價實的全部用同一個頻率在發射，讓訊號疊在一起。

這樣做的好處是，接收機只需要設計一組接收電路，接收一個頻率的訊號，不管現在天上是哪些衛星或是我們想要接收哪一號衛星的訊號，通通收得到，只要收下來再解碼就好了。因爲需要一組接收電路，我們可以盡可能的把這組電路做好、做精，讓它好好地接收來自兩萬公里之外的訊號，而不用煩惱切換頻道啦、調整頻率的問題。

### **對抗延遲也有用**

除了剛剛說明的那個「都只有跟自己對應的 PRN 逐一相乘才會的到非 0 的值」的特性之外，GPS 設計者精挑細選的 PRN 還有另外一個優異的特性。如果用看起來很恐怖的數學式子寫起來，就是這樣：

 ![](https://makerpro.cc/wp-content/uploads/2022/03/6.jpg)

（圖片來源：Bird 提供）

這個數學式子的意思是這樣。我把來自衛星編號 i 的 PRN Ci 自己跟自己逐一相乘，如果收到的訊號跟用來解碼用的 PRN 相差了一點點時間，比方說相差了 m 個 bit，這時乘起來、加出來的結果就會是 0。

看出來了嗎？這組 PRN 好嚴格，除了比需要自己跟自己相乘相加才有結果外，如果收到的訊號提早或延後了也不行，一定要剛剛好跟自己的 PRN 對上，才能產生有效的輸出。

這個特性在設計接收機的同步系統時非長有用，因爲當我們收下一長串訊號時，通常沒有額外的線索知道 PRN 是從哪裡開始的。

利用這個特性，我們可以「猜」出正確的 PRN 起始位置。以 GPS 的 PRN 長度 1023 來說，我們總共需要嘗試 1023 個不同的位置，其中一定有一個位置會對上，讓上面那個式子的產出不等於 0，這時候我們就找到 PRN 的頭了，當然前提是我們收到的訊號裡，必須要包含用來嘗試的 PRN 對應的衛星訊號，如果第八號衛星並不在你頭上，但是你拼了命用八號衛星的 PRN 然後調整 n 從 0 到 1022 去尋找 PRN 的同步點，怎麼樣也找不到的。

### **小結**

這一回，我們解釋了 GPS 用的「展頻通訊」技術是怎麼一回事，並說明了爲什麼所有的 GPS 衛星都可以用同一個頻率、同一個頻道傳送訊號，而地面的接收機又是怎麼把訊號解出來的。下一回，我們會繼續說明獲取 GPS 訊號和解碼的細節以及定位系統的運作原理。

（責任編輯：賴佩萱）
