NLOS error elimination 3D positioning model based on improved Gauss-Newton method
-
摘要: 针对无线传感网络进行室内定位过程中由于信号非视距(NLOS)传播导致精度低的问题,提出一种基于改进高斯-牛顿法的NLOS误差消除室内三维定位模型. 该模型基于欧式距离,利用最小二乘算法得到目标位置的初始解,并根据改进的高斯-牛顿法对非线性最小二乘估计值进行迭代,进一步降低NLOS误差的影响,收敛得到最终的精确位置. 实验结果表明:该模型在三维空间的定位误差约在0.64 m,最大定位误差不超过1.29 m,误差小于1.2 m的概率为96.5%,较其他定位方法有更好地定位效果.Abstract: To address the problem of low accuracy caused by the non line of sight (NLOS) propagation of signals in the indoor positioning process of wireless sensor networks, a three-dimensional indoor positioning model with NLOS error elimination based on the improved Gauss Newton method was proposed. Firstly, the initial solution of the target position is obtained by using the least square algorithm based on the Euclidean distance. In order to further reduce the influence of NLOS error, the nonlinear least square estimation value is iterated according to the improved Gauss-Newton method, and the final accurate position is obtained by convergence. The experimental results show that the positioning error of the model in three-dimensional space is about 0.64 m, the maximum positioning error is not more than 1.29 m, and the probability of error less than 1.2 m is 96.5%, which is better than other positioning methods.
-
0. 引 言
随着无线局域网、智能终端的高速发展以及惯性传感器的普及,人们对于位置信息的需求正在逐步增加. GPS和北斗卫星导航系统(BDS)通常用于室外定位,定位精度高,但信号在穿透固体时会受到衰减,无法实现室内的快速定位. 室内三维定位过程中,无线信号在传播时易受非视距(NLOS)阻挡、多径传播、多址干扰[1]等环境因素影响,导致基站到终端传播时间的测量值与精确值之间存在误差,这些误差极大地降低了定位精度.
如何减小NLOS环境下的定位误差是室内定位算法的研究重点. 到达时间(TOA)的定位和到达时间差(TDOA)的定位[2]实现简单,并且计算精度高,是蜂窝网络定位中最常用的技术[3]. 距离观测在各种高精度测距定位中广泛应用,其方程为非线性函数模型. 除确定待定点位置坐标参数外,再附加多余参数以精化平差函数模型, 其有关平差模型都是非线性的,当平差模型的非线性强度较高时,选取不同初始值及近似正交过程,可导致线性近似引起的系数矩阵扰动和截断误差偏大,常用的测距观测方程非线性平差方法有高斯-牛顿法、扩展牛顿迭代法[4]. 文献[5]提出了一种NLOS环境下接收信号强度(RSS)和TDOA联合的信源被动定位方法,通过建立加权最小二乘模型来抑制NLOS误差对定位精度的影响,并利用迭代法估计NLOS误差与信源位置以提高定位精度;文献[6]提出了一种基于测距信息的加权最小二乘法定位算法,根据测量距离构建加权矩阵,但该方法忽略了链路中随机噪声的影响[7];文献[8]基于典型的NLOS室内环境下的信道测量,对TOA和信号接收强度的估计误差进行建模,但该方法只适合在相对较短的距离内,超出距离则无法保证室内环境的定位精度. 田昕等[9]提出了基于TOA测距下的改进扩展卡尔曼滤波器(EKF)算法. 采用预测和测量比较阈值以及误差分析结合的方法完成NLOS状态的辨识,抛弃包含NLOS误差的测量,使用剩下的测量值实现定位[10],这种方法在实际定位环境中会导致测量值有限,无法保证定位精度. Cheng等[11]为解决室内定位中NLOS因素降低定位精度的问题,将锚节点分成若干组,并通过最大似然估计(MLE)获得每组目标节点的位置信息,利用NLOS识别算法丢弃包含NLOS误差的位置估计,通过建立多概率矩阵并结合位置估计来获得目标位置. Chen等[12]提出一种非凸鲁棒加权最小二乘问题来定位多个目标节点,并联合估计目标节点位置,将鲁棒加权最小二乘问题转化成混合半定和二阶锥规划问题. 文献[13]对测量噪声建立有色噪声模型,滤波参数根据NLOS环境的恶劣情况动态调整,再结合卡尔曼滤波算法,进而实时调整滤波过程以获得最优估计,但增益系数需要提前设置. 文献[14]提出了一种基于卡尔曼滤波TDOA和到达角度的混合定位算法,利用卡尔曼滤波器的估计值计算NLOS数据的方差,通过调节卡尔曼滤波器的参数从而减小测量值的NLOS误差,但NLOS误差需服从指数分布,NLOS误差分布模型又受实际地理环境的影响.
针对上述问题,本文提出一种基于高斯-牛顿法的NLOS误差消除三维定位模型. 该模型以最小二乘法为基础得到终端的估计坐标,引入遗传算法选取高斯-牛顿迭代的初始参数,并构建循环迭代,使之逐渐逼近真实目标位置,从而达到提高定位精度的目的.
1. 基于测量距离的定位方法
1.1 NLOS误差概述
理想情况下,每个基站发射携带时间戳的信号[9],终端在接收到信号后,通过接收和发送的时间差可计算终端与基站之间距离
$ {d_t} $ ,计算公式为$$ {d_t} = {{c}} \cdot \left( {{t_{{r}}} - {t_{{s}}}} \right) . $$ (1) 式中:c为光速,取值
$ 3 \times {10^8} $ m/s;${t_{{r}}}$ 为接收到数据的时间;$ {t_s} $ 为发送数据的时间. 由于NLOS环境下观测到的无线信号传播时间有误差,会导致观测距离值大于真实距离值,即存在一个非负的测距误差. 图1为不同终端个数下的观测距离值和真实距离值的误差图.当用户终端(MS)即目标位置收到4个基站(BS)的信息(三维空间下至少需要4个),以4个基站的坐标为圆心,其到终端的距离为半径可以得出4个相交的圆,4个圆的交点坐标即为用户终端坐标,如图2所示. 在NLOS环境下,受NLOS误差的影响,4个圆的相交部分不一定是终端的准确位置,而是处于4个圆的重叠区域,如图3所示.
1.2 最小二乘估计初始位置
由于NLOS下4个以距离为半径的圆交于一片区域,终端的位置求解可转换成最优估计问题. 假设终端的坐标为
$ \left( {x,y,z} \right) $ ,4个基站的坐标分别$ \left( {{x_1},{y_1},{z_1}} \right) $ 、$ \left( {{x_2},{y_2},{z_2}} \right) $ 、$ \left( {{x_3},{y_3},{z_3}} \right) $ 、$ \left( {{x_4},{y_4},{z_4}} \right) $ ,$ {d_{t1}} $ 、$ {d_{t2}} $ 、$ {d_{t3}} $ 、$ {d_{t4}} $ 分别为终端到4个基站之间的测量距离,计算方程为$$ \left\{ \begin{gathered} {\left( {x - {x_1}} \right)^2} + {\left( {y - {y_1}} \right)^2} + {\left( {z - {z_1}} \right)^2} = {d_{t1}^2} \\ {\left( {x - {x_2}} \right)^2} + {\left( {y - {y_2}} \right)^2} + {\left( {z - {z_2}} \right)^2} = {d_{t2}^2} \\ {\kern 1pt} {\left( {x - {x_3}} \right)^2} + {\left( {y - {y_3}} \right)^2} + {\left( {z - {z_3}} \right)^2} = {d_{t3}^2} \\ {\left( {x - {x_4}} \right)^2} + {\left( {y - {y_4}} \right)^2} + {\left( {z - {z_4}} \right)^2} = {d_{t4}^2} \\ \end{gathered} \right. . $$ (2) 将式(2)中的前三项分别减去第四项,可得
$$ \left\{ \begin{gathered} x_1^2 - x_4^2 + y_1^2 - y_4^2 + z_1^2 - z_4^2 + 2\left( {{x_4} - {x_1}} \right)x + \\ 2\left( {{y_4} - {y_1}} \right)y + 2\left( {{z_4} - {z_1}} \right)z = {d_{t1}^2} - {d_{t4}^2} \\ x_2^2 - x_4^2 + y_2^2 - y_4^2 + z_2^2 - z_4^2 + 2\left( {{x_4} - {x_2}} \right)x + \\ 2\left( {{y_4} - {y_2}} \right)y + 2\left( {{z_4} - {z_2}} \right)z = {d_{t2}^2} - {d_{t4}^2} \\ x_{\text{3}}^2 - x_4^2 + y_{\text{3}}^2 - y_4^2 + z_{\text{3}}^2 - z_4^2 + 2\left( {{x_4} - {x_{\text{3}}}} \right)x + \\2\left( {{y_4} - {y_{\text{3}}}} \right)y + 2\left( {{z_4} - {z_{\text{3}}}} \right)z = {d_{t3}^2} - {d_{t4}^2} \\ \end{gathered} \right. . $$ (3) 式(3)的矩阵形式为
$$ {\boldsymbol{AX}} = {\boldsymbol{b}} . $$ (4) 式中:
$$ {\boldsymbol{A}} = - 2\left[ \begin{gathered} \left( {{x_1} - {x_4}} \right)\quad \left( {{y_1} - {y_4}} \right)\quad \left( {{z_1} - {z_4}} \right) \\ \left( {{x_2} - {x_4}} \right)\quad\left( {{y_2} - {y_4}} \right)\quad\left( {{z_2} - {z_4}} \right) \\ \left( {{x_3} - {x_4}} \right)\quad\left( {{y_3} - {y_4}} \right)\quad\left( {{z_3} - {z_4}} \right) \end{gathered} \right] ; $$ $$ {\boldsymbol{b}} = \left[ \begin{gathered} x_{1}^2 - x_4^2 + y_1^2 - y_4^2 + z_1^2 - z_4^2 + {d_{t4}^2} - {d_{t1}^2} \\ x_{2}^2 - x_4^2 + y_2^2 - y_4^2 + z_2^2 - z_4^2 + {d_{t4}^2} - {d_{t2}^2} \\ x_3^2 - x_4^2 + y_3^2 - y_4^2 + z_3^2 - z_4^2 + {d_{t4}^2} - {d_{t3}^2} \\ \end{gathered} \right] ; $$ $$ {\boldsymbol{X}} = \left[ \begin{gathered} x \\ y \\ z \\ \end{gathered} \right] . $$ 由于测量距离
$ {d_t} $ 有误差,式(2)中所列方程式的个数少于方程中所包含的未知量的个数,一般无相容解,则不存在满足矩阵(4)的解. 引入平方误差准则函数$$ \delta = {\left\| {{\boldsymbol{AX}} - {\boldsymbol{b}}} \right\|^2} = {({\boldsymbol{AX}} - {\boldsymbol{b}})^{\text{T}}}({\boldsymbol{AX}} - {\boldsymbol{b}}). $$ (5) 对式(5)求导,并令其等于0,可得最小二乘估计为
$$ {\boldsymbol{\hat X}} = {\left( {{{\boldsymbol{A}}^{\text{T}}}{\boldsymbol{A}}} \right)^{ - 1}}{{\boldsymbol{A}}^{\text{T}}}{\boldsymbol{b}} . $$ (6) 由此得到
${\boldsymbol{\hat X}} = \left[ \begin{gathered} x \\ y \\ z \\ \end{gathered} \right]$ ,其为终端估计坐标位置.2. 目标位置估计的迭代求解
2.1 高斯-牛顿法
高斯-牛顿法是一种非线性回归模型中求回归参数进行最小二乘的迭代方法,利用泰勒展开式近似代替非线性模型,然后进行反复迭代,多次修正回归系数,使回归系数逼近非线性模型的最佳系数,最后使原模型的残差平方和达到最小[15]. 其一般步骤为:
1)初始值的选取,给定一个初始值
$ {x_0} $ ;2)将非线性回归模型在
$ {x_0} $ 附近泰勒级数展开,并忽略二阶及二阶以上偏导分量;3)利用最小平方法估计修正因子,得到第一个迭代值;
4)对于第
$ k $ 次迭代,寻找一个增量$ \Delta {x_k} $ ,使得残差平方和达到极小值;5) 当
$ \Delta x $ 足够小时终止迭代,此时的$ {x_k} $ 作为优化结果输出,否则继续进入下一次迭代.2.2 改进的高斯-牛顿法
高斯-牛顿法在求解局部最优解时,若参数初值选择适当,则收敛速度快且精确度较高. 当估计坐标位置远离真实值或非线性强度大,测距方程出现相关病态问题时,高斯-牛顿法可能会出现迭代不收敛或收敛到错误结果[16]. 因此,本文基于遗传算法[17]对终端坐标初始值进行选取,得到一个全局最优近似解,并将此近似解作为高斯-牛顿法的迭代初值进行迭代搜索,最终得到精确终端坐标. 遗传算法的具体实施过程是从初始种群出发,计算个体适应度,并通过复制、交换、突变、反复迭代等操作选出新一代种群,直到得到符合设定的最优解[18]. 合理的参数初值的选择按照适应度函数进行选取,在本文定位模型中采用的适应度函数为
$$ Fit = \left| {{f_1}} \right| + \left| {{f_2}} \right| + \left| {{f_3}} \right| + \left| {{f_4}} \right| . $$ (7) 选择概率为
$$ P(i) = \frac{{Fit(i)}}{{\displaystyle\sum\limits_{i = 1}^n {Fit(i)} }} . $$ (8) 式中,
$ Fit(i) $ 为个体适应值,选取适应度最高的点为初始值. 具体步骤为:1) 随机选取M个图3中重叠区域的终端坐标
$\left( {{x_i},{y_i},{z_i}} \right)$ ,$i = 1,2,3 \cdot \cdot \cdot, N$ ,对所选初始值进行编码;2) 对输入的种群进行初始化并计算个体适应度,根据计算结果执行复制、交换、突变等操作;
3) 若个体适应度值符合误差要求,则获取最优初始值,否则重复上述步骤直到样本误差满足定位要求,停止迭代;
4) 将最优初始值作为高斯-牛顿法的迭代初值进行迭代搜索,最终得到精确的终端坐标.
2.3 基于改进高斯-牛顿法的定位模型
终端到基站
$ {\text{B}}{{\text{S}}_i} $ 实际距离为$ {d_i} $ ,$ i = 1,2,3 \cdot \cdot \cdot, n $ ,在复杂的室内环境下,将测量距离减去NLOS误差$ {\varepsilon _i} $ ,可以得${d_i} = {d_{ti}}{{ - }}{\varepsilon _i}$ ,$ i = 1,2,3, \cdot \cdot \cdot ,n $ . 基站与终端之间测量距离与实际距离之间的差值函数为$$ {f_i}(x,y,z) = \left| {\sqrt {{{({x_i} - x)}^2} + {{({y_i} - y)}^2} + {{({z_i} - z)}^2}} - {d_i}} \right| . $$ (9) 假设
$ ({x_0},{y_0},{z_0}) $ 为遗传算法选取出的终端最优初始值,将式(9)在初始位置$ ({x_0},{y_0},{z_0}) $ 领域内用泰勒级数展开,忽略二阶偏导以上分量,得$$ {f_i}(x,y,z) = {f_i}({x_0} + \Delta x,{y_0} + \Delta y,{z_0} + \Delta z) . $$ (10) 式(10)中,将
$ {f_i}({x_0},{y_0},{z_0}) $ 表示为$ {F_i} $ ,当测量距离与实际距离之间的差值$ {f_i}\left( {x,y,z} \right) $ 足够小,由式(10)可得$$ {\boldsymbol{f}} = {\boldsymbol{G\varDelta }} . $$ (11) 式中:
$$ {\boldsymbol{f}} = \left[ \begin{gathered} \sqrt {{{({x_1} - x_0^{})}^2} + {{({y_1} - {y_0})}^2} + {{({z_1} - {z_0})}^2}} - {d_1} \\ \sqrt {{{({x_2} - x_0^{})}^2} + {{({y_2} - {y_0})}^2} + {{({z_2} - {z_0})}^2}} - {d_2} \\ {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \cdot \cdot \cdot \cdot \cdot \cdot \\ \sqrt {{{({x_n} - x_0^{})}^2} + {{({y_n} - {y_0})}^2} + {{({z_n} - {z_0})}^2}} - {d_n} \\ \end{gathered} \right] ; $$ (12) $$ {\boldsymbol{\varDelta }} = \left[ \begin{gathered} \Delta x \\ \Delta y \\ \Delta z \\ \end{gathered} \right] ; $$ (13) $$ {\boldsymbol{G}} = \left[ \begin{gathered} \frac{{\partial {F_1}}}{{\partial {x_0}}}{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \frac{{\partial {F_1}}}{{\partial {y_0}}}{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \frac{{\partial {F_1}}}{{\partial {x_0}}} \\ \frac{{\partial {F_2}}}{{\partial {x_0}}}{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \frac{{\partial {F_2}}}{{\partial {y_0}}}{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \frac{{\partial {F_2}}}{{\partial {x_0}}} \\ {\kern 1pt} {\kern 1pt} \cdot \cdot \cdot {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \cdot \cdot \cdot {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \cdot \cdot \cdot {\kern 1pt} {\kern 1pt} \\ {\kern 1pt} {\kern 1pt} \frac{{\partial {F_n}}}{{\partial {x_0}}}{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \frac{{\partial {F_n}}}{{\partial {y_0}}}{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \frac{{\partial {F_n}}}{{\partial {x_0}}}{\kern 1pt} \\ \end{gathered} \right] . $$ (14) $ \Delta x $ 、$ \Delta y $ 和$ \Delta z $ 分别为$ x $ 、$ y $ 和$ z $ 的偏差;$\displaystyle\frac{{\partial {F_i}}}{{\partial {x_0}}} = \frac{{{x_i} - {x_0}}}{{\sqrt {{{({x_i} - {x_0})}^2} + {{({y_i} - {y_0})}^2} + {{({z_i} - {z_0})}^2}} }}$ ;$\displaystyle\frac{{\partial {F_i}}}{{\partial {y_0}}} = \frac{{{y_i} - {y_0}}}{{\sqrt {{{({x_i} - {x_0})}^2} + {{({y_i} - {y_0})}^2} + {{({z_i} - {z_0})}^2}} }}$ ;$\displaystyle\frac{{\partial {F_i}}}{{\partial {z_0}}} = \frac{{{z_i} - {z_0}}}{{\sqrt {{{({x_i} - {x_0})}^2} + {{({y_i} - {y_0})}^2} + {{({z_i} - {z_0})}^2}} }}$ .求解矩阵方程
${\boldsymbol{\varDelta }} = {\left( {{{\boldsymbol{G}}^{\text{T}}}{\boldsymbol{G}}} \right)^{ - 1}}{{\boldsymbol{G}}^{\text{T}}}{\boldsymbol{f}}$ ,令$ {x_1} = {x_0} + \Delta x $ ,$ {y_1} = {y_0} + \Delta y $ ,$ {z_1} = {z_0} + \Delta z $ ,重复上述过程,判断$| \Delta x + \Delta y + \Delta z |$ 是否满足预先设定的门限阈值,假设门限阈值为$ \sigma $ ,若$ \sigma \lt \left| {\Delta x + \Delta y + \Delta z} \right| $ 则输出终端坐标,否则继续循环求解,直到满足条件结束迭代过程.3. 实验与分析
为验证改进模型的定位性能,利用具有20个基站、20×1 000个TOA测量数据以及1 000个终端真实坐标的数据集进行测试. 随机选取600个待测终端的定位结果,给出如图4所示的二维平面和如图5所示的三维坐标图. 其中,终端的实际坐标为
$ ({\hat x_i},{\hat y_i},{\hat z_i}) $ ,$ i = 1,2, \cdot \cdot \cdot ,N $ ,改进的定位模型的定位坐标为$ ({x_i},{y_i},{z_i}) $ ,$ i = 1,2, \cdot \cdot \cdot ,N $ . 由图4可知,本文的定位模型在二维平面上几乎都可以准确定位. 图5表明本文模型在$ z $ 方向上存在误差,但误差基本都在0.8 m以内,NLOS误差消除效果显著.为了进一步衡量定位性能, 列出600个待测终端在各个方向上的平均定位误差、最大定位误差、最小定位误差以及定位误差小于1 m 的概率,相应误差结果如表1所示.
表 1 600个测试点定位误差统计结果方向 平均定位
误差/m最大定位
误差/m最小定位
误差/m误差<1 m
的概率/%$ x $ 0.168 0.806 0.006 99.0 $ y $ 0.171 0.974 0.002 98.7 $ z $ 0.719 1.190 0.014 89.2 由表1可知,在600个测试点中,本文定位模型在
$ x $ 方向平均误差为0.168 m,在$ y $ 方向平均误差为0.171 m,在$ z $ 方向平均误差为0.719 m. 定位效果在$ x $ 、$ y $ 、$ z $ 方向上最小定位误差分别为0.006 m、0.002 m、0.014 m,效果最差的情况下定位误差分别为0.806 m、0.974 m、1.190 m,最大误差均不超过1.2 m. 从实验结果可以看出,室内定位时终端$ z $ 方向上的定位误差较大,但其误差小于1 m的概率为89.2%.表2展示了1 000个待测终端在各个方向上的平均定位误差、最大定位误差、最小定位误差以及定位误差小于 1 m 的概率.
表 2 1 000个测试点定位误差统计结果方向 平均定位
误差/m最大定位
误差/m最小定位
误差/m误差<1 m
的概率/%$ x $ 0.175 1.013 0.001 99.0 $ y $ 0.179 1.198 0.001 98.7 $ z $ 0.721 1.220 0.014 86.4 由表2可知,在1 000个测试点中本文定位模型在
$ x $ 方向平均误差为0.175 m,在$ y $ 方向平均误差为0.179 m,在$ z $ 方向平均误差为0.721 m. 定位效果在$ x $ 、$ y $ 、$ z $ 方向上最小定位误差分别为0.001 m、0.001 m、0.014 m,效果最差情况下的定位误差分别为1.013 m、1.198 m、1.220 m,最大误差均约在1.2 m. 定义三维空间的平均误差为$$ Err = \frac{{\displaystyle\sum\limits_{i = 1}^N {\sqrt {{{({x_i} - {{\hat x}_i})}^2} + {{({{\text{y}}_i} - {{\hat y}_i})}^2} + {{({z_i} - {{\hat z}_i})}^2}} } }}{N} . $$ (15) 由式(15)可求得,1 000个测试点在三维空间的平均定位误差为0.642 m,误差小于1 m的概率为88.2%,误差小于1.2 m的概率能达到96.5%,平均误差相比于文献[19]约小0.65 m. 通过测试数据可知,室内三维定位较大误差出现概率相对较低,符合本文定位模型预期. 此外,几种定位模型的误差累积分布函数曲线(CDF)如图6所示,横坐标为定位精度,纵坐标为定位模型达到某一精度的概率.
图6中基于最小二乘法的基本定位模型的定位误差小于1 m的概率约为24%,文献[19]定位模型的定位误差小于1 m的概率约为68%,本文定位模型的定位误差小于1 m的概率约为88%. 可以看出,本文定位模型比基于最小二乘法的基本定位模型和文献[19]的模型具有更好的定位精度,可以满足大部分室内定位的需求.
4. 结束语
本文分析了NLOS环境下基于测量距离定位方法的误差,针对无线传感网络进行室内定位过程中由于信号NLOS传播而导致精度低的问题,提出一种基于改进高斯-牛顿法的NLOS误差消除室内三维定位模型. 利用最小二乘得到被测终端的初始位置,并通过遗传算法对初始位置进行选取,得到最优初始值后再用高斯-牛顿法进行迭代以细化具体位置. 实验结果表明,本文所提模型可有效降低 NLOS 误差的影响,定位精度显著提高.
-
表 1 600个测试点定位误差统计结果
方向 平均定位
误差/m最大定位
误差/m最小定位
误差/m误差<1 m
的概率/%$ x $ 0.168 0.806 0.006 99.0 $ y $ 0.171 0.974 0.002 98.7 $ z $ 0.719 1.190 0.014 89.2 表 2 1 000个测试点定位误差统计结果
方向 平均定位
误差/m最大定位
误差/m最小定位
误差/m误差<1 m
的概率/%$ x $ 0.175 1.013 0.001 99.0 $ y $ 0.179 1.198 0.001 98.7 $ z $ 0.721 1.220 0.014 86.4 -
[1] YUAN Y, SHEN F, LI X D. GPS multipath and NLOS mitigation for relative positioning in urban environments[J]. Aerospace science and technology, 2020, 107(3): 106315. DOI: 10.1016/j.ast.2020.106315
[2] 王慧强, 高凯旋, 吕宏武. 高精度室内定位研究评述及未来演进展望[J]. 通信学报, 2021, 42(7): 198-210. [3] 李芳馨, 涂锐, 韩军强, 等. 基于5G毫米波到达时间差的室内定位算法[J]. 全球定位系统, 2021, 46(2): 1-6. DOI: 10.12265/j.gnss.2021012901 [4] 薛树强, 杨元喜, 党亚民. 测距定位方程非线性平差的封闭牛顿迭代公式[J]. 测绘学报, 2014, 43(8): 771-777. [5] 闫千里, 万鹏武, 卢光跃, 等. 非视距环境下RSS和TDOA联合的信源被动定位[J]. 西安电子科技大学学报, 2019, 46(3): 180-188. [6] 杨晓倩, 童浩, 王彬. 一种基于测距信息的加权最小二乘定位算法[C]//第十一届中国卫星导航年会, 成都, 2020(6): 81-86. [7] 白晓娟, 道伟, 关露, 等. 室内复杂环境处理及泰勒公式改进定位算法研究[J]. 电子测量技术, 2021, 44(3): 55-59. [8] ZHANG J L, DING L Q, WANG Y, et al. Measurement-based indoor NLoSToA/RSS range error modelling[J]. Electronics letters, 2015, 52(2): 165-167. DOI: 10.1049/el.2015.2043
[9] 田昕, 魏国亮, 王建华, 等. NLOS 环境下的改进 EKF 定位算法研究[J]. 控制工程, 2020, 27(5): 909-913. [10] 田昕, 魏国亮, 王甘楠. 无线传感器网络定位综述[J]. 信息与控制, 2022, 51(1): 69-87. DOI: 10.13976/j.cnki.xk.2022.1177 [11] CHENG L, WANG Y, XUE M K, et al. An indoor robust localization algorithm based on data association technique[J]. Sensors, 2020, 20(22): 6598. DOI: 10.3390/s20226598
[12] CHEN H T, WANG G, WU X P. Cooperative multiple target nodes localization using TOA in mixed LOS /NLOS environments[J]. IEEE sensors journal, 2020, 20(3): 1473-1484. DOI: 10.1109/JSEN.2019.2948063
[13] 李奇越, 吴忠, 黎洁, 等. 基于改进卡尔曼滤波的NLOS误差消除算法[J]. 电子测量与仪器学报, 2015, 29(10): 1513-1519. [14] 徐英凯, 曹洁, 陈晓群. 一种抑制非视距传播误差的混合定位算法[J]. 计算机工程, 2013, 39(7): 119-122. DOI: 10.3969/j.issn.1000-3428.2013.07.027 [15] 王建强, 代阳. 基于高斯牛顿迭代估计的无线网络节点定位算法[J]. 测绘工程, 2020, 29(6): 8-12. [16] 齐珂, 曲国庆, 薛树强, 等. 测距定位方程的多解性及其非线性最小二乘迭代算法[J]. 测绘通报, 2018(8): 37-40,46. [17] 周西峰, 朱文文, 郭前岗. 基于遗传算法和高斯牛顿法的超声回波信号参数估计[J]. 解放军理工大学学报(自然科学版), 2012, 13(3): 247-251. [18] 王仁辉. 无线传感器网络定位算法及实际应用[D]. 焦作: 河南理工大学, 2019. [19] 江力, 徐海川, 张磊, 等. NLOS环境中的线性回归最小二乘三维定位算法[J]. 湖南工业大学学报, 2019, 33(6): 23-28. DOI: 10.3969/j.issn.1673-9833.2019.06.004 -
期刊类型引用(2)
1. 张延林,黄楠. 融合轮速因子的视觉惯导定位算法. 自动化应用. 2024(15): 70-73+78 . 百度学术
2. 贾时蕾,王潜心. 基于两步Kalman滤波的NLoS误差抑制算法. 全球定位系统. 2023(05): 32-37 . 本站查看
其他类型引用(3)