前言:
眼前咱们对“fang算法问题的程序”可能比较重视,兄弟们都需要了解一些“fang算法问题的程序”的相关文章。那么小编在网上汇集了一些关于“fang算法问题的程序””的相关内容,希望你们能喜欢,看官们快快来了解一下吧!摘要:
针对超宽带室内定位系统中的测量误差较大问题,提出了一种基于双路飞行时间测距方法来减小时钟偏移误差的解决方案。本方案针对静态和动态的待测节点的运动特性,通过对待测节点的运动状态检测,提出了一种联合算法,其中,静态定位采用了最小二乘估算法来得出节点坐标,并通过MATLAB仿真显示该节点坐标位置;对于动态跟踪问题,由于物体遮挡和运动轨迹等因素导致最小二乘法无法准确估计节点位置,针对这一问题,利用扩展卡尔曼滤波算法跟踪预测待测节点位置,从而改善定位效果。仿真结果表明,静态定位误差可以控制在6%以内,对比静态定位采样,动态跟踪算法精度提高了20%。实验证明,该算法可靠有效,满足室内定位的基本需求。
中文引用格式:李国友,宋成全,孟岩. 基于超宽带室内定位联合算法的研究[J].电子技术应用,2019,45(7):93-96,101.
英文引用格式:Li Guoyou,Song Chengquan,Meng Yan. Study of joint indoor positioning algorithm based on UWB[J]. Application of Electronic Technique,2019,45(7):93-96,101.
0 引言
随着现代科学技术的发展,通信和导航技术已经在各个领域发挥巨大的作用,人们对位置服务的需求也越来越大[1]。在室外环境下,全球定位系统(Global Positioning System,GPS)是在室外定位采用的解决方案,定位精度一般为10 m以上[2]。在室内环境下,GPS无法解决定位问题,超宽带(Ultra-Wide Band,UWB)技术作为室内定位技术之一,有精度高、功耗低、抗干扰能力强等特点,被广泛应用于室内定位领域[3]。基于测距的定位方法有以下几种:到达时间差法(Time Difference 0f Arrival,TDOA)、飞行时间法(Time Of Flight,TOF)、到达角度法(Angle Of Arrival,AOA)[4],测量节点间的距离或角度信息,然后使用三边测量法、三角测量法或最小二乘法计算节点位置[5]。在以往的研究中,多通过优化算法计算过程(例如Taylor算法、Fang算法、Chan算法[6])来提高定位的精度。本文通过运动检测的方式来区分待测节点的运动状态,提出了一种联合算法,采用双路飞行时间的测距方法提高测距精度,最小二乘法(Least Square,LSE)来求解最佳节点位置,最后联合扩展卡尔曼滤波器(Extended Kalman Filter,EFK)来跟踪节点的运动轨迹,并通过MATLAB仿真来验证算法的可靠性。
1 UWB测距原理
UWB系统发射的信号采用的是无载波窄脉冲,该窄脉冲的宽度一般仅为数个纳秒甚至数十皮秒的数量级,这使得UWB信号具有很宽的频谱[7],可高达几GHz,所以功率谱密度会很小,以上特征使得它与传统连续无线电信号的系统不同[8]。
UWB定位原理:首先测量基站与标签之间的距离,再由算法去求解标签的位置坐标。本文利用双路飞行时间法(Two Way-Time Of Flight,TW-TOF)进行测距,并提出一种联合算法求解标签位置。
1.1 飞行时间测距法
TOF测距方法需两节点间的协作通信,记录UWB信号在节点间的往返时间[9],其测距过程如图1所示。
标签向基站发送一个轮询信息POLL,当标签收到时,会立即回复一个确认RESP来响应这个数据包。标签记录从发送数据包到接收确认的时间T1;基站记录了从收到数据包到回应的时间T2,那么基站到标签的距离d就可以表示为:
式(1)是理想状态下的测距公式。在TOF测距中节点用各自的时钟计时,两个节点的时钟无法完全同步,导致两节点间出现时钟偏移,会造成比较严重的测距误差。
设基站的时钟偏差为FA,标签的时钟偏差为FB,那么可以得到信号传输时间误差:
虽然可以选用高稳定性的时钟来减小这种误差的影响,但价格都比较昂贵,会提高成本。
1.2 双路飞行时间测距
对于TOF测距法中节点间的时钟偏移而使测距误差增大的问题,本文利用的双路飞行时间测距法是在其基础上进行改进的一种测距方法。其具体过程如图2所示。
第一阶段:与TOF测距法相同,得到两个时间T1、T2。第二阶段:标签接收到RESP后,再向基站发出一个FINAL消息,设从接收到RESP到发出FINAL的时间为T3。第三阶段:基站接收到FINAL后,就可以得到从发出RESP到接收到FINAL消息所用时间T4。如果按照理想TOF测距法,基站和标签时钟完全同步,T1=T4,T3=T2,可得:
但实际上节点之间的时钟无法同步,所以利用TW-TOF的测距方法可以更好地控制测距带来的误差,从而提高定位精度。根据上述得到的几个时间,由式(8)可以求出UWB信号的单程飞行时间T。
由此看出,TW-TOF测距大大降低了时钟频率偏差引起的测距误差。如果选用低频偏的晶体如±10×10-6Hz,可进一步降低测距理论误差至±0.2 m。
2 最小二乘法静态定位
2.1 最小二乘法
经过TW-TOF测距得到各个基站与标签的距离di,同时各个基站A0、A1、A2、A3的坐标是已知的(Xi,Yi),那么就可以得到方程组:
其中:
2.2 最小二乘法静态定位仿真
本次仿真使用的仿真软件为MATLAB 2014b,计算机配置如下:系统环境为Windows 7 64位,CPU采用Intel CoreTMi3-3220,CPU频率为3.30 GHz,内存为DDR3 8 GB。4个参与定位的基站坐标分别为(0,0)、(0,100)、(100,0)、(100,100),标签的真实坐标为(44,37),最小二乘法得到的仿真结果用圆圈来表示,在测试中加入了随机测距误差。算法仿真运行100次以后的结果如图3所示。
由图3中的仿真结果可以看到,最小二乘法得到的定位结果基本上分布在标签的真实坐标周围,说明此定位算法有效。为了更加直观地评价算法的表现,使用均方根误差(Root Mean Square Error,RMSE)来分析定位误差,如式(15)所示:
由图4可以看出,利用最小二乘法来进行待测节点的静态定位,定位结果误差控制在6%以内,精确度符合预期结果,说明此算法是有效的。
3 扩展卡尔曼滤波动态定位
最小二乘法可以估测到静态节点的位置,但是对于移动的标签,在实际测量中由于物体或人体造成多径传播和非视距误差,会导致定位误差较大。卡尔曼滤波器利用上一时刻的位置信息和这一时刻的观测信息对位置进行估计[10]。
3.1 扩展卡尔曼滤波器
传统卡尔曼滤波器只能在线性高斯模型中使用,而运动标签定位问题的模型是非线性的,那么可以使用扩展卡尔曼滤波器,用非线性函数的局部线性特征来近似非线性。其过程包括两个阶段:预测和更新[11]。
上式两个方程分别是对k时刻状态向量和估计误差的协方差的预测,Q(k)是系统误差的协方差。
由于h(s(k))是非线性函数,在使用能解决非线性问题的扩展卡尔曼滤波时,使用泰勒级数展开来简化表达式。在k-1时刻向k时刻转换时,H(k)是h(s(k))的雅克比矩阵,即求导化简后得:
设ω(k)和v(k)的协方差阵分别为Q(k)和R(k),都为对角矩阵,列数为2,维数是基站个数,对角线上各元素取值在仿真中分别设为定位坐标最大误差的一半和其相应的测量方差。
3.2 动态定位仿真
为了体现扩展卡尔曼滤波在动态定位中的特性,在仿真中把它与静态定位算法经过时间采样后的结果进行对比,用MATLAB进行仿真,设置4个基站,分布在(0,0)、(0,1000)、(1000,0)、(1000,1000)处,本文测试的动态过程是从(0,500)处开始,来测试对动态节点的跟踪效果。时间采样周期为0.1 s,根据扩展卡尔曼滤波器原理,只需知道初值即可,仿真结果如图5所示。
由图5中可见,最小二乘法静态采样测量出的位置和经过EFK估测后形成的轨迹相比,经过EKF估测后的移动节点的坐标更接近真实的运动轨迹,说明了扩展卡尔曼滤波能更好地对运动中的标签进行位置估计。接下来为了更直观地显示扩展卡尔曼滤波的动态定位效果,对比分析仿真结果的 RMSE,结果如图6所示。
图6中静态算法采样后的RMSE为波动较大的虚线,经过EFK算法估测后的RMSE为波动较小的实线,误差从25%以内稳定到了5%左右,比较直观地体现出了扩展卡尔曼滤波算法的有效性。
4 系统工作流程
4.1 运动状态检测
联合算法的应用需要了解标签的运动状态,所以设计了运动状态检测方法。设(xt,yt)为t时刻最小二乘法静态定位采样所得的位置,假设系统最大误差为σ,那么就可以通过以下的公式来检测运动状态:
式中,k是每个测量序列的时刻,开始定位后每个测量时刻都与t时刻的位置比较。当式(24)成立时,检测到标签的运动状态为静止,相反,当式(25)成立时,也就是说在t+k时刻与t时刻的距离超过了最大误差一定的倍数,那么就判断标签是运动的。经过多次仿真,最后仿真中所取的最大误差为σ=0.2 m,误差系数λ=2。为了防止标签在临界状态下频繁波动的情况,定义一个变量N来记录检测次数,只有当N>3时,也就是连续3次检测为运动时,才能真正判定为运动状态。用此时刻的最小二乘静态定位的结果作为扩展卡尔曼滤波算法的初值,来继续对标签进行动态跟踪定位。
4.2 联合算法工作流程
由上文所述的联合算法的推导和仿真,最小二乘法联合扩展卡尔曼滤波定位算法的运算流程如图7所示。
5 结论
本文介绍了双路飞行时间(TW-TOF)测距法,能够降低时钟偏移所带来的测距误差,并提出了一种最小二乘静态定位联合扩展卡尔曼滤波动态定位算法。对于静态定位采用了最小二乘估算法进行对待测节点定位,仿真结果表明,此算法的定位误差能控制在6%以内;对移动的待测节点进行动态定位时,采用了扩展卡尔曼滤波器,对运动轨迹进行预测跟踪,并通过MATLAB仿真对比表明,相对于静态定位采样,扩展卡尔曼滤波算法的误差降低了20%,定位效果更好。接下来还可以通过增加基站数量和合理的基站分布位置来提高定位精度。在算法上也有优化的可能,把非线性问题转化为线性问题的过程中,泰勒展开式中取更多的项,通过提高算法复杂度来提高精度。
参考文献
[1] 董家志.基于UWB的室内定位与跟踪算法的研究[D].成都:电子科技大学,2015.
[2] 卢靖宇,余文涛,赵新,等.基于超宽带的移动机器人室内定位系统设计[J].电子技术应用,2017,43(5):25-28.
[3] MATTEO R,SAMUEL V D,V,HEIDI S,et al.Analysis of the scalability of UWB indoor localization solutions for high user densities[J].Sensors,2018,18(6):1875-1880.
[4] 孙凤,施伟斌,黄灵凤.基于无线传感器网络的室内定位技术的研究[J].电子技术应用,2013,39(10):80-83.
[5] MCELROY C,NEIRYNCK D,MCLAUGHLIN M.Comparison of wireless clock synchronization algorithms for indoor location systems[C].Proceedings of 2014 IEEE International Conference on Communications Workshops.Sydney.IEEE,2014:157-162.
[6] LI X,HE D,JIANG L,et al.A method indoor multi-path IR-UWB location based on multi-task compressive sensing[C].Fourth International Conference on Ubiquitous Positioning.IEEE,2017:64-68.
[7] HEWISH M.Ultra-wideband technology opens up new horizons[J].Janes International Defense Review Idr,1999,2:20-22.
[8] 梁久祯.无线定位系统[M].北京:电子工业出版社,2013.
[9] 鲁旭阳.基于TOF的WSN节点定位技术研究[D].郑州:解放军信息工程大学,2012.
[10] 嵇茂祥.UWB室内定位系统研究与实现[D].上海:华东师范大学,2017.
[11] 师延山,李道本,范跃祖.无线定位扩展卡尔曼滤波算法的优化[J].北京航空航天大学学报,2003,29(4):308-311.
作者信息:
李国友,宋成全,孟 岩
(燕山大学 电气工程学院,河北 秦皇岛066000)
标签: #fang算法问题的程序