北斗导航电文解析:D1/D2 与 B-CNAV 系列全指南
适用对象:刚开始接触北斗导航电文、广播星历、历书、B-CNAV 与 PPP-B2b 的 GNSS 初学者。
1. 先给结论
北斗导航电文可以先按“传统体制”“新一代公开服务体制”“增强服务体制”理解:
| 类别 | 导航电文/服务 | 典型承载信号 | 主要播发卫星 | 核心用途 |
|---|---|---|---|---|
| 传统体制 | D1 | B1I、B2I、B3I | BDS-2/3 MEO、IGSO | 播发本卫星的广播星历、钟差、健康状态、历书等基本导航信息 |
| 传统体制 | D2 | B1I、B2I、B3I | BDS-2/3 GEO | 播发本卫星的基本导航信息,并可承载区域增强类信息 |
| 新一代公开服务 | B-CNAV1 | B1C | BDS-3 MEO、IGSO | B1C 公开服务导航电文 |
| 新一代公开服务 | B-CNAV2 | B2a | BDS-3 MEO、IGSO | B2a 公开服务导航电文 |
| 新一代公开服务 | B-CNAV3 | B2b | BDS-3 MEO、IGSO | B2b 公开服务导航电文 |
| 增强服务 | PPP-B2b | B2b | BDS-3 GEO | 播发实时精密改正数,不等同于普通广播星历电文 |
一句话总结:
D1/D2 是北斗传统导航电文;B-CNAV1/2/3 是 BDS-3 新一代公开服务导航电文;PPP-B2b 是 GEO 通过 B2b 播发的实时 PPP 增强服务电文,不应简单等同于 B-CNAV3。
2. 星历与历书:先分清“本星较精确信息”和“全星座粗略信息”
讨论导航电文前,必须先分清两个概念:星历(Ephemeris) 与 历书(Almanac)。
| 对比维度 | 星历(Ephemeris) | 历书(Almanac) |
|---|---|---|
| 描述对象 | 通常为本卫星 | 全星座或一组卫星 |
| 信息精度 | 高于历书,供定位解算直接使用 | 低,主要用于快速捕获、选星和冷启动 |
| 典型内容 | 广播轨道参数、钟差参数、健康状态、IOD 等 | 概略轨道、卫星健康状态、星座状态等 |
| 更新频率 | 高,通常按小时级更新 | 低,通常按天级或更长周期更新 |
| 接收机用途 | 计算卫星发射时刻的位置和钟差 | 判断大致有哪些卫星可见,辅助捕获和选星 |
2.1 星历是否包含其他卫星的信息?
对普通广播星历来说,每颗卫星主要播发自己的广播星历。接收机要用某颗卫星定位,就必须获得该卫星自己的广播星历。
但要注意两个例外或扩展场景:
-
历书可以包含其他卫星的粗略轨道信息;
-
增强服务电文,例如 PPP-B2b,可以播发多颗卫星的轨道、钟差、码偏差等改正数。
所以更严谨的说法是:
普通导航电文中的本星星历:主要描述本卫星; 历书:粗略描述全星座或多颗卫星; PPP-B2b / SSR 类增强电文:可以描述多颗卫星的实时改正信息。
2.2 历书是否包含全星座信息?
是的。历书是全星座或多颗卫星的粗略信息,通常通过页面轮播方式播发。
需要注意:
-
不能理解成“一颗卫星在同一秒播发完整全星座历书”;
-
更准确的说法是:每颗卫星按页面轮播全星座或多颗卫星的历书信息;
-
接收机连续接收一段时间后,才能拼齐比较完整的历书集合。
3. 传统体制:D1 与 D2 导航电文
D1 和 D2 是北斗传统导航电文格式,主要用于 B1I、B2I、B3I 等传统公开服务信号。
3.1 D1 与 D2 的根本区别
| 项目 | D1 电文 | D2 电文 |
|---|---|---|
| 主要播发卫星 | MEO / IGSO | GEO |
| 数据速率 | 50 bps | 500 bps |
| 单个 300 bit 子帧时长 | 6 s | 0.6 s |
| 基本导航信息 | 有 | 有 |
| 区域增强类信息 | 通常不承担主要增强播发 | 可包含完整性、差分改正、电离层格网等增强信息 |
| 信息轮播周期 | 完整历书等辅助信息约 12 min 量级 | 完整历书等辅助信息约 6 min 量级 |
D1 和 D2 的区别不是“星历物理含义完全不同”,而是:
-
适用卫星不同:MEO/IGSO 通常用 D1,GEO 通常用 D2;
-
码速率不同:D2 是 500 bps,比 D1 的 50 bps 快 10 倍;
-
帧结构不同:D2 的基本导航信息分散在多个页面中;
-
附加服务不同:D2 可承载区域增强相关信息;
-
GEO 处理不同:GEO 卫星坐标计算和健康/增强信息处理要严格按 ICD 实现。
3.2 D1 的典型播发结构
D1 电文与 GPS 传统 LNAV 在“低速率、固定子帧、分页轮播”的设计思路上有相似之处:
-
数据速率:50 bps;
-
1 个子帧:300 bit,持续 6 s;
-
1 个主帧:5 个子帧,持续 30 s;
-
基本星历和钟差信息重复较快;
-
历书、UTC、系统时间偏差等辅助信息通过页面轮播;
-
完整历书轮播周期约 12 min 量级。
3.3 D2 的典型播发结构
D2 电文用于 GEO 卫星,速率更高:
-
数据速率:500 bps;
-
1 个 300 bit 子帧持续 0.6 s;
-
基本导航信息分散在子帧 1 的多个页面中;
-
虽然单页更快,但完整基本星历、钟差仍需要按页面组合;
-
历书、区域电离层、差分改正、完整性等信息按页面轮播;
-
完整辅助信息轮播周期约 6 min 量级,不同信息类型的更新周期可能不同。
3.4 D1 与 D2 的广播星历参数完全一样吗?
更严谨的说法是:
D1 与 D2 的基本星历、钟差参数属于同一类传统广播星历模型,参数物理含义总体一致;但电文分页位置、播发方式、GEO 卫星坐标处理和增强信息组织存在差异,不能简单说“完全没有区别”。
对工程实现来说,应注意三点:
-
解析入口不同:D1 和 D2 的页面位置不同,解析器不能混用;
-
GEO 处理要单独检查:GEO 卫星的位置计算、健康状态和增强信息处理要按 ICD 实现;
-
不要只看参数名:同名参数的缩放因子、bit 位置、页面号都必须按对应电文格式解析。
4. 新一代体制:B-CNAV1、B-CNAV2、B-CNAV3
北斗三号引入 B1C、B2a、B2b 等新信号,对应新一代 B-CNAV 电文。
4.1 信号与电文的对应关系
| 电文/服务 | 对应信号 | 中心频率 | 主要定位用途 |
|---|---|---|---|
| B-CNAV1 | B1C | 1575.42 MHz | BDS-3 B1C 公开服务导航电文 |
| B-CNAV2 | B2a | 1176.45 MHz | BDS-3 B2a 公开服务导航电文 |
| B-CNAV3 | B2b | 1207.14 MHz | BDS-3 MEO/IGSO 的 B2b 公开服务导航电文 |
| PPP-B2b | B2b | 1207.14 MHz | BDS-3 GEO 播发的实时 PPP 增强改正电文 |
这里最容易犯的错误是:
B-CNAV3 与 PPP-B2b 都与 B2b 频点有关,但二者不是同一个概念。
4.2 B-CNAV1 与 B-CNAV2
B-CNAV1 和 B-CNAV2 分别承载在 B1C 与 B2a 上,主要面向 BDS-3 公开服务。它们通常包含:
-
本卫星的广播星历;
-
本卫星的钟差;
-
群延迟 / 信号间偏差相关参数;
-
电离层改正参数;
-
卫星健康状态;
-
历书;
-
系统时间偏差等辅助信息。
它们的主要区别不是“一个精度高、一个精度低”,而是:
-
承载频点不同;
-
帧结构和编码方式不同;
-
电文类型和页面组织方式不同;
-
接收机可结合多频观测减弱或消除一阶电离层误差。
4.3 B-CNAV3 与 PPP-B2b 的区别
4.3.1 B-CNAV3 是什么?
B-CNAV3 是 BDS-3 MEO/IGSO 卫星在 B2b 公开服务信号上播发的普通导航电文,用于播发普通导航所需的基本导航信息,例如本星广播星历、钟差、健康状态、历书等。
因此,B-CNAV3 不应被描述为“GEO 专属”。更准确的说法是:
B-CNAV3 主要对应 BDS-3 MEO/IGSO 的 B2b 公开服务导航电文。
4.3.2 PPP-B2b 是什么?
PPP-B2b 是 BDS-3 通过 GEO 卫星 B2b 信号播发的精密单点定位增强服务。它的内容不是普通广播星历,而是类似 SSR 的实时精密改正信息,典型包括:
-
卫星轨道改正;
-
卫星钟差改正;
-
码偏差改正;
-
用户测距精度或完好性相关信息;
-
面向中国及周边区域的增强改正信息。
因此,PPP-B2b 更接近“星基实时精密改正数服务”,不是普通导航电文中的“本星广播星历”。
4.3.3 二者关系怎么理解?
结论:
B2b 是频点;B-CNAV3 是普通导航电文;PPP-B2b 是增强服务电文。不要把三者混为一谈。
5. D1/D2 与 B-CNAV 的星历参数差异
5.1 D1/D2:传统 16 参数轨道星历
D1/D2 使用传统 Kepler 轨道根数加调和摄动改正项的广播星历模型。工程上常说的“16 参数”主要指轨道参数,不是把钟差、健康状态、TGD、IOD 等所有字段都算进去。
常见 16 个轨道参数可写为:
| 序号 | 参数 | 含义 |
|---|---|---|
| 1 | t_{oe} | 星历参考时刻 |
| 2 | \sqrt{A} | 轨道半长轴平方根 |
| 3 | e | 偏心率 |
| 4 | \omega | 近地点角距 |
| 5 | \Delta n | 平均角速度修正 |
| 6 | M_0 | 参考时刻平近点角 |
| 7 | \Omega_0 | 参考时刻升交点赤经 |
| 8 | \dot{\Omega} | 升交点赤经变化率 |
| 9 | i_0 | 参考时刻轨道倾角 |
| 10 | \dot{i} / IDOT | 轨道倾角变化率 |
| 11 | C_{uc} | 纬度幅角余弦改正项 |
| 12 | C_{us} | 纬度幅角正弦改正项 |
| 13 | C_{rc} | 轨道半径余弦改正项 |
| 14 | C_{rs} | 轨道半径正弦改正项 |
| 15 | C_{ic} | 轨道倾角余弦改正项 |
| 16 | C_{is} | 轨道倾角正弦改正项 |
钟差参数应单独理解,例如:
| 参数 | 含义 |
|---|---|
| a_0 | 卫星钟差常数项 |
| a_1 | 卫星钟差一次项 / 频率偏差项 |
| a_2 | 卫星钟差二次项 / 频漂项 |
| TGD / ISC | 不同信号间的群延迟或信号间偏差改正 |
| IOD / IODE | 数据期号,用于判断星历和改正数匹配关系 |
5.2 B-CNAV1/2/3:现代化 18 参数轨道星历
B-CNAV 系列采用新一代广播星历参数组织方式。公开 ICD 中,一组卫星星历参数通常由:
卫星轨道类型参数 SatType + 18 个准 Kepler 轨道参数
组成。这里要注意:
SatType 用来说明 GEO / IGSO / MEO 等轨道类型, 它不属于 18 个准 Kepler 轨道参数本身。
与传统 16 参数相比,B-CNAV 的 18 参数模型重点增强了两类时间变化描述:
-
半长轴相关变化:不只给出参考时刻的轨道尺度,还给出轨道尺度变化率;
-
平均角速度修正相关变化:不只给出参考时刻的平均角速度修正,还给出其变化率。
用工程近似表达,可理解为:
$$
A(t) \approx A_0 + \dot{A}\,t_k
$$
$$
\Delta n(t) \approx \Delta n_0 + \dot{\Delta n_0}\,t_k
$$
$$
n(t) \approx \sqrt{\frac{\mu}{A(t)^3}} + \Delta n(t)
$$
其中:
-
A_0:参考时刻半长轴;
-
\dot{A}:半长轴变化率;
-
\Delta n_0:参考时刻平均角速度修正;
-
\dot{\Delta n_0}:平均角速度修正变化率;
-
t_k=t-t_{oe}:相对星历参考时刻的时间差。
注意:上面公式只用于帮助理解“为什么 18 参数比 16 参数更能描述拟合区间内的轨道变化”。正式解算必须严格按对应 ICD 或 RINEX/接收机解码库字段定义实现。
5.3 不要把 D1/D2 和 B-CNAV 理解成“同一套参数换了个频点”
更准确的说法是:
D1/D2 与 B-CNAV 都服务于广播星历定位,但星历参数组织、编码方式、完整性字段、信号偏差字段和解析流程不同。接收机实现时应按对应 ICD 独立解析。
6. 常见误区修正
误区 1:一颗卫星会播发所有卫星的广播星历
错误。
正确理解:
普通导航电文中,每颗卫星主要播发自己的广播星历;全星座粗略信息主要通过历书体现;多星实时精密改正信息则属于 PPP-B2b / SSR 等增强服务范畴。
误区 2:历书和星历只是精度不同,本质完全一样
不严谨。
正确理解:
星历用于较精确地计算卫星位置和钟差,是定位解算的直接输入;历书用于粗略选星和辅助捕获,不能替代星历做精确定位。
误区 3:D1 和 D2 的区别只是“播发快慢不同”
不完整。
正确理解:
D1/D2 不仅速率不同,而且适用卫星不同、帧结构不同;D2 还可承担 GEO 区域增强类信息播发。
误区 4:B-CNAV3 是 GEO 专属
错误。
正确理解:
B-CNAV3 对应 BDS-3 MEO/IGSO 在 B2b 上播发的公开服务导航电文;GEO 在 B2b 上播发的是 PPP-B2b 增强服务电文。
误区 5:B-CNAV3 和 PPP-B2b 是同一种电文
错误。
正确理解:
两者都与 B2b 频点有关,但服务目的不同:B-CNAV3 是普通导航电文,PPP-B2b 是实时精密改正服务电文。
误区 6:“16 参数 / 18 参数”包含钟差、TGD 和健康状态
错误。
正确理解:
16 参数 / 18 参数主要指广播星历中的轨道参数模型;钟差、TGD/ISC、健康状态、IOD、SISAI/SISMAI 等是导航电文中的其他字段,不应混入轨道参数数量统计。
7. 工程实现建议
如果你在写北斗导航电文解析程序,建议按以下逻辑设计:
7.1 关键注意事项
-
先区分数据来源 原始信号、RINEX 4 NAV、RTCM、厂商私有日志的字段组织可能不同。
-
再区分信号和导航电文类型 B1I/B2I/B3I 通常对应 D1/D2;B1C/B2a/B2b 对应 B-CNAV;但 B2b 还可能涉及 PPP-B2b。
-
不要只根据频点判断服务类型 B2b 既可能涉及 B-CNAV3,也可能涉及 PPP-B2b。应结合卫星 PRN、轨道类型、导航电文类型和接收机输出日志判断。
-
普通定位和 PPP 增强要分开处理 普通广播星历给出卫星位置和钟差;PPP-B2b 给出对广播星历的轨道、钟差、码偏差等实时改正。
-
16 参数结构体不足以覆盖 B-CNAV 若程序只定义传统字段:
sqrtA, e, i0, OMG0, omg, M0, deln, OMGd, idot, cuc, cus, crc, crs, cic, cis, toe
则只能完整表达传统 16 参数星历。若要支持 B-CNAV,建议增加:
navType; // D1/D2/CNV1/CNV2/CNV3/PPP-B2b... satType; // GEO/IGSO/MEO Adot; // 半长轴变化率或等价字段 ndot; // Delta n0 dot deltaA; // ICD 原始半长轴差值字段,若数据源提供 sqrtA0; // RINEX 风格参考半长轴平方根字段,若数据源提供 sisai; sismai; isc[]; tgd[]; sourceFormat; // RINEX/RTCM/RAW/厂商日志
8. 最终总结
可以把北斗导航电文理解成三层:
最简记忆:
-
星历主要管本星精确定位所需信息,历书管全局粗略信息。
-
D1/D2 看传统信号和卫星轨道类型:MEO/IGSO 用 D1,GEO 用 D2。
-
B-CNAV 看新信号:B1C 对 B-CNAV1,B2a 对 B-CNAV2,B2b 对 B-CNAV3。
-
B2b 频点不是唯一电文类型:MEO/IGSO 可播 B-CNAV3,GEO 可播 PPP-B2b。
-
16 参数 / 18 参数主要是轨道参数模型,不包括钟差、TGD/ISC、健康状态等字段。
-
写解析程序时,不要把 D1/D2、B-CNAV3、PPP-B2b 混用。
9. 参考依据
-
China Satellite Navigation Office, BeiDou Navigation Satellite System Signal In Space Interface Control Document: Open Service Signal B1I, Version 3.0, 2019. https://en.beidou.gov.cn/SYSTEMS/ICD/201902/P020190227702348791891.pdf
-
China Satellite Navigation Office, BeiDou Navigation Satellite System Signal In Space Interface Control Document: Open Service Signal B1C, Version 1.0, 2017. https://en.beidou.gov.cn/SYSTEMS/ICD/201806/P020180608525266154278.pdf
-
China Satellite Navigation Office, BeiDou Navigation Satellite System Signal In Space Interface Control Document: Open Service Signal B2a, Version 1.0, 2017. https://en.beidou.gov.cn/SYSTEMS/ICD/201806/P020180608522414961797.pdf
-
China Satellite Navigation Office, BeiDou Navigation Satellite System Signal In Space Interface Control Document: Open Service Signal B2b, Version 1.0, 2020. https://en.beidou.gov.cn/SYSTEMS/Officialdocument/202008/P020231201543618407017.pdf
-
China Satellite Navigation Office, BeiDou Navigation Satellite System Signal In Space Interface Control Document: Precise Point Positioning Service Signal PPP-B2b, Version 1.0, 2020. https://en.beidou.gov.cn/SYSTEMS/ICD/202008/P020231201538195573144.pdf
-
IGS/RTCM RINEX Committee, RINEX The Receiver Independent Exchange Format Version 4.02. https://files.igs.org/pub/data/format/rinex_4.02.pdf
-
Nie et al., “Initial Assessment of BDS PPP-B2b Service: Precision of Orbit and Clock Corrections, and PPP Performance,” Remote Sensing, 2021. https://www.mdpi.com/2072-4292/13/11/2050
-
Oliver Montenbruck and Peter Steigenberger, The BeiDou Navigation Message, IGNSS Symposium, 2013. https://elib.dlr.de/87748/1/IGNSS_13a_BeiDou.pdf
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)