1. 引言
随着信息时代物联网技术的快速发展,人们对于定位应用的需求也在不断增加。GPS作为室外定位常用的手段之一,在地图导航及户外人员定位等领域有着较高的定位精度 [1] 。然而其在室内环境中会受各类建筑物遮挡,导致无线卫星信号多径传播和信号衰减,从而无法满足室内位置服务的需求,因此室内定位方案及技术成为当前研究的热点。
现如今室内定位技术种类繁多:红外线的定位系统通过红外信号作为测量信号对目标进行定位 [2] ;定位系统结构简单、定位精度较高、目标跟踪性较好但易受非视距的室内环境影响的超声波定位技术 [3] ;通过测距定位法和基于指纹库定位法的WiFi技术,但其传播距离较短,易受室内环境的噪声干扰 [4] ;可自动识别的射频识别技术,但其仅适合于定位区域小且精度需求不高情况下使用 [5] ;适用低速短距离传输的ZigBee定位技术,低功耗、低成本,但同样只能满足低定位精度要求的场景使用 [6] 。而超宽带(Ultra-Wideband, UWB)通信具有较高的信息传送速率、卓越的定位精度,以及较好的时间分辨和抗多径干扰能力,逐渐在室内环境中占有相当的比重 [7] 。但室内场景多变、环境复杂,会使得UWB通信信号极易受到遮挡,虽然UWB技术具有穿透能力,但仍然会产生误差,在较强干扰时,数据会发生异常波动(通常是时间延时),基本无法完成室内定位。因此对信号干扰下的超宽带精确定位问题进行研究具有非常重要的应用价值。
本文首先利用UWB中的靶点与锚点的距离信息实现靶点的定位,并通过解决非线性最小二乘问题对定位算法进行改进;其次通过随机生成固定的靶点与锚点位置,应用改进算法计算靶点的位置,运用误差评估指标对算法进行误差分析,验证算法的有效性与适用性;最后采集按时间顺序的离散数据对其进行轨迹估计,并运用拓展卡尔曼滤波进行优化,得到精确的轨迹模型。
2. 定位算法
根据靶点与四个锚点之间的距离,需要通过定位技术确定靶点的位置。四点定位法利用靶点与四个锚点之间的空间距离来确定靶点的位置。原始的四点定位法直接进行定位,但在实际环境中靶点与锚点之间的距离难以避免地存在误差,导致解定位坐标时产生误差,而这种误差是无法估计的。因此在存在距离误差的前提下,需要获得最优解。由此产生的问题可被形式化为非线性最小二乘问题,故采用LM算法进行求解,得到改进的四点定位算法。
2.1. 四点定位
在实际应用中,需要在锚点数量有限的情况下尽可能准确地估计靶点位置,而四点定位法 [8] 能够利用靶点与四个锚点之间的空间距离来确定靶点的位置。
假设空间中已知四点A、B、C、D,坐标分别为
、
、
、
,待定位点P坐标为
,P到四点的距离分别为
,根据距离公式可得:
(1)
整理可得:
(2)
对方程进行三次差分消除掉高次项,得到:
(3)
用矩阵形式表示:
,其中:
,
,
(4)
求解P点坐标,即求解向量
,如果矩阵
的逆矩阵存在,可求得:
。
2.2. 改进定位算法
上述的四点定位法求解过程中,将四个方程做三次差分得到三个方程,是基于“靶点到四个锚点的距离是准确的”进行的。但在实际中由于受到各种干扰,测得的距离数据是不精确的,需要在受到干扰的情况下获得最优解。因此针对误差的产生,需要将问题化作非线性最小二乘问题形式,并采用LM算法进行求解。
1) 目标函数:
(5)
其中,
即
,
,
也可以将x映射到
空间中。
2) 高斯牛顿法:
将目标函数改写成矩阵形式:
(6)
其中:
(7)
记:
(8)
(9)
则
是一个
向量,而
是一个
矩阵。
将
进行一阶泰勒展开:
(10)
则:
(11)
对
求导并令其为0,则:
(12)
可得:
(13)
3) LM法:
当
奇异或病态时,则需引入单位矩阵
,使得:
(14)
其中,
。
则:
(15)
4) 算法步骤
给定
,初始乘子
,参数
。
步骤1:如果
,算法停止,
是问题的解。
步骤2:计算
得到
。
步骤3:计算
,
若
,则
;
若
,则
;
否则,
不变。
步骤4:若
则
;
否则
。
令
,转步骤1。
运用上述算法求解式(1),即可得到改进后的四点定位法。
3. 轨迹估计
由于数据呈现为时间顺序的离散形式,轨迹估计可视为对离散时间系统状态进行估计的过程。通过采集数据,能够获取靶点的运动信息以及对锚点的观测数据。卡尔曼滤波 [9] 被广泛应用于线性系统状态的最优估计。但由于定位模型不符合线性系统的特性,因此需要采用拓展卡尔曼滤波进行优化,使轨迹估计更加精准。
3.1. 拓展卡尔曼滤波
标准卡尔曼滤波的状态转移方程和观测方程为:
(16)
其中,
和
分别表示上一状态和当前状态;
表示要估计的状态;
表示上一状态到当前状态的转换矩阵;
表示可选的控制输入,一般在实际使用中忽略;
表示控制输入到当前状态的转换矩阵;
表示测量值;
表示当前状态到测量的转换矩阵;
表示过程噪声;
表示测量噪声。
设扩展卡尔曼滤波 [10] 的状态转移方程和观测方程为:
(17)
(18)
利用泰勒展开式对式(17)在上一次的估计值
处展开得:
(19)
再利用泰勒展开式对式(18)在本轮的状态预测值
处展开得:
(20)
其中,
和
分别表示函数
和
在
和
处的雅克比矩阵。
下面给出拓展卡尔曼滤波预测和更新两个步骤:
1) 预测
,
2) 更新
,
,
其中的雅克比矩阵
和
分别为:
,
其中,
为真实值,
为预测值,
为估计值,
为观测值,
为观测值的预测,
为估计值与真实值之间的误差协方差矩阵,
为求期望的符号。
状态转移方程和观测方程为:
引入反馈:
(21)
由式(19)、(20)可得:
(22)
(23)
计算估计值与真实值之间的误差协方差矩阵,并把式(20)、(21)、(23)代入,得到:
(24)
其中
表示真实值与预测值之间的误差协方差矩阵。于是得到:
(25)
由于
的对角元即为真实值与估计值的误差的平方,矩阵的迹即为总误差的平方和,即:
(26)
为了估计值更接近于真实值,使
尽可能的小,需要取得合适的卡尔曼增益
,即
对
的偏导为0:
(27)
则卡尔曼增益为:
(28)
再由式(25)得到:
(29)
则真实值与预测值之间的协方差矩阵
为:
(30)
将式(31)带入到式(30)中,
(31)
可得:
(32)
其中,
、
与观测噪声是独立的,期望为零;
表示观测噪声的协方差矩阵,用
表示。
于是得到:
(33)
式(33)的协方差矩阵的转置矩阵即为其本身。
3.2. 运动模型
靶点从A运动到B的轨迹如图1所示。

