适用对象:刚开始接触北斗导航电文、广播星历、历书、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