1. PPP-RTK 与对流层基本原理
1.1 对流层建模在 PPP-RTK 中的位置
PPP-RTK 利用参考站网络生成卫星端和大气端改正,使单台用户接收机能够快速完成高精度绝对定位和模糊度固定。
一个典型 PPP-RTK 服务包含:
- 精密轨道和钟差;
- 卫星码偏差和相位偏差;
- 区域电离层改正;
- 区域对流层改正;
- 各类改正的质量指标、参考时刻和有效区域。
其中,对流层建模解决的是:
用户位置附近中性大气延迟不能被全球经验模型完全描述,且用户自行估计天顶湿延迟需要一定收敛时间的问题。
#mermaid-svg-cokddB1ArKZoyWdo{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-cokddB1ArKZoyWdo .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-cokddB1ArKZoyWdo .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-cokddB1ArKZoyWdo .error-icon{fill:#552222;}#mermaid-svg-cokddB1ArKZoyWdo .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-cokddB1ArKZoyWdo .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-cokddB1ArKZoyWdo .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-cokddB1ArKZoyWdo .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-cokddB1ArKZoyWdo .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-cokddB1ArKZoyWdo .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-cokddB1ArKZoyWdo .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-cokddB1ArKZoyWdo .marker{fill:#333333;stroke:#333333;}#mermaid-svg-cokddB1ArKZoyWdo .marker.cross{stroke:#333333;}#mermaid-svg-cokddB1ArKZoyWdo svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-cokddB1ArKZoyWdo p{margin:0;}#mermaid-svg-cokddB1ArKZoyWdo .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-cokddB1ArKZoyWdo .cluster-label text{fill:#333;}#mermaid-svg-cokddB1ArKZoyWdo .cluster-label span{color:#333;}#mermaid-svg-cokddB1ArKZoyWdo .cluster-label span p{background-color:transparent;}#mermaid-svg-cokddB1ArKZoyWdo .label text,#mermaid-svg-cokddB1ArKZoyWdo span{fill:#333;color:#333;}#mermaid-svg-cokddB1ArKZoyWdo .node rect,#mermaid-svg-cokddB1ArKZoyWdo .node circle,#mermaid-svg-cokddB1ArKZoyWdo .node ellipse,#mermaid-svg-cokddB1ArKZoyWdo .node polygon,#mermaid-svg-cokddB1ArKZoyWdo .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-cokddB1ArKZoyWdo .rough-node .label text,#mermaid-svg-cokddB1ArKZoyWdo .node .label text,#mermaid-svg-cokddB1ArKZoyWdo .image-shape .label,#mermaid-svg-cokddB1ArKZoyWdo .icon-shape .label{text-anchor:middle;}#mermaid-svg-cokddB1ArKZoyWdo .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-cokddB1ArKZoyWdo .rough-node .label,#mermaid-svg-cokddB1ArKZoyWdo .node .label,#mermaid-svg-cokddB1ArKZoyWdo .image-shape .label,#mermaid-svg-cokddB1ArKZoyWdo .icon-shape .label{text-align:center;}#mermaid-svg-cokddB1ArKZoyWdo .node.clickable{cursor:pointer;}#mermaid-svg-cokddB1ArKZoyWdo .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-cokddB1ArKZoyWdo .arrowheadPath{fill:#333333;}#mermaid-svg-cokddB1ArKZoyWdo .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-cokddB1ArKZoyWdo .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-cokddB1ArKZoyWdo .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-cokddB1ArKZoyWdo .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-cokddB1ArKZoyWdo .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-cokddB1ArKZoyWdo .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-cokddB1ArKZoyWdo .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-cokddB1ArKZoyWdo .cluster text{fill:#333;}#mermaid-svg-cokddB1ArKZoyWdo .cluster span{color:#333;}#mermaid-svg-cokddB1ArKZoyWdo div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-cokddB1ArKZoyWdo .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-cokddB1ArKZoyWdo rect.text{fill:none;stroke-width:0;}#mermaid-svg-cokddB1ArKZoyWdo .icon-shape,#mermaid-svg-cokddB1ArKZoyWdo .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-cokddB1ArKZoyWdo .icon-shape p,#mermaid-svg-cokddB1ArKZoyWdo .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-cokddB1ArKZoyWdo .icon-shape .label rect,#mermaid-svg-cokddB1ArKZoyWdo .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-cokddB1ArKZoyWdo .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-cokddB1ArKZoyWdo .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-cokddB1ArKZoyWdo :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}
引入可固定的卫星相位偏差
进一步引入区域大气先验
PPP
PPP-AR
PPP-RTK
精密轨道和钟差
码偏差和相位偏差
电离层与对流层改正
上图用于说明功能上的递进关系。PPP-AR 与 PPP-RTK 的术语边界在不同文献和服务中并不完全统一,不能把它理解为唯一的标准分类树。
对流层改正不是 PPP-RTK 的全部,也不是所有 PPP-RTK 实现都采用完全相同的产品形式。服务端可以提供:
- 天顶总延迟 ZTD;
- 天顶湿延迟 ZWD;
- 相对于先验模型的残差;
- 格网节点上的静力和湿延迟;
- 用户方向上的斜路径延迟;
- 多项式系数与格网残差的组合。
因此,用户端首先要弄清楚:
1.2 对流层延迟的物理含义
GNSS 信号从卫星传播到接收机时会经过中性大气。中性大气折射使传播时间增加,等效为测距值变长。
工程上常称其为“对流层延迟”。更严格地说,它是中性大气延迟,因为信号路径并不只穿过气象学定义中的对流层。
在 GNSS 常用频段内,对流层延迟近似为非色散误差:
- 不同载波频率上的一阶影响近似相同;
- 不能像一阶电离层延迟那样通过双频无电离层组合消除;
- 必须通过模型计算、参数估计或外部区域改正处理。
1.3 ZTD、ZHD、ZWD 与水平梯度
天顶总延迟
天顶总延迟满足:
ZTD=ZHD+ZWDZTD=ZHD+ZWDZTD=ZHD+ZWD
其中:
- ZTDZTDZTD:天顶总延迟,单位为 m;
- ZHDZHDZHD:天顶静力延迟,也称天顶干延迟,单位为 m;
- ZWDZWDZWD:天顶湿延迟,单位为 m。
天顶静力延迟 ZHD
ZHD 主要与大气总质量和测站气压有关:
- 数值较大,海平面附近通常约为 2.3 m;
- 时空变化相对平缓;
- 有可靠地面气压时可以较准确计算;
- 无气象观测时,可由 GPT、GPT2w、GPT3 等经验模型提供气压先验。
常用 Saastamoinen 静力延迟公式为:
ZHD=0.0022768 p1−0.00266cos(2φ)−0.00028hkmZHD= \\frac{0.0022768\\,p} {1-0.00266\\cos(2\\varphi)-0.00028h_{\\mathrm{km}}}ZHD=1−0.00266cos(2φ)−0.00028hkm0.0022768p
式中:
- ppp:测站气压,单位为 hPa;
- φ\\varphiφ:测站大地纬度,单位为 rad;
- hkmh_{\\mathrm{km}}hkm:测站相对平均海平面的高程,通常取正高或近似海拔,单位为 km;
- ZHDZHDZHD:天顶静力延迟,单位为 m。
该经验公式中的高度变量通常不是未经转换的椭球高。若仅有椭球高,应按所用模型的约定转换高度,或直接采用与该高度系统一致的气象模型。服务端和用户端还必须统一气压模型、纬度单位和高度单位,否则 ZHD 差异会被吸收到 ZWD 或坐标参数中。
天顶湿延迟 ZWD
ZWD 主要由大气水汽决定:
- 数值通常小于 ZHD;
- 时间和空间变化更快;
- 对天气、季节、海陆分布和地形较敏感;
- 难以依靠单一全球经验模型稳定达到厘米级精度。
因此,区域对流层增强通常重点建模:
- 绝对 ZWD;
- ZWD 相对于气象模型的残差;
- 或 ZTD 中难以由静力模型描述的剩余部分。
水平梯度
仅使用 ZHD 和 ZWD 相当于假设天顶周围大气近似轴对称。实际大气可能存在明显的水汽水平梯度,因此可增加:
- 北向梯度 GNG_NGN;
- 东向梯度 GEG_EGE。
梯度对于以下场景更重要:
- 低高度角观测;
- 沿海区域;
- 山谷和山脉两侧;
- 天气锋面和强降雨过程;
- 卫星方位角分布不均匀时。
1.4 从天顶延迟到斜路径延迟
卫星 sss 在接收机 rrr 处的斜路径对流层延迟可写为:
Trs(es,As)=mh(es)ZHDr+mw(es)ZWDr+mg(es)(GN,rcosAs+GE,rsinAs)\\begin{aligned} T_r^s(e^s,A^s) ={}&m_h(e^s)ZHD_r +m_w(e^s)ZWD_r\\\\ &+m_g(e^s) \\left( G_{N,r}\\cos A^s+ G_{E,r}\\sin A^s \\right) \\end{aligned}Trs(es,As)=mh(es)ZHDr+mw(es)ZWDr+mg(es)(GN,rcosAs+GE,rsinAs)
其中:
- TrsT_r^sTrs:卫星方向上的斜路径对流层延迟,单位为 m;
- ese^ses:卫星高度角;
- AsA^sAs:卫星方位角,本文约定从北方向顺时针增加;
- mh(es)m_h(e^s)mh(es):静力延迟映射函数;
- mw(es)m_w(e^s)mw(es):湿延迟映射函数;
- mg(es)m_g(e^s)mg(es):水平梯度映射函数;
- GN,rG_{N,r}GN,r、GE,rG_{E,r}GE,r:北向和东向梯度,单位由所采用的梯度模型定义。
映射函数把天顶延迟投影到卫星视线方向。卫星高度角越低:
- 信号在中性大气中的路径越长;
- 映射函数越大;
- 天顶模型误差被放大的程度越明显。
常见映射函数
常见映射函数包括:
- NMF:Niell Mapping Function;
- GMF:Global Mapping Function;
- VMF1、VMF3:基于数值天气模型的映射函数。
不同映射函数的先验数据、时间分辨率和空间分辨率不同。服务端估计 ZWD、用户端恢复斜路径延迟时,应尽量保持映射函数一致。
2. 观测模型与参数耦合
2.1 PPP-RTK 观测方程中的对流层项
以非差非组合模型为例,频率 jjj 上的伪距和载波相位方程可写为:
Pr,js=ρrs+c(δtr−δts)+Trs+αjIr,1s+BP,r,js+εP,r,jsLr,js=ρrs+c(δtr−δts)+Trs−αjIr,1s+λjNr,js+BL,r,js+εL,r,js\\begin{aligned} P_{r,j}^s ={}& \\rho_r^s +c(\\delta t_r-\\delta t^s) +T_r^s +\\alpha_j I_{r,1}^s +B_{P,r,j}^s +\\varepsilon_{P,r,j}^s \\\\[1ex] L_{r,j}^s ={}& \\rho_r^s +c(\\delta t_r-\\delta t^s) +T_r^s -\\alpha_j I_{r,1}^s +\\lambda_jN_{r,j}^s +B_{L,r,j}^s +\\varepsilon_{L,r,j}^s \\end{aligned}Pr,js=Lr,js=ρrs+c(δtr−δts)+Trs+αjIr,1s+BP,r,js+εP,r,jsρrs+c(δtr−δts)+Trs−αjIr,1s+λjNr,js+BL,r,js+εL,r,js
其中:
- Pr,jsP_{r,j}^sPr,js:伪距观测值,单位为 m;
- Lr,jsL_{r,j}^sLr,js:以米表示的载波相位观测值;
- ρrs\\rho_r^sρrs:卫星与接收机天线相位中心之间的几何距离;
- ccc:真空光速;
- δtr\\delta t_rδtr、δts\\delta t^sδts:接收机钟差和卫星钟差;
- TrsT_r^sTrs:斜路径对流层延迟;
- Ir,1sI_{r,1}^sIr,1s:参考频率上的斜路径电离层延迟;
- αj=(f1/fj)2\\alpha_j=(f_1/f_j)^2αj=(f1/fj)2:电离层频率缩放因子;
- f1f_1f1:参考频率;
- fjf_jfj:第 jjj 个观测频率;
- λj\\lambda_jλj:第 jjj 个频率的载波波长;
- Nr,jsN_{r,j}^sNr,js:载波相位整周模糊度;
- BP,r,jsB_{P,r,j}^sBP,r,js、BL,r,jsB_{L,r,j}^sBL,r,js:按当前产品基准合并后的码偏差和相位偏差项;
- εP\\varepsilon_PεP、εL\\varepsilon_LεL:噪声、多路径和未建模误差。
硬件偏差的正负号取决于观测量、钟差和偏差产品的具体定义。本文用合并项 BPB_PBP 和 BLB_LBL 表示,避免把某一套符号约定误认为通用公式。
可以看到:
- 对流层项在伪距和载波相位中符号相同;
- 对流层项近似与频率无关;
- 对流层误差容易与高程、接收机钟差和模糊度耦合。
2.2 线性化与设计矩阵
假设 ZHD 已由先验模型改正,用户状态包含位置、接收机钟差、ZWD 和水平梯度:
δx=[δxδyδzδbrδZWDδGNδGE⋯]T\\delta\\mathbf{x} = \\begin{bmatrix} \\delta x& \\delta y& \\delta z& \\delta b_r& \\delta ZWD& \\delta G_N& \\delta G_E& \\cdots \\end{bmatrix}^{T}δx=[δxδyδzδbrδZWDδGNδGE⋯]T
其中:
- δx,δy,δz\\delta x,\\delta y,\\delta zδx,δy,δz:接收机坐标改正数;
- δbr=c δtr\\delta b_r=c\\,\\delta t_rδbr=cδtr:距离形式的接收机钟差;
- δZWD\\delta ZWDδZWD:天顶湿延迟改正数;
- δGN,δGE\\delta G_N,\\delta G_EδGN,δGE:水平梯度改正数;
- 省略号表示电离层、模糊度、系统间偏差等状态。
若单位视线向量 urs\\mathbf{u}_r^surs 定义为从接收机指向卫星,且残差采用“观测值减计算值”,则对应设计矩阵行可写为:
hrs=[−urs T1mw(es)mg(es)cosAsmg(es)sinAs⋯]\\mathbf{h}_r^s = \\begin{bmatrix} -\\mathbf{u}_{r}^{s\\,T}& 1& m_w(e^s)& m_g(e^s)\\cos A^s& m_g(e^s)\\sin A^s& \\cdots \\end{bmatrix}hrs=[−ursT1mw(es)mg(es)cosAsmg(es)sinAs⋯]
其中:
- −urs T-\\mathbf{u}_{r}^{s\\,T}−ursT:几何距离对接收机坐标改正数的偏导;
- 111:对距离形式接收机钟差的偏导;
- mw(es)m_w(e^s)mw(es):对 ZWD 的偏导;
- mg(es)cosAsm_g(e^s)\\cos A^smg(es)cosAs:对北向梯度的偏导;
- mg(es)sinAsm_g(e^s)\\sin A^smg(es)sinAs:对东向梯度的偏导。
若采用不同的单位向量方向或残差定义,坐标列的符号会相应变化。工程实现中必须保持观测方程、残差和雅可比矩阵的一致性。
汇总全部观测:
l=Hδx+ε\\mathbf{l} = \\mathbf{H}\\delta\\mathbf{x} +\\boldsymbol{\\varepsilon}l=Hδx+ε
其中:
- l\\mathbf{l}l:观测值减计算值形成的残差向量;
- H\\mathbf{H}H:设计矩阵;
- ε\\boldsymbol{\\varepsilon}ε:观测噪声向量。
为什么对流层首先影响高程
高程误差和 ZWD 误差都随卫星高度角变化,并主要反映在径向方向。短时间内,设计矩阵中的:
- 高程相关列;
- ZWD 映射函数列;
- 接收机钟差列;
可能具有较强相关性。
因此,准确的外部 ZWD 先验能够:
- 降低 ZWD 与高程的相关性;
- 改善早期高程精度;
- 使模糊度浮点解更稳定;
- 缩短模糊度固定和位置收敛时间。
3. 服务端参数估计与产品定义
3.1 参考站端对流层参数估计
参考站坐标已知,服务端可通过单站 PPP、网络 PPP 或 PPP-RTK 网络模型估计 ZWD。
#mermaid-svg-s1hIZQTukiTK7vC3{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-s1hIZQTukiTK7vC3 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-s1hIZQTukiTK7vC3 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-s1hIZQTukiTK7vC3 .error-icon{fill:#552222;}#mermaid-svg-s1hIZQTukiTK7vC3 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-s1hIZQTukiTK7vC3 .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-s1hIZQTukiTK7vC3 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-s1hIZQTukiTK7vC3 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-s1hIZQTukiTK7vC3 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-s1hIZQTukiTK7vC3 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-s1hIZQTukiTK7vC3 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-s1hIZQTukiTK7vC3 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-s1hIZQTukiTK7vC3 .marker.cross{stroke:#333333;}#mermaid-svg-s1hIZQTukiTK7vC3 svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-s1hIZQTukiTK7vC3 p{margin:0;}#mermaid-svg-s1hIZQTukiTK7vC3 .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-s1hIZQTukiTK7vC3 .cluster-label text{fill:#333;}#mermaid-svg-s1hIZQTukiTK7vC3 .cluster-label span{color:#333;}#mermaid-svg-s1hIZQTukiTK7vC3 .cluster-label span p{background-color:transparent;}#mermaid-svg-s1hIZQTukiTK7vC3 .label text,#mermaid-svg-s1hIZQTukiTK7vC3 span{fill:#333;color:#333;}#mermaid-svg-s1hIZQTukiTK7vC3 .node rect,#mermaid-svg-s1hIZQTukiTK7vC3 .node circle,#mermaid-svg-s1hIZQTukiTK7vC3 .node ellipse,#mermaid-svg-s1hIZQTukiTK7vC3 .node polygon,#mermaid-svg-s1hIZQTukiTK7vC3 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-s1hIZQTukiTK7vC3 .rough-node .label text,#mermaid-svg-s1hIZQTukiTK7vC3 .node .label text,#mermaid-svg-s1hIZQTukiTK7vC3 .image-shape .label,#mermaid-svg-s1hIZQTukiTK7vC3 .icon-shape .label{text-anchor:middle;}#mermaid-svg-s1hIZQTukiTK7vC3 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-s1hIZQTukiTK7vC3 .rough-node .label,#mermaid-svg-s1hIZQTukiTK7vC3 .node .label,#mermaid-svg-s1hIZQTukiTK7vC3 .image-shape .label,#mermaid-svg-s1hIZQTukiTK7vC3 .icon-shape .label{text-align:center;}#mermaid-svg-s1hIZQTukiTK7vC3 .node.clickable{cursor:pointer;}#mermaid-svg-s1hIZQTukiTK7vC3 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-s1hIZQTukiTK7vC3 .arrowheadPath{fill:#333333;}#mermaid-svg-s1hIZQTukiTK7vC3 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-s1hIZQTukiTK7vC3 .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-s1hIZQTukiTK7vC3 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-s1hIZQTukiTK7vC3 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-s1hIZQTukiTK7vC3 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-s1hIZQTukiTK7vC3 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-s1hIZQTukiTK7vC3 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-s1hIZQTukiTK7vC3 .cluster text{fill:#333;}#mermaid-svg-s1hIZQTukiTK7vC3 .cluster span{color:#333;}#mermaid-svg-s1hIZQTukiTK7vC3 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-s1hIZQTukiTK7vC3 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-s1hIZQTukiTK7vC3 rect.text{fill:none;stroke-width:0;}#mermaid-svg-s1hIZQTukiTK7vC3 .icon-shape,#mermaid-svg-s1hIZQTukiTK7vC3 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-s1hIZQTukiTK7vC3 .icon-shape p,#mermaid-svg-s1hIZQTukiTK7vC3 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-s1hIZQTukiTK7vC3 .icon-shape .label rect,#mermaid-svg-s1hIZQTukiTK7vC3 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-s1hIZQTukiTK7vC3 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-s1hIZQTukiTK7vC3 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-s1hIZQTukiTK7vC3 :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}
能
不能
参考站原始观测
轨道钟差偏差与常规误差改正
单站或多站网络滤波
估计ZWD 梯度 钟差 电离层和模糊度
模糊度能否可靠固定
使用固定解增强ZWD估计
保留浮点解并降低权重
粗差探测与质量控制
区域空间建模
模糊度固定通常能提高参考站对流层参数的精度,但它不是所有对流层产品生成方法的硬性前提。错误固定反而会污染 ZWD,因此必须进行固定可靠性和残差检查。
ZWD 时间模型
参考站 ZWD 常采用随机游走:
ZWDk=ZWDk−1+wkZWD_k=ZWD_{k-1}+w_kZWDk=ZWDk−1+wk
其中:
- ZWDkZWD_kZWDk:历元 kkk 的天顶湿延迟;
- wkw_kwk:过程噪声;
- wk∼N(0,qZWDΔt)w_k\\sim N(0,q_{\\mathrm{ZWD}}\\Delta t)wk∼N(0,qZWDΔt);
- qZWDq_{\\mathrm{ZWD}}qZWD:随机游走方差谱密度,单位通常为 m2/s\\mathrm{m^2/s}m2/s;
- Δt\\Delta tΔt:相邻历元时间间隔,单位为 s。
若采用一阶 Gauss-Markov 模型,不应把绝对 ZWD 直接拉向零,而应对相对于背景值的残差建模。定义:
δZWDk=ZWDk−ZWDk0\\delta ZWD_k = ZWD_k-ZWD_k^{0}δZWDk=ZWDk−ZWDk0
则:
δZWDk=ϕ δZWDk−1+wk,ϕ=e−Δt/τ\\delta ZWD_k = \\phi\\,\\delta ZWD_{k-1} +w_k, \\qquad \\phi=e^{-\\Delta t/\\tau}δZWDk=ϕδZWDk−1+wk,ϕ=e−Δt/τ
若假定残差的稳态方差为 σ∞2\\sigma_{\\infty}^2σ∞2,可取:
wk∼N(0, σ∞2(1−ϕ2))w_k\\sim N\\left( 0,\\, \\sigma_{\\infty}^2(1-\\phi^2) \\right)wk∼N(0,σ∞2(1−ϕ2))
其中:
- ZWDk0ZWD_k^{0}ZWDk0:经验模型、NWP 或上一阶段产品给出的背景 ZWD;
- δZWDk\\delta ZWD_kδZWDk:相对于背景值的 ZWD 残差;
- τ\\tauτ:相关时间常数;
- ϕ\\phiϕ:状态转移系数;
- σ∞2\\sigma_{\\infty}^2σ∞2:残差过程的稳态方差。
随机模型不宜固定照搬,应根据气候、更新率、站网密度和实际创新序列进行标定。
3.2 绝对 ZWD、残差 ZWD 与网络基准
这是 PPP-RTK 对流层产品中容易被忽略的概念。
绝对产品
服务端直接提供用户位置处的绝对 ZWD:
ZWDuabsZWD_u^{\\mathrm{abs}}ZWDuabs
用户可把它作为外部先验或确定性改正。
相对于先验模型的残差
服务端先计算背景模型:
ZWDu0ZWD_u^{0}ZWDu0
再提供残差:
δZWDu=ZWDuabs−ZWDu0\\delta ZWD_u = ZWD_u^{\\mathrm{abs}}-ZWD_u^{0}δZWDu=ZWDuabs−ZWDu0
用户恢复绝对值:
ZWDuabs=ZWDu0+δZWDuZWD_u^{\\mathrm{abs}} = ZWD_u^{0} + \\delta ZWD_uZWDuabs=ZWDu0+δZWDu
此时服务端和用户端必须使用相同的背景模型定义。
相对于网络基准站的差分产品
在某些采用基准站约束的 UDUC PPP-RTK 网络参数化中,服务端估计的是相对于基准站的差分 ZWD:
dZWDi=ZWDi−ZWDddZWD_i = ZWD_i-ZWD_ddZWDi=ZWDi−ZWDd
其中:
- ZWDiZWD_iZWDi:第 iii 个参考站的绝对 ZWD;
- ZWDdZWD_dZWDd:网络基准站的绝对 ZWD;
- dZWDidZWD_idZWDi:相对于基准站的差分 ZWD。
这是一种具体参数化结果,并不意味着所有非差网络模型都只能估计差分 ZWD。能否形成绝对产品取决于模型秩基准、先验约束和产品定义。
用户端若要从该类产品恢复绝对 ZWD,需要:
ZWDu=ZWDd+dZWDuZWD_u = ZWD_d + dZWD_uZWDu=ZWDd+dZWDu
因此,服务端还必须通过以下方式之一建立绝对基准:
- 为基准站提供绝对 ZWD;
- 引入气象或 NWP 先验;
- 广播统一背景模型;
- 直接将产品转换为绝对格网或绝对多项式。
不能把差分 ZWD 当作绝对 ZWD 直接应用。
3.3 区域产品生成流程
#mermaid-svg-SQjCzGYHcg3ocvSa{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-SQjCzGYHcg3ocvSa .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-SQjCzGYHcg3ocvSa .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-SQjCzGYHcg3ocvSa .error-icon{fill:#552222;}#mermaid-svg-SQjCzGYHcg3ocvSa .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-SQjCzGYHcg3ocvSa .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-SQjCzGYHcg3ocvSa .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-SQjCzGYHcg3ocvSa .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-SQjCzGYHcg3ocvSa .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-SQjCzGYHcg3ocvSa .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-SQjCzGYHcg3ocvSa .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-SQjCzGYHcg3ocvSa .marker{fill:#333333;stroke:#333333;}#mermaid-svg-SQjCzGYHcg3ocvSa .marker.cross{stroke:#333333;}#mermaid-svg-SQjCzGYHcg3ocvSa svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-SQjCzGYHcg3ocvSa p{margin:0;}#mermaid-svg-SQjCzGYHcg3ocvSa .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-SQjCzGYHcg3ocvSa .cluster-label text{fill:#333;}#mermaid-svg-SQjCzGYHcg3ocvSa .cluster-label span{color:#333;}#mermaid-svg-SQjCzGYHcg3ocvSa .cluster-label span p{background-color:transparent;}#mermaid-svg-SQjCzGYHcg3ocvSa .label text,#mermaid-svg-SQjCzGYHcg3ocvSa span{fill:#333;color:#333;}#mermaid-svg-SQjCzGYHcg3ocvSa .node rect,#mermaid-svg-SQjCzGYHcg3ocvSa .node circle,#mermaid-svg-SQjCzGYHcg3ocvSa .node ellipse,#mermaid-svg-SQjCzGYHcg3ocvSa .node polygon,#mermaid-svg-SQjCzGYHcg3ocvSa .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-SQjCzGYHcg3ocvSa .rough-node .label text,#mermaid-svg-SQjCzGYHcg3ocvSa .node .label text,#mermaid-svg-SQjCzGYHcg3ocvSa .image-shape .label,#mermaid-svg-SQjCzGYHcg3ocvSa .icon-shape .label{text-anchor:middle;}#mermaid-svg-SQjCzGYHcg3ocvSa .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-SQjCzGYHcg3ocvSa .rough-node .label,#mermaid-svg-SQjCzGYHcg3ocvSa .node .label,#mermaid-svg-SQjCzGYHcg3ocvSa .image-shape .label,#mermaid-svg-SQjCzGYHcg3ocvSa .icon-shape .label{text-align:center;}#mermaid-svg-SQjCzGYHcg3ocvSa .node.clickable{cursor:pointer;}#mermaid-svg-SQjCzGYHcg3ocvSa .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-SQjCzGYHcg3ocvSa .arrowheadPath{fill:#333333;}#mermaid-svg-SQjCzGYHcg3ocvSa .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-SQjCzGYHcg3ocvSa .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-SQjCzGYHcg3ocvSa .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-SQjCzGYHcg3ocvSa .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-SQjCzGYHcg3ocvSa .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-SQjCzGYHcg3ocvSa .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-SQjCzGYHcg3ocvSa .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-SQjCzGYHcg3ocvSa .cluster text{fill:#333;}#mermaid-svg-SQjCzGYHcg3ocvSa .cluster span{color:#333;}#mermaid-svg-SQjCzGYHcg3ocvSa div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-SQjCzGYHcg3ocvSa .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-SQjCzGYHcg3ocvSa rect.text{fill:none;stroke-width:0;}#mermaid-svg-SQjCzGYHcg3ocvSa .icon-shape,#mermaid-svg-SQjCzGYHcg3ocvSa .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-SQjCzGYHcg3ocvSa .icon-shape p,#mermaid-svg-SQjCzGYHcg3ocvSa .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-SQjCzGYHcg3ocvSa .icon-shape .label rect,#mermaid-svg-SQjCzGYHcg3ocvSa .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-SQjCzGYHcg3ocvSa .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-SQjCzGYHcg3ocvSa .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-SQjCzGYHcg3ocvSa :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}
参考站ZWD或ZTD估计
统一ZHD模型 映射函数 高程和时间基准
粗差探测与质量控制
高度归一化
空间模型
低阶多项式
OFC或指数高度模型
格网与双线性插值
IDW或克里金
NWP背景加GNSS残差
独立检核或留一交叉验证
生成改正值 方差 龄期和有效域
广播给用户
确定性改正或软约束
PPP-RTK快速收敛和模糊度固定
服务端建模质量主要取决于:
4. 多项式与高度模型
4.1 二维低阶多项式
坐标中心化与归一化
区域内可定义局部平面归一化坐标:
xi=Ei−E0SE,yi=Ni−N0SNx_i=\\frac{E_i-E_0}{S_E}, \\qquad y_i=\\frac{N_i-N_0}{S_N}xi=SEEi−E0,yi=SNNi−N0
其中:
- Ei,NiE_i,N_iEi,Ni:第 iii 个参考站的局部东、北坐标;
- E0,N0E_0,N_0E0,N0:模型展开中心;
- SE,SNS_E,S_NSE,SN:东西和南北方向的尺度因子;
- xi,yix_i,y_ixi,yi:无量纲归一化坐标。
中心化和归一化能够减小高次幂数量级差异,改善设计矩阵条件数。
二维 nnn 阶总次数多项式
ZWD(x,y)=∑p≥0, q≥0p+q≤napqxpyqZWD(x,y) = \\sum_{\\substack{p\\ge0,\\ q\\ge0\\\\p+q\\le n}} a_{pq}x^py^qZWD(x,y)=p≥0, q≥0p+q≤n∑apqxpyq
其中:
- nnn:多项式总次数;
- p,qp,qp,q:东西和南北方向的幂次;
- apqa_{pq}apq:待估系数。
系数总数为:
m=(n+1)(n+2)2m=\\frac{(n+1)(n+2)}{2}m=2(n+1)(n+2)
其中 mmm 为系数数量。
| 0 | 1 | 111 |
| 1 | 3 | 1,x,y1,x,y1,x,y |
| 2 | 6 | 1,x,y,xy,x2,y21,x,y,xy,x^2,y^21,x,y,xy,x2,y2 |
| 3 | 10 | 增加三次项 |
| 4 | 15 | 增加四次项 |
| 5 | 21 | 总次数不超过 5 |
| 6 | 28 | 总次数不超过 6 |
必须区分:
系数个数不等于多项式阶数。
例如:
ZWD=a0+a1x+a2y+a3xy+a4x2+a5y2ZWD = a_0+a_1x+a_2y+a_3xy+a_4x^2+a_5y^2ZWD=a0+a1x+a2y+a3xy+a4x2+a5y2
有 6 个系数,但最高总次数为 2,因此是二维二次多项式,而不是六阶多项式。
4.2 二次多项式的矩阵推导
对第 iii 个参考站:
zi=a0+a1xi+a2yi+a3xiyi+a4xi2+a5yi2+εiz_i = a_0+a_1x_i+a_2y_i+a_3x_iy_i+a_4x_i^2+a_5y_i^2+\\varepsilon_izi=a0+a1xi+a2yi+a3xiyi+a4xi2+a5yi2+εi
其中:
- ziz_izi:参考站 ZWD 或 ZWD 残差;
- εi\\varepsilon_iεi:参考站估计误差和区域模型失配误差。
写成:
z=Aa+ε\\mathbf{z} = \\mathbf{A}\\mathbf{a} +\\boldsymbol{\\varepsilon}z=Aa+ε
其中:
z=[z1z2⋮zN],a=[a0a1a2a3a4a5]\\mathbf{z} = \\begin{bmatrix} z_1\\\\z_2\\\\\\vdots\\\\z_N \\end{bmatrix}, \\qquad \\mathbf{a} = \\begin{bmatrix} a_0\\\\a_1\\\\a_2\\\\a_3\\\\a_4\\\\a_5 \\end{bmatrix}z=z1z2⋮zN,a=a0a1a2a3a4a5
设计矩阵为:
A=[1x1y1x1y1x12y121x2y2x2y2x22y22⋮⋮⋮⋮⋮⋮1xNyNxNyNxN2yN2]\\mathbf{A} = \\begin{bmatrix} 1&x_1&y_1&x_1y_1&x_1^2&y_1^2\\\\ 1&x_2&y_2&x_2y_2&x_2^2&y_2^2\\\\ \\vdots&\\vdots&\\vdots&\\vdots&\\vdots&\\vdots\\\\ 1&x_N&y_N&x_Ny_N&x_N^2&y_N^2 \\end{bmatrix}A=11⋮1x1x2⋮xNy1y2⋮yNx1y1x2y2⋮xNyNx12x22⋮xN2y12y22⋮yN2
若参考站 ZWD 的绝对协方差矩阵已知,可令:
P=Cz−1\\mathbf{P}=\\mathbf{C}_z^{-1}P=Cz−1
其中:
- Cz\\mathbf{C}_zCz:参考站 ZWD 估计误差的协方差矩阵;
- P\\mathbf{P}P:对应的绝对权矩阵。
加权最小二乘目标函数为:
J(a)=(z−Aa)TP(z−Aa)J(\\mathbf{a}) = (\\mathbf{z}-\\mathbf{A}\\mathbf{a})^T \\mathbf{P} (\\mathbf{z}-\\mathbf{A}\\mathbf{a})J(a)=(z−Aa)TP(z−Aa)
令一阶导数为零:
∂J∂a=−2ATP(z−Aa)=0\\frac{\\partial J}{\\partial\\mathbf{a}} = -2\\mathbf{A}^T\\mathbf{P} (\\mathbf{z}-\\mathbf{A}\\mathbf{a}) =\\mathbf{0}∂a∂J=−2ATP(z−Aa)=0
得到法方程:
ATPA a^=ATPz\\mathbf{A}^T\\mathbf{P}\\mathbf{A}\\, \\hat{\\mathbf{a}} = \\mathbf{A}^T\\mathbf{P}\\mathbf{z}ATPAa^=ATPz
若设计矩阵满列秩且法矩阵非奇异:
a^=(ATPA)−1ATPz\\boxed{ \\hat{\\mathbf{a}} = (\\mathbf{A}^T\\mathbf{P}\\mathbf{A})^{-1} \\mathbf{A}^T\\mathbf{P}\\mathbf{z} }a^=(ATPA)−1ATPz
该公式用于理论推导。工程实现不建议显式计算逆矩阵,应采用:
- QR 分解;
- Cholesky 分解;
- SVD;
- 带列主元的秩判断。
4.3 用户位置的预测与方差传播
用户归一化坐标为 (xu,yu)(x_u,y_u)(xu,yu):
pu=[1xuyuxuyuxu2yu2]T\\mathbf{p}_u = \\begin{bmatrix} 1& x_u& y_u& x_uy_u& x_u^2& y_u^2 \\end{bmatrix}^{T}pu=[1xuyuxuyuxu2yu2]T
用户 ZWD 预测值:
ZWD^u=puTa^\\boxed{ \\widehat{ZWD}_u = \\mathbf{p}_u^T\\hat{\\mathbf{a}} }ZWDu=puTa^
残差向量为:
v^=z−Aa^\\hat{\\mathbf{v}} = \\mathbf{z}-\\mathbf{A}\\hat{\\mathbf{a}}v^=z−Aa^
系数协方差要区分两种情况。
情况 1:Cz\\mathbf{C}_zCz 是已知的绝对协方差。
此时:
Ca^=(ATCz−1A)−1\\boxed{ \\mathbf{C}_{\\hat a} = (\\mathbf{A}^T\\mathbf{C}_z^{-1}\\mathbf{A})^{-1} }Ca^=(ATCz−1A)−1
不应再额外乘一个由残差估计的单位权方差。
情况 2:只有相对权矩阵 P\\mathbf{P}P,总体方差尺度未知。
可估计:
σ^02=v^TPv^N−m\\hat{\\sigma}_0^2 = \\frac{ \\hat{\\mathbf{v}}^T\\mathbf{P}\\hat{\\mathbf{v}} }{ N-m }σ^02=N−mv^TPv^
并取:
Ca^=σ^02(ATPA)−1\\boxed{ \\mathbf{C}_{\\hat a} = \\hat{\\sigma}_0^2 (\\mathbf{A}^T\\mathbf{P}\\mathbf{A})^{-1} }Ca^=σ^02(ATPA)−1
其中:
- NNN:参考站数;
- mmm:系数数;
- N−mN-mN−m:自由度,要求 N>mN>mN>m;
- σ^02\\hat{\\sigma}_0^2σ^02:相对权条件下估计的总体方差尺度。
不能把“绝对协方差已知”和“只有相对权”两种随机模型混在同一公式中。
只考虑参数估计误差时:
σu,param2=puTCa^pu\\sigma_{u,\\mathrm{param}}^2 = \\mathbf{p}_u^T \\mathbf{C}_{\\hat a} \\mathbf{p}_uσu,param2=puTCa^pu
实际用户精度还必须包含空间模型失配:
σu,trop2=puTCa^pu+σmodel2\\boxed{ \\sigma_{u,\\mathrm{trop}}^2 = \\mathbf{p}_u^T \\mathbf{C}_{\\hat a} \\mathbf{p}_u + \\sigma_{\\mathrm{model}}^2 }σu,trop2=puTCa^pu+σmodel2
其中:
- σmodel2\\sigma_{\\mathrm{model}}^2σmodel2:外部检核或交叉验证得到的模型失配方差。
该加和式近似假设参数估计误差与模型失配相互独立。若二者存在明显相关性,还应加入协方差项。站内拟合残差通常偏乐观,不能直接代替用户位置处的真实插值误差。
4.4 五阶和六阶多项式
二维五阶模型:
ZWD5(x,y)=∑p+q≤5apqxpyqZWD_5(x,y) = \\sum_{p+q\\le5}a_{pq}x^py^qZWD5(x,y)=p+q≤5∑apqxpyq
包含:
m5=(5+1)(5+2)2=21m_5=\\frac{(5+1)(5+2)}{2}=21m5=2(5+1)(5+2)=21
个系数。
二维六阶模型:
ZWD6(x,y)=∑p+q≤6apqxpyqZWD_6(x,y) = \\sum_{p+q\\le6}a_{pq}x^py^qZWD6(x,y)=p+q≤6∑apqxpyq
包含:
m6=(6+1)(6+2)2=28m_6=\\frac{(6+1)(6+2)}{2}=28m6=2(6+1)(6+2)=28
个系数。
若扩展到纬度、经度和高度三个变量,三维总次数不超过 nnn 的系数数为:
m3D=(n+33)=(n+1)(n+2)(n+3)6m_{\\mathrm{3D}} = \\binom{n+3}{3} = \\frac{(n+1)(n+2)(n+3)}{6}m3D=(3n+3)=6(n+1)(n+2)(n+3)
因此:
- 三维五阶模型有 56 个系数;
- 三维六阶模型有 84 个系数。
为什么高阶模型风险大
高阶多项式可能降低参考站上的拟合残差,但也可能导致:
- 法矩阵病态;
- 系数随历元剧烈变化;
- 对粗差高度敏感;
- 站网边界振荡;
- 网外外推迅速失真;
- 拟合噪声而不是实际大气结构。
理论上的最低要求是:
N≥mN\\ge mN≥m
但 N=mN=mN=m 只意味着方程数勉强足够,不代表模型可用。可靠拟合通常要求:
- 参考站数明显大于系数数;
- 站点分布均匀;
- 区域边界有足够约束;
- 高程覆盖充分;
- 条件数可接受;
- 独立检核误差确实优于低阶模型。
五阶与六阶对比
| 二维系数数 | 21 | 28 |
| 三维系数数 | 56 | 84 |
| 表达局部弯曲的能力 | 强 | 更强 |
| 站数要求 | 高 | 更高 |
| 对粗差敏感性 | 高 | 更高 |
| 边界振荡风险 | 较高 | 更高 |
| 广播量 | 较大 | 更大 |
| 外推稳定性 | 较差 | 更差 |
| 常规 PPP-RTK 推荐度 | 低 | 更低 |
结论是:
六阶不天然优于五阶,高阶也不天然优于低阶。
五阶或六阶仅适合:
- 参考站非常密集;
- 服务区域固定;
- 已严格归一化坐标;
- 有独立检核站;
- 条件数和边界误差受控;
- 交叉验证明确证明其优于低阶或格网模型。
4.5 高阶多项式的正则化
可通过岭正则化抑制高阶系数过度振荡:
J(a)=(z−Aa)TP(z−Aa)+λ∥La∥2J(\\mathbf{a}) = (\\mathbf{z}-\\mathbf{A}\\mathbf{a})^T \\mathbf{P} (\\mathbf{z}-\\mathbf{A}\\mathbf{a}) + \\lambda \\left\\| \\mathbf{L}\\mathbf{a} \\right\\|^2J(a)=(z−Aa)TP(z−Aa)+λ∥La∥2
对应解为:
a^=(ATPA+λLTL)−1ATPz\\boxed{ \\hat{\\mathbf{a}} = \\left( \\mathbf{A}^T\\mathbf{P}\\mathbf{A} + \\lambda\\mathbf{L}^T\\mathbf{L} \\right)^{-1} \\mathbf{A}^T\\mathbf{P}\\mathbf{z} }a^=(ATPA+λLTL)−1ATPz
其中:
- λ\\lambdaλ:正则化强度;
- L\\mathbf{L}L:正则化矩阵;
- L=I\\mathbf{L}=\\mathbf{I}L=I 时为普通岭回归;
- 也可只惩罚三次及以上的高阶项。
λ\\lambdaλ 应通过独立检核或交叉验证确定,不能仅凭经验任意设置。
4.6 OFC:三变量二次多项式
传统最优拟合系数 OFC 模型可写为:
ZWD(dB,dL,h)=a0+a1dB+a2dL+a3h+a4dB dL+a5dB h+a6dL h+a7dB2+a8dL2+a9h2\\begin{aligned} ZWD(dB,dL,h) ={}&a_0+a_1dB+a_2dL+a_3h\\\\ &+a_4dB\\,dL+a_5dB\\,h+a_6dL\\,h\\\\ &+a_7dB^2+a_8dL^2+a_9h^2 \\end{aligned}ZWD(dB,dL,h)=a0+a1dB+a2dL+a3h+a4dBdL+a5dBh+a6dLh+a7dB2+a8dL2+a9h2
其中:
- dBdBdB:测站纬度相对区域参考点的差值;
- dLdLdL:测站经度相对区域参考点的差值;
- hhh:文献原模型使用的椭球高;
- a0,…,a9a_0,\\ldots,a_9a0,…,a9:10 个拟合系数。
这是一个三变量二次多项式,不是十阶多项式。工程实现时,宜把 dBdBdB、dLdLdL 和 hhh 中心化、归一化,或将 hhh 改写为相对参考高度 dH=h−h0dH=h-h_0dH=h−h0,以减小法矩阵病态。
OFC 的优点
- 同时描述平面和高度变化;
- 只需广播 10 个系数;
- 用户端计算简单;
- 适合高程起伏不大的区域。
OFC 的局限
高度方向使用一次项和二次项,本质上是数学近似。对于:
- 山地;
- 高原;
- 高差数百米至数千米;
- 站点高度分布不均匀;
纯 OFC 可能产生明显高度相关偏差。
4.7 指数高度模型与 MOFC
水汽随高度总体呈衰减趋势。为避免指数符号含糊,可使用正尺度高度参数化:
ZWD(dB,dL,h)=ZWD0(dB,dL)exp[−h−h0Hw]ZWD(dB,dL,h) = ZWD_0(dB,dL) \\exp\\left[ -\\frac{h-h_0}{H_w} \\right]ZWD(dB,dL,h)=ZWD0(dB,dL)exp[−Hwh−h0]
其中:
- ZWD0(dB,dL)ZWD_0(dB,dL)ZWD0(dB,dL):参考高度 h0h_0h0 上的水平 ZWD 曲面;
- hhh:用户椭球高;
- h0h_0h0:参考高度;
- Hw>0H_w>0Hw>0:湿延迟尺度高度。
水平曲面可采用二次模型:
ZWD0(dB,dL)=a0+a1dB+a2dL+a3dB dL+a4dB2+a5dL2ZWD_0(dB,dL) = a_0+a_1dB+a_2dL+a_3dB\\,dL+a_4dB^2+a_5dL^2ZWD0(dB,dL)=a0+a1dB+a2dL+a3dBdL+a4dB2+a5dL2
待估参数为:
θ=[a0a1a2a3a4a5Hw]T\\boldsymbol{\\theta} = \\begin{bmatrix} a_0&a_1&a_2&a_3&a_4&a_5&H_w \\end{bmatrix}^{T}θ=[a0a1a2a3a4a5Hw]T
公开文献中的 MOFC 原式常写成:
ZWD(dB,dL,h)=ZWD(dB,dL)exp(hH)ZWD(dB,dL,h) = ZWD(dB,dL)\\exp\\left(\\frac{h}{H}\\right)ZWD(dB,dL,h)=ZWD(dB,dL)exp(Hh)
在该写法下,参数 HHH 是通过拟合得到的带符号尺度参数;若 ZWD 随正高程增加而衰减,指数项必须呈衰减趋势。本文前面的 Hw>0H_w>0Hw>0 写法通过显式负号和参考高度表达同一物理关系,数值上更直观。
软件接口中必须明确:
- 使用绝对高程 hhh 还是相对高程 h−h0h-h_0h−h0;
- 尺度参数是正值还是带符号值;
- 高程单位是 m 还是 km;
- 水平多项式系数是否已吸收参考高度引起的常数比例。
非线性最小二乘
定义第 iii 个参考站的模型:
fi(θ)=ZWD0(dBi,dLi)exp[−hi−h0Hw]f_i(\\boldsymbol{\\theta}) = ZWD_0(dB_i,dL_i) \\exp\\left[ -\\frac{h_i-h_0}{H_w} \\right]fi(θ)=ZWD0(dBi,dLi)exp[−Hwhi−h0]
在初值 θ0\\boldsymbol{\\theta}_0θ0 处线性化:
zi−fi(θ0)≈jiδθz_i-f_i(\\boldsymbol{\\theta}_0) \\approx \\mathbf{j}_i \\delta\\boldsymbol{\\theta}zi−fi(θ0)≈jiδθ
令:
qi=exp[−hi−h0Hw]q_i= \\exp\\left[ -\\frac{h_i-h_0}{H_w} \\right]qi=exp[−Hwhi−h0]
水平基函数向量:
ψi=[1dBidLidBidLidBi2dLi2]T\\boldsymbol{\\psi}_i = \\begin{bmatrix} 1&dB_i&dL_i&dB_idL_i&dB_i^2&dL_i^2 \\end{bmatrix}^{T}ψi=[1dBidLidBidLidBi2dLi2]T
则:
∂fi∂ak=qiψi,k\\frac{\\partial f_i}{\\partial a_k} = q_i\\psi_{i,k}∂ak∂fi=qiψi,k
尺度高度偏导数为:
∂fi∂Hw=ZWD0(dBi,dLi) qihi−h0Hw2\\frac{\\partial f_i}{\\partial H_w} = ZWD_0(dB_i,dL_i)\\, q_i \\frac{h_i-h_0}{H_w^2}∂Hw∂fi=ZWD0(dBi,dLi)qiHw2hi−h0
汇总所有参考站得到雅可比矩阵 J\\mathbf{J}J,参数改正数为:
δθ^=(JTPJ)−1JTP[z−f(θ0)]\\delta\\hat{\\boldsymbol{\\theta}} = \\left( \\mathbf{J}^T\\mathbf{P}\\mathbf{J} \\right)^{-1} \\mathbf{J}^T\\mathbf{P} \\left[ \\mathbf{z} -\\mathbf{f}(\\boldsymbol{\\theta}_0) \\right]δθ^=(JTPJ)−1JTP[z−f(θ0)]
更新:
θk+1=θk+δθ^\\boldsymbol{\\theta}_{k+1} = \\boldsymbol{\\theta}_k + \\delta\\hat{\\boldsymbol{\\theta}}θk+1=θk+δθ^
直到:
- 参数改正数足够小;
- 目标函数变化足够小;
- 或达到最大迭代次数。
优点与限制
优点:
- 高度变化具有更明确的物理意义;
- 参数少于三维高阶多项式;
- 大高差区域通常比 OFC 稳定;
- 外推性能通常优于纯高度多项式。
限制:
- 水汽垂直结构不一定始终服从单一指数;
- 尺度高度随季节和天气变化;
- 高程基准和单位必须严格统一;
- 非线性模型需要可靠初值和迭代质量控制。
5. 格网、空间插值与气象模型
5.1 对流层格网模型
基本思想
把服务区划分为规则或不规则格网,在格网节点提供:
- ZHD、ZWD 或 ZTD;
- 相对于名义值或背景场的残差;
- 节点质量指标。
用户根据粗略位置选择周围节点进行插值。
#mermaid-svg-ZyKWyUrCpS4FGIuk{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-ZyKWyUrCpS4FGIuk .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-ZyKWyUrCpS4FGIuk .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-ZyKWyUrCpS4FGIuk .error-icon{fill:#552222;}#mermaid-svg-ZyKWyUrCpS4FGIuk .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-ZyKWyUrCpS4FGIuk .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-ZyKWyUrCpS4FGIuk .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-ZyKWyUrCpS4FGIuk .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-ZyKWyUrCpS4FGIuk .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-ZyKWyUrCpS4FGIuk .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-ZyKWyUrCpS4FGIuk .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-ZyKWyUrCpS4FGIuk .marker{fill:#333333;stroke:#333333;}#mermaid-svg-ZyKWyUrCpS4FGIuk .marker.cross{stroke:#333333;}#mermaid-svg-ZyKWyUrCpS4FGIuk svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-ZyKWyUrCpS4FGIuk p{margin:0;}#mermaid-svg-ZyKWyUrCpS4FGIuk .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-ZyKWyUrCpS4FGIuk .cluster-label text{fill:#333;}#mermaid-svg-ZyKWyUrCpS4FGIuk .cluster-label span{color:#333;}#mermaid-svg-ZyKWyUrCpS4FGIuk .cluster-label span p{background-color:transparent;}#mermaid-svg-ZyKWyUrCpS4FGIuk .label text,#mermaid-svg-ZyKWyUrCpS4FGIuk span{fill:#333;color:#333;}#mermaid-svg-ZyKWyUrCpS4FGIuk .node rect,#mermaid-svg-ZyKWyUrCpS4FGIuk .node circle,#mermaid-svg-ZyKWyUrCpS4FGIuk .node ellipse,#mermaid-svg-ZyKWyUrCpS4FGIuk .node polygon,#mermaid-svg-ZyKWyUrCpS4FGIuk .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-ZyKWyUrCpS4FGIuk .rough-node .label text,#mermaid-svg-ZyKWyUrCpS4FGIuk .node .label text,#mermaid-svg-ZyKWyUrCpS4FGIuk .image-shape .label,#mermaid-svg-ZyKWyUrCpS4FGIuk .icon-shape .label{text-anchor:middle;}#mermaid-svg-ZyKWyUrCpS4FGIuk .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-ZyKWyUrCpS4FGIuk .rough-node .label,#mermaid-svg-ZyKWyUrCpS4FGIuk .node .label,#mermaid-svg-ZyKWyUrCpS4FGIuk .image-shape .label,#mermaid-svg-ZyKWyUrCpS4FGIuk .icon-shape .label{text-align:center;}#mermaid-svg-ZyKWyUrCpS4FGIuk .node.clickable{cursor:pointer;}#mermaid-svg-ZyKWyUrCpS4FGIuk .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-ZyKWyUrCpS4FGIuk .arrowheadPath{fill:#333333;}#mermaid-svg-ZyKWyUrCpS4FGIuk .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-ZyKWyUrCpS4FGIuk .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-ZyKWyUrCpS4FGIuk .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-ZyKWyUrCpS4FGIuk .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-ZyKWyUrCpS4FGIuk .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-ZyKWyUrCpS4FGIuk .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-ZyKWyUrCpS4FGIuk .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-ZyKWyUrCpS4FGIuk .cluster text{fill:#333;}#mermaid-svg-ZyKWyUrCpS4FGIuk .cluster span{color:#333;}#mermaid-svg-ZyKWyUrCpS4FGIuk div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-ZyKWyUrCpS4FGIuk .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-ZyKWyUrCpS4FGIuk rect.text{fill:none;stroke-width:0;}#mermaid-svg-ZyKWyUrCpS4FGIuk .icon-shape,#mermaid-svg-ZyKWyUrCpS4FGIuk .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-ZyKWyUrCpS4FGIuk .icon-shape p,#mermaid-svg-ZyKWyUrCpS4FGIuk .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-ZyKWyUrCpS4FGIuk .icon-shape .label rect,#mermaid-svg-ZyKWyUrCpS4FGIuk .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-ZyKWyUrCpS4FGIuk .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-ZyKWyUrCpS4FGIuk .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-ZyKWyUrCpS4FGIuk :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}
参考站对流层估计
生成格网节点
计算节点绝对值或残差
广播格网与质量信息
用户选择周围3或4个节点
插值或受控外推
恢复用户垂直延迟和斜路径延迟
双线性插值
用户位于四个规则格网节点之间:
- 左下节点值 z00z_{00}z00;
- 右下节点值 z10z_{10}z10;
- 左上节点值 z01z_{01}z01;
- 右上节点值 z11z_{11}z11。
定义:
t=xu−x0x1−x0,η=yu−y0y1−y0t= \\frac{x_u-x_0}{x_1-x_0}, \\qquad \\eta= \\frac{y_u-y_0}{y_1-y_0}t=x1−x0xu−x0,η=y1−y0yu−y0
其中:
- (xu,yu)(x_u,y_u)(xu,yu):用户坐标;
- x0,x1x_0,x_1x0,x1:左右格网坐标;
- y0,y1y_0,y_1y0,y1:下上格网坐标;
- 在网格内部有 0≤t,η≤10\\le t,\\eta\\le10≤t,η≤1。
双线性插值:
z^u=(1−t)(1−η)z00+t(1−η)z10+(1−t)ηz01+tηz11\\begin{aligned} \\hat z_u ={}& (1-t)(1-\\eta)z_{00} +t(1-\\eta)z_{10}\\\\ &+(1-t)\\eta z_{01} +t\\eta z_{11} \\end{aligned}z^u=(1−t)(1−η)z00+t(1−η)z10+(1−t)ηz01+tηz11
写成矩阵:
z^u=wuTzg\\hat z_u = \\mathbf{w}_u^T\\mathbf{z}_gz^u=wuTzg
其中:
wu=[(1−t)(1−η)t(1−η)(1−t)ηtη],zg=[z00z10z01z11]\\mathbf{w}_u= \\begin{bmatrix} (1-t)(1-\\eta)\\\\ t(1-\\eta)\\\\ (1-t)\\eta\\\\ t\\eta \\end{bmatrix}, \\qquad \\mathbf{z}_g= \\begin{bmatrix} z_{00}\\\\z_{10}\\\\z_{01}\\\\z_{11} \\end{bmatrix}wu=(1−t)(1−η)t(1−η)(1−t)ηtη,zg=z00z10z01z11
若节点协方差矩阵为 Cg\\mathbf{C}_gCg:
σu,grid2=wuTCgwu+σinterp2\\sigma_{u,\\mathrm{grid}}^2 = \\mathbf{w}_u^T \\mathbf{C}_g \\mathbf{w}_u + \\sigma_{\\mathrm{interp}}^2σu,grid2=wuTCgwu+σinterp2
其中:
- σinterp2\\sigma_{\\mathrm{interp}}^2σinterp2:网格内部未建模空间变化引起的误差方差。
若只知道每个节点的独立标准差,可近似使用对角协方差;但实际格网节点通常相关,忽略相关性可能低估或高估用户方差。若节点值由同一组参考站和同一趋势面生成,这种相关性通常不能忽略。
插值与外推
用户位于参考站或格网覆盖范围内部时是插值;位于覆盖范围外时是外推。
外推风险更高,应采取:
- 增大模型方差;
- 限制最大外推距离;
- 降低对流层约束权重;
- 超出有效域后停用区域改正;
- 保留用户端 ZWD 残差状态。
5.2 趋势面加格网残差
工程上常用:
ZWD(r)=p(r)Ta⏟大尺度趋势+δg(r)⏟局部格网残差ZWD(\\mathbf{r}) = \\underbrace{ \\mathbf{p}(\\mathbf{r})^T\\mathbf{a} }_{\\text{大尺度趋势}} + \\underbrace{ \\delta_g(\\mathbf{r}) }_{\\text{局部格网残差}}ZWD(r)=大尺度趋势p(r)Ta+局部格网残差δg(r)
其中:
- r\\mathbf{r}r:用户位置;
- p(r)Ta\\mathbf{p}(\\mathbf{r})^T\\mathbf{a}p(r)Ta:低阶多项式趋势;
- δg(r)\\delta_g(\\mathbf{r})δg(r):格网插值得到的局部残差。
该方法将任务拆成:
它通常比单一高阶多项式具有更好的:
- 数值稳定性;
- 局部表达能力;
- 边界可控性;
- 模型可解释性。
若趋势项与格网残差并非独立,用户方差应写成:
σu2=σtrend2+σgrid2+2 Cov(etrend,egrid)\\sigma_u^2 = \\sigma_{\\mathrm{trend}}^2 + \\sigma_{\\mathrm{grid}}^2 + 2\\,\\mathrm{Cov} \\left( e_{\\mathrm{trend}}, e_{\\mathrm{grid}} \\right)σu2=σtrend2+σgrid2+2Cov(etrend,egrid)
其中:
- etrende_{\\mathrm{trend}}etrend:趋势面预测误差;
- egride_{\\mathrm{grid}}egrid:格网残差插值误差。
只有在二者近似独立时,才能省略协方差项。
CLAS 中的实际形式
QZSS CLAS 的 Compact SSR 大气改正把对流层产品分为:
- 静力延迟的多项式函数部分;
- 湿延迟的公共偏移量;
- 各格网点的湿延迟残差;
- 对流层可用性和质量相关字段。
对某一格网点 ggg,湿延迟部分可概念性写为:
Tw,g=Tw,offset+ΔTw,gT_{w,g} = T_{w,\\mathrm{offset}} + \\Delta T_{w,g}Tw,g=Tw,offset+ΔTw,g
其中:
- Tw,offsetT_{w,\\mathrm{offset}}Tw,offset:区域共享的湿延迟偏移量;
- ΔTw,g\\Delta T_{w,g}ΔTw,g:格网点 ggg 的湿延迟残差。
用户应按接口规范恢复格网点值并插值到自身位置,再通过规定的映射函数转换为斜路径延迟。
其静力多项式可按改正类型使用:
ΔThs=T00\\Delta T_{hs}=T_{00}ΔThs=T00
或:
ΔThs=T00+T01(φ−φ0)+T10(λ−λ0)\\Delta T_{hs} = T_{00} +T_{01}(\\varphi-\\varphi_0) +T_{10}(\\lambda-\\lambda_0)ΔThs=T00+T01(φ−φ0)+T10(λ−λ0)
或进一步增加交叉项:
ΔThs=T00+T01(φ−φ0)+T10(λ−λ0)+T11(φ−φ0)(λ−λ0)\\Delta T_{hs} = T_{00} +T_{01}(\\varphi-\\varphi_0) +T_{10}(\\lambda-\\lambda_0) +T_{11}(\\varphi-\\varphi_0)(\\lambda-\\lambda_0)ΔThs=T00+T01(φ−φ0)+T10(λ−λ0)+T11(φ−φ0)(λ−λ0)
其中:
- φ,λ\\varphi,\\lambdaφ,λ:用户纬度和经度;
- φ0,λ0\\varphi_0,\\lambda_0φ0,λ0:区域参考纬度和经度;
- T00,T01,T10,T11T_{00},T_{01},T_{10},T_{11}T00,T01,T10,T11:静力延迟多项式系数。
这是一种具体服务接口,不代表所有 PPP-RTK 系统都必须采用相同产品结构。
5.3 距离反比加权 IDW
用户值:
z^u=∑i=1Nwizi\\hat z_u = \\sum_{i=1}^{N}w_i z_iz^u=i=1∑Nwizi
权值:
wi=di−p∑k=1Ndk−pw_i = \\frac{d_i^{-p}} {\\sum_{k=1}^{N}d_k^{-p}}wi=∑k=1Ndk−pdi−p
其中:
- did_idi:用户到第 iii 个参考站或节点的距离;
- p>0p>0p>0:距离幂指数;
- wiw_iwi:归一化权值;
- ∑iwi=1\\sum_iw_i=1∑iwi=1。
优点:
- 公式简单;
- 实时计算量小;
- 不需要估计高阶模型。
局限:
- 只反映距离,不反映真实空间协方差;
- 不能自然描述方向性;
- 对地形屏障和天气锋面不敏感;
- 最近参考站出现粗差时影响较大。
5.4 克里金插值
普通克里金预测:
z^u=λTz\\hat z_u = \\boldsymbol{\\lambda}^T\\mathbf{z}z^u=λTz
并满足无偏约束:
1Tλ=1\\mathbf{1}^T\\boldsymbol{\\lambda}=11Tλ=1
基于协方差函数的方程为:
[C11T0][λμ]=[cu1]\\begin{bmatrix} \\mathbf{C}&\\mathbf{1}\\\\ \\mathbf{1}^T&0 \\end{bmatrix} \\begin{bmatrix} \\boldsymbol{\\lambda}\\\\ \\mu \\end{bmatrix} = \\begin{bmatrix} \\mathbf{c}_u\\\\ 1 \\end{bmatrix}[C1T10][λμ]=[cu1]
其中:
- C\\mathbf{C}C:参考站之间的协方差矩阵;
- cu\\mathbf{c}_ucu:用户与各参考站之间的协方差向量;
- λ\\boldsymbol{\\lambda}λ:克里金权值;
- μ\\muμ:拉格朗日乘子。
预测误差方差可写为:
σK2=C(0)−2λTcu+λTCλ\\sigma_K^2 = C(0) -2\\boldsymbol{\\lambda}^T\\mathbf{c}_u +\\boldsymbol{\\lambda}^T\\mathbf{C}\\boldsymbol{\\lambda}σK2=C(0)−2λTcu+λTCλ
其中 C(0)C(0)C(0) 为零距离处的过程方差。
优点:
- 利用空间相关结构;
- 适合不规则站网;
- 可以估计预测方差;
- 可扩展到各向异性模型。
局限:
- 需要可靠的协方差或变异函数;
- 计算量大于 IDW 和双线性插值;
- 极端天气时历史相关结构可能失效;
- 协方差矩阵病态时需要正则化或降维。
5.5 数值天气模型与 GNSS 融合
可采用:
ZWDfinal(r,t)=ZWDNWP(r,t)+δZWDGNSS(r,t)ZWD_{\\mathrm{final}}(\\mathbf{r},t) = ZWD_{\\mathrm{NWP}}(\\mathbf{r},t) + \\delta ZWD_{\\mathrm{GNSS}}(\\mathbf{r},t)ZWDfinal(r,t)=ZWDNWP(r,t)+δZWDGNSS(r,t)
其中:
- ZWDNWPZWD_{\\mathrm{NWP}}ZWDNWP:数值天气模型提供的大尺度背景;
- δZWDGNSS\\delta ZWD_{\\mathrm{GNSS}}δZWDGNSS:参考站实时估计的残差场;
- r\\mathbf{r}r:空间位置;
- ttt:时刻。
优势:
- 对稀疏站网提供背景约束;
- 能利用三维气象场;
- 适合大范围和大高差区域;
- 网络滤波重启时可加快 ZWD 参数收敛。
局限:
- 空间和时间分辨率有限;
- 产品具有预报误差;
- 需要处理气压层、模型层和椭球高之间的转换;
- 仍需 GNSS 实时残差修正。
5.6 常见方法综合对比
| 经验模型 | 模型名称或少量参数 | 无需区域站网 | ZWD 精度有限 | 普通 PPP 初值 |
| 用户自行估计 ZWD | 无区域产品 | 独立稳健 | 收敛较慢 | 后处理、弱实时需求 |
| 一阶/二阶多项式 | 少量系数 | 稳定、带宽低 | 局部表达有限 | 平坦中小区域 |
| 三维二次 OFC | 10 个系数 | 同时考虑平面和高度 | 大高差时物理性不足 | 高差有限区域 |
| 五阶多项式 | 二维 21 个系数 | 表达能力强 | 过拟合与边界振荡 | 超密站网、严格检核 |
| 六阶多项式 | 二维 28 个系数 | 更灵活 | 风险高于五阶 | 极少作为默认方案 |
| 指数高度/MOFC | 水平系数和尺度高度 | 高差区域更合理 | 需非线性估计 | 山区、高原、广域 |
| IDW | 参考站或节点值 | 简单快速 | 不利用真实相关结构 | 均匀密集站网 |
| 双线性格网 | 节点值和质量 | 用户计算简单 | 广播量随分辨率增加 | 区域 PPP-RTK |
| 趋势面+残差格网 | 系数和残差节点 | 稳定且能表达局部变化 | 产品结构较复杂 | 实时区域增强 |
| 克里金 | 站值、格网或模型参数 | 协方差模型正确时为最佳线性无偏预测,并可估方差 | 协方差建模复杂 | 不规则站网 |
| NWP+GNSS 残差 | 背景场和实时残差 | 大范围和稀疏站网稳健 | 依赖天气产品 | 广域、大高差、复杂天气 |
6. 用户端应用与随机模型
6.1 用户端的三种应用策略
用户端有三种主要策略。
确定性改正
若产品提供的是 ZTD 或 ZWD,用户必须先结合 ZHD、映射函数和可选梯度项,计算每颗卫星方向的斜路径延迟,再从观测模型中扣除,并不再估计对应的垂直延迟状态。
优点:
- 状态维数小;
- 初期约束最强。
风险:
- 模型偏差直接进入高程、钟差和模糊度;
- 产品过期或外推时缺乏吸收能力。
该方式适合具有明确完整性保证、产品定义固定的专用系统。
改正后估计残差
把产品作为大部分改正,同时保留:
δZWDu\\delta ZWD_uδZWDu
作为随机游走状态:
ZWDu=ZWDumodel+δZWDuZWD_u = ZWD_u^{\\mathrm{model}} + \\delta ZWD_uZWDu=ZWDumodel+δZWDu
这是实时工程中较稳健的方式。
伪观测软约束
假设服务端提供:
zT=ZWDumodelz_T=ZWD_u^{\\mathrm{model}}zT=ZWDumodel
及其方差:
RT=σtrop,u2R_T=\\sigma_{\\mathrm{trop},u}^2RT=σtrop,u2
用户当前线性化点或滤波预测值为 x0\\mathbf{x}^{0}x0,其中包含 ZWD 状态。定义选择 ZWD 状态的列向量 cT\\mathbf{c}_TcT,则对流层伪观测的线性化残差为:
lT=zT−cTTx0l_T = z_T-\\mathbf{c}_T^T\\mathbf{x}^{0}lT=zT−cTTx0
对应增量方程:
lT=cTTδx+ηT,ηT∼N(0,σtrop,u2)l_T = \\mathbf{c}_T^T\\delta\\mathbf{x} +\\eta_T, \\qquad \\eta_T\\sim N(0,\\sigma_{\\mathrm{trop},u}^2)lT=cTTδx+ηT,ηT∼N(0,σtrop,u2)
其中:
- δx\\delta\\mathbf{x}δx:相对于线性化点的状态改正量;
- cT\\mathbf{c}_TcT:选择 ZWD 状态的列向量;
- ηT\\eta_TηT:对流层产品误差。
将 GNSS 线性化残差与对流层伪观测联合:
[llT]=[HcTT]δx+[εηT]\\begin{bmatrix} \\mathbf{l}\\\\ l_T \\end{bmatrix} = \\begin{bmatrix} \\mathbf{H}\\\\ \\mathbf{c}_T^T \\end{bmatrix} \\delta\\mathbf{x} + \\begin{bmatrix} \\boldsymbol{\\varepsilon}\\\\ \\eta_T \\end{bmatrix}[llT]=[HcTT]δx+[εηT]
联合协方差:
Raug=[R00Tσtrop,u2]\\mathbf{R}_{\\mathrm{aug}} = \\begin{bmatrix} \\mathbf{R}&\\mathbf{0}\\\\ \\mathbf{0}^T&\\sigma_{\\mathrm{trop},u}^2 \\end{bmatrix}Raug=[R0T0σtrop,u2]
对应法方程为:
(HTR−1H+cTcTTσtrop,u2)δx^=HTR−1l+cTlTσtrop,u2\\boxed{ \\left( \\mathbf{H}^T\\mathbf{R}^{-1}\\mathbf{H} + \\frac{\\mathbf{c}_T\\mathbf{c}_T^T} {\\sigma_{\\mathrm{trop},u}^2} \\right) \\delta\\hat{\\mathbf{x}} = \\mathbf{H}^T\\mathbf{R}^{-1}\\mathbf{l} + \\frac{\\mathbf{c}_Tl_T} {\\sigma_{\\mathrm{trop},u}^2} }(HTR−1H+σtrop,u2cTcTT)δx^=HTR−1l+σtrop,u2cTlT
求得改正量后:
x^=x0+δx^\\hat{\\mathbf{x}} = \\mathbf{x}^{0} + \\delta\\hat{\\mathbf{x}}x^=x0+δx^
这表明:
- σtrop,u\\sigma_{\\mathrm{trop},u}σtrop,u 越小,外部约束越强;
- σtrop,u\\sigma_{\\mathrm{trop},u}σtrop,u 越大,用户越依赖自身 GNSS 观测;
- 产品异常时应增大方差或停用,而不是继续强约束。
若用户状态估计的是残差 δZWD\\delta ZWDδZWD,则伪观测必须先转换为与该残差状态相同的基准,不能直接约束绝对 ZWD。
6.2 Kalman 滤波中的对流层约束
滤波预测状态和协方差:
x−,P−\\mathbf{x}^{-},\\qquad\\mathbf{P}^{-}x−,P−
对流层观测矩阵:
HT=cTT\\mathbf{H}_T=\\mathbf{c}_T^THT=cTT
创新:
νT=zT−cTTx−\\nu_T = z_T-\\mathbf{c}_T^T\\mathbf{x}^{-}νT=zT−cTTx−
创新方差:
ST=cTTP−cT+σtrop,u2S_T = \\mathbf{c}_T^T\\mathbf{P}^{-}\\mathbf{c}_T + \\sigma_{\\mathrm{trop},u}^2ST=cTTP−cT+σtrop,u2
Kalman 增益:
KT=P−cTST\\mathbf{K}_T = \\frac{ \\mathbf{P}^{-}\\mathbf{c}_T }{ S_T }KT=STP−cT
状态更新:
x+=x−+KTνT\\mathbf{x}^{+} = \\mathbf{x}^{-} + \\mathbf{K}_T\\nu_Tx+=x−+KTνT
为提高数值稳定性,协方差可采用 Joseph 形式:
P+=(I−KTHT)P−(I−KTHT)T+KTσtrop,u2KTT\\boxed{ \\mathbf{P}^{+} = (\\mathbf{I}-\\mathbf{K}_T\\mathbf{H}_T) \\mathbf{P}^{-} (\\mathbf{I}-\\mathbf{K}_T\\mathbf{H}_T)^T + \\mathbf{K}_T \\sigma_{\\mathrm{trop},u}^2 \\mathbf{K}_T^T }P+=(I−KTHT)P−(I−KTHT)T+KTσtrop,u2KTT
其中:
- 上标 −-−:加入对流层约束前;
- 上标 +++:加入约束后;
- I\\mathbf{I}I:单位矩阵。
6.3 改正龄期和方差膨胀
对流层变化通常比卫星钟差慢,但强天气条件下仍会发生明显变化。
若产品参考时刻为 t0t_0t0,用户时刻为 ttt:
Δtage=∣t−t0∣\\Delta t_{\\mathrm{age}} = \\vert{}t-t_0\\vert{}Δtage=∣t−t0∣
可采用随机游走方差膨胀:
σtrop2(t)=σtrop2(t0)+qageΔtage\\sigma_{\\mathrm{trop}}^2(t) = \\sigma_{\\mathrm{trop}}^2(t_0) + q_{\\mathrm{age}}\\Delta t_{\\mathrm{age}}σtrop2(t)=σtrop2(t0)+qageΔtage
其中:
- σtrop2(t0)\\sigma_{\\mathrm{trop}}^2(t_0)σtrop2(t0):产品生成时的方差;
- qageq_{\\mathrm{age}}qage:随龄期增长的方差谱密度,单位通常为 m2/s\\mathrm{m^2/s}m2/s;
- Δtage\\Delta t_{\\mathrm{age}}Δtage:改正龄期,单位为 s。
还应考虑:
- 用户到最近参考站或格网的距离;
- 是否位于参考站凸包内;
- 用户与参考站的高差;
- 当前天气活动程度;
- 有效参考站数量。
一个通用经验模型可写为:
σu2=σ02+kddu2+kh(Δhu)2+qageΔtage\\sigma_u^2 = \\sigma_0^2 +k_d d_u^2 +k_h(\\Delta h_u)^2 +q_{\\mathrm{age}}\\Delta t_{\\mathrm{age}}σu2=σ02+kddu2+kh(Δhu)2+qageΔtage
其中:
- σ02\\sigma_0^2σ02:基础模型方差;
- dud_udu:用户到有效参考信息的代表距离;
- Δhu\\Delta h_uΔhu:用户与模型参考高度的差;
- kd,khk_d,k_hkd,kh:距离和高度误差系数。
这些系数必须通过实际数据标定,不能作为通用固定常数。
7. 质量控制与模型选择
7.1 质量控制与完整性
参考站质量控制
应检查:
- 观测数据完整率;
- 多路径和周跳;
- 模糊度固定率;
- 坐标稳定性;
- ZWD 时间连续性;
- 残差和创新;
- 设备重启与产品中断。
区域模型质量控制
应检查:
- 设计矩阵秩;
- 条件数;
- 参考站空间分布;
- 模型残差;
- 最大误差;
- 95% 分位误差;
- 留一交叉验证;
- 边界和网外检核;
- 系数的时间连续性。
留一交叉验证流程:
留一交叉验证属于站网内部的准独立检核:被检站没有参与该次拟合,但仍与其他站共享轨道钟差、气象背景和区域误差源。因此,它不能完全替代独立监测站和长期外部验证。
用户端创新检验
可计算标准化创新:
rT=νTSTr_T = \\frac{\\nu_T}{\\sqrt{S_T}}rT=STνT
其中:
- νT\\nu_TνT:对流层伪观测创新;
- STS_TST:创新方差;
- rTr_TrT:标准化创新。
若 ∣rT∣\\vert{}r_T\\vert{}∣rT∣ 持续过大,可采取:
- 增大对流层产品方差;
- 暂停使用区域对流层约束;
- 保留并放松用户端 ZWD 状态;
- 标记服务区域或当前历元异常。
7.2 模型优化的重点
先保证参考站参数可靠
输入 ZWD 存在粗差时,提高多项式阶数只会更好地拟合错误数据。
先处理高度,再增加平面复杂度
山区模型的优先级通常是:
模型阶数由独立检核决定
不能只看站内拟合 RMS。应联合考察:
- 留一交叉验证 RMSE;
- 最大和 95% 误差;
- 条件数;
- 系数稳定性;
- 用户 TTFF;
- 固定率;
- 高程误差;
- 网外性能。
改正值和质量必须同时广播
仅广播 ZWD 而不提供:
- 方差;
- 龄期;
- 有效区域;
- 外推标志;
- 可用性标志;
会使用户无法正确设置随机模型。
带宽与精度平衡
- 高阶多项式:系数较多,局部稳定性未必好;
- 密格网:局部精度高,但广播量大;
- 低阶趋势加残差格网:通常是较好的折中。
7.3 建模方法选择流程
#mermaid-svg-Sgf0Elrvjb1zT39C{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-Sgf0Elrvjb1zT39C .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-Sgf0Elrvjb1zT39C .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-Sgf0Elrvjb1zT39C .error-icon{fill:#552222;}#mermaid-svg-Sgf0Elrvjb1zT39C .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-Sgf0Elrvjb1zT39C .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-Sgf0Elrvjb1zT39C .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-Sgf0Elrvjb1zT39C .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-Sgf0Elrvjb1zT39C .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-Sgf0Elrvjb1zT39C .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-Sgf0Elrvjb1zT39C .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-Sgf0Elrvjb1zT39C .marker{fill:#333333;stroke:#333333;}#mermaid-svg-Sgf0Elrvjb1zT39C .marker.cross{stroke:#333333;}#mermaid-svg-Sgf0Elrvjb1zT39C svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-Sgf0Elrvjb1zT39C p{margin:0;}#mermaid-svg-Sgf0Elrvjb1zT39C .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-Sgf0Elrvjb1zT39C .cluster-label text{fill:#333;}#mermaid-svg-Sgf0Elrvjb1zT39C .cluster-label span{color:#333;}#mermaid-svg-Sgf0Elrvjb1zT39C .cluster-label span p{background-color:transparent;}#mermaid-svg-Sgf0Elrvjb1zT39C .label text,#mermaid-svg-Sgf0Elrvjb1zT39C span{fill:#333;color:#333;}#mermaid-svg-Sgf0Elrvjb1zT39C .node rect,#mermaid-svg-Sgf0Elrvjb1zT39C .node circle,#mermaid-svg-Sgf0Elrvjb1zT39C .node ellipse,#mermaid-svg-Sgf0Elrvjb1zT39C .node polygon,#mermaid-svg-Sgf0Elrvjb1zT39C .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-Sgf0Elrvjb1zT39C .rough-node .label text,#mermaid-svg-Sgf0Elrvjb1zT39C .node .label text,#mermaid-svg-Sgf0Elrvjb1zT39C .image-shape .label,#mermaid-svg-Sgf0Elrvjb1zT39C .icon-shape .label{text-anchor:middle;}#mermaid-svg-Sgf0Elrvjb1zT39C .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-Sgf0Elrvjb1zT39C .rough-node .label,#mermaid-svg-Sgf0Elrvjb1zT39C .node .label,#mermaid-svg-Sgf0Elrvjb1zT39C .image-shape .label,#mermaid-svg-Sgf0Elrvjb1zT39C .icon-shape .label{text-align:center;}#mermaid-svg-Sgf0Elrvjb1zT39C .node.clickable{cursor:pointer;}#mermaid-svg-Sgf0Elrvjb1zT39C .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-Sgf0Elrvjb1zT39C .arrowheadPath{fill:#333333;}#mermaid-svg-Sgf0Elrvjb1zT39C .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-Sgf0Elrvjb1zT39C .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-Sgf0Elrvjb1zT39C .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-Sgf0Elrvjb1zT39C .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-Sgf0Elrvjb1zT39C .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-Sgf0Elrvjb1zT39C .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-Sgf0Elrvjb1zT39C .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-Sgf0Elrvjb1zT39C .cluster text{fill:#333;}#mermaid-svg-Sgf0Elrvjb1zT39C .cluster span{color:#333;}#mermaid-svg-Sgf0Elrvjb1zT39C div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-Sgf0Elrvjb1zT39C .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-Sgf0Elrvjb1zT39C rect.text{fill:none;stroke-width:0;}#mermaid-svg-Sgf0Elrvjb1zT39C .icon-shape,#mermaid-svg-Sgf0Elrvjb1zT39C .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-Sgf0Elrvjb1zT39C .icon-shape p,#mermaid-svg-Sgf0Elrvjb1zT39C .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-Sgf0Elrvjb1zT39C .icon-shape .label rect,#mermaid-svg-Sgf0Elrvjb1zT39C .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-Sgf0Elrvjb1zT39C .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-Sgf0Elrvjb1zT39C .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-Sgf0Elrvjb1zT39C :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}
是
否
稀疏
密集
否
是
是
否
否
是
设计区域对流层模型
区域高差是否明显
指数高度模型或NWP高度归一化
低阶平面趋势
参考站是否密集均匀
NWP背景加GNSS残差
局部水汽结构是否明显
一阶或二阶多项式
趋势面加格网残差
空间协方差是否可靠
克里金
双线性或IDW
交叉验证
误差 条件数和用户定位是否合格
调整高度模型 站网 格网或阶数
广播改正 方差 龄期和有效域
8. 优势与应用场景
8.1 对流层建模的优势
缩短收敛时间
准确的 ZWD 先验降低用户端早期状态不确定度,使高程和模糊度更快稳定。
改善高程精度
对流层误差与高程高度相关,因此外部对流层改正对高程方向的改善通常比平面方向更明显。
提高模糊度固定可靠性
对流层改正不会直接恢复模糊度整数性,但能够:
- 减小载波相位未建模误差;
- 改善浮点模糊度及其协方差;
- 提高整数候选判别的可靠性。
改善滤波重启和短时失锁后的恢复
服务端或用户端滤波重启时,外部 ZWD 先验能够减少重新估计大气参数所需的时间。
支持单向广播和大量用户
多项式系数或格网产品可以广播给大量用户,用户无需向服务端持续回传原始观测。
8.2 最具优势的应用场景
不存在只有对流层建模才能完成、其他技术绝对无法替代的定位场景。但它在以下场景中价值最明显。
区域 PPP-RTK 快速初始化
单台接收机需要厘米级绝对定位,并希望降低首次固定时间。
高程精度敏感场景
例如:
- 测量测绘;
- 形变监测;
- 精密农业;
- 无人机高程控制;
- 水利和工程机械。
山区和高原
大高差会使简单平面模型和三维二次多项式误差增大,指数高度模型和 NWP 融合更有价值。
沿海和强天气区
海陆水汽差异、锋面和强降雨会增强 ZWD 的局地变化,需要更密格网、克里金或动态质量控制。
服务端或用户端滤波重启
NWP 或区域 ZWD 先验对滤波初期最有帮助,随着 GNSS 观测积累,其相对作用会逐渐减弱。
无气象传感器的用户
用户不需要单独安装气压、温度和湿度传感器,也能使用服务端生成的区域中性大气产品。
9. 常见概念误区
双频组合可以消除对流层
错误。对流层在 GNSS 频段近似非色散,双频组合不能消除。
ZTD 与 ZWD 是同一个量
错误:
ZTD=ZHD+ZWDZTD=ZHD+ZWDZTD=ZHD+ZWD
六个系数就是六阶多项式
错误。二维二次多项式通常有 6 个系数,但仍然是二阶模型。
多项式阶数越高越好
错误。高阶模型可能降低站内残差,却恶化边界、网外和异常天气条件下的结果。
区域模型提供的是绝对 ZWD
不一定。产品也可能是:
- 背景模型残差;
- 相对网络基准站的差分 ZWD;
- 静力与湿延迟格网变化量;
- 斜路径改正。
应用外部改正后一定要删除 ZWD 状态
错误。多数通用 PPP-RTK 用户端保留 ZWD 或 ZWD 残差状态更稳健。
模型 RMS 小就代表用户定位一定好
错误。还要检查:
- 独立检核误差;
- 用户是否处于有效域内;
- 高差和改正龄期;
- 映射函数一致性;
- 模糊度固定和高程性能。
对流层建模可以解决城市多路径
错误。对流层建模不能消除:
- 建筑物反射;
- 非视距传播;
- 信号遮挡;
- 接收机噪声;
- 天线相位中心异常。
10. 工程选型与产品框架
10.1 按区域特征选择模型
小范围、平坦、站网密集
推荐:
- 一阶或二阶多项式;
- IDW;
- 低阶趋势加稀疏残差格网。
中等区域、地形起伏明显
推荐:
- 指数高度归一化;
- 二次水平趋势;
- 格网残差;
- 留一交叉验证。
大范围、山区或站网稀疏
推荐:
- NWP 背景;
- GNSS 实时残差;
- 指数高度模型;
- 分区或多尺度格网。
强天气和局地异常
推荐:
- 缩短更新周期;
- 增强参考站和用户端创新监测;
- 使用局部格网或克里金;
- 动态增大异常区域模型方差;
- 必要时降级为弱约束。
五阶和六阶
默认不推荐作为常规首选。只有在站点数、空间分布、条件数和独立检核均充分支持时才考虑使用。
10.2 推荐的服务端产品生成框架
#mermaid-svg-JfWYnBk48w7sJxe4{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-JfWYnBk48w7sJxe4 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-JfWYnBk48w7sJxe4 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-JfWYnBk48w7sJxe4 .error-icon{fill:#552222;}#mermaid-svg-JfWYnBk48w7sJxe4 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-JfWYnBk48w7sJxe4 .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-JfWYnBk48w7sJxe4 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-JfWYnBk48w7sJxe4 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-JfWYnBk48w7sJxe4 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-JfWYnBk48w7sJxe4 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-JfWYnBk48w7sJxe4 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-JfWYnBk48w7sJxe4 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-JfWYnBk48w7sJxe4 .marker.cross{stroke:#333333;}#mermaid-svg-JfWYnBk48w7sJxe4 svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-JfWYnBk48w7sJxe4 p{margin:0;}#mermaid-svg-JfWYnBk48w7sJxe4 .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-JfWYnBk48w7sJxe4 .cluster-label text{fill:#333;}#mermaid-svg-JfWYnBk48w7sJxe4 .cluster-label span{color:#333;}#mermaid-svg-JfWYnBk48w7sJxe4 .cluster-label span p{background-color:transparent;}#mermaid-svg-JfWYnBk48w7sJxe4 .label text,#mermaid-svg-JfWYnBk48w7sJxe4 span{fill:#333;color:#333;}#mermaid-svg-JfWYnBk48w7sJxe4 .node rect,#mermaid-svg-JfWYnBk48w7sJxe4 .node circle,#mermaid-svg-JfWYnBk48w7sJxe4 .node ellipse,#mermaid-svg-JfWYnBk48w7sJxe4 .node polygon,#mermaid-svg-JfWYnBk48w7sJxe4 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-JfWYnBk48w7sJxe4 .rough-node .label text,#mermaid-svg-JfWYnBk48w7sJxe4 .node .label text,#mermaid-svg-JfWYnBk48w7sJxe4 .image-shape .label,#mermaid-svg-JfWYnBk48w7sJxe4 .icon-shape .label{text-anchor:middle;}#mermaid-svg-JfWYnBk48w7sJxe4 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-JfWYnBk48w7sJxe4 .rough-node .label,#mermaid-svg-JfWYnBk48w7sJxe4 .node .label,#mermaid-svg-JfWYnBk48w7sJxe4 .image-shape .label,#mermaid-svg-JfWYnBk48w7sJxe4 .icon-shape .label{text-align:center;}#mermaid-svg-JfWYnBk48w7sJxe4 .node.clickable{cursor:pointer;}#mermaid-svg-JfWYnBk48w7sJxe4 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-JfWYnBk48w7sJxe4 .arrowheadPath{fill:#333333;}#mermaid-svg-JfWYnBk48w7sJxe4 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-JfWYnBk48w7sJxe4 .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-JfWYnBk48w7sJxe4 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-JfWYnBk48w7sJxe4 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-JfWYnBk48w7sJxe4 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-JfWYnBk48w7sJxe4 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-JfWYnBk48w7sJxe4 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-JfWYnBk48w7sJxe4 .cluster text{fill:#333;}#mermaid-svg-JfWYnBk48w7sJxe4 .cluster span{color:#333;}#mermaid-svg-JfWYnBk48w7sJxe4 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-JfWYnBk48w7sJxe4 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-JfWYnBk48w7sJxe4 rect.text{fill:none;stroke-width:0;}#mermaid-svg-JfWYnBk48w7sJxe4 .icon-shape,#mermaid-svg-JfWYnBk48w7sJxe4 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-JfWYnBk48w7sJxe4 .icon-shape p,#mermaid-svg-JfWYnBk48w7sJxe4 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-JfWYnBk48w7sJxe4 .icon-shape .label rect,#mermaid-svg-JfWYnBk48w7sJxe4 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-JfWYnBk48w7sJxe4 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-JfWYnBk48w7sJxe4 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-JfWYnBk48w7sJxe4 :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}
否
是
每个产品历元
读取参考站ZWD或ZTD
检查数据龄期 固定率 残差和连续性
统一ZHD模型 映射函数 高程和绝对基准
高度归一化
拟合低阶趋势或指数高度模型
计算参考站残差
生成残差格网 IDW或克里金场
留一交叉验证
质量是否合格
剔除异常站 降阶 增大方差或停用产品
生成系数 节点值 协方差和有效域
发布不可用或降级标志
附加参考时刻 更新间隔和改正龄期规则
广播给用户
建议广播内容包括:
- 产品物理量:ZTD、ZHD、ZWD 或残差;
- 绝对值或差分值的基准定义;
- 模型展开中心;
- 坐标单位;
- 椭球高或正常高基准;
- 映射函数;
- 多项式系数;
- 格网原点、间距和节点值;
- 产品标准差或质量指标;
- 参考时刻和更新间隔;
- 有效区域和最大外推距离;
- 数据不可用或降级标志。
10.3 服务端与用户端一致性检查表
| 延迟类型 | ZTD、ZHD、ZWD、斜路径延迟或残差 |
| 产品基准 | 绝对值、背景模型残差或基准站差分值 |
| 高度系统 | 椭球高、正高、参考高度和单位 |
| 空间坐标 | 纬经度或局部平面坐标、角度单位和归一化尺度 |
| 映射函数 | 静力、湿延迟和梯度映射函数 |
| 方位角约定 | 起算方向和正方向 |
| 时间基准 | 参考时刻、更新周期和改正龄期 |
| 随机模型 | 产品方差、相关性、外推和龄期膨胀 |
| 梯度处理 | 服务端是否提供梯度,用户端是否继续估计 |
| 失效策略 | 超龄、网外、质量异常时停用或降权 |
11. 总结
PPP-RTK 对流层建模的本质是:
把参考站网络估计的中性大气信息,转换成用户位置处可恢复、可加权、可监控的对流层产品。
它主要解决:
- 用户自行估计 ZWD 收敛较慢;
- ZWD 与高程、钟差和模糊度耦合;
- 全球经验模型难以描述局地水汽变化;
- PPP-RTK 快速初始化需要区域大气先验。
常见方法包括:
- 低阶多项式;
- OFC;
- 指数高度 MOFC;
- IDW;
- 双线性格网;
- 趋势面加格网残差;
- 克里金;
- NWP 与 GNSS 融合。
工程上不应盲目追求五阶、六阶多项式。更稳健的思路通常是:
可靠参考站参数 + 物理合理的高度模型 + 低阶空间趋势 + 局部残差格网 + 实时质量信息。
用户端应根据产品定义选择:
- 确定性改正;
- 改正后估计残差;
- 带方差的伪观测约束。
若服务端只提供 ZTD 或 ZWD,而没有水平梯度产品,用户端仍应根据观测条件决定是否保留 GNG_NGN、GEG_EGE 状态,不能把垂直延迟产品误认为已完整描述所有方位相关的大气非对称性。
最终评价标准不是站内拟合 RMS 最小,而是:
- 独立检核误差;
- 用户收敛时间;
- 模糊度固定率;
- 高程精度;
- 极端天气下的稳定性;
- 改正过期和网外情况下的安全降级能力。
参考资料
Li, X., et al. Review of PPP–RTK: achievements, challenges, and opportunities. Satellite Navigation, 2022.
https://doi.org/10.1186/s43020-022-00089-9
Cui, B., Wang, J., Li, P., Ge, M., and Schuh, H. Modeling wide-area tropospheric delay corrections for fast PPP ambiguity resolution. GPS Solutions, 2022.
https://doi.org/10.1007/s10291-022-01243-1
Huang, J., et al. Quality monitoring of grid-based atmospheric corrections in GNSS PPP-RTK service using leave-one-out cross-validation. Satellite Navigation, 2025.
https://doi.org/10.1186/s43020-025-00178-5
Song, C., et al. External Tropospheric Corrections by Using Kriging Interpolation for Improving PPP-RTK Positioning Solutions. Remote Sensing, 2022.
https://doi.org/10.3390/rs14153747
Gao, R., et al. Improving GNSS PPP-RTK through global forecast system zenith wet delay augmentation. GPS Solutions, 2024.
https://doi.org/10.1007/s10291-023-01608-0
QZSS. Interface Specification for QZSS Centimeter Level Augmentation Service, IS-QZSS-L6-007, 2025.
https://qzss.go.jp/en/technical/download/ps-is-qzss.html
Böhm, J., et al. Development of an improved empirical model for slant delays in the troposphere, GPT2w. GPS Solutions, 2015.
Saastamoinen, J. Atmospheric correction for the troposphere and stratosphere in radio ranging of satellites, 1972.
