深入浅出 GNSS 之赫尔默特方差分量估计:原理及公式推导

sucy 20260716

适用对象:测量平差、GNSS 定位、多源观测融合和随机模型初学者
核心目标:根据不同观测组的残差和冗余信息,估计各组随机模型的方差尺度,并修正组间权比


1. 什么是赫尔默特方差分量估计

赫尔默特方差分量估计(Helmert Variance Component Estimation,HVCE)是一种验后随机模型估计方法

它解决的问题是:

不同类型或不同来源的观测精度未知,先验权比不可靠,怎样根据平差残差估计各观测组的实际噪声尺度?

例如,GNSS 解算可能同时使用:

GPS伪距
GPS载波相位
北斗伪距
北斗载波相位
Galileo伪距
Galileo载波相位

如果组间权比设置不合理,可能导致:

  • 低质量观测权值过大,拉偏参数估计;
  • 高质量观测权值过小,没有被充分利用;
  • 参数协方差过于乐观或保守;
  • 多系统组合结果反而劣于单系统结果。

HVCE 根据各组的残差能量和冗余贡献,估计各组协方差应放大或缩小多少,再更新权阵并重新平差。

HVCE 与坐标转换中的“七参数 Helmert 变换”不是同一个概念。


2. “方差分量”怎样理解

2.1 方差

一维随机误差 eee 的方差为:

σ2=E[(e−E[e])2]\sigma^2 = \mathbb{E} \left[ \left( e-\mathbb{E}[e] \right)^2 \right]σ2=E[(eE[e])2]

其中:

  • eee:随机误差;
  • E[⋅]\mathbb{E}[\cdot]E[]:数学期望;
  • σ2\sigma^2σ2:误差方差。

方差越大,表示观测越不稳定,通常应赋予越小的权值。

2.2 分量

总体协方差可以由多个已知结构组成:

Cl=∑i=1mθiQi\mathbf{C}_{\mathbf{l}} = \sum_{i=1}^{m} \theta_i \mathbf{Q}_iCl=i=1mθiQi

其中:

  • Cl\mathbf{C}_{\mathbf{l}}Cl:观测向量的协方差矩阵;
  • mmm:方差分量个数;
  • θi\theta_iθi:第 iii 个待估方差分量;
  • Qi\mathbf{Q}_iQi:第 iii 个已知协方差结构矩阵。

通常要求:

θi≥0,Qi⪰0\theta_i\ge 0, \qquad \mathbf{Q}_i\succeq\mathbf{0}θi0,Qi0

可以简单理解为:

Q_i
→ 规定第i类误差怎样分布、怎样相关

θ_i
→ 规定这一类误差整体有多大

因此,方差分量本质上是协方差结构的尺度系数


3. 独立观测组模型

若观测分成 mmm 个相互独立的组,可写为:

Cl=diag⁡(σ12Q1, σ22Q2, …, σm2Qm)\mathbf{C}_{\mathbf{l}} = \operatorname{diag} \left( \sigma_1^2\mathbf{Q}_1,\, \sigma_2^2\mathbf{Q}_2,\, \ldots,\, \sigma_m^2\mathbf{Q}_m \right)Cl=diag(σ12Q1,σ22Q2,,σm2Qm)

其中:

  • σi2\sigma_i^2σi2:第 iii 组的方差尺度;
  • Qi\mathbf{Q}_iQi:第 iii 组内部已知的相对协方差结构。

只有当:

Qi=I\mathbf{Q}_i=\mathbf{I}Qi=I

时,σi2\sigma_i^2σi2 才能直接理解为该组等精度观测的单观测方差。

如果 Qi\mathbf{Q}_iQi 已包含高度角、C/N0C/N_0C/N0 或相关性模型,则 σi2\sigma_i^2σi2 只是该组随机模型的整体尺度。


4. HVCE 针对什么问题

HVCE 适合处理:

  • 伪距、载波相位和多普勒之间的权比;
  • GPS、BDS、Galileo 等系统之间的权比;
  • GNSS、UWB、视觉等传感器之间的权比;
  • 不同测站、接收机或分析中心结果之间的权比;
  • 角度、距离和高差等异质观测的联合平差。

HVCE 优化的是随机模型,不是函数模型。

函数模型回答:

观测量与未知参数之间是什么关系?

随机模型回答:

观测误差有多大?
观测之间怎样相关?
各观测组应该占多大权重?

如果函数模型遗漏了系统偏差,HVCE 不能消除该偏差,只可能把它吸收到较大的方差分量中。


5. 数学记号与基本假设

