平方根信息滤波:矩阵推导及 GNSS 参数估计应用

深入浅出 GNSS 之序贯最小二乘:与批处理最小二乘、Kalman 滤波的关系 序贯最小二乘是指:观测数据分批到达时,不重新处理全部历史观测,而是在上一批估值及其不确定度的基础上,吸收新观测并更新结果。序:观测按先后顺序到达;贯:上一阶段的结果继续传递给下一阶段。两种计算方式的区别如下。 阅读详情

本文主线:信息矩阵 → 平方根信息方程 → 白化观测 → QR 量测更新 → 增广时间更新 → GNSS 参数估计


1. 结论

平方根信息滤波的英文是:

Square-Root Information Filter,SRIF

它是线性 Kalman/LMMSE 估计的一种因子化数值实现。

SRIF 通常不直接递推协方差矩阵:

P\mathbf PP

也不显式形成完整信息矩阵:

Λ=P−1\boldsymbol\Lambda=\mathbf P^{-1}Λ=P−1

而是维护上三角平方根信息因子:

Λ=RxTRx\boxed{ \boldsymbol\Lambda = \mathbf R_x^{\mathrm T}\mathbf R_x }Λ=RxT​Rx​​

以及平方根信息向量:

zx=Rxx^\boxed{ \mathbf z_x = \mathbf R_x\hat{\mathbf x} }zx​=Rx​x^​

状态通过上三角方程求得:

Rxx^=zx\boxed{ \mathbf R_x\hat{\mathbf x} = \mathbf z_x }Rx​x^=zx​​

其中:

  • P\mathbf PP:状态估计误差协方差;
  • Λ\boldsymbol\LambdaΛ:信息矩阵,也称精度矩阵;
  • Rx\mathbf R_xRx​:上三角平方根信息因子;
  • x^\hat{\mathbf x}x^:状态估计;
  • zx\mathbf z_xzx​:平方根信息向量。

一句话理解:

SRIF 把动态状态估计组织成“白化最小二乘 + QR 正交消元”。


2. “平方根信息”怎样理解

“平方根信息”可以拆成:

信息 + 平方根因子

2.1 信息矩阵

当协方差矩阵 P\mathbf PP 正定时,信息矩阵定义为:

Λ=P−1\boxed{ \boldsymbol\Lambda = \mathbf P^{-1} }Λ=P−1​

在一维情况下:

Λ=1σ2\Lambda=\frac{1}{\sigma^2}Λ=σ21​

其中:

  • σ2\sigma^2σ2:方差;
  • Λ\LambdaΛ:信息或精度。

因此,在同一参数方向上:

方差越小
→ 不确定度越小
→ 信息越大

对矩阵不能简单比较每个元素的大小,应在半正定矩阵偏序意义下比较信息多少。

2.2 平方根信息因子

SRIF 保存:

Λ=RxTRx\boxed{ \boldsymbol\Lambda = \mathbf R_x^{\mathrm T}\mathbf R_x }Λ=RxT​Rx​​

这里的“平方根”不是逐元素开平方,也不要求使用对称主平方根。

它表示:

用一个三角因子的转置与其自身相乘,恢复信息矩阵。

2.3 平方根信息向量

普通信息向量为:

η=Λx^\boxed{ \boldsymbol\eta = \boldsymbol\Lambda\hat{\mathbf x} }η=Λx^​

平方根信息向量为:

zx=Rxx^\boxed{ \mathbf z_x = \mathbf R_x\hat{\mathbf x} }zx​=Rx​x^​

二者满足:

η=RxTzx\boxed{ \boldsymbol\eta = \mathbf R_x^{\mathrm T}\mathbf z_x }η=RxT​zx​​


3. 信息形式的适用条件

普通信息矩阵:

Λ=P−1\boldsymbol\Lambda=\mathbf P^{-1}Λ=P−1

要求 P\mathbf PP 可逆。

如果存在:

  • 严格固定参数;
  • 零方差方向;
  • 基准未定义;
  • 不可观参数;
  • 秩亏先验;

则 P\mathbf PP 可能奇异,普通信息矩阵不再存在。

此时需要采用:

  • 精确约束方程;
  • 矩形平方根信息因子;
  • 秩揭示 QR;
  • SVD;
  • 广义逆;
  • 重新参数化;
  • 补充基准约束。

以下基础推导先假设协方差正定、平方根信息因子满秩。


4. 一维直观例子

设:

x^=10,P=4\hat x=10, \qquad P=4x^=10,P=4

信息为:

Λ=P−1=14\Lambda=P^{-1}=\frac14Λ=P−1=41​

可取平方根信息因子:

Rx=12R_x=\frac12Rx​=21​

平方根信息向量为:

zx=Rxx^=12×10=5z_x=R_x\hat x = \frac12\times10 = 5zx​=Rx​x^=21​×10=5

状态由:

Rxx^=zxR_x\hat x=z_xRx​x^=zx​

恢复:

12x^=5⟹x^=10\frac12\hat x=5 \quad\Longrightarrow\quad \hat x=1021​x^=5⟹x^=10


5. 从高斯分布理解信息形式

设状态服从高斯分布:

x∼N(x^,P)\mathbf x \sim \mathcal N \left( \hat{\mathbf x}, \mathbf P \right)x∼N(x^,P)

其概率密度中与 x\mathbf xx 有关的指数项为:

−12(x−x^)TP−1(x−x^)-\frac12 \left( \mathbf x-\hat{\mathbf x} \right)^{\mathrm T} \mathbf P^{-1} \left( \mathbf x-\hat{\mathbf x} \right)−21​(x−x^)TP−1(x−x^)

定义:

Λ=P−1\boldsymbol\Lambda=\mathbf P^{-1}Λ=P−1

展开二次型:

(x−x^)TΛ(x−x^)=xTΛx−2x^TΛx+x^TΛx^\begin{aligned} &\left( \mathbf x-\hat{\mathbf x} \right)^{\mathrm T} \boldsymbol\Lambda \left( \mathbf x-\hat{\mathbf x} \right)\\ &= \mathbf x^{\mathrm T}\boldsymbol\Lambda\mathbf x - 2\hat{\mathbf x}^{\mathrm T} \boldsymbol\Lambda\mathbf x + \hat{\mathbf x}^{\mathrm T} \boldsymbol\Lambda\hat{\mathbf x} \end{aligned}​(x−x^)TΛ(x−x^)=xTΛx−2x^TΛx+x^TΛx^​

令:

η=Λx^\boldsymbol\eta = \boldsymbol\Lambda\hat{\mathbf x}η=Λx^

则同一个高斯分布可以表示为:

均值 + 协方差

或:

信息向量 + 信息矩阵

6. 信息形式与最小二乘

若:

Λ=RxTRx\boldsymbol\Lambda = \mathbf R_x^{\mathrm T}\mathbf R_xΛ=RxT​Rx​

且:

zx=Rxx^\mathbf z_x = \mathbf R_x\hat{\mathbf x}zx​=Rx​x^

则状态估计等价于:

x^=arg⁡min⁡x∥Rxx−zx∥22\boxed{ \hat{\mathbf x} = \arg\min_{\mathbf x} \left\| \mathbf R_x\mathbf x-\mathbf z_x \right\|_2^2 }x^=argxmin​∥Rx​x−zx​∥22​​

定义目标函数:

J(x)=(Rxx−zx)T(Rxx−zx)J(\mathbf x) = \left( \mathbf R_x\mathbf x-\mathbf z_x \right)^{\mathrm T} \left( \mathbf R_x\mathbf x-\mathbf z_x \right)J(x)=(Rx​x−zx​)T(Rx​x−zx​)

对 x\mathbf xx 求梯度:

∇xJ=2RxT(Rxx−zx)\nabla_{\mathbf x}J = 2\mathbf R_x^{\mathrm T} \left( \mathbf R_x\mathbf x-\mathbf z_x \right)∇x​J=2RxT​(Rx​x−zx​)

令梯度为零:

RxTRxx=RxTzx\mathbf R_x^{\mathrm T}\mathbf R_x\mathbf x = \mathbf R_x^{\mathrm T}\mathbf z_xRxT​Rx​x=RxT​zx​

即:

Λx=η\boldsymbol\Lambda\mathbf x = \boldsymbol\etaΛx=η

若 Rx\mathbf R_xRx​ 非奇异,可直接解上三角方程:

Rxx^=zx\boxed{ \mathbf R_x\hat{\mathbf x} = \mathbf z_x }Rx​x^=zx​​

无需计算 Λ−1\boldsymbol\Lambda^{-1}Λ−1。


7. 为什么使用 QR 而不是法方程

设白化后的线性模型为:

Ax≈b\mathbf A\mathbf x \approx \mathbf bAx≈b

法方程为:

ATAx=ATb\mathbf A^{\mathrm T}\mathbf A\mathbf x = \mathbf A^{\mathrm T}\mathbf bATAx=ATb

若 A\mathbf AA 满列秩,则二范数条件数满足:

κ2(ATA)=κ22(A)\boxed{ \kappa_2 \left( \mathbf A^{\mathrm T}\mathbf A \right) = \kappa_2^2(\mathbf A) }κ2​(ATA)=κ22​(A)​

因此,显式形成法方程会放大病态性。

SRIF 直接对 A\mathbf AA 进行 QR、Householder 或 Givens 正交变换,不显式形成:

ATA\mathbf A^{\mathrm T}\mathbf AATA

通常具有更好的舍入误差性质。



第一部分:SRIF 量测更新

8. 线性观测模型

设:

y=Hx+v\mathbf y = \mathbf H\mathbf x+\mathbf vy=Hx+v

其中:

  • y∈Rm\mathbf y\in\mathbb R^my∈Rm:观测向量;
  • H∈Rm×n\mathbf H\in\mathbb R^{m\times n}H∈Rm×n:设计矩阵;
  • x∈Rn\mathbf x\in\mathbb R^nx∈Rn:待估状态;
  • v\mathbf vv:观测噪声。

假设:

E⁡(v)=0\operatorname E(\mathbf v)=\mathbf0E(v)=0

Cov⁡(v)=Rv\operatorname{Cov}(\mathbf v) = \mathbf R_vCov(v)=Rv​

这里用 Rv\mathbf R_vRv​ 表示观测噪声协方差,避免与平方根信息因子 Rx\mathbf R_xRx​ 混淆。


9. 观测白化

若 Rv\mathbf R_vRv​ 正定,可进行 Cholesky 分解:

Rv=LvLvT\mathbf R_v = \mathbf L_v\mathbf L_v^{\mathrm T}Rv​=Lv​LvT​

定义白化算子:

Wv=Lv−1\mathbf W_v = \mathbf L_v^{-1}Wv​=Lv−1​

左乘观测方程:

Wvy=WvHx+Wvv\mathbf W_v\mathbf y = \mathbf W_v\mathbf H\mathbf x + \mathbf W_v\mathbf vWv​y=Wv​Hx+Wv​v

白化噪声协方差为:

Cov⁡(Wvv)=WvRvWvT=I\begin{aligned} \operatorname{Cov} \left( \mathbf W_v\mathbf v \right) &= \mathbf W_v \mathbf R_v \mathbf W_v^{\mathrm T}\\ &= \mathbf I \end{aligned}Cov(Wv​v)​=Wv​Rv​WvT​=I​

定义:

y~=Wvy\tilde{\mathbf y} = \mathbf W_v\mathbf yy~​=Wv​y

H~=WvH\tilde{\mathbf H} = \mathbf W_v\mathbf HH~=Wv​H

得到单位协方差观测:

y~=H~x+v~\tilde{\mathbf y} = \tilde{\mathbf H}\mathbf x + \tilde{\mathbf v}y~​=H~x+v~

实际程序中不显式计算 Lv−1\mathbf L_v^{-1}Lv−1​,而是求解:

Lvy~=y\mathbf L_v\tilde{\mathbf y} = \mathbf yLv​y~​=y

LvH~=H\mathbf L_v\tilde{\mathbf H} = \mathbf HLv​H~=H


10. 普通信息滤波的量测更新

先验状态和协方差为:

x^−,P−\hat{\mathbf x}^{-}, \qquad \mathbf P^{-}x^−,P−

先验信息定义为:

Λ−=(P−)−1\boxed{ \boldsymbol\Lambda^{-} = \left( \mathbf P^{-} \right)^{-1} }Λ−=(P−)−1​

η−=Λ−x^−\boxed{ \boldsymbol\eta^{-} = \boldsymbol\Lambda^{-} \hat{\mathbf x}^{-} }η−=Λ−x^−​

先验与量测的联合目标函数为:

J(x)=(x−x^−)TΛ−(x−x^−)+(y−Hx)TRv−1(y−Hx)\begin{aligned} J(\mathbf x) &= \left( \mathbf x-\hat{\mathbf x}^{-} \right)^{\mathrm T} \boldsymbol\Lambda^{-} \left( \mathbf x-\hat{\mathbf x}^{-} \right)\\ &\quad+ \left( \mathbf y-\mathbf H\mathbf x \right)^{\mathrm T} \mathbf R_v^{-1} \left( \mathbf y-\mathbf H\mathbf x \right) \end{aligned}J(x)​=(x−x^−)TΛ−(x−x^−)+(y−Hx)TRv−1​(y−Hx)​

对 x\mathbf xx 求导并令其为零,得到:

Λ+=Λ−+HTRv−1H\boxed{ \boldsymbol\Lambda^{+} = \boldsymbol\Lambda^{-} + \mathbf H^{\mathrm T} \mathbf R_v^{-1} \mathbf H }Λ+=Λ−+HTRv−1​H​

η+=η−+HTRv−1y\boxed{ \boldsymbol\eta^{+} = \boldsymbol\eta^{-} + \mathbf H^{\mathrm T} \mathbf R_v^{-1} \mathbf y }η+=η−+HTRv−1​y​

这里要求:

  • 当前量测噪声与先验估计误差不相关;
  • 分批加入的观测条件独立,或已经使用完整协方差联合白化。

否则不能简单重复相加信息。


11. SRIF 的增广信息方程

先验平方根信息方程为:

Rx−x≈zx−\mathbf R_x^{-}\mathbf x \approx \mathbf z_x^{-}Rx−​x≈zx−​

白化观测方程为:

H~x≈y~\tilde{\mathbf H}\mathbf x \approx \tilde{\mathbf y}H~x≈y~​

将二者纵向堆叠:

[Rx−H~]x≈[zx−y~]\boxed{ \begin{bmatrix} \mathbf R_x^{-}\\ \tilde{\mathbf H} \end{bmatrix} \mathbf x \approx \begin{bmatrix} \mathbf z_x^{-}\\ \tilde{\mathbf y} \end{bmatrix} }[Rx−​H~​]x≈[zx−​y~​​]​

先验信息方程

纵向堆叠

白化观测方程

QR正交三角化

后验信息因子

上三角回代


12. QR 量测更新推导

定义:

Am=[Rx−H~]\mathbf A_m = \begin{bmatrix} \mathbf R_x^{-}\\ \tilde{\mathbf H} \end{bmatrix}Am​=[Rx−​H~​]

bm=[zx−y~]\mathbf b_m = \begin{bmatrix} \mathbf z_x^{-}\\ \tilde{\mathbf y} \end{bmatrix}bm​=[zx−​y~​​]

若状态维数为 nnn、观测维数为 mmm,则:

