网络定位指通过周边wifi列表、基站列表、IP地址等信息确定用户位置的过程。 我们采集的训练数据是每个GPS坐标位置和对应的Wifi和基站列表。 其中每个Wifi和基站有唯一的Mac地址作为ID和信号强度。

有三种定位方法:

均值法

首先估计一个wifi的中心点位置,可以通过每条记录的wifi位置求加权平均值来得到。 定位时将对应的每个wifi位置求加权平均值得到位置。

这是最简单一种定位方法,但是精度较差。因为这种方法假定wifi信号是圆形分布,且每个wifi影响范围基本相同。这种假设很难满足。

指纹法

这个类似于基于实例的学习。 将训练数据分成小网格合并。定位时通过求余弦距离等方法计算相似度,返回相似度最大的作为当前位置。 这种方法缺点是需要大量的训练数据积累。

贝叶斯概率法

也是需要将世界划分为小网格。统计每个wifi在网格中的信号强度的高斯分布参数。 定位时,假设每个wifi出现的概率独立,求每个网格的联合概率,返回概率最大的网格作为当前位置。

P(L|m) = P(m|L)P(L)/P(m)

P(m|L) = P(wf1=rssi1, wf2=rssi2,.. | L) = Π P(wf=rssii| L)

需要使用拉普拉斯平滑等方法处理零概率。

目前大部分实际使用的是这种方法。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