本文使用:

  • li\mathbf{l}_ili:第 iii 组观测向量;
  • Ai\mathbf{A}_iAi:第 iii 组设计矩阵;
  • x\mathbf{x}x:待估参数向量;
  • ei\mathbf{e}_iei:第 iii 组真实观测误差;
  • vi\mathbf{v}_ivi:第 iii 组平差残差;
  • nin_ini:第 iii 组观测数;
  • uuu:独立参数个数;
  • Ci\mathbf{C}_iCi:第 iii 组当前使用的协方差矩阵;
  • Pi=Ci−1\mathbf{P}_i=\mathbf{C}_i^{-1}Pi=Ci1:第 iii 组当前权阵;
  • Ni\mathbf{N}_iNi:第 iii 组对法方程的贡献;
  • N\mathbf{N}N:总法矩阵;
  • δij\delta_{ij}δij:Kronecker 符号;
  • tr⁡(⋅)\operatorname{tr}(\cdot)tr():矩阵的迹;
  • 上标 T\mathsf{T}T:矩阵转置;
  • 上标 −1-11:矩阵求逆。

本文严密分组公式基于以下条件:

  1. 线性模型,或非线性模型已经在当前近似值处正确线性化;
  2. 设计矩阵满列秩;
  3. 观测误差零均值:

E[ei]=0\mathbb{E}[\mathbf{e}_i] = \mathbf{0}E[ei]=0

  1. 各观测组之间相互独立:

Cov⁡(ei,ej)=0,i≠j\operatorname{Cov} \left( \mathbf{e}_i,\mathbf{e}_j \right) = \mathbf{0}, \qquad i\ne jCov(ei,ej)=0,i=j

  1. 协方差矩阵为分块对角形式;
  2. 各组当前协方差矩阵正定;
  3. 随机模型中不包含额外的固定协方差项。

若观测组之间相关,或存在固定协方差项,应使用更一般的 VCE 或 LS-VCE 模型。


6. 分组最小二乘模型

iii 组观测模型为:

li=Aix+ei,i=1,2,…,m\mathbf{l}_i = \mathbf{A}_i\mathbf{x} + \mathbf{e}_i, \qquad i=1,2,\ldots,mli=Aix+ei,i=1,2,,m

其中:

  • li∈Rni\mathbf{l}_i\in\mathbb{R}^{n_i}liRni
  • Ai∈Rni×u\mathbf{A}_i\in\mathbb{R}^{n_i\times u}AiRni×u
  • x∈Ru\mathbf{x}\in\mathbb{R}^{u}xRu

叠加后:

l=[l1l2⋮lm],A=[A1A2⋮Am]\mathbf{l} = \begin{bmatrix} \mathbf{l}_1\\ \mathbf{l}_2\\ \vdots\\ \mathbf{l}_m \end{bmatrix}, \qquad \mathbf{A} = \begin{bmatrix} \mathbf{A}_1\\ \mathbf{A}_2\\ \vdots\\ \mathbf{A}_m \end{bmatrix}l=l1l2lm,A=A1A2Am

当前协方差矩阵为:

C=diag⁡(C1, C2, …, Cm)\mathbf{C} = \operatorname{diag} \left( \mathbf{C}_1,\, \mathbf{C}_2,\, \ldots,\, \mathbf{C}_m \right)C=diag(C1,C2,,Cm)

权阵为:

P=C−1=diag⁡(P1, P2, …, Pm)\mathbf{P} = \mathbf{C}^{-1} = \operatorname{diag} \left( \mathbf{P}_1,\, \mathbf{P}_2,\, \ldots,\, \mathbf{P}_m \right)P=C1=diag(P1,P2,,Pm)


7. 加权最小二乘解

目标函数为:

J(x)=∑i=1m(li−Aix)TPi(li−Aix)J(\mathbf{x}) = \sum_{i=1}^{m} \left( \mathbf{l}_i-\mathbf{A}_i\mathbf{x} \right)^{\mathsf{T}} \mathbf{P}_i \left( \mathbf{l}_i-\mathbf{A}_i\mathbf{x} \right)J(x)=i=1m(liAix)TPi(liAix)

定义第 iii 组法矩阵:

Ni=AiTPiAi\mathbf{N}_i = \mathbf{A}_i^{\mathsf{T}} \mathbf{P}_i \mathbf{A}_iNi=AiTPiAi

总法矩阵:

N=∑i=1mNi\mathbf{N} = \sum_{i=1}^{m} \mathbf{N}_iN=i=1mNi

法方程右端项:

b=∑i=1mAiTPili\mathbf{b} = \sum_{i=1}^{m} \mathbf{A}_i^{\mathsf{T}} \mathbf{P}_i \mathbf{l}_ib=i=1mAiTPili

参数估计满足:

Nx^=b\mathbf{N}\hat{\mathbf{x}} = \mathbf{b}Nx^=b

iii 组残差为:

vi=li−Aix^\mathbf{v}_i = \mathbf{l}_i - \mathbf{A}_i \hat{\mathbf{x}}vi=liAix^

实际计算应求解线性方程,不宜显式形成 N−1\mathbf{N}^{-1}N1


8. 为什么不能直接比较残差平方和

iii 组加权残差平方和为:

qi=viTPiviq_i = \mathbf{v}_i^{\mathsf{T}} \mathbf{P}_i \mathbf{v}_iqi=viTPivi

不能简单认为 qiq_iqi 越大,该组精度就一定越差,因为:

  • 各组观测数不同;
  • 各组对公共参数的约束能力不同;
  • 各组冗余贡献不同;
  • 各组残差通过公共参数相互耦合。

真正应比较的是:

残差能量
与
该组能够形成的有效冗余信息

9. 从残差传递关系推导 Helmert 方程

假设第 jjj 组真实协方差相对于当前协方差需要乘以修正因子 αj\alpha_jαj

Cov⁡(ej)=αjCj\operatorname{Cov} \left( \mathbf{e}_j \right) = \alpha_j \mathbf{C}_jCov(ej)=αjCj

其中:

  • Cj\mathbf{C}_jCj:本轮平差使用的协方差;
  • αj\alpha_jαj:无量纲尺度修正因子。

αj>1\alpha_j>1αj>1,说明当前协方差设置过小,应降低该组权值。

αj<1\alpha_j<1αj<1,说明当前协方差设置过大,可以提高该组权值。

9.1 残差传递矩阵

整体残差为:

v=(I−AN−1ATP)e\mathbf{v} = \left( \mathbf{I} - \mathbf{A} \mathbf{N}^{-1} \mathbf{A}^{\mathsf{T}} \mathbf{P} \right) \mathbf{e}v=(IAN1ATP)e

iii 组残差可写为:

vi=∑j=1mBijej\mathbf{v}_i = \sum_{j=1}^{m} \mathbf{B}_{ij} \mathbf{e}_jvi=j=1mBijej

其中:

Bij=δijIni−AiN−1AjTPj\mathbf{B}_{ij} = \delta_{ij}\mathbf{I}_{n_i} - \mathbf{A}_i \mathbf{N}^{-1} \mathbf{A}_j^{\mathsf{T}} \mathbf{P}_jBij=δijIniAiN1AjTPj

式中:

  • Ini\mathbf{I}_{n_i}Ininin_ini 阶单位矩阵;
  • Bij\mathbf{B}_{ij}Bij:第 jjj 组误差对第 iii 组残差的传递矩阵。

9.2 残差二次型期望

由于各组误差相互独立:

E[qi]=∑j=1mαjtr⁡(PiBijCjBijT)\mathbb{E}[q_i] = \sum_{j=1}^{m} \alpha_j \operatorname{tr} \left( \mathbf{P}_i \mathbf{B}_{ij} \mathbf{C}_j \mathbf{B}_{ij}^{\mathsf{T}} \right)E[qi]=j=1mαjtr(PiBijCjBijT)

定义:

sij=tr⁡(PiBijCjBijT)s_{ij} = \operatorname{tr} \left( \mathbf{P}_i \mathbf{B}_{ij} \mathbf{C}_j \mathbf{B}_{ij}^{\mathsf{T}} \right)sij=tr(PiBijCjBijT)

则:

E[qi]=∑j=1msijαj\mathbb{E}[q_i] = \sum_{j=1}^{m} s_{ij}\alpha_jE[qi]=j=1msijαj

用实际 qiq_iqi 匹配其理论期望,就得到 Helmert 方差分量方程。


10. 独立分组模型下的严密 Helmert 方程

定义:

α=[α1α2⋮αm],q=[q1q2⋮qm]\boldsymbol{\alpha} = \begin{bmatrix} \alpha_1\\ \alpha_2\\ \vdots\\ \alpha_m \end{bmatrix}, \qquad \mathbf{q} = \begin{bmatrix} q_1\\ q_2\\ \vdots\\ q_m \end{bmatrix}α=α1α2αm,q=q1q2qm

Helmert 方程为:

Sα=q\mathbf{S} \boldsymbol{\alpha} = \mathbf{q}Sα=q

其中:

S=[s11s12⋯s1ms21s22⋯s2m⋮⋮⋱⋮sm1sm2⋯smm]\mathbf{S} = \begin{bmatrix} s_{11} & s_{12} & \cdots & s_{1m}\\ s_{21} & s_{22} & \cdots & s_{2m}\\ \vdots & \vdots & \ddots & \vdots\\ s_{m1} & s_{m2} & \cdots & s_{mm} \end{bmatrix}S=s11s21sm1s12s22sm2s1ms2msmm

系数可统一写为:

sij=δijni−2δijtr⁡(N−1Ni)+tr⁡(N−1NiN−1Nj)s_{ij} = \delta_{ij}n_i - 2\delta_{ij} \operatorname{tr} \left( \mathbf{N}^{-1}\mathbf{N}_i \right) + \operatorname{tr} \left( \mathbf{N}^{-1} \mathbf{N}_i \mathbf{N}^{-1} \mathbf{N}_j \right)sij=δijni2δijtr(N1Ni)+tr(N1NiN1Nj)

对角元素为:

sii=ni−2tr⁡(N−1Ni)+tr⁡[(N−1Ni)2]s_{ii} = n_i - 2\operatorname{tr} \left( \mathbf{N}^{-1}\mathbf{N}_i \right) + \operatorname{tr} \left[ \left( \mathbf{N}^{-1}\mathbf{N}_i \right)^2 \right]sii=ni2tr(N1Ni)+tr[(N1Ni)2]

非对角元素为:

sij=tr⁡(N−1NiN−1Nj),i≠js_{ij} = \operatorname{tr} \left( \mathbf{N}^{-1} \mathbf{N}_i \mathbf{N}^{-1} \mathbf{N}_j \right), \qquad i\ne jsij=tr(N1NiN1Nj),i=j

右端项为:

qi=viTPiviq_i = \mathbf{v}_i^{\mathsf{T}} \mathbf{P}_i \mathbf{v}_iqi=viTPivi

因此应求解:

Sα^=q\mathbf{S} \hat{\boldsymbol{\alpha}} = \mathbf{q}Sα^=q

式中:

  • S\mathbf{S}S:方差分量系数矩阵;
  • α^\hat{\boldsymbol{\alpha}}α^:尺度修正因子估计;
  • q\mathbf{q}q:各组加权残差二次型。

实际计算应求解线性方程,而不是显式计算 S−1\mathbf{S}^{-1}S1


11. 怎样理解 S\mathbf{S}S 矩阵

11.1 对角元素

siis_{ii}sii 表示第 iii 组误差对本组残差能量的有效贡献。

11.2 非对角元素

sijs_{ij}sij 表示第 jjj 组误差通过公共参数估计,对第 iii 组残差能量产生的耦合影响。

因此,严密 Helmert 方法不是“各组各算各的”,而是显式考虑组间耦合。

11.3 单组特殊情况

若只有一组观测:

N1=N\mathbf{N}_1 = \mathbf{N}N1=N

则:

s11=n−us_{11} = n-us11=nu

因此:

α^=vTPvn−u\hat{\alpha} = \frac{ \mathbf{v}^{\mathsf{T}} \mathbf{P} \mathbf{v} }{ n-u }α^=nuvTPv

这里需要区分:

  • P=Q−1\mathbf{P}=\mathbf{Q}^{-1}P=Q1,即权阵只包含协因数结构,则 α^\hat{\alpha}α^ 是单位权方差估计;
  • P\mathbf{P}P 已包含当前绝对协方差尺度,则 α^\hat{\alpha}α^ 是对当前协方差的尺度修正因子。

12. 怎样更新协方差和权阵

12.1 保留绝对方差尺度

α^i(r)\hat{\alpha}_i^{(r)}α^i(r) 表示第 rrr 轮对当前协方差的修正因子,则:

Ci(r+1)=α^i(r)Ci(r)\mathbf{C}_i^{(r+1)} = \hat{\alpha}_i^{(r)} \mathbf{C}_i^{(r)}Ci(r+1)=α^i(r)Ci(r)

相应权阵为:

Pi(r+1)=1α^i(r)Pi(r)\mathbf{P}_i^{(r+1)} = \frac{1} {\hat{\alpha}_i^{(r)}} \mathbf{P}_i^{(r)}Pi(r+1)=α^i(r)1Pi(r)

其中:

  • rrr:迭代编号;
  • Ci(r)\mathbf{C}_i^{(r)}Ci(r):当前协方差;
  • Ci(r+1)\mathbf{C}_i^{(r+1)}Ci(r+1):更新后的协方差。

12.2 只更新相对权比

若只关心组间相对权比,可以选择正的归一化常数 c(r)c^{(r)}c(r)

Ci(r+1)=α^i(r)c(r)Ci(r)\mathbf{C}_i^{(r+1)} = \frac{ \hat{\alpha}_i^{(r)} }{ c^{(r)} } \mathbf{C}_i^{(r)}Ci(r+1)=c(r)α^i(r)Ci(r)

例如选定参考组 r0r_0r0

c(r)=α^r0(r)c^{(r)} = \hat{\alpha}_{r_0}^{(r)}c(r)=α^r0(r)

归一化不是 HVCE 的必需步骤。若要保留绝对方差尺度,不应丢弃公共尺度信息。


13. 为什么需要迭代

权阵影响参数和残差,残差又用于估计方差分量:

权值
→ 参数与残差

残差
→ 方差分量

方差分量
→ 新权值

典型过程为:

  1. 给定初始协方差;
  2. 完成加权最小二乘平差;
  3. 计算各组残差二次型;
  4. 解 Helmert 方程;
  5. 更新协方差和权阵;
  6. 重新平差;
  7. 判断尺度是否稳定。

若保留绝对尺度,可使用:

max⁡i∣α^i(r)−1∣<ε\max_i \left\vert{} \hat{\alpha}_i^{(r)}-1 \right\vert{} < \varepsilonimaxα^i(r)1<ε

其中:

  • ε\varepsilonε:收敛阈值;
  • 收敛时,本轮协方差不再需要明显修正。

