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

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

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

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

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

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

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

历书参数的内容包括:M

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

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

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

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

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

从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 tUTC​=(tE​−ΔtUTC​)mod86400
其中 t E t_E tE​ 为GPS时间,而 Δ t U T C \Delta t_{UTC} ΔtUTC​ 为
Δ 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)) ΔtUTC​=ΔtLS​+A0​+A1​(tE​−tot​+604800(WN−WNt​))

  • 电离层延时校正参数:位于第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 α0​,α1​,α2​,α3​,β0​,β1​,β2​,β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 PRc​=PR−ERD
    其中 P R c PR_c PRc​为ERD校正后的伪距, P R PR PR是ERD校正前的。

星历和历书的比较

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

GPS从入门到放弃(五) --- GPS导航电文相关推荐

  1. GPS从入门到放弃(二十五) --- 卡尔曼滤波

    GPS从入门到放弃(二十五) - 卡尔曼滤波 概述 单点定位的结果因为是单独一个点一个点进行的,所以连续起来看数据可能出现上串下跳的情况,事实上并不符合实际情况.为了解决这个问题,考虑到物体运动的连续 ...

  2. GPS从入门到放弃(二十六) --- RTKLIB函数解析

    GPS从入门到放弃(二十六) - RTKLIB函数解析 为了贴合这个系列的标题"从入门到放弃",在入门之后现在就要放弃此方向了.虽然感觉遗憾,暂时也没有办法.在此附上此系列最后一篇 ...

  3. GPS从入门到放弃(六) --- 开普勒轨道参数

    GPS从入门到放弃(六) - 开普勒轨道参数 开普勒轨道参数是用于描述卫星轨道的,GPS卫星的无摄椭圆轨道运动就是用开普勒轨道参数来描述.参考GPS导航电文,电文中的星历和历书都是用开普勒轨道参数来描 ...

  4. GPS从入门到放弃(二) --- GPS时间

    GPS从入门到放弃(二) - GPS时间 上一篇GPS基础原理中提到了一个钟差的概念,并没有细说.GPS涉及到的时间有不少,这一篇就详细讲一讲. 时间是一个相对的概念,最简单的例子:你的手表的时间和我 ...

  5. GPS从入门到放弃(十二) --- 多普勒定速

    GPS从入门到放弃(十二) - 多普勒定速 多普勒效应 多普勒效应在我们日常生活中有很多,比如当一辆救护车迎面驶来的时候,听到声音比原来高:而车离去的时候声音的音高比原来低. 这个效应是为纪念奥地利物 ...

  6. GPS从入门到放弃(三) --- GPS坐标系

    GPS从入门到放弃(三) - GPS坐标系 定位就需要坐标,坐标当然是相对坐标系而言的,我们描述一个物体的位置,首先就需要建立坐标系. 按大类来分,坐标系可以分为惯性坐标系和非惯性坐标系.惯性坐标系是 ...

  7. GPS从入门到放弃(十) --- 定位方程解算和定位精度

    GPS从入门到放弃(十) - 定位方程解算和定位精度 上一篇伪距与载波相位中我们介绍了伪距的计算方法,也得到了包含 (x,y,z,δt)(x,\ y,\ z,\ \delta_t)(x, y, z,  ...

  8. GPS从入门到放弃(四) --- GPS信号结构

    GPS从入门到放弃(四) - GPS信号结构 GPS信号结构可以分为三层: 载波 伪码 数据码 载波 载波是三层里的基础,伪码和数据码都是调制在载波上才能发送.GPS有两个载波频率,L1和L2,L1为 ...

  9. GPS从入门到放弃(十四) --- 电离层延时

    GPS从入门到放弃(十四) - 电离层延时 电离层概念 电离层(Ionosphere)是地球大气的一个电离区域.它是受到太阳高能辐射以及宇宙线的激励而电离的大气高层.50千米以上的整个地球大气层都处于 ...

最新文章

  1. 【深度学习前沿】一文回顾深度学习十年发展
  2. python:拉格朗日插值实现及求解
  3. s6-1 传输层概述
  4. hive分隔符_HIVE-默认分隔符的(linux系统的特殊字符)查看,输入和修改
  5. C#中跨线程访问控件问题解决方案
  6. Docker-compose配置Mysql,Redis,MongoDB
  7. 穿越火线全部服务器都显示爆满,穿越火线大区全部爆满,频道挤不进去背后的故事!...
  8. 路由器链路聚合技术(Eth-Trunk、Ip-Trunk)
  9. microsoft visual c++全家桶_橡木桶——白兰地风味的“主宰”
  10. tcp三次握手和在局域网中使用 awl伪装MAC地址进行多线程SYN攻击
  11. sql 将某一列的值拼接成字符串
  12. ezcad旋转轴标刻参数_EzCad 2.0 扩展轴标刻插件使用说明书简体中文(.pdf
  13. linux下的键盘检测
  14. java 计算组合_java – 计算所有可能的组合
  15. 游戏手机评测之摩托罗拉E398
  16. 计算机的录像功能在哪里找,电脑录像功能在哪
  17. 解密QQ号(stl库)
  18. ubuntu16.04下源码安装arachni扫描器
  19. c语言程序延时10s,单片机C语言程序设计:10s 的秒表
  20. 联想笔记本打开野兽模式

热门文章

  1. 后渗透篇:Windows 2008 server提权之突破系统权限安装shift后门
  2. 【Java学习】数组
  3. 帆软中常用的日期函数
  4. Easyx小游戏制作教程
  5. 摩根大通开展试点,将债券发行放上区块链
  6. 【Python】蓝桥杯校内赛2.27
  7. LNMP架构环境搭建流程很详细
  8. 她为什么赢得了老公的尊重
  9. 创新案例分享 | 打造社区矫正数据协同平台,共享社会治理新局面
  10. vue3 区别于 vue2 的“与众不同”