α-β滤波(基于GPS定位下的)
⭐️同样的 本篇blog 是阅读GPS定位原理的记录~
尽管最小二乘法能在含有误差与噪声的各个测量值之间寻求一个最优点,使得所有测量值的残余平方和最小,但是由于不同时刻的不同测量误差与噪声在最小二乘法计算后转化为相应时刻的不同定位误差与噪声,因而最小二乘法的定位结果通常显得既粗糙又杂乱。 滤波是一种降低、分离信号中所含噪声量的技术
1 滤波的意义
导航采用滤波技术的根本原因:物体的惯性
行踪是连续性的 会有一定的缓冲——物体运动的连续性和运动变化的缓慢性~
所以定位导航系统面对所有物体运动都要尊重这一事实
滤波:保留所需要的信号成分
α-β滤波和卡尔曼滤波——把用户相邻时刻的位置状态练习起来,克服最小二乘法在不同时刻定位值不相关联的缺点,使得滤波后的定位结果变得平滑准确~
2 α-β滤波
是卡尔曼滤波的一种稳态的形式
⭐️α-β滤波器
假设一列标量
x
~
1
,
x
~
2
,
x
~
3
,
⋯
\tilde{x}_{1},\tilde{x}_{2},\tilde{x}_{3},\cdots
x~1,x~2,x~3,⋯
是测量到的随时间变化的用户位置在某坐标系中的其中一个坐标分量值,(比如是WGS-84地心地固直角坐标系中的x分量或者是大地坐标系中的纬度值等)而在上一章中计算得到的GPS接收机最小二乘法(或加权最小二乘法)定位解在此也可以视为一种位置测量值。因为这一列测量值或者由最小二乘法得到的定位解一般很粗糙,所以我们希望它们经过滤波后看起来会变得平滑些,并且滤波结果通常也会更加接近于物体的真实位置坐标值。
假设
x
^
\hat{x}
x^k-1(位置滤波值)和
x
˙
^
k
−
1
\hat{\dot{x}}_{k-1}
x˙^k−1(速度滤波值)是α-β滤波器在得到第k -1个位置测量值
x
~
\tilde{x}
x~k-1后的滤波结果,其中
x
^
\hat{x}
x^k-1是滤波器对用户真实位置xk-1的估计值,而
x
˙
^
k
−
1
\hat{\dot{x}}_{k-1}
x˙^k−1是滤波器对用户真实速度
x
˙
\dot{x}
x˙k-1的估计值,那么α-β滤波器先用速度值
x
˙
^
k
−
1
\hat{\dot{x}}_{k-1}
x˙^k−1来预测用户在第k个测量时刻的位置,即
x
^
k
−
=
x
^
k
−
1
+
x
˙
^
k
−
1
T
s
(
6.1
)
\hat{x}_{k}^{-}=\hat{x}_{k-1}+\hat{\dot{x}}_{k-1}T_{s}\quad (6.1)
x^k−=x^k−1+x˙^k−1Ts(6.1)
式中,Ts代表相邻两个测量时刻之间的时间间隔。我们用上标“
^
\hat{}
^ ”代表估计值,以区别于上标**“~”所代表的实际测量值**, 而中的右上标“-”代表滤波器在得到、利用测量值之前的先验估计值。
🌿上面可能看的花了都 /(ㄒoㄒ)/~~ 简化一下
重新整理一下:
s v 是对前一个位置测量值 c (d是它的真实位置)的滤波结果,其中s是滤波器对于用户真实位置d的估计值 v是真实速度 e 的估计值 那么α-β滤波器就是先用速度值v来预测一下用户在下一个时刻的位置
🌴然后这个式子可以这么理解
下一时刻的位置估计值=上一时刻的位置+上一时刻的速度*两时刻间隔的时间
(相当于A和B两个地点 A————B)
B的大致位置坐标=A的位置坐标+速度*A到B之间的时间(他假定了速度是匀速的 也就是前后两个时刻的速度不发生变化)
🌺关于先验估计值
先验概率(prior probability): 指根据以往经验和分析。在实验或采样前就可以得到的概率。后验概率(posterior probability): 指某件事已经发生,想要计算这件事发生的原因是由某个因素引起的概率。
可以看出,先验概率就是事先可估计的概率分布,而后验概率类似贝叶斯公式“由果溯因”的思想。
具体可以看看这篇文章:<基础系列>1:先验概率 & 后验概率 - 笨笨的文章 - 知乎
https://zhuanlan.zhihu.com/p/38567891
式(6.1)表明,α-β滤波器假定了用户在每一测量间隔时段内的运动速度保持不变,即速度先验估计值效
x
^
k
−
\hat{x}_{k}^{-}
x^k−为
x
^
k
−
=
x
^
k
−
1
(
6.2
)
\hat{x}_{k}^{-}=\hat{x}_{k-1}\quad(6.2)
x^k−=x^k−1(6.2)
在得到第k历元的位置测量值后,α-β滤波器用下面两个公式更新对当前时刻用户位置和速度的估计值:
x
^
k
=
x
^
k
−
+
α
(
x
~
k
−
x
^
k
−
)
(
6.3
)
x
˙
^
k
=
x
˙
^
k
−
+
β
T
s
(
x
~
k
−
x
^
k
−
)
(
6.4
)
\begin{aligned}\hat{x}_k&=\hat{x}_k^-+\alpha\Big(\tilde{x}_k-\hat{x}_k^-\Big)&(6.3)\\ \hat{\dot{x}}_k&=\hat{\dot{x}}_k^-+\frac{\beta}{T_s}\Big(\tilde{x}_k-\hat{x}_k^-\Big)&(6.4)\end{aligned}
x^kx˙^k=x^k−+α(x~k−x^k−)=x˙^k−+Tsβ(x~k−x^k−)(6.3)(6.4)
也就是(用户最新测量位置值=用户位置先验估计的值+α(用户最新测量位置值-用户位置先验估计的值))
式中,α和β为两个值固定的滤波系数。由式(6.3)可见,a-β滤波器试图在位置先验估计值
x
^
k
−
\hat{x}_k^-
x^k−与最新得到的测量值
x
~
k
\tilde{x}_{k}
x~k之间做出平衡,而式(6.4)对速度也做了类似的考量。系数α与β的值越大,则滤波器对当前测量值的权重就越高。α-β滤波器稳定的充分必要条件如下:
0
<
α
,
0
<
β
<
4
−
2
α
(
6.5
)
0<\alpha,0<\beta<4-2\alpha\quad (6.5)
0<α,0<β<4−2α(6.5)
通常,滤波系数α和β均取值为小于1的正数。在适当的前提假设下,α 与β的最优化值之间存在着一定的关系。
式(6.1)~式(6.4)可用矩阵形式简洁地表达为:
x
^
k
−
=
[
1
T
s
0
1
]
x
^
k
−
1
(
6.6
)
x
^
k
=
x
^
k
−
+
[
α
β
/
T
s
]
(
x
~
k
−
[
1
0
]
x
^
k
−
)
(
6.7
)
\begin{aligned}\hat{\boldsymbol{x}}_k^-&=\begin{bmatrix}1&T_s\\0&1\end{bmatrix}\hat{\boldsymbol{x}}_{k-1}&(6.6)\\\hat{\boldsymbol{x}}_k&=\hat{\boldsymbol{x}}_k^-+\begin{bmatrix}\alpha\\\beta/T_s\end{bmatrix}(\tilde{\boldsymbol{x}}_k-[1\quad0]\hat{\boldsymbol{x}}_k^-)&(6.7)\end{aligned}
x^k−x^k=[10Ts1]x^k−1=x^k−+[αβ/Ts](x~k−[10]x^k−)(6.6)(6.7)
其中,向量
x
^
k
−
=
[
x
^
k
−
x
˙
^
k
−
]
T
\hat{x}_{k}^{-}=[\hat{x}_{k}^{-}\quad\hat{\dot{x}}_{k}^{-}]^{\mathrm{T}}
x^k−=[x^k−x˙^k−]T而
x
^
k
=
[
x
^
k
−
x
˙
^
k
]
T
\hat{x}_{k}=[\hat{x}_{k}^{-}\quad\hat{\dot{x}}_{k}]^{\mathrm{T}}
x^k=[x^k−x˙^k]T
上面这个式子把前面的两个当前时刻用户位置和速度的估计值式子 分别合并了(用0和1 代表加号和减号 )
我们将在6.3.3节对以上的a-β滤波计算公式与卡尔曼滤波的稳态计算公式进行对比。
上述α-β位置滤波器根据用户在每一小段时间内以匀速运动的假设来平滑位置测量值,同样α-β滤波器也可以用来平滑用户的运动速度。
如果速度测量值的一个坐标分量作为α-β滤波器的输入,那么α-β速度滤波器实际上是以一个恒加速度的运动模型来对此速度分量测量值进行滤波的。
🐬a-β-γ滤波器
与α-β滤波器属于同一类型的还有α滤波器和a-β-γ滤波器。
a-β-γ位置滤波器假定用户运动的加速度在一小段时间内不变,而α位置滤波器则不再估算物体的运行速度或加速度。我们在5.6节介绍GPS定速算法时曾指出、接收机给出的用户速度值通常比位置值更精确。因此,为了利用接收机速度测量值的这种优越性,我们可将前面α-β滤波器中的速度诂计值
x
˙
^
k
−
1
\hat{\dot{x}}_{k-1}
x˙^k−1直接用相应时刻的接收机速度测量值替代,而此时的a-β滤波器实际上变成了α位置滤波器。因为α滤波器简单地借用了速度测量值来平滑位置测量值,所以它经常又被称为平滑器。事实上,第4章中以式(4.84)所代表的载波相位平滑伪距的方法正是应用了这种平滑器。α滤波的另一种形式是当速度值在理论上等于零的情况,此时式(6.3)变为
x
^
k
=
x
^
k
−
1
+
α
(
x
~
k
−
x
^
k
−
1
)
=
(
1
−
α
)
x
^
k
−
1
+
α
x
~
k
,
(
6.8
)
\hat{x}_{k}=\hat{x}_{k-1}+\alpha\left(\tilde{x}_{k}-\hat{x}_{k-1}\right)=(1-\alpha)\hat{x}_{k-1}+\alpha\tilde{x}_{k},\quad(6.8)
x^k=x^k−1+α(x~k−x^k−1)=(1−α)x^k−1+αx~k,(6.8)
即滤波值
x
^
k
\hat{x}_{k}
x^k是对一系列静态测量值
x
^
k
\hat{x}_{k}
x^k进行平滑的结果。
α-β滤波技术的缺点之一是它的一维滤波。由于一个α-β滤波器只对用户位置(或速度)的一个坐标分量单独进行滤波,因而一个三维运动的滤波问题就需要三个相互独立运行的α-β滤波器,这使得用户位置(或速度)的三个分量之间失去了应有的相互联系。
无论是α滤波器、α-β滤波器,还是a-β-γ滤波器,它们均用一个恒定的滤波系数对用户运动状态的先验估计值与实际测量值进行加权平均,而没有考虑到在不同时刻的测量值可能有着不同大小的测量误差,这是α-β滤波器的又一缺点。对于这两个问题,卡尔曼滤波技术均有效地给予了解决。
下一篇blog 我就会发一下第六章的内容啦~~
(●’◡’●) 看到这里 点个赞叭 (●’◡’●)