GPS是怎麼定位的?衛星與時間的運作原理
GPS是從衛星電波「花了多少時間才到」,求出到衛星距離的系統。衛星不斷用電波送出精確的時間和自己的位置,手機只負責接收。根據到4顆以上衛星的距離,手機同時算出自己的位置和手機時鐘的偏差。
這篇文章可以了解
- GPS與GNSS的差異,以及日本的準天頂衛星系統「Michibiki」的角色(日本的例子)
- 從電波到達的時間求出距離的方法,以及為什麼需要4顆衛星
- 衛星上的原子鐘,以及相對論造成的時鐘偏差如何修正
- 手機能很快顯示位置的原因,以及位置會偏移的原因
先備知識:不需要。電波和頻率的基礎,在「Wi-Fi是怎麼運作的?」中有說明。
生活中的例子
打開地圖App,自己所在的地方會出現一個藍點。這個點主要是根據在太空中繞行的人造衛星電波算出來的。
不過,在高樓林立的街道上,藍點有時會跳到馬路對面。點周圍的淺色圓圈,有時也會變得很大。接下來依序看看,為什麼用衛星的電波就能知道位置,又為什麼會偏移。
GPS與GNSS:用衛星定位的系統名稱
利用人造衛星的電波求出位置的系統,統稱為衛星定位系統。取英文名稱的字首,也寫成GNSS(全球導航衛星系統)。GPS(全球定位系統)是其中由美國營運的系統名稱。
GPS是美國為軍事用途建立的系統,現在全世界任何人都能免費使用。衛星在約20,000 km的高度,1天大約繞地球2圈。美國表示會維持至少24顆可用的衛星。截至2026年,運作中的衛星有30多顆。
其他國家和地區,也有自己的系統。
| 名稱 | 國家或地區 | 備註 |
|---|---|---|
| GPS | 美國 | 本文主要的例子 |
| GLONASS(格洛納斯) | 俄羅斯 | 全世界都能使用 |
| Galileo(伽利略) | 歐盟 | 2016年12月開始初期服務 |
| BeiDou(北斗) | 中國 | 2020年7月開始全球服務 |
| 準天頂衛星系統(QZSS)「Michibiki」 | 日本 | 以日本上空為主。2018年11月開始服務 |
現在的手機多半會同時使用這些系統。例如iPhone 16 Pro(2024年)的規格中,列出了上面5個系統和NavIC(印度)。能用的衛星越多,在看得到的天空很窄的地方,也越容易算出位置。平常說的「GPS」,很多時候其實是指整個GNSS。
知道位置的根據:「電波到達所花的時間」
電波是光的同類,在真空中1秒大約前進30萬 km。只要知道速度,就能從到達所花的時間算出距離。因為距離等於「速度×時間」。
GPS衛星會在電波中放入「發出這個電波的時刻」和「當時自己的位置」,持續不斷地發送。收到電波的手機,從它和到達時刻的差,求出電波在空中飛行的時間。再乘上光速,就知道到那顆衛星的距離。
衛星在正上方約20,200 km遠的地方時,電波約0.067秒(67毫秒)就會到達。斜方向的衛星距離更遠,有時會超過80毫秒。
時鐘差百萬分之1秒,距離就差300 m
這個方法非常怕時間量錯。電波在1微秒(百萬分之1秒)內約前進300 m。也就是說,時間差1微秒,距離就差約300 m。即使只差1奈秒(十億分之1秒),也有約30 cm。
因此,GPS衛星上搭載了非常精確的時鐘。這種時鐘利用原子只對特定頻率的電波起反應的性質。這叫做原子鐘。最新的GPS III衛星,每顆搭載3台使用銣這種元素的原子鐘。
在地面上,管制設施監視著衛星的時鐘和軌道。它們量出微小的偏差,把修正用的資訊傳給衛星。衛星再把這些資訊也放進電波中送出。
另一方面,手機裡的時鐘是利用石英振動的普通時鐘。它沒有原子鐘那麼精確,以微秒為單位來看,很快就會出現偏差。即使如此,手機也不需要搭載原子鐘。因為有下面要說明的方法。
為什麼需要4顆衛星
要決定位置,需要東西、南北、高度3個數字。知道到1顆衛星的距離,就知道自己在「以那顆衛星為中心、某個半徑的球面上」的某處。知道到3顆衛星的距離,3個球面相交的點就是位置。相交的點有2個,但其中1個在遙遠的太空中,可以排除。
不過,這是手機時鐘準確時的情況。手機時鐘有偏差時,到所有衛星的距離都會量得長(或短)同樣的量。這樣一來,球面就不會交在1點上。
因此,把時鐘的偏差也加進「未知數」。未知數就是東西、南北、高度、時鐘偏差這4個。要決定4個數,需要4條線索,也就是到4顆衛星的距離。
接收器一邊調整時鐘的偏差一邊計算,讓到4顆以上衛星的距離剛好對在1點上。這樣一來,除了位置,也同時知道手機時鐘的偏差。因此,GPS接收器也是取得精確時間的工具。看得到的衛星增加到5顆、6顆,計算的可靠度也會提高。
從雜訊中分辨出更弱的電波
衛星的電波要旅行20,000 km以上,到地面時已經非常微弱。GPS規格訂定的地面最低接收強度是 −128.5 dBm(約−130 dBm)。dBm是表示電波強度的單位,0 dBm是1毫瓦,每 −10 dBm就變成10分之1。−130 dBm是1毫瓦的10兆分之1,也就是10−16瓦。
接收器的電路中,電子會因為熱而雜亂地運動,所以一直會產生微小的雜訊。GPS的電波比這種雜訊還要弱。粗略估算,只有雜訊的數十分之1。
即使如此還能分辨出來,是因為每顆衛星都重複發送固定的0與1排列。這種排列叫做碼。GPS的民用電波,是把1,023位的碼每千分之1秒重複一次。
接收器有同樣的碼的副本,一邊一點一點錯開時間,一邊和收到的電波疊合。剛好對齊的地方,會出現很強的反應。雜訊是隨機的,疊合起來也不會互相增強。這個「剛好對齊時的時間差」,就是電波到達的時間點。
因為相對論,衛星的時鐘1天約快38微秒
衛星的原子鐘還有另一個意想不到的偏差。根據愛因斯坦的相對論,時鐘走的快慢,會隨周圍重力的強弱和移動的速度而改變。這種差異在日常生活中察覺不到,但在GPS中不能忽略。
衛星離地面約20,000 km,位在地球重力較弱的地方。重力弱時時鐘走得快,1天約快46微秒。另一方面,衛星以每秒約3.9 km的速度移動,移動快的時鐘會變慢。這部分1天約慢7微秒。
兩者相抵,衛星的時鐘1天比地面的時鐘約快38微秒。換算成距離約有11 km,對用時間量距離的GPS來說,大到不能放著不管。因此,衛星的時鐘在發射前,就調成走得稍微慢一點。把基準的10.23 MHz(1秒振動1,023萬次),調成10.22999999543 MHz。
這裡把內容簡化了。衛星的軌道稍微呈橢圓形,所以偏差的大小會隨在軌道上的位置略有變化。這個變化的部分,由接收器計算修正。
手機為什麼能馬上顯示位置:A-GPS
要計算位置,還需要衛星精確的軌道資訊。這些資訊也放在電波中,但傳送速度是1秒50位元,非常慢。位元就是0或1的1位數。讀完需要的部分,最多要花約36秒。
因此,手機會透過行動網路或Wi-Fi,先取得軌道資訊和大約的時間。從通訊的基地台,也能知道大概的目前位置。因為先知道哪顆衛星在天空的哪裡,找電波的工夫也會減少。這種系統叫做輔助全球衛星定位(A-GPS)。
多虧了A-GPS,打開地圖App時,大多能馬上顯示位置。在電波微弱、難以讀取軌道資訊的地方,也比較容易算出位置。
位置偏移的原因
根據美國政府的GPS官方網站,在開闊的天空下,手機的精度通常在半徑4.9 m以內。不過,靠近建築物、橋梁、樹木時會變差。下面看看造成偏移的3個主要原因。
1. 被建築物反射的電波
在高樓林立的街道上,從衛星直接來的電波會被建築物擋住,有時只收到被牆壁反射的電波。反射的電波繞了遠路,所以會晚到。接收器以為那顆衛星比實際更遠,位置就會偏移。直接的電波和反射的電波,也可能重疊在一起到達。像這樣電波經過好幾條路徑到達,叫做多路徑效應。
2. 電波在大氣層中延遲
電波通過遙遠上空的電離層時,會稍微延遲。電離層是空氣的一部分因為陽光等而帶電的一層。在更低的空氣層中,也會因為水蒸氣等而稍微延遲。延遲的大小會隨時段、天氣和太陽活動改變,所以即使用預測的公式修正,也無法完全消除。
電離層造成的延遲,會因電波的頻率而不同。因此,比較2個頻率的電波,就能估算延遲。能接收2個頻率(L1與L5)的手機用晶片,是Broadcom在2017年發表的。L5的電波還有容易分辨反射波的優點。
3. 衛星的分布方式
如果看得到的衛星都集中在天空的同一個方向,距離的小誤差就會變成位置的大誤差。因為球面以很淺的角度相交,交點會變得模糊。衛星越分散在天空各處,位置就越準確。在高樓之間,看得到的天空又細又長,衛星的分布也容易偏向一邊。
日本的例子:準天頂衛星系統「Michibiki」,從正上方來的電波與公分級的修正
日本的準天頂衛星系統「Michibiki」(QZSS),是由日本內閣府營運的衛星系統。主要的衛星從地面看,會像畫8字形一樣移動,長時間停留在日本正上方附近。正上方的天空叫做「天頂」,所以取名為「準天頂」。從正上方來的電波,不容易被大樓擋住,這是它的優點。
Michibiki也發送和GPS相同格式的電波,所以可以當作GPS衛星的夥伴來使用。2018年11月以4顆衛星開始服務,目前正推動擴充為7顆的計畫。2025年12月因發射失敗失去1顆,2026年8月發射了另1顆。依照計畫,7顆到齊後,只靠Michibiki就能算出日本周邊的位置。
另一個角色是發送提高精度用的修正資訊。日本國土地理院在全國設置了觀測點(電子基準點),從這些資料產生誤差資訊,再由衛星發送。這叫做公分級定位增強服務(CLAS)。根據內閣府的規格,靜止的接收器水平誤差有95%的機率在6 cm以內。
不過,要使用CLAS,需要能接收這種修正資訊的專用接收器。主要用途是測量,以及農業機械、建築機械這類需要精細位置的工作。並不是普通手機上的藍點,就會變成公分級的精度。
手機裡的接收電路
在手機中接收衛星電波的,是無線電路的一部分。天線收到的極微弱電波,先用不容易增加雜訊的放大器放大。接著把它轉到容易處理的低頻率,再轉換成0與1的數位資料。
之後,同時對好幾顆衛星進行前面說的「把碼疊合」的計算。有的機種把這些電路整合在負責計算核心的晶片(系統單晶片(SoC))中,也有的機種使用專用的小晶片。它和手機裡其他晶片的關係,在「手機裡有哪些半導體?」中有介紹。
在建築物裡:也用Wi-Fi和行動電話的電波當線索
在建築物裡,衛星的電波會被牆壁和屋頂進一步減弱,很多時候幾乎收不到。因此,手機也會結合衛星以外的線索。
根據Apple的說明,iPhone除了GPS,還會使用藍牙。也會使用周圍Wi-Fi主機和行動電話基地台的位置資料。方法是把收得到哪些主機的電波,和已知位置的資料互相比對。Wi-Fi電波的運作方式請看「Wi-Fi是怎麼運作的?」,基地台請看「5G是什麼?」。
常見的誤解
誤解:GPS衛星在監視手機的位置
實際上,GPS衛星只負責發出電波,並不接收手機發出的電波。手機是從收到的電波,自己計算位置。因為只是接收,不管有多少台接收器在使用,衛星那邊都不受影響。
位置會傳給其他人或公司,是在App透過行動網路或Wi-Fi送出位置的時候。可以使用位置資訊的App,能在手機的設定中選擇。「用衛星知道位置」和「位置被衛星知道」,很容易被混為一談。
誤解:沒有行動數據就不能用GPS
實際上,如果只是接收衛星電波來計算位置,並不需要通訊。即使在收不到手機訊號的山裡,只要天空開闊,就能算出位置。不過,因為沒有A-GPS的輔助,第一次顯示位置可能要花一些時間。另外,很多App的地圖畫面要透過通訊下載,事先沒有儲存就無法顯示。
誤解:地圖上的藍點,一定指著正確的地方
實際上,藍點是「最有可能的位置」。在Android上,位置會和精度的數字一起提供。意思是「真實位置有68%的機率在這個半徑的圓內」。很多地圖App會用點周圍的圓圈,表示這樣的參考範圍。在高樓之間或建築物裡,圓圈會變大,點也可能會跳動。
從數字來看
| 項目 | 數字 | 比較 |
|---|---|---|
| 時鐘偏差與距離 | 1微秒約300 m | 即使1奈秒也有約30 cm |
| 從正上方的衛星到達的時間 | 約0.067秒 | 距離約20,000 km |
| 相對論造成的時鐘變快 | 1天約38微秒 | 換算成距離約11 km |
| 地面收到的電波強度 | −128.5 dBm(規格的最低值) | 約10−16瓦 |
| 手機的精度(開闊的天空下) | 半徑約4.9 m | CLAS的規格為水平6 cm(靜止的接收器) |
進一步學習
- 手機裡處理電波的晶片:「手機裡有哪些半導體?」
- 把資料放上電波的方法:「Wi-Fi是怎麼運作的?」「5G是什麼?」
- 用計算試試看:dBm換算工具(可以確認 −130 dBm是多少瓦)
- 用表格看差異:Wi-Fi、藍牙與LPWA的差異(在建築物裡當作位置線索的無線通訊)
- 下一步的名詞:衰落(反射的電波重疊,強度大幅變動的現象)、自由空間路徑損耗(電波隨距離減弱的程度)、雜訊指數(電路增加的雜訊)