Am∈R(n+m)×n\mathbf A_m \in \mathbb R^{(n+m)\times n}Am​∈R(n+m)×n

构造正交矩阵 Qm\mathbf Q_mQm​,使:

QmTAm=[Rx+0]\boxed{ \mathbf Q_m^{\mathrm T}\mathbf A_m = \begin{bmatrix} \mathbf R_x^{+}\\ \mathbf0 \end{bmatrix} }QmT​Am​=[Rx+​0​]​

右端同步变换:

QmTbm=[zx+e]\boxed{ \mathbf Q_m^{\mathrm T}\mathbf b_m = \begin{bmatrix} \mathbf z_x^{+}\\ \mathbf e \end{bmatrix} }QmT​bm​=[zx+​e​]​

于是:

∥Amx−bm∥22=∥Rx+x−zx+∥22+∥e∥22\left\| \mathbf A_m\mathbf x-\mathbf b_m \right\|_2^2 = \left\| \mathbf R_x^{+}\mathbf x-\mathbf z_x^{+} \right\|_2^2 + \|\mathbf e\|_2^2∥Am​x−bm​∥22​=​Rx+​x−zx+​​22​+∥e∥22​

后验状态由:

Rx+x^+=zx+\boxed{ \mathbf R_x^{+} \hat{\mathbf x}^{+} = \mathbf z_x^{+} }Rx+​x^+=zx+​​

求得。


13. 为什么 QR 更新等价于信息更新

正交变换保持内积,因此:

AmTAm=Rx+TRx+\mathbf A_m^{\mathrm T}\mathbf A_m = \mathbf R_x^{+\mathrm T}\mathbf R_x^{+}AmT​Am​=Rx+T​Rx+​

展开左侧:

AmTAm=Rx−TRx−+H~TH~=Λ−+HTRv−1H=Λ+\begin{aligned} \mathbf A_m^{\mathrm T}\mathbf A_m &= \mathbf R_x^{-\mathrm T}\mathbf R_x^{-} + \tilde{\mathbf H}^{\mathrm T}\tilde{\mathbf H}\\ &= \boldsymbol\Lambda^{-} + \mathbf H^{\mathrm T}\mathbf R_v^{-1}\mathbf H\\ &= \boldsymbol\Lambda^{+} \end{aligned}AmT​Am​​=Rx−T​Rx−​+H~TH~=Λ−+HTRv−1​H=Λ+​

所以:

Λ+=Rx+TRx+\boxed{ \boldsymbol\Lambda^{+} = \mathbf R_x^{+\mathrm T}\mathbf R_x^{+} }Λ+=Rx+T​Rx+​​

同理:

AmTbm=Rx+Tzx+\mathbf A_m^{\mathrm T}\mathbf b_m = \mathbf R_x^{+\mathrm T}\mathbf z_x^{+}AmT​bm​=Rx+T​zx+​

因此:

η+=Rx+Tzx+\boxed{ \boldsymbol\eta^{+} = \mathbf R_x^{+\mathrm T}\mathbf z_x^{+} }η+=Rx+T​zx+​​

这说明 SRIF 与普通信息滤波在精确算术下等价。


14. 正交残差与新息统计

标准 Kalman 新息为:

ν=y−Hx^−\boldsymbol\nu = \mathbf y-\mathbf H\hat{\mathbf x}^{-}ν=y−Hx^−

新息协方差为:

Sν=HP−HT+Rv\mathbf S_\nu = \mathbf H\mathbf P^{-}\mathbf H^{\mathrm T} + \mathbf R_vSν​=HP−HT+Rv​

在先验和量测模型一致、矩阵满秩时,增广最小二乘的最小代价满足:

∥e∥22=νTSν−1ν\boxed{ \|\mathbf e\|_2^2 = \boldsymbol\nu^{\mathrm T} \mathbf S_\nu^{-1} \boldsymbol\nu }∥e∥22​=νTSν−1​ν​

右侧就是归一化新息平方 NIS。

若噪声服从正确的高斯模型,且观测维数为 mmm,则:

NIS∼χm2\mathrm{NIS} \sim \chi_m^2NIS∼χm2​

因此,e\mathbf ee 可以辅助用于:

  • 新息一致性检验;
  • 粗差检测;
  • 方差因子评估;
  • 模型比较。

但仍需注意:

  • 自由度应按有效秩确定;
  • 相关观测必须正确白化;
  • 残差小不代表估计无偏;
  • 完整似然还包含协方差行列式等归一化项。


第二部分:SRIF 时间更新

15. 状态模型

状态方程为:

xk=Fk−1xk−1+Bk−1uk−1+wk−1\mathbf x_k = \mathbf F_{k-1}\mathbf x_{k-1} + \mathbf B_{k-1}\mathbf u_{k-1} + \mathbf w_{k-1}xk​=Fk−1​xk−1​+Bk−1​uk−1​+wk−1​

其中:

  • xk−1\mathbf x_{k-1}xk−1​:上一历元状态;
  • xk\mathbf x_kxk​:当前历元状态;
  • Fk−1\mathbf F_{k-1}Fk−1​:状态转移矩阵;
  • Bk−1uk−1\mathbf B_{k-1}\mathbf u_{k-1}Bk−1​uk−1​:已知控制项;
  • wk−1\mathbf w_{k-1}wk−1​:过程噪声。

设:

Cov⁡(wk−1)=Qk−1\operatorname{Cov} \left( \mathbf w_{k-1} \right) = \mathbf Q_{k-1}Cov(wk−1​)=Qk−1​

协方差形式的预测为:

Pk−=Fk−1Pk−1+Fk−1T+Qk−1\mathbf P_k^{-} = \mathbf F_{k-1} \mathbf P_{k-1}^{+} \mathbf F_{k-1}^{\mathrm T} + \mathbf Q_{k-1}Pk−​=Fk−1​Pk−1+​Fk−1T​+Qk−1​

过程噪声增加不确定度,也就是减少信息。

因此,时间更新不能像量测更新一样简单地进行信息加法。


16. 全秩过程噪声下的增广模型

若:

Qk−1=LQLQT\mathbf Q_{k-1} = \mathbf L_Q\mathbf L_Q^{\mathrm T}Qk−1​=LQ​LQT​

且 Qk−1\mathbf Q_{k-1}Qk−1​ 正定,定义:

WQ=LQ−1\mathbf W_Q = \mathbf L_Q^{-1}WQ​=LQ−1​

白化过程方程:

−WQFk−1xk−1+WQxk≈WQBk−1uk−1-\mathbf W_Q\mathbf F_{k-1}\mathbf x_{k-1} + \mathbf W_Q\mathbf x_k \approx \mathbf W_Q\mathbf B_{k-1}\mathbf u_{k-1}−WQ​Fk−1​xk−1​+WQ​xk​≈WQ​Bk−1​uk−1​

上一历元后验信息方程为:

Rx,k−1+xk−1≈zx,k−1+\mathbf R_{x,k-1}^{+} \mathbf x_{k-1} \approx \mathbf z_{x,k-1}^{+}Rx,k−1+​xk−1​≈zx,k−1+​

将两式堆叠:

[Rx,k−1+0−WQFk−1WQ][xk−1xk]≈[zx,k−1+WQBk−1uk−1]\boxed{ \begin{bmatrix} \mathbf R_{x,k-1}^{+} & \mathbf0\\ -\mathbf W_Q\mathbf F_{k-1} & \mathbf W_Q \end{bmatrix} \begin{bmatrix} \mathbf x_{k-1}\\ \mathbf x_k \end{bmatrix} \approx \begin{bmatrix} \mathbf z_{x,k-1}^{+}\\ \mathbf W_Q\mathbf B_{k-1}\mathbf u_{k-1} \end{bmatrix} }[Rx,k−1+​−WQ​Fk−1​​0WQ​​][xk−1​xk​​]≈[zx,k−1+​WQ​Bk−1​uk−1​​]​

