当前位置:首页 期刊杂志

基于WiFi的室内定位算法研究

时间:2024-08-31

冯文生,高誉

(华南理工大学建筑设计研究院,广东 广州 510641)

人类正常活动的一大部分信息都与地理位置有着密不可分的关系[1]。定位系统是为确定或估计某一人或物的位置而设计、开发和部署的系统。由于非视距离及复杂多变的室内环境等因素导致室内定位技术具有很大的局限性,其应考虑工业施工时人员的安全监测、对信息和轨迹的把控、设备的运维及管理、维护时间的判断及预警等。研究基于WiFi的室内定位技术有重要的现实意义。

随着不同的定位方法和算法得到社会人士的深入研究,如何选取合适的定位方法和算法,通过怎样的实验才能筛选数据,提高精度,是我们需要关注的方向。

1 室内定位技术

1.1 定位方法模型

室内定位技术可以以多种形式实现。到目前为止,几种常见的定位技术主要包括:WiFi定位技术,射频识别(RFID)定位技术,蓝牙(Bluetooth)定位技术,红外(Infrared)定位技术,超宽带(UWB)定位技术等[2]。

1.2 定位算法模型

根据是否需要在定位实验中划分每个节点之间的距离,将算法分为两种:基于距离测量的定位算法和与距离无关的定位算法[5]。基于距离测量的定位算法需要将参考点与待测量的点之间的距离测量出来。相反,与距离无关的定位算法通常仅需要使用诸如网络连接性之类的信息来计算未知节点的相对位置信息。

1.2.1 基于 TOA 的定位算法

基于TOA的定位步骤如图1所示,主要完成了先前提出的两个步骤:首先,测量未知节点与每个已知节点之间的距离,这可以通过信号传播延迟估计来获得[6]。然后使用倍数设置距离测量值建立一个圆方程组,并使用相关算法进行求解,从而可以估算出未知的节点坐标。

图1 TOA定位流程图

1.2.2 基于 TDOA 的定位算法

利用时间差(TDOA)定位算法的本质其实是一种数学上的双曲线定位法。我们假设信号在待测位置与每个基站之间实验直线的方式相互传播的,同时已经测量了他们之间的距离,并且已知在待测位置与另外一个待测位置之间是有差异性的。如果待测位置是参考点,那么待测位置应该属于双曲线的重合处,这样的话就会出现两个焦点,因此,TDOA定位方法就需要有3个及3个以上的基站才能实现定位。在被动定位问题中,这是一种非常流行且行之有效的定位方法。

2 定位方法及定位算法

2.1 基于 WiFi的定位方法

WiFi是IEE802.11标准的通用名称。由于其传输距离适中,可以满足室内定位的距离要求,这就进一步提升了它的应用性。在室外没有任何阻挡及影响因素的情况下,WiFi拥有最大300m的通信距离,但是在室内通信距离大打折扣,只有120m。即便这样,与其他的传输距离影响的无线通信技术相比他还是有比较明显的优势。因为WiFi的普遍存在,加上我们的电话、电脑和部分电子设备可以配备附加的无线网卡,从而进一步提高了WiFi的使用性。基于WiFi的室内定位技术具有低成本和易于部署的特点,比其他方法更具优势。

经过以上的分析和对比,前四种分别有信号强度不如WiFi明显、布设成本比WiFi高、技术相对不完善、适应场景不符合等缺点。与之而来的便是WiFi成为室内定位技术的优先选择。

2.2 基于位置指纹的定位算法

基于位置指纹的室内定位算法分为两个阶段,即参考库构建阶段和位置估计阶段。定位指纹算法的主要部分是参考库和定位算法[7]。参考库的搭建我们需要在一个经过筛选和布设的实验场所使用现有的基础设施来监测信号强度,根据信号强度序列和智能终端与AP之间的位置指纹库,根据一定的匹配算法确定携带智能终端的人员的位置,执行强度序列在序列匹配操作中,从信号中选择与具有最近序列信息的指纹对应的位置作为携带智能终端的人的位置[8]。

3 实验设计与实现

3.1 实验场景

本实验中所选择的区域为某城市的办公楼。实验区域内有12个小房间分布在办公楼一楼的两侧,整体长约100m,宽约40m,试验区域的东侧和南侧有两个透明的门,每个小房间有一个不透明的门,房间与房间之间有墙壁遮挡。

本实验是基于WiFi室内定位算法的研究。需要在实验所在的区域里安装布设若干个AP,为的是让WiFi信号能够覆盖到整个试验区域。本次试验使用的AP是品牌为TP-LINK,型号为TL-WDR5620的路由设备,采集信号的移动终端型号为Redmi K30 5G,内置双WiFi模块,可以同时监测到2.4G和5G信号,每隔一个房间布设一个信号发射装置,一共有8个信号发射装置布设在实验区域内。

3.2 实验设计与过程

(1)WiFi信号的采集

在定位算法研究之前应首先进行WiFi信号的采集及坐标库的建立。基于Android的前端由微信小程序展示、后端由C#编程语言编写、数据由MySQL数据库存储的完整的方法进行数据的获取以及数据比对库(标准库)的建立。

微信小程序是当前使用范围较广的测试平台,它的优点在于易于搭建,易于实现,操作性也比较强,在微信小程序界面需要输入数据的采集编号和采集次数。

(2)指纹数据库的建立

在室内定位算法的研究中,我们在采集WiFi信号数据的时候将实验场地的走廊里以横向(y轴)2m、竖向(x轴)1m为间隔设置网格点,在同一个点进行50次的WiFi信号采集并抽取其中的一部分数据建立指纹数据库。

(3)实现定位算法的方法

采集到WiFi信号数据后,开始具体位置产生定位数据的阶段,最重要的是对移动设备的定位确定。在这里首先介绍一下最近邻法(NN法),最近邻法需要首先统计在线测量的样本数据与MySQL数据库中各个位置信息进行确定的平均值之间的距离,叫做欧氏距离[9]。通过找出最近的数据库里的位置坐标后进行加权平均然后得到在线设备的具体位置,计算欧氏距离的公式为:

本文运用了K最近邻法(KNN法),K最近邻法可以说是当K≥2时的距离终端距离最短的位置,移动设备的具体位置是对应的坐标加权平均值来确定的:

式中,(x,y)表示定位坐标;(xi,yi)表示最近相邻的某一个参考点的坐标。

通过多次测试发现,尽管KNN算法计算出来的空间位置相对于NN算法来讲定位稳定性较强,但是点位精度还需要再一次的提升,所以加权最近邻法(WKNN算法)被提了出来,他在KNN算法的基础上添加了加权系数:

式中,di表示移动终端测量的数据与其相近点的欧式距离;δ为加权系数:ε是为避免分母为零而设置的一个较小的常数,规定加权系数值与欧氏距离成反比,如此能够在一定程度上提高系统的定位精度。

对我们获取的数据进行筛选,由于WiFi信号的实时变化性,引用了支持向量机(SVM)的原理。支持向量机(SupportVectorMachines,SVM)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机。SVM还包括核技巧,这使它成为实质上的非线性分类器。SVM的学习策略就是间隔最大化,可形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函数的最小化问题[10]。SVM的学习算法就是求解凸二次规划的最优化算法。最后利用Python语言有规律地调用MySQL数据库的数据进行解析定位,将其他数据作为参考数据不进行特殊处理,从而得出一个精确度较高的位置坐标并返回到MySQL数据库中。

3.3 实验结果及分析

在我们通过支持向量机(SVM)将实时测量到的数据与建立的数据库对比,可得出相应的精度、原始值以及加权平均值,但是由于采集到点的数据不全,无法建立数据库导致某些点的位置数据均为0,根据最终数据就可以得到某移动设备多次不同的运动轨迹,横坐标代表的是x轴,竖坐标代表的是y轴。轨迹如图2至图4所示。

图2 移动设备运动轨迹

图3 移动设备运动轨迹

图4 移动设备运动轨迹

4 结论

为了实现室内环境下人员的定位及安全监测,本文结合移动终端及常见的路由设备作了基于WiFi的室内定位算法研究。本文通过实验验证了基于WiFi的室内定位技术的可行性及其影响因素和误差。今后应不断优化定位算法模型,不断减小误差、提高精度,并通过可视化界面实时反应人员在室内的行动轨迹。使其更好地为安全生产和社会发展服务。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!