GPS從入門到放棄(五) — GPS導航電文
GPS的導航電文以幀的形式編排爲比特流,每一幀爲1500比特,這1500比特又分爲5個子幀,每個子幀爲300比特。每一子幀又分爲10個字,每個字30爲比特。發送時MSB在前。每一比特發送需要20ms,所以發送一幀需要30s。
每週開始的時候(週六半夜12點/週日凌晨0點),不管之前數據發到哪個子幀,從第一子幀重新開始發;第四、五子幀從第一頁開始發。
對每一個子幀來說,其第一個字是遙測字(TLW: Telemetry Word),第二個字是交接字(HOW: HandOver Word),後8個字爲數據。
遙測字
其結構如下圖所示。其首8個比特爲前導碼(preamble),前導碼固定爲10001011。這個固定的前導碼可以用來搜索、確定子幀的起始沿。第9位到第22位提供特許用戶使用的數據,我們不用管。第23位爲完好性狀態指示標誌(ISF:Integrity Status Flag),爲1表示有發射的信號有增強的完好性保證,即更加靠譜。當然這個靠譜是有標準的,在GPS的接口說明文檔裏有詳細數值指標,需要詳細瞭解的可以去查閱。第24位保留。最後6位爲奇偶校驗碼。
交接字
其結構如下圖所示。第1到17比特爲被截斷的周內時(TOW: Time of Week),表示的是下一子幀起始沿的GPS時間,單位爲6s,即變動1表示時間6s。第18位爲警告標誌,爲1時非特許用戶自行承擔使用該衛星信息的風險。第19位爲反電子欺騙措施(AS)標誌,爲1表示實施了該措施。第20位到22位爲子幀ID,每一幀有5個子幀,ID爲1~5。第23、24比特是通過求解得到的,目的是保證奇偶校驗碼的最後29、30比特爲0。
數據字
對於數據字,各個子幀就不一樣了,下面分子幀來講。
第一子幀
第一子幀包含的數據有
- 週數(WN: Week Number):10位,最大值爲1023,表示從GPS時間0時開始的第幾周。因位數限制,最大表示範圍只有約19.6年,於是每19.6年會翻轉一次。最近一次翻轉發生在今年4月6日。
- L2載波上是否有P碼和C/A碼:2位,這個我們不管。
- 用戶測距精度(URA: User Range Accuracy):4位,16個級別,數值越小,精度越高。
- 衛星健康狀況:6位,其中1位爲彙總是否有問題,5位具體表示是什麼問題。
- 時鐘數據的期號(IODC: Issue of Data, Clock):10位,同一期(同樣)的時鐘校正參數有着相同的期號,因此可用於確定時鐘校正參數是否發生變化。
- L2載波的P碼上是否有導航電文:1位,這個我們不管。
- 預估羣波延時(Estimated Group Delay Differential):8位,單頻接收機用這個數據來校正電離層延時。
- 時鐘校正參數:包含。用於校正衛星時鐘。衛星時鐘在GPS時間爲t時的衛星鐘差可以表示爲:
第二、三子幀
第二子幀和第三子幀的數據合在一起可以提供一套衛星星曆(Ephemeris)參數。
參數名 | 位數 | 含義 |
---|---|---|
16 | 星曆參考時間 | |
32 | 衛星軌道半長軸A的平方根 | |
32 | 衛星軌道偏心率 | |
32 | 時的軌道傾角 | |
32 | 周內時爲0時的軌道升交點赤經 | |
32 | 近地點角距 | |
32 | 時的平近點角 | |
16 | 衛星平均角速度校正值 | |
14 | 軌道傾角的變化率 | |
24 | 軌道升交點赤經的變化率 | |
16 | 升交點角距餘弦調和校正振幅 | |
16 | 升交點角距正弦調和校正振幅 | |
16 | 軌道半徑餘弦調和校正振幅 | |
16 | 軌道半徑正弦調和校正振幅 | |
16 | 軌道傾角餘弦調和校正振幅 | |
16 | 軌道傾角正弦調和校正振幅 |
除了星曆參數以外,還有
- 星曆數據的期號(IODE: Issue of Data, Ephemeris):8位,可用於確定星曆數據是否發生變化。它在第二和第三子幀中都有,方便儘快發現星曆參數的變化。一般情況下,IODE的值與第一子幀中的IODC值的低8位應該相同,若不同,則發送的參數有變化,需要更新數據。
- 星曆數據的有效期(Curve Fit Interval)指示標誌:1位,爲0表示4小時,爲1表示4小時以上。
- AODO(Age of Data Offset):5位無符號整數,其值需要乘於900,單位爲秒。用於判斷在第四子幀中的NMCT的有效時間,計算,可以在衆多衛星發送的NMCT中選取最新的值來使用。
第四、五子幀
第四子幀和第五子幀的數據量比較大,無法包含在一幀內,所以進行了分頁,完整電文有25頁,即需要25幀才能把完整的數據發送完。發送一幀是30s,所以完整電文發送完一遍需要750s,即12.5分鐘。不過第四、五子幀的內容並不是定位所急需的,所以定位並不需要等這麼久。
第四子幀和第五子幀包含的數據主要有:
-
Data ID 和 SV ID:主要用於指示該頁表示的內容,若爲星曆數據,則SV ID是衛星PRN號。
-
所有衛星的歷書(Almanac)參數
曆書參數的內容包括:M
參數名 | 位數 | 含義 |
---|---|---|
8 | 曆書參考時間 | |
24 | 衛星軌道半長軸A的平方根 | |
16 | 衛星軌道偏心率 | |
16 | 時的軌道傾角 | |
24 | 周內時爲0時的軌道升交點赤經 | |
24 | 近地點角距 | |
24 | 時的平近點角 | |
16 | 軌道升交點赤經的變化率 | |
11 | 衛星時鐘校正參數 | |
11 | 衛星時鐘校正參數 |
-
衛星健康狀況指示:對32顆衛星中的每顆衛星健康狀態都有兩處地方指示:
- 一是在每一個含曆書的頁中;8位,其中3位爲問題分類,5位具體表示是什麼問題。
- 一是在第四、五子幀的第25頁;6位,其中1位爲彙總是否有問題,5位具體表示是什麼問題。
-
反電子欺騙措施(AS: Anti-Spoof)標誌:在第4子幀的第25頁,對32顆衛星中的每顆衛星都有一個4位的標誌,其中1位表示是否實施了該措施,3位表示具體配置。
-
曆書參考週數(Almanac Reference Week):8位,曆書參考時間就是相對於的,這樣就可以確定曆書參考時間。
-
UTC數據:GPS時間與協調時(UTC)的差異參數,位於第4子幀第18頁。這些參數由地面站負責更新,至少每6天更新一次,否則準確性會隨時間流逝而下降。
參數名 | 位數 | 含義 |
---|---|---|
32 | 計算秒內時間偏差的係數 | |
24 | 計算秒內時間偏差的係數 | |
8 | 因閏秒導致的時間差異 | |
8 | UTC的參考時間 | |
8 | 基於UTC時間的週數 | |
8 | GPS週數 mod 256,指示閏秒的日期所在的周 | |
8 | 相對的天數,與一起指示閏秒的日期 | |
8 | 發生潤秒後取代用於計算 |
從GPS時間計算UTC時間的方法爲:
其中 爲GPS時間,而 爲
-
電離層延時校正參數:位於第4子幀第18頁,有8個參數,每個8位,用於電離層延時的校正。
-
特殊信息:第4子幀的第17頁。可以包含22個的8位ASCII碼,用於傳遞一些特殊信息。
-
僞距校正值(NMCT: Navigation Message Correction Table):位於第4子幀第13頁,包含一個2位的可用性指示(AI: Availability Indicator)和30個6位的ERD(Estimated Range Deviation)值。
AI指示校正值是否加密,普通用戶和特許用戶是否可用。
30個ERD存放衛星ID 1~31中除了自己的其餘30個衛星的ERD值,按ID號升序排列。每個ERD爲6位,一位符號位,5位數據,LSB相當於0.3m。
使用方法爲:
其中爲ERD校正後的僞距,是ERD校正前的。
星曆和曆書的比較
- 兩者都是用開普勒軌道參數來表示,都用於描述衛星在各個時刻的空間位置和運動速度。
- 星曆有效期短,只有4小時;曆書有效期長達半年。
- 星曆參數多,曆書參數少。
- 星曆參數中有攝動校正量,而曆書沒有,因爲曆書有效期長,不適用。
- 星曆參數精度高,曆書參數精度低。
- 星曆參數與曆書參數是由地面站獨立推算的,因此它們的參數值有可能不同。
- 一顆衛星只播發自己的星曆,但是會播發所有衛星的歷書。
- 根據星曆計算得到的衛星位置和速度值相當準確,可以直接用於定位與定速;根據曆書計算的結果準確度不高,一般只能用於衛星信號的搜索和捕獲。