这是关于旧状态与当前状态的联合白化最小二乘问题。


17. 正交消元得到当前先验

对联合系统进行正交三角化,并将旧状态变量排在前面:

QtT[Rx,k−1+0−WQFk−1WQ]=[R11R120Rx,k−]\mathbf Q_t^{\mathrm T} \begin{bmatrix} \mathbf R_{x,k-1}^{+} & \mathbf0\\ -\mathbf W_Q\mathbf F_{k-1} & \mathbf W_Q \end{bmatrix} = \begin{bmatrix} \mathbf R_{11} & \mathbf R_{12}\\ \mathbf0 & \mathbf R_{x,k}^{-} \end{bmatrix}QtT​[Rx,k−1+​−WQ​Fk−1​​0WQ​​]=[R11​0​R12​Rx,k−​​]

右端同步变换:

QtT[zx,k−1+WQBk−1uk−1]=[z1zx,k−]\mathbf Q_t^{\mathrm T} \begin{bmatrix} \mathbf z_{x,k-1}^{+}\\ \mathbf W_Q\mathbf B_{k-1}\mathbf u_{k-1} \end{bmatrix} = \begin{bmatrix} \mathbf z_1\\ \mathbf z_{x,k}^{-} \end{bmatrix}QtT​[zx,k−1+​WQ​Bk−1​uk−1​​]=[z1​zx,k−​​]

对应目标函数为:

J=∥R11xk−1+R12xk−z1∥22+∥Rx,k−xk−zx,k−∥22\begin{aligned} J &= \left\| \mathbf R_{11}\mathbf x_{k-1} + \mathbf R_{12}\mathbf x_k - \mathbf z_1 \right\|_2^2\\ &\quad+ \left\| \mathbf R_{x,k}^{-}\mathbf x_k - \mathbf z_{x,k}^{-} \right\|_2^2 \end{aligned}J​=∥R11​xk−1​+R12​xk​−z1​∥22​+​Rx,k−​xk​−zx,k−​​22​​

在本文“前后状态维数相同、过程噪声全秩”的简化模型下,若方阵 R11\mathbf R_{11}R11​ 非奇异,则对任意给定的 xk\mathbf x_kxk​,都可选择:

xk−1=R11−1(z1−R12xk)\mathbf x_{k-1} = \mathbf R_{11}^{-1} \left( \mathbf z_1-\mathbf R_{12}\mathbf x_k \right)xk−1​=R11−1​(z1​−R12​xk​)

使第一项为零。

因此,边缘化旧状态后保留:

Rx,k−xk≈zx,k−\boxed{ \mathbf R_{x,k}^{-}\mathbf x_k \approx \mathbf z_{x,k}^{-} }Rx,k−​xk​≈zx,k−​​

其信息矩阵等价于联合信息矩阵对旧状态块的 Schur 补。

若 R11\mathbf R_{11}R11​ 秩亏,必须使用秩揭示 QR、SVD、基准约束或重新参数化,不能直接丢弃上方方程。


18. 奇异过程噪声怎样处理

前述白化使用:

WQ=LQ−1\mathbf W_Q=\mathbf L_Q^{-1}WQ​=LQ−1​

要求 Qk−1\mathbf Q_{k-1}Qk−1​ 正定。

GNSS 中常出现零过程噪声,例如:

  • 常值模糊度;
  • 固定坐标;
  • 确定性动力学状态;
  • 严格约束参数。

此时常用方法包括:

  • 把确定性转移写成精确等式约束;
  • 只对白噪声子空间进行白化;
  • 使用矩形过程噪声因子;
  • 显式引入低维驱动噪声;
  • 使用秩揭示 QR 或 SVD;
  • 重新参数化状态。

不能仅为使 Q\mathbf QQ 可逆而随意增加过程噪声,否则会改变物理随机模型。


19. SRIF 完整流程

上一历元
R加 z加

加入过程模型

正交消元旧状态

当前先验
R减 z减

加入白化观测

QR三角化

当前后验
R加 z加

三角回代求状态



第三部分:与其他滤波方法的区别

20. SRIF 与协方差型 SRKF

协方差型平方根 Kalman 滤波保存:

P=SST\mathbf P = \mathbf S\mathbf S^{\mathrm T}P=SST

SRIF 保存:

P−1=RxTRx\mathbf P^{-1} = \mathbf R_x^{\mathrm T}\mathbf R_xP−1=RxT​Rx​

对比项协方差型 SRKFSRIF
保存对象协方差因子 S\mathbf SS信息因子 Rx\mathbf R_xRx​
直接表示不确定度约束信息
量测更新Kalman 阵列更新追加白化观测行
时间更新通常较直接需要增广与边缘化
获取完整协方差直接计算需要三角求解
参数消元相对不自然QR 消元自然
稀疏性协方差常较稠密信息因子可能保持稀疏
典型倾向小中型导航递推大量观测和局部参数消元

若需要由 SRIF 恢复完整协方差,可先求:

RxX=I\mathbf R_x\mathbf X = \mathbf IRx​X=I

得到:

X=Rx−1\mathbf X=\mathbf R_x^{-1}X=Rx−1​

再计算:

P=XXT\boxed{ \mathbf P = \mathbf X\mathbf X^{\mathrm T} }P=XXT​

获取完整协方差可能破坏 SRIF 的计算优势。


21. SRIF 与标准 Kalman

在线性模型、二阶统计条件和标准不相关假设下:

  • 标准 Kalman;
  • 普通信息滤波;
  • 协方差型 SRKF;
  • SRIF;

在精确算术下具有相同的状态均值与后验协方差。

在联合高斯条件下,它们同时给出条件均值 MMSE 估计。

SRIF 的优势来自:

  • 数值因子化;
  • 正交变换;
  • 稀疏组织;
  • 参数消元方式。

它不是统计意义上比 Kalman 更高阶的估计器。


22. SRIF 优化的是什么

SRIF 主要优化:

22.1 法方程的数值风险

避免显式形成:

ATWA\mathbf A^{\mathrm T}\mathbf W\mathbf AATWA

22.2 大量观测的信息累积

独立或已联合白化的观测可以作为新行加入信息方程。

22.3 局部参数消元

适合消去:

  • 接收机钟差;
  • 局部模糊度;
  • 临时状态;
  • 旧历元状态;
  • 不关心的辅助参数。

22.4 稀疏和分块结构

在合理的参数排序下,可利用大型系统的稀疏性。

22.5 有限精度可靠性

使用 QR、Householder、Givens 和三角回代减少普通矩阵求逆与法方程带来的误差。


23. SRIF 的优势与局限

23.1 优势

  • 数值稳定性通常优于法方程;
  • 观测可以逐条或分批加入;
  • 便于正交消元局部参数;
  • 适合稀疏和分块计算;
  • 正交残差便于一致性检验;
  • 可扩展到批处理和平滑估计。

23.2 局限

  • 时间更新比量测更新复杂;
  • 获取完整协方差代价较高;
  • 奇异过程噪声需要专门处理;
  • 边缘化会产生填充;
  • 效率依赖参数排序;
  • 相关观测必须正确建模;
  • 不天然抗粗差、多路径和周跳;
  • 非线性问题仍需迭代线性化;
  • 精确约束和秩亏问题需要专门算法。


第四部分:GNSS 参数估计应用

24. 与测量平差的关系

线性化观测模型为:

l=Aδ+ε\mathbf l = \mathbf A\boldsymbol\delta+\boldsymbol\varepsilonl=Aδ+ε

其中:

  • l\mathbf ll:观测减计算值;
  • A\mathbf AA:设计矩阵;
  • δ\boldsymbol\deltaδ:参数改正数;
  • ε\boldsymbol\varepsilonε:观测误差。

设:

Cov⁡(ε)=Rl\operatorname{Cov} \left( \boldsymbol\varepsilon \right) = \mathbf R_lCov(ε)=Rl​

若:

Rl=LlLlT\mathbf R_l = \mathbf L_l\mathbf L_l^{\mathrm T}Rl​=Ll​LlT​

则白化观测为:

A~=Ll−1A\tilde{\mathbf A} = \mathbf L_l^{-1}\mathbf AA~=Ll−1​A

l~=Ll−1l\tilde{\mathbf l} = \mathbf L_l^{-1}\mathbf ll~=Ll−1​l

传统加权最小二乘形成:

ATRl−1Aδ=ATRl−1l\mathbf A^{\mathrm T} \mathbf R_l^{-1} \mathbf A \boldsymbol\delta = \mathbf A^{\mathrm T} \mathbf R_l^{-1} \mathbf lATRl−1​Aδ=ATRl−1​l

SRIF 则直接对先验信息行和白化观测行进行 QR 三角化。

因此:

SRIF 可以看作“具有动态先验与时间传播的平方根加权最小二乘”。


25. 在 GNSS 中是否适用

SRIF 特别适合:

  • 观测数量大;
  • 状态维数高;
  • 参数具有全局与局部层级;
  • 需要实时递推;
  • 需要频繁参数消元;
  • 需要利用稀疏结构;
  • 数值条件较差。

可估参数包括:

  • 接收机坐标和钟差;
  • 对流层和电离层参数;
  • 载波相位模糊度相关状态;
  • 卫星钟差;
  • 卫星轨道参数;
  • 地球定向参数;
  • GNSS/INS 误差状态。

对于非线性 GNSS 观测,需要在当前近似状态处线性化:

lk≈Hkδk+vk\mathbf l_k \approx \mathbf H_k\boldsymbol\delta_k + \mathbf v_klk​≈Hk​δk​+vk​

求得改正数后更新:

x^k←x^k,0+δk\hat{\mathbf x}_k \leftarrow \hat{\mathbf x}_{k,0} + \boldsymbol\delta_kx^k​←x^k,0​+δk​


26. 单站 PPP 与 PPP-AR

简化的双频非组合 PPP 状态可写为:

x=[rTc δtrTzwdITbϕT]T\mathbf x = \begin{bmatrix} \mathbf r^{\mathrm T} & c\,\delta t_r & T_{\mathrm{zwd}} & \mathbf I^{\mathrm T} & \mathbf b_{\phi}^{\mathrm T} \end{bmatrix}^{\mathrm T}x=[rT​cδtr​​Tzwd​​IT​bϕT​​]T

其中:

  • r\mathbf rr:接收机坐标;
  • c δtrc\,\delta t_rcδtr​:距离单位的接收机钟差;
  • TzwdT_{\mathrm{zwd}}Tzwd​:天顶湿延迟;
  • I\mathbf II:电离层状态;
  • bϕ\mathbf b_{\phi}bϕ​:模糊度相关浮点状态。

SRIF 可以:

  • 按卫星或观测类型加入观测;
  • 对相关观测统一白化;
  • 递推累积信息;
  • 用 QR 维护三角因子;
  • 在周跳和卫星升降时更新状态。

但对单站、小规模 PPP,SRIF 不一定比 SRKF 更简单。

PPP-AR 的整数搜索通常需要浮点模糊度协方差子块:

Qa^a^\mathbf Q_{\hat a\hat a}Qa^a^​

在 SRIF 中,需要通过:

  • 三角求解;
  • 选定协方差求逆;
  • 变量重排序后提取子块;

获得该协方差。

因此,若程序频繁进行模糊度固定和协方差访问,协方差型 SRKF 可能更加直接。


27. 实时钟差、精密定轨与网络解算

27.1 实时卫星钟差

高维状态可能包括:

  • 卫星钟差;
  • 接收机钟差;
  • 对流层;
  • 模糊度;
  • 测站坐标约束。

SRIF 可以按测站分批加入观测,并优先消去局部接收机参数。

27.2 精密定轨

可联合处理:

  • 轨道初始状态;
  • 动力学参数;
  • 经验加速度;
  • 卫星钟差;
  • 测站和大气参数。

非线性定轨仍需要在参考轨道附近反复线性化。

27.3 大型 GNSS 网络

参数可分为:

全局参数
→ 轨道、卫星钟差、地球定向参数

局部参数
→ 接收机钟差、对流层、模糊度

SRIF 可通过参数排序和 QR 消元先处理局部参数,再保留全局参数。

变量排序不合理时,消元填充可能显著增加存储量和计算量。


28. 观测时间相关性

标准分批 SRIF 更新要求:

  • 不同观测批次在给定状态后相互独立;
  • 或已经使用完整协方差联合白化。

GNSS 中可能存在:

  • 多路径时间相关;
  • 平滑伪距相关;
  • 对流层模型残差相关;
  • 接收机噪声相关;
  • 预处理滤波引入的相关性。

忽略相关性可能造成:

  • 同一信息被重复计权;
  • 协方差过于乐观;
  • 精度评定失真;
  • 模糊度检验可靠性下降。

处理方法包括:

  • 构造时空协方差并联合白化;
  • 使用预白化模型;
  • 扩展有色噪声状态;
  • 使用考虑时间相关性的 SRIF 变体。

29. 状态增删、边缘化与精确约束

29.1 状态增加

新增卫星模糊度时,需要:

  • 扩展信息因子列;
  • 加入初始化先验;
  • 重新三角化。

29.2 状态删除与边缘化

一般不能直接删除 Rx\mathbf R_xRx​ 的任意行列。

常用方法:

  • 参数列置换;
  • Givens 旋转;
  • Householder 变换;
  • QR 降阶;
  • 等价 Schur 补消元。

29.3 模糊度精确固定

精确约束可写为:

Cx=d\mathbf C\mathbf x=\mathbf dCx=d

零方差约束对应无限信息方向,不能简单使用普通有限权值表示。

更严格的处理方法包括:

  • 用零空间参数化消去约束;
  • 使用等式约束 QR;
  • 直接消去已固定参数;
  • 使用约束型 SRIF;
  • 使用秩揭示分解。

使用很小但非零的约束方差只是近似方法,需要检查病态性和固定错误风险。


30. SRIF 是否有独有使用场景

严格来说,没有一种线性高斯估计问题只能使用 SRIF。

标准 Kalman、SRKF、批处理最小二乘和因子图也可能获得相同理论结果。

SRIF 最具代表性的优势场景是:

观测量很大、局部参数很多、结构稀疏,并且需要持续加入信息和正交消元参数。

特别适合:

  • 实时卫星钟差;
  • 精密定轨;
  • 大型 GNSS 网络;
  • 多测站联合估计;
  • 逐观测递推处理;
  • 大量临时参数消元。

它的独特工程价值是:

把递推估计转化为稳定的白化最小二乘和QR消元过程

31. 方法选择流程

单站 小中规模
频繁需要协方差

大量观测
局部参数多

超大稀疏非线性

否

是

否

是

GNSS参数估计

规模和结构

标准Kalman或SRKF

SRIF

稀疏QR 因子图
批处理优化

过程噪声是否奇异

常规SRIF时间更新

约束型或秩揭示更新

观测是否相关

分批白化并更新

联合白化
有色噪声模型


32. 二维量测更新例子

设先验均值:

x^−=[26]\hat{\mathbf x}^{-} = \begin{bmatrix} 2\\ 6 \end{bmatrix}x^−=[26​]

先验协方差:

P−=[1004]\mathbf P^{-} = \begin{bmatrix} 1 & 0\\ 0 & 4 \end{bmatrix}P−=[10​04​]

因此:

