WIFI室内定位(NN,KNN,WKNN)

 

WIFI室内定位

课程名称:室内定位技术

姓    名:阚昊宇

学    号:***************

指导教师:***

 

 

目录

WiFi室内定位... 1

一 实验场地及设备介绍... 1

二 指纹库数据采集方法... 1

三 指纹库整理方法... 2

四 定位实验过程... 3

五 指纹匹配算法介绍及数据处理... 4

(一)最近邻法(NN)... 4

(二)K近邻法(KNN)... 4

(三)K加权近邻法(WKNN)... 4

六 定位结果及精度分析... 5

(一)最近邻法(NN)... 5

(二)K近邻法(KNN)... 6

(三)加权K近邻法... 7

六 小结... 8

参考文献... 8

 

 

WiFi室内定位

一 实验场地及设备介绍

本次实验场地为武汉大学信息学部图书馆一楼大厅,通视良好,WiFi接入点(Access Point, AP)丰富,事后统计有三百余个不同的MAC地址,但人流量较大。于大厅空旷处选择一矩形区域,长22.405m,宽5.600m,以宽为x轴,长为y轴,建立坐标系。WiFi数据采集设备为华为P30手机一台,采集软件为牛小骥教授带领的WHU-GNSS惯导组开发的安卓应用程序whugnss_DataCollection。

二 指纹库数据采集方法

WIFI室内定位(NN,KNN,WKNN)

1实验场地及参考点示意图


本次实验在坐标系中如图图 1实验场地及参考点示意图选点作为参考点(Reference Point,RP),具体选点方法。考虑到单楼层2D平面定位,故统一在地面进行数据采集,每个RP采集时间约30s,采样频率50Hz,记录所有收到的AP的信号强度指标(Received Signal Strength Indicator,RSSI,单位为dB)、对应接受时刻(单位为s)、MAC号以及WiFi名称。中间两处空缺点为图书馆一楼环形沙发。

 

 

原始数据示例见下表 1 采集设备原始数据展示。

1 采集设备原始数据展示

测量开始时间/s

MAC

RSSI/dB

WiFi名称

20.377

06:69:6c:bb:28:01

-91

WHU-WLAN

20.377

06:69:6c:bb:28:60

-84

WHU-WLAN

20.377

06:69:6c:c3:62:a1

-92

WHU-WLAN

20.377

1a:69:6c:bb:28:43

-37

eduroam

20.377

0a:69:6c:bb:2a:04

-86

WHU-WLAN-1X

20.377

0a:69:6c:bb:29:39

-88

WHU-WLAN-1X

20.377

1a:69:6c:bb:28:60

-76

eduroam

 

三 指纹库整理方法

通过查阅相关文献[i],选择采用点号-坐标-RSSI向量的方式将得到的WiFi数据整理成指纹库。其中,观察若干点采集的RSSI序列,其中代表性的如图 2 代表性的参考点RSSI时间序列图,发现对于大部分AP,接收到的RSSI值有较大波动,不宜直接采用平均值方法,继续查阅文献[ii],可采用高斯滤波等方法。本次实验中采用先去除一倍标准差以外的值,之后取平均的方法得到时段内每个MAC对应的RSSI,以此构建指纹库。

WIFI室内定位(NN,KNN,WKNN)

 

2 代表性的参考点RSSI时间序列图

 

指纹库中一条记录(结构体)示例如下表 2 指纹库记录示例。

2 指纹库记录示例

结构体名

数据

类型

WIFIPoint

point_no

int

30

x

float

0.8

y

float

0.8

vector

Array of float64

[-88.64285714, 0.0, 0.0, …]

 

 

四 定位实验过程

在采集完参考点之后,进行待测点(Observation Point)的信号采集,采集标准及处理方法同参考点。

WIFI室内定位(NN,KNN,WKNN)

3 待测点分布示意图


待测点位置如图 3 待测点分布示意图中蓝色点所示

 

 

 

 

 

五 指纹匹配算法介绍及数据处理

指纹匹配算法可以分为概率型算法和确定型算法两类,概率型算法是使用条件概率为位置指纹建立模型然后釆用贝叶斯推理机制来估算定位终端的位置,如贝叶斯概率算法。与基于概率的概率型算法不同,确定型算法是用来自各个的信号强度均值表示位置指纹的,并釆用确定性的推理算法来估算出定位终端的位置,如最近邻法(NN)、K最近邻算法(KNN)、加权K近邻算法(WKNN)。本次实验中采用NN、KNN和WKNN。

 

(一)最近邻法(NN

最近邻法按下式(1)计算测量所得RSSI矢量与数据库中各记录的RSSI矢量之间的欧式距离L_i,然后选择最小距离对应的记录的点的位置坐标作为结果输出。

 

WIFI室内定位(NN,KNN,WKNN)

 

(1)

式中为待测点的RSSI矢量,为数据库中每个参考点记录的RSSI矢量,为参考点数量。

 

(二)K近邻法(KNN)

与NN算法不同的是,它是找到与定位测量所得矢量最近邻的K(K>2)个数据库矢量,再以这些矢量代表的位置坐标的平均值作为待定位终端的位置输出:

 

WIFI室内定位(NN,KNN,WKNN)

 

(2)

式中为定位估计结果,为第个被选取的指纹信息所对应的坐标。

 

(三)K加权近邻法(WKNN)

与KNN算法的不同之处在于选取出最邻近的K(K>2)个参考点后,给每个数据库矢量的坐标乘上了一个加权系数,加权方法很多,本次实验采取用欧氏距离的倒数加权。

 

WIFI室内定位(NN,KNN,WKNN)

 

(3)

 

六 定位结果及精度分析

(一)最近邻法(NN

WIFI室内定位(NN,KNN,WKNN)

4 NN定位结果示意图


定位结果如图 4 NN定位结果示意图所示,平均定位距离误差2.658m

 

 

 

(二)K近邻法(KNN)

WIFI室内定位(NN,KNN,WKNN)

5 KNN精度随K值改变趋势图


分别采用K=2,4,8,16,得到平均定位距离误差如图 5 KNN精度随K值改变趋势图所示,可知本次实验中K=4时取得最佳定位结果。

 

 

WIFI室内定位(NN,KNN,WKNN)

6 KNN最佳定位结果示意图


K=4时定位结果如图 6 KNN最佳定位结果示意图所示,平均定位距离误差2.378 m

 

 

(三)加权K近邻法

WIFI室内定位(NN,KNN,WKNN)

图 7 WKNN定位结果示意图


权为欧氏距离倒数,且K=4时定位结果如图???所示,平均定位距离误差2.370 m。

 

 

精度在内部主要受数据预处理方法、定位方法和参数选取影响,在外部猜测主要受采集设备、人流量影响,数据采集密度和采集时长影响。

 

 

六 小结

本次实验熟悉了WiFi室内定位从室内数据采集到建立数据库到事后定位的一系列操作流程,编程实现了常用的NN、KNN、WKNN算法。算法定位精度在2-3 m间,基本满足室内定位要求。

关于更多定位方法的进一步研究见自主研究报告。

 

参考文献

 

[i] 结合CNN和WiFi指纹库的室内定位算法[M],曹建荣等,计算机系统应用,2019,29(7):173-179 [doi:10.15888/j.cnki.csa.007492].

[ii] 基于Android的WIFI室内定位技术研究[D],罗利,西南交通大学,2014.

上一篇:如何在Java中使用LibSVM?


下一篇:如何在浏览器上实现一个terminal