wifi定位

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定位主要有两个算法:三角定位算法,指纹算法。

  1. 三角定位:

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

  1. 指纹算法

指纹算法类似于机器学习算法,分为两个阶段:
- 离线训练阶段

将需要室内定位区域划分网格,建立采样点(间距1~2m) 使用wifi接受设备逐个采样点采样,记录该点位置、所获取的RSSI及AP地址。
对采样数据进行处理(滤波、均值等)

  • 在线定位阶段

用户持移动设备在定位区域移动,实时获取当前RSSI及AP地址,将该信息上传到服务器进行匹配(匹配算法有NN、KNN、神经网络等)
得到估算位置。 匹配算法有NN、KNN、神经网络等。
拿用户搜集到的wifi强度去跟指纹库中的众多数据进行匹配,以此实现定位,这样太麻烦,ap一点微小的位置改变,或是天气,或是海拔,或是人群走动神马各种因素都可能需要数据采集者重新再来一遍,之前的数据算是差不多白费了。。。。

比较:
指纹算法相比较三角定位算法精度更高。
三角定位算法需要提前知道所有AP的位置
指纹算法需要提前绘制一幅信号Map。

总结:
智能手机基于WIFI的室内定位应用,更适合使用基于RSSI信号的指纹算法,原因在于我们不需要提前知道所有AP的位置,而且指纹算法可以应对AP位置或状态的改变。可以提前将测绘指纹数据库储存到服务器上,移动设备在定位区域将自己得到的周围AP信息实时发送给服务器,由服务器进行匹配并返回坐标位置给客户端。一旦AP状态或位置变化,只需要更新定位区域数据库而并不需要在客户端作出改变。

———————————————————————
室内环境变化比较大,无线传播的经验公式肯定误差非常大,现在的研究基本集中在用机器学习(支持向量机等)算法在室内定位中的应用,精度也比较高。

实际上这是将室内定位算法转换成一个分类问题
首先是第一步,有人先去室内的场景将楼道,办公室等空间划分为一个个大小相同的网格,每个网格对应着一个位置标号ID,在每个网格都采集Wifi信号强度,例如收到哪些无线接入点AP的信号,信号强度RSS是多少,这样就构成一组代表这个网格位置的特征参数。

然后第二步是训练采集到的数据生成分类器,训练的方法有很多,有支持向量机,人工神经网络什么的,具体细节就不赘述了,目标就是任意输入一组Wifi信号强度数据,就应该能获得这组数据所对应的类别,这里的类别就是位置ID

得到训练好的分类器,就可以定位了,具体就是手机搜索到一组wifi数据,将这组数据送到定位服务器中,定位服务器就将数据送到分类器中,分类器返回位置ID,再反查该ID对应的坐标就可以得到位置坐标了。

目前商用化比较少,主要是采集数据比较困难,不过google已经提出IPS室内定位系统的计划,小的商业应用主要集中在国外的医院或者养老院这些有需求的特定场所。

作者:zen
链接:https://www.zhihu.com/question/20593603/answer/16311099
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值