GNSS数据处理 ----> 最小二乘算法

本文详细介绍了最小二乘原理,从一次和二次拟合的概念出发,进而探讨其在卫星导航定位中的伪距单点定位中的运用,通过实例展示了如何通过线性化处理非线性问题来求解接收机位置。
摘要由CSDN通过智能技术生成

引言:

        相信很多初次接触卫星导航定位的同学肯定对 “最小二乘” 这几个字不陌生,但是对于为什么

是这样,为什么按照书上的步骤就可以一步一步的求解出接收机的位置还是一知半解,本篇文章将

会由浅到深的讲解最小二乘的原理,以及通过伪距单点定位中的最小二乘,解释实践中应用最小二

乘的原理。


最小二乘的原理:

        在解释最小二乘原理之前,我们需要知道的是,最小二乘是干什么的,在工程实践中有什么

作用。

        最小二乘是一种拟合方法,或者说是数据的估计方法,通过已知的数据可以估计出未知的数

据且估计出来的数据与实际数据之间的误差的平方和为最小。我们知道现在无法避免的是无论是数

学模型还是测量工具都是存在误差,如何让各种误差最小化,还获得准确结果的关键!!而最小二

乘提供一种可靠的思路和方向!下面是我觉得比较能直观说明拟合这一理念的一张图。

一文让你彻底搞懂最小二乘法(超详细推导)-CSDN博客


拟合的形式有很多种,这里我们简要的说明一次拟合和二次拟合。

一次拟合

        以下面的数据为例子:假设下面的数组符合一次函数关系式 y=ax+b :

x13
y518

        可以列出一个一元二次矩阵形式函数:

\begin{bmatrix} 1 &1 \\ 3& 1 \end{bmatrix}·*\begin{bmatrix} a\\ b \end{bmatrix}=\begin{bmatrix} 5\\ 18 \end{bmatrix}

        也可以写成下面的形式:

B*X=L

        其中,B代表着系数矩阵,X是待估计值;

        如果对其进行下面的操作,等式两边同时左乘以B的转置矩阵:

B^{^{T}}*B*X=B^{^{T}}*L

        如何对上式继续恒等变化,可得到下面的式子:

\left (B^{^{T}}*B \right )^-*{^{}}B^{^{T}}*B*X=\left (B^{^{T}}*B \right )^-*B^{^{T}}*L

        最后可解出X:

X=\left (B^{^{T}}*B \right )^-*B^{^{T}}*L

        上述就是最小二乘拟合一次函数的全部过程。


二次拟合

        在本质上,最小二乘线性拟合的思想已经在一次拟合的时候,说明的很清楚了。那么对于二次拟合,无非就是拟合的表示的不同,既是需要满足一元二次的表达式:y=ax^{2}+bx+c,其余求解的过程是一模一样的。

 以下面的数据为例子:假设下面的数组符合一元二次函数关系式 :

x135
y51845

\begin{bmatrix} 1 &1 &1 \\ 9&3 &1 \\ 25&5 &1 \end{bmatrix}*\begin{bmatrix} a\\ b\\ c \end{bmatrix}=\begin{bmatrix} 5\\ 18\\ 45 \end{bmatrix}

        按照上面的过程一样可以求出拟合参数。


伪距单点定位中最小二乘的运用:

        在卫星导航定位中伪距等于光速乘以信号传输时间,如下公式:

\widetilde{p}=c(t_{R}-t^{S})

        此外,信号在传播的过程中,由于收到了电离层和对流层的误差,伪距的表达式进一步可以写成:

\widetilde{p}=p+t_{R}-t^{S}+T+I

        其中,p代表了卫星和接收机之间的几何距离,可以表示为如下:

        

        T代表了电离层改正数,

        I代表了对流层改正数,

        t表示乘以光速后的结果;

带入伪距的公式可得:

        但是上式子是非线性化,为了更好求解未知数,对其采用方程通过泰勒级数展开进行线性化。

        如令系数等于下面的式子:

        则上式可以写为:

        写成矩阵形式可以表示为:

\widetilde{p}=M+\begin{bmatrix} l_{x} &m_{x} & n_{x} & 1 \end{bmatrix}*\begin{bmatrix} V_{x}\\ V_{y}\\ V_{z}\\ t_{R} \end{bmatrix}-t_{s}+T+I

        变式一下可以写为:

\begin{bmatrix} l_{x} &m_{x} & n_{x}& 1 \end{bmatrix}*\begin{bmatrix} V_{x}\\ V_{y}\\ V_{z}\\ t_{R} \end{bmatrix}=\widetilde{p}-M+t_{s}-T-I

      可以写为:

\begin{bmatrix} l_{x} &m_{x} & n_{x} & 1 \end{bmatrix}*\begin{bmatrix} V_{x}\\ V_{y}\\ V_{z}\\ t_{R} \end{bmatrix}=L_{1}

        因为有四个未知数,所以至少需要四颗卫星列出误差方程,

\begin{bmatrix} l_{1} &m_{1} &n_{1} & 1\\ l_{2} &m_{2} &n_{2} &1 \\ l_{3} &m_{3} &n_{3} & 1\\ l_{4} &m_{4} &n_{4} & 1 \end{bmatrix}·\begin{bmatrix} V_{x}\\ V_{y}\\ V_{z}\\ t_{r} \end{bmatrix}=\begin{bmatrix} L_{1}\\ L_{2}\\ L_{3}\\ L_{4} \end{bmatrix}

列出误差方程之后,根据最小二乘原理,上面举例的最小二乘,得到接受机的位置坐标的改正数。

        


  • 11
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值