基于室内WIFI位置指纹定位实验—以BUBT-AUTO为例
一、实验目的
目前全球定位系统(GPS, Global Positioning System)是获取室外环境位置信息通过实施项目的最常用方式。但由于卫星信号容易受到各种障碍物遮挡,GPS/APGS等卫星定位技术并不适用于室内或高楼林立的场合。目前由于室内环境下都普及了WiFi,因此利用WiFi进行定位无需额外部署硬件设备,是一个非常节省成本的方法。通过手机app来测试室内规定区域内不同位置的WIFI信号强度,建立指纹数据库,最后利用KNN算法来验证室内位置定位的错误率。
二、实验原理
“位置指纹”把实际环境中的位置和某种“指纹”联系起来,一个位置对应一个独特的指纹。这个志文可以是单维或多纹的,比如待定位设备在接收或是发送信息,那么指纹可以是这个信息或信号的一个特征或多个特征(最常见的是信号强度)。位置指纹法可以看作是分类或回归问题,监督式机器学习方法可以从数据中训练出一个从特征到标签的映射关系模型。KNN是一种很简单的监督式机器学习算法,可以用来做分类或回归。
三、实验过程
1.WIFI信号数据的收集
把北京工商大学良乡校区A座艺术楼301教室作为数据区域,该教室较为方正且无墙壁阻隔。将301教室划分为(A-P)16个网格,如下图所示。每个网格通过APP Cellular-Z检测4个特定路由节点的15个ap信号强度。
2.实验程序的编写
此实验采用的是KNN中的K交叉验证,通过使用K交叉验证来测算实验错误率, 此方法用于模型调优,找到使得模型泛化性能最优的超参值。实验中将所有数据集分成K份,每次不重复地取其中一份做测试集,用其他k-1份做训练集训练模型,之后计算模型在测试集上的MSE_i,将K次的MSE_i取平均得到最后的MSE。
首先将测量好的数据集以TXT格式导入,并将按顺序排列好的数据打乱排放;其次设置参数K,K值得选取从0-4依次进行试验,最终选取错误率最低的参数;最后使用欧式距离测量预测点与已知点之间距离:
实验代码如下: