发明内容
本发明的目的是为了克服现有技术中的不足,提供一种基于WiFi双频带的室内定位方法, 同时对WiFi 2.4G和5G双频段进行研究,分析各个频段不同的特性,并将其应用于复杂的非 视距和可视距室内环境中。在定位阶段,利用WiFi双频段的特性,结合实际环境,通过子区 域划分、K均值聚类、K近邻、支持向量机等方法,实现可视距/非视距环境的判别和定位。
本发明的目的是通过以下技术方案实现的:
基于WiFi双频带的室内定位方法,分为离线训练阶段和在线测试阶段,具体如下:
(1)离线训练阶段:
A.在待定位区域部署m个无线路由器设备,设置n个参考点,并记录各参考点的位置信 息以及各参考点对于每个路由器的非视距状态,其中m、n≥1;
B.分别采集每个参考点对各个路由器2.4G、5G两个频段的接收信号强度RSS值至少20 次,从中提取出包含均值、方差、峰度和偏度四个特征的特征向量;
C.将所得到各个参考点的特征向量和对应路由器的非视距状态放入支持向量机SVM中 进行训练,得出训练好的参数用于判别非视距状态;
D.将待定位区域划分为几个子区域,并求出每个子区域中的所有参考点对于各个路由器 的RSS平均值,记为子区域的指纹;
(2)在线测试阶段:
A.通讯设备分别在测试点接收各个路由器的RSS值至少20次,对其提取特征后得到特 征向量,并将测试点对于各个路由器RSS平均值的向量作为指纹,通过计算测试点指纹和各 个子区域指纹间的欧几里得距离,选择距离最小的子区域作为设备所处的区域;
B.结合离线训练阶段C步骤得到的参数,使用支持向量机判别测试点对于各个路由器所 处的非视距状态;状态为非视距时,测试点使用对应路由器2.4G频段的特征向量;状态为可 视距时,测试点使用对应路由器5G频段的特征向量;
C.使用K均值聚类算法对子区域进行聚类,得到每个聚类中的类簇中心,类簇中心是聚 类中所有点的质心,将测试点的特征向量同每个类簇中心的特征向量进行匹配,选出与测试 点相似度最高的类簇;
D.使用K近邻算法对筛选出的类簇中所有点的特征向量进行逐个匹配,选择其中相似度 最高的前6个参考点,并对这6个参考点的x、y坐标求和取平均值,作为预测坐标;其中相 似度匹配为:特征向量间的欧几里得距离越小则相似度越高。
与现有技术相比,本发明的技术方案所带来的有益效果是:
1.现有的方法如K近邻、加权K近邻方法中,对于参考点的匹配时是逐个进行匹配,匹 配过程的时间复杂度为O(n);而本发明中,通过子区域划分、K均值聚类以及K近邻算法,能够显著的降低时间复杂度,提升定位效率。
2.通过实验,发现WiFi 5G信号在非视距和可视距环境下差异明显。因此将WiFi5G信 号用于非视距环境判别。将采集到的WiFi 5G频段数据放入支持向量机训练,得到了训练参 数。之后在定位阶段,只需要将参数和数据放入支持向量机中,就可以判别设备处于何种环 境。
3.本发明提出使用5G信号、支持向量机来识别参考点对于路由器所处的环境的方法,如 果预测到参考点所处环境,那么就可以根据环境的不同而使用不同频段的数据。这样就可以 将WiFi的两个频段和可视距/非视距环境结合起来,同时发挥了2.4G和5G两种频段信号各 自的特性,提高了技术方案的健壮性,实现非视距环境判别和位置预测,并减弱了环境因素 对定位结果的影响。
4.在判别出环境之后,本发明使用了逐层缩小范围的方法,先是确定子区域,再然后使 用K均值聚类算法划分聚类,最后使用K近邻算法找到最近的k个点得到预测坐标。
具体实施方式
下面结合附图对本发明作进一步的描述。
为了方便理解,首先介绍下本技术方案的一些技术特征,描述下各个特征的含义。
一、非视距和可视距环境
根据发射点和接收点的相对位置,WiFi无线信号的传播情况可分为两种:可视距和非视 距。
如图2所示,AN代表无线路由器,TN代表信号接收点。可视距情况表示的是AN和TN两点之间信号是直接传播的情况,即AN1和TN两者之间没有障碍物。然而实际应用中,由 于墙、门等建筑结构以及人类活动等因素的影响,信号传播往往会反射、衍射、以及被遮蔽。这种情况就是非视距情况,如AN4和TN之间信号不是直接到达的,而是被障碍物所阻挡。
因此,根据接收到的RSS值进行定位,有时候会出现结果不准确的情况。这是因为信号 在传输过程中可能受到多通路的干扰(如信号的反射、衍射等)。特别是在非视距环境下,接 受到的信号往往包含很多非视距信号分量。因此在实际应用中,判定参考点对于各个路由器 是否处于非视距环境是很有必要的。
二、WiFi 5G和WiFi 2.4G
由于WiFi 5G的开始普及。WiFi 5G由于运行在5GHZ频率(5.17GHZ-5.33GHZ、5.49GHZ-5.71GHZ、5.735GHZ-5.835GHZ),这个频段受到的干扰相较2.4GHZ要少的多,所 以WiFi 5G信号相较于2.4G要稳定。但也正是由于5G信号频率高,波长短,于是穿透性相 较2.4G要弱。因此本发明技术方案通过实验验证了以上关于WiFi 2.4G和5G穿透性和稳定 性的推论。
如图3所示,在同一个位置以0.5s的时间间隔,分别对WiFi 2.4G和5G频段采集RSS值20次。从图3可以看出:在可视距情况下,WiFi 5G信号要比WiFi 2.4G信号要稳定,数 据波动小。
如图4所示,在同一个位置(距离路由器2m处,和路由器隔一堵墙)分别采集2.4G、5G的RSS值。从图4可以看出WiFi 5G虽然信号稳定,但是较WiFi 2.4G穿透性差,RSS值 整体比2.4G要小。
因此基于以上结论,本发明技术方案决定在可视距情况下选择5G频段、非视距情况下 选择2.4G频段的特征向量用于定位。
三、RSS的特征值
通过对多个采集到的样本点进行观察,结合所处的可视距和非视距环境,从中找寻几个 关键的特征。它们分别是均值、方差、峰度、偏度。这些特征不仅能够很好地鉴别非视距环 境,同时还增加了特征向量的维度,使其能够更好地描述地理位置。实际实验中,以10s一 次的间隔对每个参考点采样20次,记为Lj:<Pj (1),...,Pj (T)>,它代表的是第j个参考点分别收 集T次RSS值。Pj (T)代表第j个参考点第T次获取到的RSS值。对于每个参考点都有20笔 RSS值。对这些RSS值分别求均值、方差、峰度、偏度,得到特征向量。各个特征值介绍如下:
均值(μ)一个点采样20笔RSS值得到的平均值。
方差(σ2):一个点采样20笔RSS值的方差。
峰度(S):一个点采样20笔RSS值的峰度。峰度用于测量概率分布峰值的尖锐情况。通常情况下,可视距情况下的RSS值要比非视距情况下的信号更加集中,因为可视距信号有更强的能量表现。峰度计算公式如下所示。其中xi代表第i笔收到的RSS值。代表这20笔RSS值的平均值。
偏度(K):一个点采样20笔RSS值的偏度。偏度表示的是RSS数据分布的不对称性。由于多路径信号存在的因素,可视距信号倾向于瑞利分布衰减,而非视距信号则是按照莱斯 分布衰减。通常瑞利分布的偏度要比莱斯分布的偏度要大,因此可视距环境下的RSS数据的 偏度应比非视距环境下的要大。偏度计算公式如下所示。其中xi代表第i笔收到的RSS值。代 表这20笔RSS值的平均值。
因为峰度、偏度在非视距和可视距不同环境下的值差异明显,因此这些特征能够用非视 距环境的判定。
四、本发明技术方案具体流程如下:
在整个WiFi特征向量构建中,为减轻运算的复杂度和时间,本发明使用RSS值作为特 征向量构建的源数据。由于实际运用中,路由器的SSID可能会人为的改变,而MAC地址却是始终唯一的,所以本发明用MAC地址来区别不同的路由器。将整个实验环境分成一个个均匀分布的网格,每个网格代表一个参考点,并对每个参考点采集多次RSS值。在采集数据过程中,始终将通讯设备即手机放在1.5m的高度并且全程保持一个方向,来收集所有路由器 的信号。由于RSS值可能会因环境或者人为因素而变化,所以在每一个参考点都采集了20 笔时序的RSS数据Pj:<Pj (1),...,Pj (T)>,将其存入数据库中。Pj (T)代表第T次收到的RSS值。 对于第j个参考点,对其接收到的第i个路由器的RSS值提取特征,得到了Lji 2.4和Lji 5,Lji= (LJi 2.4,LJi 5)。其中LJi 2.4=(μ2.4,σ2.4,skew2.4,kurt2.4)代表由第j个参考点收到第i个路由器 2.4G频段的RSS数据而提取出来的特征值向量。同理LJi 5是指WiFi 5G的特征向量。Lji则是 第j个参考点收到第i个路由器2.4G和5G两个频段的RSS数据而提取出来的特征向量。
最终对RSS数据进行处理后得到的特征向量数据库如下所示:
其中Lj=(Lj1,Lj2,....LjM)代表的是第j个参考点关于M个路由器的所有特征值集合。同 样,Lj 5=(Lj1 5,Lj2 5,...LjM 5)代表第j个参考点关于M个路由器5G频段的所有特征值集合。 同理,有Lj 2.4=(Lj1 2.4,Lj2 2.4,...LjM 2.4)代表M个路由器2.4G频段的特征值集合。
五、分在线阶段和离线阶段详细介绍各个流程:
1.非视距环境判别(离线训练阶段):
本实施例中采用了3台Tenda AC9路由器进行实验环境的部署。这种型号路由器能够同 时发射2.4G和5G两个频段的信号。由于5G信号的穿透性不如2.4G信号强,因此5G信号在可视距和非视距环境下的差异较2.4G会比较明显。因此在非视距判别过程中,使用的是5G信号的特征向量,即Lj 5=(Lj1 5,Lj2 5,...LjM 5)。
为使模型泛化性好而又不至于太复杂,本技术方案使用支持向量机SVM来判别非视距 环境。
给定一组训练数据其中Lk前面提到是指在第k个点处的特征值向量,而 bk∈{-1,1}表示的是可视距/非视距环境(bk=1代表可视距环境,bk=-1代表非视距环境)。 用于识别非视距环境的线性机器学习算法如下所示:
其中,sign是signum函数,用于取数的符号,只有1或-1,也就是说b(x)的结果要么为-1, 表示处于非视距环境;要么为1,表示处于可视距环境。w和w0分别是需要训练的参数。通 过使用拉格朗日对偶,可以得到使公式(6)最小的参数。是预先定义的特征映射函数, 本实施例使用的是高斯核函数,如公式(5)所示。。xk和x是传入的特征向量。
其中
通过公式6训练出了支持向量机的参数。其中ek是松弛变量。当需要判别某个测试点对 于某个路由器是否处于非视距环境时,只需要将这个点的特征值向量和参数代入公式(7), 就可以得出预测结果。
其中λk是拉格朗日乘子,而k(x,xk)是公式(5)所定义的核函数。
2.子区域划分(离线训练阶段)
为了减轻计算的复杂度,提高定位的准确性,根据具体的实验环境将其预先划分为K个 均匀分布、大小相等的子区域,记为A(T)={A(1),A(2),…A(k)}。
假设室内环境中总共有M个路由器和N个均匀分布的参考点。对于第jth个路由 器,i=1,2,3,…n,sij代表第i个参考点收到第j个路由器的20笔RSS值的平均值。如果手机 设备无法检测到第jth个路由器的信号,那么就设置一个非常小的值给sij,即sij=-100dBm。于是si=(si1,si2,…,siM)代表离线阶段第i个参考点处收到所有M个路由器的平均RSS值所组成的向量。另一方面,定义为在线阶段手机设备在某个测试点采集到的 关于M个路由器的平均RSS值向量,也叫测试点指纹。
假定所处的室内环境被均匀分为K个子区域。在第kth个子区域的所有参考点都被归结到 一个RP集合Fk=(Sk1,Sk2,…,SkM)代表第k个子区域的指纹。其中Sk,j代表 第j个路由器在第k个子区域的平均RSS值。用公式(8)计算Sk,j,即Sk,j的值为第k个子区 域所有参考点接收到第j个路由器的RSS平均值。
3.子区域查找(在线测试阶段)
这一步的目的是为了确定测试点属于哪个子区域。一旦确定了子区域,接下来的位置搜 寻就只需要在这个子区域中进行,这减少了工作量,同时也提高了定位的精确度,筛选掉了 很多不必要的参考点。使用欧几里得距离来判定测试点属于哪个子区域。假定在在线阶段, 手机设备采集到的RSS信号为我们将其与离线阶段得到的Fk(k=1,2,…K) 计算欧几里得距离,选取使得距离最小的子区域作为设备所处的初始区域。计算测试点到子 区域距离的公式9如下所示:
在Dk(k=1,2,…K)中选取Dk最小的子区域作为粗略区域。
4.K均值聚类—K近邻算法(在线测试阶段)
前面已经分析,非视距环境下使用2.4G信号,可视距环境下使用5G信号是比较合理的 方案。由于离线训练阶段已经用支持向量机训练出了参数,因此定位阶段,只要将测试点对 于各个路由器的RSS值特征向量代入公式,就可以知道该点相对各个路由器所处的环境状态, 进而使用相应WiFi频段的特征。举个例子,假设有3个路由器,参考点j相对于AP1是可视 距环境,相对另外两个是非视距环境。那么,对应使用的特征值可以表示为:Lj= (Lj1 5,Lj2 2.4,Lj3 2.4),即使用第一个路由器的5G特征值,使用另外两个路由器的2.4G特征值。 接着就是通过K均值聚类、K近邻算法来进行位置估计。
本具体实施方式中,采用K均值聚类算法来进行聚类划分。其聚类的核心思想是通过对 K个聚类划分方案的不停迭代,使得用这K个聚类划分方案的均值来代表相应各类样本时, 所得的总体误差最小。在定位过程中,使用K均值聚类算法对待定位区域的所有特征向量进 行分类,可有效地减少定位过程中向量之间的匹配次数,加速匹配过程,达到提高定位效率 的目的。具体划分流程如下所示:
(1)在待定位区域特征向量库中随机选取K个样本作为K个聚类的初始中心点;
(2)计算向量库中每个样本与K个聚类中心点之间的欧式距离,将样本划分到与其欧氏距 离最短的类簇中;
(3)根据归类到类簇中的样本,通过求质心的方法重新计算各个聚类的中心点;
(4)重复(1)(2)(3)步骤,直到迭代收敛(中心点位置不发生变化或迭代到指定次数等),从而 完成对待定位区域的K个聚类的划分。
在聚类划分完成之后,通过比较测试点与各聚类中心点的距离,选择出距离最小的聚类。
接着在聚类中使用K近邻算法找寻出与测试点相似度最高的前k个点{n1,n2,...nk}。对 这k个点的横纵坐标求和取平均,得到的坐标即为预测位置的坐标。
算法流程如表1所示
表1
通过实验发现WiFi 5G信号在非视距和可视距环境下差异明显。因此将WiFi 5G信号用 于非视距环境判别。将采集到的WiFi 5G频段特征向量放入支持向量机训练,得到了训练参 数。之后在定位阶段,只需要将参数和5G频段特征向量放入支持向量机中,就可以判别设 备针对这个路由器处于何种环境。
在实际测试中,将测试点的5G频段的特征向量和参数代入公式中得到预测结果,将其与实际情况对比,计算分类准确 率。实验总共进行了20次,每一次都选择不同的训练集和测试集进行训练和测试。图5可以 看出分类的平均准确率高于96%,说明通过使用SVMC支持向量机分类器,结合5G频段的特征向量,对非视距环境进行判别是可行的。
图6所示是室内定位常用的几种算法和本发明方法误差的累积分布函数图。
本发明并不限于上文描述的实施方式。以上对具体实施方式的描述旨在描述和说明本发 明的技术方案,上述的具体实施方式仅仅是示意性的,并不是限制性的。在不脱离本发明宗 旨和权利要求所保护的范围情况下,本领域的普通技术人员在本发明的启示下还可做出很多 形式的具体变换,这些均属于本发明的保护范围之内。