您的位置:首页 > 其它

WI-FI定位算法原理与介绍

2015-07-30 17:46 141 查看
所谓的定位,就是利用所有可以获取的信息,对用户所在的位置进行推算,得到最大可能的用户位置。

定位可以分为很多种定位,基站定位,WI-FI定位,GPS定位,甚至地磁定位。几种定位方式各有优缺点
定位方式精度(M)速度耗电量适用范围
基站定位500-2000所有存在基站的位置
WI-FI定位0-100周围存在相对较固定的WI-FI
GPS定位0-10全球
地磁定位0-1室内
需要注明的是:

1、GPS定位为什么定位速度比较慢呢,因为开始定位的时候,GPS设备要收取各个卫星的信号,这要花费3-5分钟时间,甚至更长。但是一旦进行了第一定位之后,第二次定位就比较快了。如果想了解更多,请自由Google。

2、地磁定位一般用在室内定位,根据磁场相对变动推导出位置,这个据说可以达到厘米级定位。

我们没有那么高端,GPS和地磁不在我们的讨论范围内,我们讨论的只是,当用户不开GPS的情况下 (GPS less)请求定位。最适用的方法就是基站和WI-FI定位。这篇WIKI开始讨论WIFI定位的各种方法。


WI-FI定位

WI-FI 指的就是 平常咱们在家里的无线路由发射器,它可以向外发射信号,手机就可以扫描到周围的WI-FI,连接上,就可以通过它上网了。现在设想这种情况,在一个陌生的位置,只能收到周围的Wi-Fi,如何确定位置?


最简单的定位:

最简单的想法也是最直接的想法如果我们知道这些WI-FI的位置,那么是不是就可以推断用户的位置。如下图所示:

                                                                          


下一步就是推断AP的发射点的位置,通过采集数据可以得到如下数据:

AP1:-50;AP2:-60;AP3:-80;   gps 坐标1

AP1:-30;AP3:-60;AP4:-70;   gps 坐标2

这样得到了 APi的一系列坐标点,通过加权求平均推断APi的位置。有了AP的位置,通过收到的信号,可以推测得到用户最终的位置。


最大似然概率定位

换一种思考方式,多个AP信号同时发生在了用户的所在位置,那么就可以通过找这几个AP同时发生在概率最大的位置


 v
代表位置, s代表AP的信号强度

多个AP 发生的概率是相互独立的,那么



通过采集数据来计算各个位置AP发生的概率。然后就可以计算出联合概率,选出概率最大的。


指纹定位

再来,采集数据中已经存在了多个AP的信号强度和GPS的对应关系,那么如果能找到用户手机收到的AP信号强度最相似的记录,那么记录中的GPS应该就是

该请求的GPS坐标。这里把多个AP和信号强度组成的一条记录称之为一条指纹。

那就创建database 把所有出现的指纹和GPS的对应关系都存储起来。定位过程中只要把相似的指纹选出来,相似记录的GPS作为该请求的坐标返回就可以了

                                       


至于相似度的选择,会在另一篇WIKI中做介绍。


SVM/ANN/DT定位

指纹定位要存储的是各个AP信号所对应的位置信息。数据存储会很大,要实现定位,遍历的指纹时间花费也很可观。当然可以改成稀疏矩阵存储,但是依然不小。

应用机器学习算法SVM,ANN和DT做回归,就可以不存储那么多指纹,将这些指纹学习一个模型,定位过程中,只要将请求输入到模型中,模型会输出GPS坐标

给用户。存储量比较小,而且比较精确。

                                

 
           


好了,基本上所有的定位算法都在这里涉及了,并不是说哪个定位算法比较好,这几种定位算法在实验室状态下都能实现3-10米定位。

但是 现实的结果是:

百度CEP 50% :27米 

高德CEP 50% :31米

腾讯CEP 50% : 呵呵


为什么?

现实中存在很多变数,存在很多挑战
GPS会漂,GPS都不准确,
Wi-Fi会移动 搬家 车载AP
并不是每个AP的采集量都是充足的
手机机型大不相同
信号强度是波动的
环境因素要考虑
.......

当初教我们机器学习的一个老师教导过我们,机器学习的方法不重要,好的数据比选用那种方式更重要!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  wi-fi 定位 算法