GPS从入门到放弃(五) --- GPS导航电文

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位为奇偶校验码。
TLW

交接字

其结构如下图所示。第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。
HOW

数据字

对于数据字,各个子帧就不一样了,下面分子帧来讲。

第一子帧

第一子帧包含的数据有

  • 周数(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位,单频接收机用这个数据来校正电离层延时。
  • 时钟校正参数:包含 t o c , a f 0 , a f 1 , a f 2 t_{oc}, a_{f0}, a_{f1}, a_{f2} 。用于校正卫星时钟。卫星时钟在GPS时间为t时的卫星钟差 Δ t s \Delta t_s 可以表示为:
    Δ t s = a f 0 + a f 1 ( t t o c ) + a f 2 ( t t o c ) 2 \Delta t_s = a_{f0} + a_{f1}(t-t_{oc}) + a_{f2}(t-t_{oc})^2
第二、三子帧

第二子帧和第三子帧的数据合在一起可以提供一套卫星星历(Ephemeris)参数。

参数名 位数 含义
t o e t_{oe} 16 星历参考时间
A \sqrt{A} 32 卫星轨道半长轴A的平方根
e e 32 卫星轨道偏心率
i 0 i_0 32 t o e t_{oe} 时的轨道倾角
Ω 0 \Omega_0 32 周内时为0时的轨道升交点赤经
ω \omega 32 近地点角距
M 0 M_0 32 t o e t_{oe} 时的平近点角
Δ n \Delta_n 16 卫星平均角速度校正值
i ˙ \dot{i} 14 轨道倾角的变化率
Ω ˙ \dot{\Omega} 24 轨道升交点赤经的变化率
C u c C_{uc} 16 升交点角距余弦调和校正振幅
C u s C_{us} 16 升交点角距正弦调和校正振幅
C r c C_{rc} 16 轨道半径余弦调和校正振幅
C r s C_{rs} 16 轨道半径正弦调和校正振幅
C i c C_{ic} 16 轨道倾角余弦调和校正振幅
C i s C_{is} 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的有效时间,计算 t N M C T t_{NMCT} ,可以在众多卫星发送的NMCT中选取最新的值来使用。
第四、五子帧

第四子帧和第五子帧的数据量比较大,无法包含在一帧内,所以进行了分页,完整电文有25页,即需要25帧才能把完整的数据发送完。发送一帧是30s,所以完整电文发送完一遍需要750s,即12.5分钟。不过第四、五子帧的内容并不是定位所急需的,所以定位并不需要等这么久。

第四子帧和第五子帧包含的数据主要有:

  • Data ID 和 SV ID:主要用于指示该页表示的内容,若为星历数据,则SV ID是卫星PRN号。

  • 所有卫星的历书(Almanac)参数

历书参数的内容包括:M

参数名 位数 含义
t o a t_{oa} 8 历书参考时间
A \sqrt{A} 24 卫星轨道半长轴A的平方根
e e 16 卫星轨道偏心率
δ i \delta_i 16 t o a t_{oa} 时的轨道倾角 δ i = i 0 0.3 π \delta_i = i_0-0.3\pi
Ω 0 \Omega_0 24 周内时为0时的轨道升交点赤经
ω \omega 24 近地点角距
M 0 M_0 24 t o a t_{oa} 时的平近点角
Ω ˙ \dot{\Omega} 16 轨道升交点赤经的变化率
a f 0 a_{f0} 11 卫星时钟校正参数
a f 1 a_{f1} 11 卫星时钟校正参数
  • 卫星健康状况指示:对32颗卫星中的每颗卫星健康状态都有两处地方指示:

    • 一是在每一个含历书的页中;8位,其中3位为问题分类,5位具体表示是什么问题。
    • 一是在第四、五子帧的第25页;6位,其中1位为汇总是否有问题,5位具体表示是什么问题。
  • 反电子欺骗措施(AS: Anti-Spoof)标志:在第4子帧的第25页,对32颗卫星中的每颗卫星都有一个4位的标志,其中1位表示是否实施了该措施,3位表示具体配置。

  • 历书参考周数 W N a WN_a (Almanac Reference Week):8位,历书参考时间 t o a t_{oa} 就是相对于 W N a WN_a 的,这样就可以确定历书参考时间。

  • UTC数据:GPS时间与协调时(UTC)的差异参数,位于第4子帧第18页。这些参数由地面站负责更新,至少每6天更新一次,否则准确性会随时间流逝而下降。

参数名 位数 含义
A 0 A_0 32 计算秒内时间偏差的系数
A 1 A_1 24 计算秒内时间偏差的系数
Δ t L S \Delta t_{LS} 8 因闰秒导致的时间差异
t o t t_{ot} 8 UTC的参考时间
W N t WN_t 8 基于UTC时间的周数
W N L S F WN_{LSF} 8 GPS周数 mod 256,指示闰秒的日期所在的周
D N DN 8 相对 W N L S F WN_{LSF} 的天数,与 W N L S F WN_{LSF} 一起指示闰秒的日期
Δ t L S F \Delta t_{LSF} 8 发生润秒后取代 Δ t L S \Delta t_{LS} 用于计算

从GPS时间计算UTC时间的方法为:
t U T C = ( t E Δ t U T C ) m o d    86400 t_{UTC} = (t_E - \Delta t_{UTC}) \mod 86400
其中 t E t_E 为GPS时间,而 Δ t U T C \Delta t_{UTC}
Δ t U T C = Δ t L S + A 0 + A 1 ( t E t o t + 604800 ( W N W N t ) ) \Delta t_{UTC} = \Delta t_{LS} + A_0 + A_1(t_E-t_{ot}+604800(WN-WN_t))

  • 电离层延时校正参数:位于第4子帧第18页,有8个参数 α 0 , α 1 , α 2 , α 3 , β 0 , β 1 , β 2 , β 3 \alpha_0, \alpha_1, \alpha_2, \alpha_3, \beta_0, \beta_1, \beta_2, \beta_3 ,每个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。
    使用方法为:
    P R c = P R E R D PR_c = PR - ERD
    其中 P R c PR_c 为ERD校正后的伪距, P R PR 是ERD校正前的。

星历和历书的比较

  • 两者都是用开普勒轨道参数来表示,都用于描述卫星在各个时刻的空间位置和运动速度。
  • 星历有效期短,只有4小时;历书有效期长达半年。
  • 星历参数多,历书参数少。
  • 星历参数中有摄动校正量,而历书没有,因为历书有效期长,不适用。
  • 星历参数精度高,历书参数精度低。
  • 星历参数与历书参数是由地面站独立推算的,因此它们的参数值有可能不同。
  • 一颗卫星只播发自己的星历,但是会播发所有卫星的历书。
  • 根据星历计算得到的卫星位置和速度值相当准确,可以直接用于定位与定速;根据历书计算的结果准确度不高,一般只能用于卫星信号的搜索和捕获。
发布了63 篇原创文章 · 获赞 16 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/tyst08/article/details/102135596