Λ−=[10014]\boldsymbol\Lambda^{-} = \begin{bmatrix} 1 & 0\\ 0 & \frac14 \end{bmatrix}Λ−=[10​041​​]

可取:

Rx−=[10012]\mathbf R_x^{-} = \begin{bmatrix} 1 & 0\\ 0 & \frac12 \end{bmatrix}Rx−​=[10​021​​]

平方根信息向量:

zx−=Rx−x^−=[23]\mathbf z_x^{-} = \mathbf R_x^{-}\hat{\mathbf x}^{-} = \begin{bmatrix} 2\\ 3 \end{bmatrix}zx−​=Rx−​x^−=[23​]

新增观测:

y=3y=3y=3

观测模型:

H=[10]\mathbf H = \begin{bmatrix} 1 & 0 \end{bmatrix}H=[1​0​]

观测方差:

Rv=1R_v=1Rv​=1

信息更新为:

Λ+=Λ−+HTRv−1H=[20014]\boldsymbol\Lambda^{+} = \boldsymbol\Lambda^{-} + \mathbf H^{\mathrm T}R_v^{-1}\mathbf H = \begin{bmatrix} 2 & 0\\ 0 & \frac14 \end{bmatrix}Λ+=Λ−+HTRv−1​H=[20​041​​]

信息向量更新为:

η+=η−+HTRv−1y=[532]\boldsymbol\eta^{+} = \boldsymbol\eta^{-} + \mathbf H^{\mathrm T}R_v^{-1}y = \begin{bmatrix} 5\\ \frac32 \end{bmatrix}η+=η−+HTRv−1​y=[523​​]

可取后验平方根信息因子:

Rx+=[20012]\mathbf R_x^{+} = \begin{bmatrix} \sqrt2 & 0\\ 0 & \frac12 \end{bmatrix}Rx+​=[2​0​021​​]

后验平方根信息向量满足:

Rx+Tzx+=η+\mathbf R_x^{+\mathrm T} \mathbf z_x^{+} = \boldsymbol\eta^{+}Rx+T​zx+​=η+

通过下三角回代得到:

zx+=(Rx+T)−1η+=[523]\mathbf z_x^{+} = \left( \mathbf R_x^{+\mathrm T} \right)^{-1} \boldsymbol\eta^{+} = \begin{bmatrix} \frac{5}{\sqrt2}\\ 3 \end{bmatrix}zx+​=(Rx+T​)−1η+=[2​5​3​]

解:

Rx+x^+=zx+\mathbf R_x^{+}\hat{\mathbf x}^{+} = \mathbf z_x^{+}Rx+​x^+=zx+​

得到:

x^+=[2.56]\boxed{ \hat{\mathbf x}^{+} = \begin{bmatrix} 2.5\\ 6 \end{bmatrix} }x^+=[2.56​]​

观测只约束了第一个状态,因此第二个状态保持不变。


33. 常见概念混淆

33.1 “信息”是信息论中的比特数

错误。这里的信息矩阵是协方差的逆,也称精度矩阵。

33.2 平方根信息因子是逐元素开平方

错误。它满足:

Λ=RxTRx\boldsymbol\Lambda = \mathbf R_x^{\mathrm T}\mathbf R_xΛ=RxT​Rx​

33.3 平方根信息向量是对信息向量开平方

错误。它定义为:

zx=Rxx^\mathbf z_x = \mathbf R_x\hat{\mathbf x}zx​=Rx​x^

33.4 SRIF 必须显式计算 P−1\mathbf P^{-1}P−1

错误。实际算法可以直接维护三角信息方程。

33.5 SRIF 就是协方差型 SRKF

不准确。二者都是平方根实现,但维护的因子不同。

33.6 观测信息总能逐批直接相加

错误。只有条件独立或已联合白化的观测才能分别相加。

33.7 SRIF 一定比 SRKF 更快

错误。性能取决于规模、稀疏性、参数排序和时间更新频率。

33.8 SRIF 天然抗粗差、多路径和周跳

错误。仍需质量控制、鲁棒估计和状态管理。

33.9 信息形式天然保持稀疏

错误。边缘化和参数排序会产生填充。

33.10 直接删除信息因子的行列就是边缘化

错误。边缘化需要正确的置换和正交消元。


34. 工程实现检查清单

34.1 数学约定

  • Λ=P−1\boldsymbol\Lambda=\mathbf P^{-1}Λ=P−1 的适用条件是否满足;
  • 是否统一采用 Λ=RxTRx\boldsymbol\Lambda=\mathbf R_x^{\mathrm T}\mathbf R_xΛ=RxT​Rx​;
  • Rx\mathbf R_xRx​ 是否统一为上三角;
  • zx=Rxx^\mathbf z_x=\mathbf R_x\hat{\mathbf x}zx​=Rx​x^ 是否一致;
  • 先验上标和逆矩阵括号是否正确。

34.2 量测更新

  • 观测是否正确白化;
  • 跨历元相关性是否被建模;
  • 是否避免显式形成法方程;
  • 是否使用稳定的 QR/Householder/Givens;
  • 残差统计的自由度是否正确。

34.3 时间更新

  • Q\mathbf QQ 是否正定;
  • 奇异过程噪声是否采用约束或矩形因子;
  • 被消元状态块是否满秩;
  • 旧状态是否正确边缘化;
  • 控制输入是否进入正确右端项。

34.4 GNSS 状态管理

  • 新升卫星是否正确扩展状态;
  • 周跳后是否正确重置模糊度;
  • 落下卫星是否通过置换和消元删除;
  • 模糊度固定是否使用约束型处理;
  • PPP-AR 所需协方差子块是否正确提取;
  • 参数排序是否减少 QR 填充;
  • 是否检查基准缺失、秩亏和不可观状态。

35. 总结

SRIF 保存信息矩阵的平方根因子
Λ=RxTRx\boldsymbol\Lambda=\mathbf R_x^{\mathrm T}\mathbf R_xΛ=RxT​Rx​,以及平方根信息向量
zx=Rxx^\mathbf z_x=\mathbf R_x\hat{\mathbf x}zx​=Rx​x^。

“信息”表示协方差的逆;“平方根”表示通过三角因子的转置乘积恢复信息矩阵。

SRIF 的量测更新是把先验信息方程与白化观测方程堆叠,再通过 QR 得到新的三角信息方程。

SRIF 的时间更新需要建立前后历元联合模型,并通过正交消元边缘化旧状态。

SRIF 与标准 Kalman 和协方差型 SRKF 在模型一致、精确算术条件下具有相同统计结果。

SRIF 特别适合大量观测、局部参数多、结构稀疏,并需要实时信息累积和参数消元的 GNSS 参数估计问题。


参考资料

  • G. J. Bierman:Factorization Methods for Discrete Sequential Estimation
  • C. L. Thornton:Triangular Covariance Factorizations for Kalman Filtering
  • J. R. Carpenter、C. N. D’Souza:Navigation Filter Best Practices
  • X. Zuo 等:A Square Root Information Filter for Multi-GNSS Real-Time Precise Clock Estimation
  • Y. Jiang 等:Square Root Information Filter Considering Temporal Correlation of GNSS Observations
手把手教你用卡尔曼滤波搞定PPP/INS紧组合:从状态方程到观测方程的实战拆解 本文详细解析了PPP/INS紧组合中卡尔曼滤波的实现过程,从状态方程到观测方程的实战推导。通过GNSS原始观测值与IMU数据的深度融合,紧组合算法显著提升了定位精度和鲁棒性。文章深入探讨了IMU误差建模、观测方程构建及卡尔曼滤波实现的关键细节,为高精度导航系统开发提供实用指导。 阅读详情

相关推荐

卡尔曼滤波实战指南:从登月舱到机器人融合定位

卡尔曼滤波是一种基于系统模型与传感器观测的递归状态估计算法,核心在于动态权衡‘模型可信度’与‘观测可靠性’,通过协方差传播量化并更新不确定性。它并非黑箱滤波器,而是具备明确物理意义的数学框架,广泛应用于GNSS/INS组合导航、机器人SLAM前端、电池SOC估算等场景。其工程落地关键在于正确建模状态转移与观测关系,并合理配置过程噪声Q和观测噪声R——二者共同决定卡尔曼增益K的时变行为,进而影响估计的响应速度与稳定性。本文聚焦线性卡尔曼滤波(LKF)原理与Python手写实现,覆盖预测-更新闭环、协方差演化机

weixin_34384557的博客 423

平方根 Kalman 滤波:矩阵推导及 GNSS 参数估计应用

可以用下面几句话记住全文:平方根 Kalman 滤波不直接递推协方差P\mathbf PP,而是递推满足PSSTPSST的矩阵因子S\mathbf SS。“平方根”不是均方根,也不是对状态或矩阵元素逐个开平方;SRKF 通常递推的是 Cholesky 型协方差因子,而不是必须递推对称主平方根。SRKF 与标准 Kalman 使用相同的统计模型和估计目标;精确算术下结果等价。SRKF 通过 QR、Cholesky 和三角回代减少舍入误差,更容易维护协方差的对称性和正定性。

星垂平野阔, 月涌大江流 216

平方根UKF车辆组合导航实战:从15维误差状态到上车避坑指南

在GNSS/IMU组合导航中,卡尔曼滤波通过状态估计与多源观测融合实现高精度定位。平方根UKF(SR-UKF)以协方差平方根因子递推,从数学结构上保证正定性,显著提升数值稳定性。相比普通UKF,SR-UKF在车辆组合导航中能有效避免协方差矩阵发散,确保GNSS丢星恢复后快速收敛。其技术价值在于兼顾非线性处理能力与工程可靠性,适用于自动驾驶、车载定位等实时性要求高的场景。本文围绕15维误差状态模型,详解SR-UKF的Sigma点生成、QR分解递推及量测更新,并分享参数调优与上车避坑经验。

weixin_29056145的博客 275

泰勒级数与泰勒展开:GNSS卫地距线性化、Jacobian矩阵与Hessian矩阵

设卫星三维坐标已知,接收机三维坐标未知。两者之间的几何距离是平方根函数,不能直接用普通线性最小二乘一次性解出接收机坐标。泰勒展开将非线性距离函数在当前估计位置附近近似为线性函数,再迭代求解坐标改正数。例如,指数函数在零点展开:ex=1+x+x22!+x33!+⋯=∑k=0∞xkk!. e^x=1+x+\frac{x^2}{2!}+\frac{x^3}{3!}+\cdots =\sum_{k=0}^{\infty}\frac{x^k}{k!}. ex=1+x+2!x2​+3!x3​+⋯=k=0∑∞​k!xk​

星垂平野阔, 月涌大江流 620

Matlab一键运行KF/UKF/EKF滤波对比实验包,含平方根实现与多模型测试

直接运行就能跑通的卡尔曼滤波三件套:线性KF、扩展EKF和无迹UKF,全部用Matlab写成,不依赖额外工具箱。main.m点开即跑,compare.m自动画出估计误差、协方差收敛曲线和RMSE对比图;UKF_example.m和EKF_standard.m分别演示非线性系统下的典型调用流程;TS_model.m封装了常用测试模型(如目标跟踪CT模型、电机状态模型),kalman_sqrt.m提供数值更稳定的平方根版本,避免协方差矩阵失正定。还附带联邦滤波框架、扩散抑制策略、RBF神经网络辅助建模(BP_R

peace的博客 244

卡尔曼滤波从理论到MATLAB实现:五个方程与工程避坑指南

状态估计是信号处理与自动控制的核心问题,其目标是在噪声干扰下还原系统真实状态。卡尔曼滤波基于贝叶斯递推与高斯假设,通过预测与更新两个步骤,以最小均方误差为准则实现最优估计。理解协方差矩阵演化与卡尔曼增益收敛机制,是掌握滤波器的关键。在工程实践中,Q与R调参、数值稳定性及滤波器发散排查直接影响估计精度。MATLAB为实现与验证提供了高效平台,从线性卡尔曼到扩展卡尔曼的过渡,帮助开发者在目标跟踪、导航制导等场景中构建可靠的状态估计方案。

weixin_31220401的博客 75

从GNSS观测方程到RTK定位:手把手推导伪距与载波相位的核心模型

本文深入解析GNSS定位技术中的伪距与载波相位观测模型,详细推导从单点定位(SPP)到RTK定位的数学原理与实现方法。通过手把手教学方式,揭示观测方程线性化、差分技术消除误差、卡尔曼滤波建模等核心算法,帮助读者掌握高精度定位技术的理论基础与工程实践要点。特别针对载波相位整周模糊度等关键技术难点提供解决方案。

weixin_30321449的博客 331

卡尔曼滤波实战:从MATLAB代码到EKF/UKF项目落地

状态估计是导航、跟踪与传感器融合的核心技术,卡尔曼滤波通过预测与更新两步递推,实现对动态系统状态的最优估计。其原理基于状态空间模型与协方差传播,利用卡尔曼增益权衡预测与观测的不确定性。在工程实践中,扩展卡尔曼滤波(EKF)与无迹卡尔曼滤波(UKF)分别通过线性化和sigma点采样处理非线性问题,广泛应用于自动驾驶、机器人定位等领域。本文结合MATLAB代码与理论推导,深入拆解离散与连续卡尔曼滤波、EKF及UKF的实现细节,并分享参数调试与避坑经验,帮助读者将公式真正落地到实际项目。

weixin_28711397的博客 252

从静态到动态:序贯最小二乘平差如何实现增量式参数估计

本文深入探讨了序贯最小二乘平差在动态数据处理中的应用,详细介绍了其从静态到动态的算法进化过程。通过与传统最小二乘法的对比,展示了序贯平差在内存友好、实时响应和精度可控方面的核心优势。文章还提供了实现增量估计的关键技术、实战对比数据以及工程实践中的技巧与陷阱,帮助读者更好地理解和应用这一高效参数估计方法。

weixin_29051811的博客 221

卡尔曼滤波理论与MATLAB实践:从线性到非线性及工程避坑指南

状态估计是导航、跟踪与传感器融合的核心技术,卡尔曼滤波通过预测与更新两步递推,在噪声观测中实现最优估计。其原理基于状态空间模型与协方差传播,技术价值在于平衡模型信任与观测信任,广泛应用于姿态解算、目标跟踪等领域。针对卡尔曼滤波、MATLAB、代码的工程实践需求,本文提供理论推导与可执行脚本的配套资源,涵盖线性卡尔曼滤波、扩展卡尔曼滤波与无迹卡尔曼滤波,并深入探讨参数调优、数值稳定性及实时化改造等避坑要点,帮助读者从仿真验证平滑过渡到项目落地。

weixin_33404102的博客 228

卡尔曼滤波MATLAB实战:从公式推导到代码实现与调参避坑指南

卡尔曼滤波是一种基于状态空间模型的最优估计方法,通过预测与更新两个步骤,在噪声环境中对动态系统状态进行递推估计。其核心原理是利用过程噪声与测量噪声的统计特性,计算卡尔曼增益来加权融合预测值与观测值,从而最小化估计误差协方差。在工程实践中,卡尔曼滤波广泛应用于目标跟踪、传感器融合、导航定位和姿态解算等场景。MATLAB凭借其矩阵运算的天然优势,成为算法原型验证的首选工具。本文围绕卡尔曼滤波的MATLAB实现,提供从标量到多维、从线性到扩展卡尔曼的完整代码资源,并分享调参避坑的实战经验。

weixin_32247165的博客 164

车辆行驶过程中如何获得准确位置信息?——GNSS PVTPOS 算法(1)

摘要:PVT算法通过GNSS伪距观测值解算接收机位置、速度和时间信息。其核心流程包括:1)伪距误差建模(电离层Klobuchar模型、对流层Saastamoinen模型等);2)最小二乘估计(LSQ)进行位置解算,通过泰勒展开线性化非线性伪距方程;3)质量控制(残差检验、DOP值评估等)。重点分析了误差源处理方法,包括TGD改正、地球自转效应补偿等,并详细阐述了LSQ迭代过程、加权策略及收敛条件判断。该算法可实现米级定位精度,是GNSS导航定位的基础核心算法。

weixin_40681914的博客 1479

卡尔曼滤波MATLAB实战:从理论到代码落地与调参

在导航定位、传感器数据融合等工程场景中,从含噪观测中准确估计系统状态是核心难题。卡尔曼滤波作为一种经典的状态估计算法,通过预测与更新两步循环,融合系统模型与观测数据,能够有效降低噪声干扰。其技术价值在于先验估计与后验修正的递推结构,用协方差矩阵量化不确定性,实现实时的最优状态估计。实际应用中,无论是匀速运动跟踪还是非线性目标机动,它都发挥着重要作用。然而许多学习者面对核心公式与参数设置时常常无从下手。本文聚焦于卡尔曼滤波的工程落地,围绕MATLAB编程实践,讲解状态空间模型建立、简化后的五条黄金公式,以及Q

weixin_33806859的博客 312

ESKF紧耦合组合导航:INS与GNSS的高精度融合

组合导航技术通过融合惯性导航系统(INS)和全球导航卫星系统(GNSS)的优势,解决了单一导航系统在精度和可靠性上的局限。INS依赖陀螺仪和加速度计实现自主定位,短期内精度高但存在误差累积;GNSS提供绝对位置却易受环境干扰。卡尔曼滤波作为状态估计的核心算法,在导航领域面临系统非线性的挑战。误差状态卡尔曼滤波(ESKF)通过分离名义状态与误差状态,有效降低了计算复杂度并提升鲁棒性。该技术在无人机、自动驾驶等场景中展现出显著优势,特别是在信号遮挡条件下的定位稳定性。通过紧耦合架构和动态噪声调整,ESKF方案在

weixin_29053695的博客 252

均方根信息滤波和平滑及其在低轨卫星星载GPS精密定轨中的应用 (2006年)

从均方根信息滤波和平滑的基本原理出发,结合卫星定轨的实际特征,导出了其在精密定轨软件中实现的详细公式;针对均方根滤波的特点,提出了快速高效地探测和修复GPS观测数据中周跳的新方法。利用实测星载GPS数据验证了基于均方根滤波的质量控制算法的可靠性,得到了有益的结果。

微信小程序使用ucharts折线图,有负数显示0刻度线

当数据有负数和正数的时候默认不会显示0刻度线,不方便看出正负对比。

欢迎来到我的博客!在这里,我将分享我在前端开发方面的知识和经验。让我们一起探索前端开发的无限可能! 1580

ESKF实战指南:IMU+GNSS融合的数学模型与工程陷阱

误差状态卡尔曼滤波器(ESKF)是高精度组合导航的核心技术,其本质在于将非线性姿态估计转化为线性误差状态更新,解决四元数不可加性与IMU预积分强耦合难题。原理上,ESKF通过旋转向量表征姿态误差、物理映射构建过程噪声Q矩阵、刚体变换建模GNSS观测,实现对IMU漂移与GNSS跳变的协同抑制。技术价值体现在实时性(Jetson上2ms/步)、鲁棒性(支持动态R调整)和可部署性(15维状态适配嵌入式平台)。典型应用场景包括无人机飞控、自动驾驶定位及农业机械导航,尤其适用于需在遮挡环境维持亚米级轨迹精度的工程系统

weixin_26854829的博客 280

OpenCASCADE(OCC)读取 STEP 模型文件并在MFC中显示

OpenCASCADE(OCC)读取 STEP 模型文件并在MFC中显示

weixin_61900468的博客 1万+

PythonRobotics 定位(Localization)模块深度解析:基于贝叶斯滤波的机器人位姿估计实战指南

本指南以 PythonRobotics 仓库中的 [定位(Localization)模块文档](https://link.gitcode.com/i/198eaf5902b9e420f4478f04d92764e6) 为骨架,系统讲解机器人定位的核心问题——如何利用 GNSS、里程计、陀螺仪与 RFID 地标等传感器信息,实时估计机器人的位置与姿态。文章完整继承文档中的五类贝叶斯滤波器(扩展卡尔曼

gitblog_00644的博客 912

Windows安全中心空白问题修复:服务重置与系统组件修复实战指南

Windows系统服务是操作系统后台运行的核心组件,负责管理硬件资源、应用程序执行和系统功能。其稳定运行依赖于服务控制管理器、注册表配置和系统文件完整性。当关键服务(如Windows Update、安全中心服务)因更新失败、权限错误或组件损坏而无法正常启动时,依赖其功能的应用程序界面便会出现加载异常。在系统维护与故障排除领域,通过命令行工具重置服务状态、修复系统映像已成为工程师的必备技能。本文聚焦Windows安全中心界面空白这一典型故障,深入剖析其与Windows Update服务、组件存储损坏的关联,并

weixin_30859423的博客 425

eNSP网络构建—建立小型局域网

企业私有网络构建运维 实战案例——使用模拟器构建局域网络 案例分析 1.架构分析 (1)需求分析 本实验的目的在于建立小型局域网。由于公司由不同部门组成,并分布在不同地点,因此需要划分不同网络实现互联互通。设计以下网络:两个部门各使用一台交换机连接,然后连接到总交换机,再通过路由器与外网以及其他部门网络相连。为了控制网络上的广播风暴,增加网络的安全性,在交换机上需要设置VLAN,在路由器与交换机之...

_ 4万+

卡尔曼滤波详解:原理、推导直觉、调参手感与代码陷阱

在自动控制与导航领域,状态估计是连接物理模型与传感器观测的核心环节。卡尔曼滤波作为一种最优递推估计器,通过融合过程预测与含噪测量,在线性高斯条件下实现最小均方误差估计。它利用预测与更新两步递推框架,动态权衡模型可信度与测量噪声,广泛应用于无人机惯导、自动驾驶多传感器融合、目标跟踪及金融时序分析等实时系统。理解其五个核心方程、Q/R矩阵的物理含义以及工程实现中的数值稳定性细节,是提升滤波性能的关键。本文从原理直觉到代码实战,系统阐述卡尔曼滤波器的推导、调参与常见陷阱,帮助工程师在嵌入式环境下构建稳健可靠的估计

weixin_34161083的博客 432

【四足机器人项目实战】四足机器人运动学、动力学模型

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录系列文章目录前言一、四足机器人实际模型的物理难点二、四足机器人运动学模型1.方法一:DH法建立运动学模型(1)运动学建模构型方法(2)运动学模型描述方法1、基于DH法四足机器人单腿运动学模型公式推导(0)DH法科普1)原理2)实现过程3)评价(1)四足机器人的建模规则、坐标系定义及实物参数确定1)标准Denavit-Hartenberg法建模规则2)单腿运动学模型坐标系定义示意图及简化模型3)

qq_35635374的博客 1万+
上一篇: 平方根 Kalman 滤波:矩阵推导及 GNSS 参数估计应用
下一篇: 短基线 RTK 初探:双差矩阵推导、整数模糊度固定及 RTK 与 PPK 对比
云卷云苏~
博客等级 码龄2年 35粉丝 87原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

云卷云苏~

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

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

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

打赏作者

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

抵扣说明:

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

余额充值