Figure 1. Target motion trajectory schematic diagram
图1.靶点运动轨迹示意图
轨迹估计是一个离散时间系统的状态估计 [11] ,记录终端在各个时刻的位置状态为:
(34)
表示终端在轨迹中的离散时间下标。用两个方程描述状态,估计问题:
(35)
其中,
为状态方程,
为观测方程,
为输入,
为系统噪声,
为观测数据,
为观测噪声,
为状态预测,
为状态估计,
为测量预测。
对应的预测方程和观测方程为:
(36)
构造残差方程:
,即预测和测量的误差,当残差最小时误差最小。通过这种反馈的形式降低噪声的影响,最终得到的各个位置的坐标即为残差平方最小化的解。
4. 实验及结果
根据设定的实验场景和数据,对改进的定位算法进行误差评估,以验证算法的有效性和适应性;然后生成以时间为序的靶点运动数据,应用本文算法来推断靶点的运动轨迹,进一步对轨迹模型进行评估。
4.1. 实验场景及数据
实验设置在5000 mm × 5000 mm × 3000 mm的测试环境中。分别在4个角落A0、A1、A2、A3放置UWB锚点,锚点向所有方向发送信号,如图2。Tag为UWB标签,即需要定位的目标(靶点)。Tag接收到4个UWB锚点的信号,利用TOF技术,分别解算出对应的4个距离数据。实验在实验场景中采集了Tag在324个不同位置,在信号干扰下的UWB数据,锚点与Tag之间每0.2~0.3秒之间会发送、接收信号一次。靶点范围为:5000 mm × 5000 mm × 3000 mm。锚点位置(单位:mm)为:A0 (0, 0, 1300)、A1 (5000, 0, 1700)、A2 (0, 5000, 1700)、A3 (5000, 5000, 1300)。

Figure 2. Experimental environment schematic diagram
图2. 实验环境示意图
4.2. 定位算法实验及结果
随机生成四个锚点与一个靶点,通过改进后的四点定位法计算出靶点的位置,再将精确的靶点位置与计算的靶点位置进行比较,可以验证算法的准确性。为了实际性,对空间四点定位的误差进行分析,加入干扰,多次定位同一点,观察误差情况。下面介绍相关误差评定指标:
1) 平均偏差:定位点与待定位点距离的平均值,反映定位精确度。
2) 均方根误差:反映定位精确度。
(37)
3) 标准差:反映定位精密度。
(38)
由图3可知,加入随机扰动后将数据代入误差指标可以得到误差分析图。从误差分析图可以观察到,采用四点定位的方法,平均偏差接近于4 cm,均方根误差与标准差均接近于4.5 cm,误差较小,表明本文定位算法具有较高的定位精度。
4.3. 轨迹估计算法实验及结果
将锚点与靶点的信息数据带入轨迹估计算法中,获得靶点随时间运动的位置信息,将其可视化为轨迹。图4展示了原始定位散点图,图5展示了根据轨迹模型优化后的轨迹图。在具有信号干扰的情况下,本文算法仍然能够较为准确的重现出靶点的运动轨迹。

Figure 4. Original localization scatter plot
图4. 原始定位散点图