实际工程中还应设置最大迭代次数,并对过大的尺度变化进行阻尼或限幅。


14. 简化方差分量估计

iii 组的有效冗余贡献为:

ri=ni−tr⁡(N−1Ni)r_i = n_i - \operatorname{tr} \left( \mathbf{N}^{-1} \mathbf{N}_i \right)ri=nitr(N1Ni)

各组满足:

∑i=1mri=n−u\sum_{i=1}^{m} r_i = n-ui=1mri=nu

其中:

n=∑i=1mnin = \sum_{i=1}^{m} n_in=i=1mni

若当前权阵已经包含当前尺度,可构造简化修正因子:

α^i simp≈viTPiviri\hat{\alpha}_i^{\,\mathrm{simp}} \approx \frac{ \mathbf{v}_i^{\mathsf{T}} \mathbf{P}_i \mathbf{v}_i }{ r_i }α^isimpriviTPivi

需要特别注意:

严格地说,qi/riq_i/r_iqi/ri 是把其他组的耦合影响合并到一个平均尺度中的近似。只有当第 iii 组自身贡献占主导、组间耦合较弱,或各组尺度已经比较接近时,才能把它近似解释为第 iii 组的独立尺度修正因子。

如果:

Ci=σi2Qi\mathbf{C}_i = \sigma_i^2\mathbf{Q}_iCi=σi2Qi

且计算时只使用结构权阵:

Pi,0=Qi−1\mathbf{P}_{i,0} = \mathbf{Q}_i^{-1}Pi,0=Qi1

则可写为:

σ^i2≈viTPi,0viri\hat{\sigma}_i^2 \approx \frac{ \mathbf{v}_i^{\mathsf{T}} \mathbf{P}_{i,0} \mathbf{v}_i }{ r_i }σ^i2riviTPi,0vi

该式仍然是简化近似,不能替代强耦合条件下的严密 Helmert 方程。


15. HVCE 流程

严密方法

简化方法

绝对尺度

相对权比

划分观测组并设置初始协方差

加权最小二乘平差

计算各组残差与二次型

构造Ni与总法矩阵N

采用哪种估计?

构造S并求解S alpha = q

计算冗余贡献ri和近似尺度

保留绝对尺度还是仅用相对权比?

乘法更新各组协方差

选择参考尺度并归一化

重构权阵

尺度是否收敛?

输出参数、方差分量与最终随机模型


16. 两组观测的直观例子

设有:

第1组:载波相位
第2组:伪距

初始时两组协方差都设为单位阵:

C1(0)=I,C2(0)=I\mathbf{C}_1^{(0)} = \mathbf{I}, \qquad \mathbf{C}_2^{(0)} = \mathbf{I}C1(0)=I,C2(0)=I

若第一次估计得到:

α^1=1,α^2=10000\hat{\alpha}_1 = 1, \qquad \hat{\alpha}_2 = 10000α^1=1,α^2=10000

则:

C2(1)=10000C2(0)\mathbf{C}_2^{(1)} = 10000 \mathbf{C}_2^{(0)}C2(1)=10000C2(0)

相应权阵变为:

P2(1)=110000P2(0)\mathbf{P}_2^{(1)} = \frac{1}{10000} \mathbf{P}_2^{(0)}P2(1)=100001P2(0)

方差比为 10000:110000:110000:1,标准差比为:

σ2σ1=100\frac{\sigma_2}{\sigma_1} = 100σ1σ2=100

权值与方差成反比,因此两组的标量权比约为:

w2w1=110000\frac{w_2}{w_1} = \frac{1}{10000}w1w2=100001

该例只用于说明方差比、标准差比和权比之间的关系。


17. HVCE 与其他方法的关系

17.1 与加权最小二乘

普通加权最小二乘:

权阵已知
→ 只估计参数

HVCE:

权阵只有初值
→ 估计参数和残差
→ 估计方差分量
→ 更新权阵
→ 重新平差

HVCE 可以理解为在加权最小二乘外层增加一个随机模型迭代环。

17.2 与自适应 Kalman 滤波

HVCE 更关注:

  • 多观测组的方差尺度;
  • 残差二次型和冗余贡献;
  • 组间相对权比。

自适应 Kalman 滤波更关注:

  • 噪声统计随时间变化;
  • 新息和递推统计;
  • 按历元在线调整 Q\mathbf{Q}QR\mathbf{R}R

HVCE 可以嵌入 Kalman 滤波,但通常需要窗口累计或多历元冗余。

17.3 与抗差估计

HVCE 不是天然的粗差处理方法。

少量异常观测可能使整组方差被放大。因此通常应:

先进行粗差检测或抗差处理
→ 再进行方差分量估计

18. GNSS 分组与相关性问题

常见分组方式包括:

  • 按观测类型:伪距、相位、多普勒;
  • 按卫星系统:GPS、BDS、Galileo、GLONASS;
  • 按系统与观测类型联合分组;
  • 按接收机、测站或分析中心分组。

但需要注意:

分组不等于独立。

例如以下误差可能同时影响多个组:

  • 接收机钟差;
  • 对流层建模误差;
  • 轨道和钟差产品误差;
  • 同一卫星不同频点的多路径和硬件效应;
  • 多分析中心共享的观测数据和模型。

若忽略明显的跨组相关性,HVCE 可能把公共误差错误地分配给某一组方差分量。

因此,强相关情况下应:

  • 建立完整协方差模型;
  • 增加交叉协方差分量;
  • 使用更一般的 LS-VCE;
  • 或重新设计分组方式。

19. 优势与高价值场景

HVCE 的主要优势是:

  • 自动估计不同观测组的随机模型尺度;
  • 减少完全依赖经验设权;
  • 严密公式能够考虑组间参数耦合;
  • 结果可以解释为方差比、标准差比和权比;
  • 适合不同系统、观测类型和数据源的联合平差。

特别适合:

  • 各组内部相对协方差结构已知,但总体尺度未知;
  • 多种测量类型联合平差;
  • 多 GNSS 系统组合;
  • GNSS 与其他传感器融合;
  • 多测站、多设备或多分析中心结果组合;
  • 冗余充分的测量网或多历元数据。

HVCE 没有绝对独有的使用场景。MINQUE、REML、最大似然和 LS-VCE 等方法也能估计方差分量。


20. 局限性

20.1 需要足够冗余

若某组的冗余贡献接近零,则其方差尺度难以可靠估计。

20.2 对粗差敏感

经典残差二次型容易被离群值放大。

20.3 依赖正确分组和相关模型

错误分组或忽略跨组相关性都会影响结果。

20.4 可能得到负方差分量

样本不足、模型病态或不可辨识时,估计结果可能为负。

负方差没有直接物理意义,不能简单取绝对值。应检查:

  • 冗余是否足够;
  • 分组是否合理;
  • 是否存在粗差;
  • S\mathbf{S}S 是否病态;
  • 是否需要非负约束 VCE。

20.5 方差分量可能不可辨识

若两个协方差结构在残差空间中的作用几乎相同,则无法可靠区分它们的尺度。

20.6 参数协方差仍有近似性

使用估计后的方差分量代入:

Cx^=(ATC−1A)−1\mathbf{C}_{\hat{\mathbf{x}}} = \left( \mathbf{A}^{\mathsf{T}} \mathbf{C}^{-1} \mathbf{A} \right)^{-1}Cx^=(ATC1A)1

得到的是条件于当前随机模型估计的参数协方差。

它通常没有计入“方差分量本身也存在估计误差”这一层不确定性,样本较少时可能偏乐观。

20.7 不能修复函数模型错误

系统误差、时间同步错误或未建模偏差不会因为方差增大而真正消失。


21. 非线性 GNSS 模型中的处理

GNSS 观测方程通常是非线性的。

实际流程应包含两层迭代:

内层:
线性化观测方程并求解参数

外层:
根据残差估计方差分量并更新权阵

当参数近似值发生明显变化时,应重新计算设计矩阵,再进行下一轮 HVCE。

不能在函数模型尚未收敛时,仅根据早期残差直接判断随机模型。


22. 工程实现建议

22.1 先进行质量控制

先处理:

  • 周跳;
  • 失锁;
  • 明显粗差;
  • 时间标签错误;
  • 观测类型不匹配。

22.2 保留合理的组内随机模型

可写为:

Ci=γiCi,0\mathbf{C}_i = \gamma_i \mathbf{C}_{i,0}Ci=γiCi,0

其中:

  • Ci,0\mathbf{C}_{i,0}Ci,0:第 iii 组基础协方差结构;
  • γi\gamma_iγi:待估尺度因子。

22.3 设置尺度上下限和阻尼

为避免权值剧烈变化,可以采用:

γi(r+1)=(1−η)γi(r)+ηγi,new\gamma_i^{(r+1)} = \left( 1-\eta \right) \gamma_i^{(r)} + \eta \gamma_{i,\mathrm{new}}γi(r+1)=(1η)γi(r)+ηγi,new

其中:

  • η\etaη:阻尼系数;
  • 0<η≤10<\eta\le 10<η1

同时设置:

γmin⁡≤γi≤γmax⁡\gamma_{\min} \le \gamma_i \le \gamma_{\max}γminγiγmax

22.4 检查可辨识性

建议检查:

  • 每组冗余贡献 rir_iri
  • S\mathbf{S}S 的秩和条件数;
  • 不同协方差结构是否高度相似;
  • 估计结果是否对初值过于敏感。

22.5 避免显式求逆

优先使用:

  • Cholesky 分解;
  • QR 分解;
  • 对称线性方程求解;
  • 必要时使用 SVD 诊断秩亏。

23. 简化伪代码

输入:
    分组观测 li
    分组设计矩阵 Ai
    初始协方差 Ci
    收敛阈值 epsilon
    最大迭代次数 max_iter

for iteration = 1 ... max_iter:

    1. 根据Ci实现加权
       不显式形成inverse(Ci)

    2. 构造法方程:
       Ni = Ai^T * Pi * Ai
       N  = sum(Ni)
       b  = sum(Ai^T * Pi * li)

    3. 求解参数:
       solve(N * x_hat = b)

    4. 计算分组残差:
       vi = li - Ai * x_hat
       qi = vi^T * Pi * vi

    5. 严密Helmert方法:
       Xi = solve(N, Ni)

       sii = ni
             - 2 * trace(Xi)
             + trace(Xi * Xi)

       sij = trace(Xi * Xj)

       solve(S * alpha = q)

       或使用简化方法:
       ri = ni - trace(Xi)
       alpha_i ≈ qi / ri

    6. 更新协方差:
       绝对尺度:
           Ci_new = alpha_i * Ci

       仅相对权比:
           scale_i = alpha_i / alpha_reference
           Ci_new = scale_i * Ci

    7. 对负值、极端值和病态情况进行诊断
       必要时使用非负约束、阻尼和上下限

    8. 判断alpha_i是否接近1
       或累计相对尺度是否稳定

    9. 若未收敛:
       令Ci = Ci_new
       重新线性化并继续迭代

输出:
    参数估计x_hat
    最终协方差Ci
    方差分量或尺度修正因子
    组间权值比例

24. 总结

普通加权最小二乘:

权值已知
→ 估计参数

赫尔默特方差分量估计:

权值只有初值
→ 估计参数和残差
→ 估计各组方差尺度
→ 更新随机模型
→ 迭代至稳定

“方差分量”表示:

把总体协方差拆成多个已知结构
再估计每个结构的尺度

HVCE 的核心不是简单比较残差大小,而是同时利用:

残差二次型
+
冗余贡献
+
观测组之间的参数耦合

最关键的一句话是:

赫尔默特方差分量估计解决的不是“观测值应该是多少”,而是“不同观测组应该信任多少”。

