GPS從入門到放棄(四) — GPS信號結構
GPS信號結構可以分爲三層:
- 載波
- 僞碼
- 數據碼
載波
載波是三層裏的基礎,僞碼和數據碼都是調製在載波上才能發送。GPS有兩個載波頻率,L1和L2,L1爲1575.42MHz,L2爲1227.60MHz。我們常用的主要是L1載波。根據頻率,我們可以算出L1載波的波長:
僞碼
僞碼主要有兩個作用:一是用來實現碼分多址,二是用來測距。GPS系統其實就是一個基於碼分多址(CDMA)的擴頻系統。GPS使用的僞碼有兩種,一種是公開的C/A碼,一種是特許用戶才能用的P(Y)碼(Y碼就是加密的P碼,所以算成一種)。在此我們不管P(Y)碼,因爲我們用不了,以後我們只談C/A碼。
C/A碼是長度爲1023個碼片(chip)的金碼(Gold Code)。金碼是一種組合碼,由一對級數相同的m序列線性組合而成,很適用於多址擴頻的通信系統。它有着良好的自相關和互相關特性,即自相關函數幅值大大高於互相關函數幅值。這個特性被用來識別不同的金碼。C/A碼自然也具有這個良好的特性。因此不同的衛星可以用不同的C/A碼來區分。
一個C/A碼長度是1023個碼片,每1毫秒重複一次,因此其碼率爲1.023Mcps,一個碼片的時間約爲,將其乘以光速,得到1碼片的長度約爲293m。通過相關性的計算,可以得到當前C/A碼的相位,於是可以進行粗略的測距計算,當然精度只有300m左右。
若需要更高精度的測距,則需要用到載波相位。由C/A碼的碼率可以計算出1碼片時間L1載波重複次。相當於可以在精度300m的基礎上再提高1540倍,達到0.2m左右。當然這是理論值,還有很多其他因素的考慮,如鐘差、大氣延時等,以及載波相位的周整模糊度問題,這些我們以後再講。
數據碼
對每顆衛星來說,其C/A碼是固定的,無法用於傳遞導航電文。爲了能傳遞導航電文,GPS系統設計了數據碼。
數據碼的速率爲50bps,即一個比特持續20ms,相當於每一比特C/A碼重複20周。每個數據比特的發生沿都與C/A碼的第一個碼片的發生沿對齊。
數據碼的內容就是導航電文,導航電文的內容下一篇再講。
在發射信號的時候,數據碼首先與僞碼異或相加,其結果再通過雙相移位鍵控(BPSK)對載波進行調製,然後發送出去。接收的時候正好相反。
至此,GPS信號結構就很清晰了,如下圖所示: