您的位置:首页 > 其它

wifi定位方法

2016-06-24 09:21 169 查看
作者:王辰

链接:https://www.zhihu.com/question/20593603/answer/22807877

来源:知乎

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

wifi定位方法基本上可以分为两大类:

1.不基于RSSI

TOA(time ofarrival)

TDOA(time difference of arrival)

AOA(angle of arrival)

但是这些值的获取需要特殊的wifi模块,在智能机上无法获取,因此这类方法无法使用。

2.基于RSSI

在智能手机上,可以通过系统SDK获取到周围各个AP(Access Point)发送的信号强度RSSI及AP地址,利用RSSI来定位目前看来是最可行的方法,因此下面着重介绍,基于RSSI定位主要有两个算法:三角定位算法,指纹算法。

三角定位:

如果我们已经知道了这些AP的位置,我们可以利用信号衰减模型估算出移动设备距离各个AP的距离,然后根据智能机到周围AP距离画圆,其交点就是该设备的位置。很容易发现,三角定位算法需要我们提前知道AP的位置,因此对于环境变化较快的场合不适合使用。

指纹算法

指纹算法类似于机器学习算法,分为两个阶段:

离线训练阶段

将需要室内定位区域划分网格,建立采样点(间距1~2m)

使用wifi接受设备逐个采样点采样,记录该点位置、所获取的RSSI及AP地址。

对采样数据进行处理(滤波、均值等)

在线定位阶段

用户持移动设备在定位区域移动,实时获取当前RSSI及AP地址,将该信息上传到服务器进行匹配(匹配算法有NN、KNN、神经网络等) 得到估算位置。

匹配算法有NN、KNN、神经网络等。

比较:

指纹算法相比较三角定位算法精度更高。

三角定位算法需要提前知道所有AP的位置

指纹算法需要提前绘制一幅信号Map。

总结:

智能手机基于WIFI的室内定位应用,更适合使用基于RSSI信号的指纹算法,原因在于我们不需要提前知道所有AP的位置,而且指纹算法可以应对AP位置或状态的改变。可以提前将测绘指纹数据库储存到服务器上,移动设备在定位区域将自己得到的周围AP信息实时发送给服务器,由服务器进行匹配并返回坐标位置给客户端。一旦AP状态或位置变化,只需要更新定位区域数据库而并不需要在客户端作出改变。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  wi-fi