内容概要:本文聚焦于“面向电网频率稳定的VSG惯量阻尼协同自适应控制策略”研究,深入探讨虚拟同步发电机(VSG)在微电网中的关键作用。通过Simulink仿真平台与Matlab编程实现,提出一种能够动态协同调节惯量和阻尼参数的自适应控制方法,旨在有效提升高比例可再生能源接入背景下电网的频率稳定性。研究系统阐述了VSG的核心控制原理,构建了惯量与阻尼的动态调节机制,详细分析了系统的动态响应特性,并通过仿真实验验证了所提策略的有效性,成功解决了传统VSG因参数固定而导致的动态响应速度与稳态稳定性之间的矛盾问题。; 适合人群:具备电力系统分析、自动控制理论等专业知识背景,熟练掌握Matlab/Simulink仿真工具,从事新能源并网技术、微电网运行控制、电力系统稳定性研究等方向的研究生、高校科研人员及电力行业工程技术人员。; 使用场景及目标:①为微电网中VSG控制策略的优化设计提供理论依据和技术方案;②支撑高渗透率可再生能源电力系统的频率稳定控制研究与工程实践;③为相关领域的学术论文复现、创新算法开发及科研项目申报提供完整的仿真模型与代码参考;④助力科研人员深入理解VSG动态特性并开展二次创新研究。; 阅读建议:建议学习者结合提供的Simulink仿真模型与Matlab源代码进行同步研习,重点剖析惯量与阻尼协同调控的逻辑架构及自适应算法的具体实现流程。可通过调整控制器关键参数,观察并分析系统在不同扰动下的频率响应曲线变化,从而深刻掌握VSG的内在动态规律与控制精髓。
内容概要:本文系统性地介绍了基于ARIMA-CNN-LSTM混合模型的时间序列预测方法,融合传统统计学模型ARIMA与深度学习网络CNN、LSTM的优势,构建高精度预测框架。其中,ARIMA用于捕捉时间序列的线性成分与平稳特征,CNN有效提取局部时序模式和空间特征,LSTM则擅长建模长期依赖关系与非线性动态。该混合模型特别适用于风电功率、光伏发电、电力负荷、股票价格等非平稳、非线性复杂时序数据的预测任务。文中提供了完整的Python代码实现流程,涵盖数据预处理、模型搭建、训练优化与结果评估,强调模型的可复现性和工程实用性,有助于深入理解多模型融合机制与实际应用技巧。; 适合人群:具备一定Python编程基础和机器学习知识,从事数据分析、人工智能、电力系统、金融工程、气象预测等相关领域的研究人员、工程技术人员及研究生。; 使用场景及目标:①应用于风电、光伏、负荷、股价等复杂时间序列的高精度预测;②深入理解ARIMA、CNN、LSTM三种模型的特性及其在混合架构中的协同机制;③掌握混合预测模型的设计思路、实现方法与参数调优策略,为科研项目或工业级预测系统开发提供可靠的技术方案。; 阅读建议:建议读者结合文中提供的Python代码进行动手实践,逐步调试并理解各模块的功能实现,重点关注数据划分、残差建模、特征融合与超参数调整等关键环节。同时,可通过文末提供的网盘链接获取完整代码与数据集,以确保实验的可复现性,并鼓励在此基础上进行模型改进与创新应用。
内容概要:LTK8315是一款单通道H桥有刷直流电机驱动器,工作电压范围为2.5V至12V,具备320mΩ低导通电阻和最高3.5A峰值电流驱动能力,支持PWM调速控制。该芯片通过INA和INB两个逻辑输入实现电机正转、反转、制动与待机功能,并集成欠压保护(UVLO)、过热保护(TSD)及自动故障恢复机制,提升系统安全性。器件支持低功耗休眠模式,当INA和INB持续为低电平时进入休眠,显著降低静态功耗。采用SOP8封装,适用于小家电、玩具、电子锁、机器人等小型机电设备中对直流或步进电机绕组的驱动控制。; 适合人群:电子工程技术人员、嵌入式硬件开发者、电机控制系统设计人员,以及从事小型智能设备研发的工程师;具备基本电路知识和电机控制基础的设计人员尤为适合。; 使用场景及目标:①用于小功率直流电机的方向与速度控制,如智能锁电机启停、玩具车运动控制;②配合微控制器实现PWM调速和节能管理;③作为步进电机双驱动方案中的一相驱动单元,与其他驱动器协同工作;④在电池供电设备中利用休眠模式延长续航。; 阅读建议:在实际应用中需注意电源端外接足够容量的去耦电容以抑制电压波动,避免因瞬态电流过大导致芯片损坏;设计时应将VM电源电容尽量靠近芯片布局,减少寄生电感影响;建议参考典型应用电路完成整体系统验证。
内容概要:本文聚焦于面向低碳经济运行目标的多微网能量互联优化调度研究,通过Matlab代码实现相关模型,系统探讨了多微网系统在可再生能源广泛接入背景下的协同调度问题。研究构建了一个兼顾经济性与低碳性的多目标优化模型,综合考虑电力供需平衡、设备运行约束、碳排放成本等因素,采用粒子群优化(PSO)、灰狼优化(GWO)等智能算法进行高效求解,实现了多微网间的能量互济与资源共享,有效提升了系统整体的能源利用效率与运行经济性,降低了碳排放水平。该研究为现代综合能源系统的绿色、高效运行提供了理论依据与技术支撑,具有明确的工程应用前景。; 适合人群:适用于具备电力系统基础、优化理论知识及Matlab编程能力的研究生、高校科研人员以及能源领域从事微电网规划、综合能源系统设计的工程技术人员,特别适合需要复现高水平学术论文、完成学位论文或开展相关课题研究的学习者。; 使用场景及目标:①复现与验证学术论文中关于多微网协同优化、低碳调度的经典与前沿模型;②支撑科研工作者在新能源消纳、多能互补、碳交易机制、需求响应等方向的创新性研究;③为实际微电网群的运行管理、储能系统配置、源-网-荷-储协同控制等工程问题提供可靠的仿真平台与决策优化工具。; 阅读建议:建议读者结合提供的Matlab代码与相关参考文献,按照研究逻辑循序渐进地学习,重点理解多目标函数的设计理念、各类物理约束的数学表达以及智能优化算法的具体实现过程。务必亲自动手调试、修改参数并运行代码,通过对比不同算法和场景的仿真结果,深入掌握模型的核心思想与应用技巧,从而真正提升独立科研与工程实践能力。
内容概要:本文提出了一种基于遗传算法的新型任务调度算法,专门针对异构分布式系统中的任务调度问题展开研究。通过Matlab代码实现该算法,旨在优化任务在计算能力不同的节点之间的分配策略,从而提升系统整体的资源利用率和任务执行效率。研究重点包括调度模型的设计、任务映射机制的构建以及遗传算法中编码方式、适应度函数、选择、交叉与变异操作等关键参数的优化配置,确保在复杂多变的异构环境下实现高效、低延迟的任务调度。该方法具有良好的可复现性和扩展性,适用于多种智能优化场景的对比与改进。; 适合人群:具备一定编程基础和优化算法知识,从事分布式系统、云计算、高性能计算或智能优化算法研究的科研人员及研究生。; 使用场景及目标:①应用于云计算平台、边缘计算网络等异构计算环境中的任务调度优化;②为研究人员提供完整的Matlab代码框架,支持算法复现、性能测试及与其他智能调度算法(如粒子群、蚁群等)的对比分析;③支撑高水平学术论文的实验验证与科研项目开发。; 阅读建议:建议读者结合Matlab代码深入理解遗传算法在任务调度中的具体实现细节,重点关注染色体编码策略与适应度函数设计,并可通过调整种群规模、迭代次数、交叉变异概率等参数进一步优化算法性能,探索引入混合优化策略的可能性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱刷碗的苏泓舒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值