原文:《Advanced Location-Based Technologies and Services》——chapter 2 WiFi Location Fingerprint

作者: Prashant Krishnamurthy

[TOC]


摘要

GPS难以解决室内环境下的一些定位问题,大部分室内环境下都存在WiFi,因此利用WiFi进行定位无需额外部署硬件设备,是一个非常节省成本的方法。然而WiFi并不是专门为定位而设计的,传统的基于时间和角度的定位方法并不适用于WiFi。近十年来,在室内WiFi场景下的定位中,位置指纹法被广泛研究和采用。本文对WiFi位置指纹法进行综述,提出了这个领域面临的挑战,介绍最新的研究,以及提供一些实际的指导。


介绍

室内环境下的定位一直是一个很多问题未被解决的领域。由于信号的严重衰减和多径效应,通用的室外定位设施(比如GPS)并不能在建筑物内有效地工作。定位准确性也是一个问题,GPS也许可以指出移动设备在哪一个建筑物,但是室内场景下,人们希望得到更精确的室内位置,这需要更精密的地图信息和更高的定位精度。

我们可以在室内搭建一套完整的基础设施用来定位,但是这样需要很大的代价,包括定位信号占用的频谱资源、用于感知定位信号的嵌入在移动设备中的额外硬件、安装在固定位置的用来发送定位信号的锚节点。因此,大家倾向于使用那些已有的被广泛部署的无线设备去实现室内定位。

基于无线信号的定位方法首先考虑的是使用WiFi(基于IEEE802.11标准的WLAN)作为基础定位设施。现在,包括智能手机、笔记本电脑在内的大部分移动通信设备都内嵌了WiFi模块。实际上,WiFi已经被广泛地在室外定位与导航中使用(通过智能手机以及被维护的wifi热点位置与其对应的mac地址的数据库进行查找,很多公司有维护这样的数据库,包括Google、Apple、Microsoft,以及Skyhook这样的定位服务提供商等等)。其他还有一些技术,比如用蓝牙、RFID、移动电话基站信号等,也可以用来实现室内定位,但是它们不像WiFi这样到处都有,因此流行程度不如WiFi。移动电话信号并不能在所有的室内场景下都能稳定传播,使用RFID需要额外的安装硬件的花费,此外,基于超声波的定位技术使用在一些实验性的工作中,而实际利用超市波的商用设备很少,因此实际应用并不多。

WiFi广泛使用在家庭、旅馆、咖啡馆、机场、商场等各类大型或小型建筑物内,这样使得WiFi成为定位领域中一个最引人注目的无线技术。通常,一个WiFi系统由一些固定的接入点(AP)组成,它们部署在在室内一些便于安装的位置,系统或网络管理员通常知道这些AP的位置。能连接WiFi的移动设备(比如笔记本电脑、移动电话)相互之间可以直接或间接地(通过AP)通信,因此可以考虑在通信功能外同时实现定位功能。但是WiFi信号并不是为定位而设计的,通常是单天线、带宽小,室内复杂的信号传播环境使得传统的基于到达时间/到达时间差(TOA/TDOA)的测距方法难以实现,基于到达信号角度的方法也同样难以实现,如果在WiFi网络中安装能定向的天线又需要额外的花费。因此,近年来大家详细研究的主要是位置指纹方法。

本文涉及的是在室内环境下的定位,提供一些使用WiFi的接入点和移动设备进行位置指纹法定位的指导。本文包括:WiFi位置指纹法的基本概念,WiFi如何用于定位,使用WiFi的位置指纹算法,存在的挑战和性能方面的问题,以及WiFi位置指纹法中其他的一些事项。


位置指纹法的基本概念

“位置指纹”把实际环境中的位置和某种“指纹”联系起来,一个位置对应一个独特的指纹。这个指纹可以是单维或多维的,比如待定位设备在接收或者发送信息,那么指纹可以是这个信息或信号的一个特征或多个特征(最常见的是信号强度)。如果待定位设备是在发送信号,由一些固定的接收设备感知待定位设备的信号或信息然后给它定位,这种方式常常叫做远程定位或者网络定位。如果是待定位设备接收一些固定的发送设备的信号或信息,然后根据这些检测到的特征来估计自身的位置,这种方式可称为自身定位。待定位移动设备也许会把它检测到的特征传达给网络中的服务器节点,服务器可以利用它所能获得的所有信息来估计移动设备的位置(翻译存疑...),这种方式可称为混合定位。在所有的这些方式中,都需要把感知到的信号特征拿去匹配一个数据库中的信号特征,这个过程可以看作一个模式识别的问题。

位置指纹由什么组成?

位置指纹可以是多种类型的,任何“位置独特”的(对区分位置有帮助的)特征都能被用来做为一个位置指纹。比如某个位置上通信信号的多径结构、某个位置上是否能检测到接入点或基站、某个位置上检测到的来自基站信号的RSS(接收信号强度)、某个位置上通信时信号的往返时间或延迟,这些都能作为一个位置指纹,或者也可以将其组合起来作为位置指纹。下面我们介绍两种最常用的信号特征(Bahl and Padmanabhan, 2000; Pahlavan and Krishnamurthy 2002):多径结构、RSS。

多径结构

载频比较大(比如大于500Mhz)的无线电信号的传播可以近似看作是光学射线的传播(Pahlavan and Krishnamurthy 2002)。无线电信号传播时,这些“射线”可以在光滑的平面(比如建筑物的墙壁、地板)上进行反射,遇到锐利的边缘会发生衍射,遇到小型的物体(比如树叶)会发生散射。发射源发出的无线电信号可以通过多条路径传播到同一位置,因此在一个位置上会接收到多条射线,每条射线有不同的能量强度和时延。时延取决于射线传播的距离,强度取决于距离和具体的传播情况(反射、衍射等)。每条到达接收器的射线称为一个多径分量,信道的多径结构指的是这一组(多条射线)信号强度和时延。多径结构也称作功率时延分布,图1是一个典型的功率时延分布的例子,其中,有6个有效的多径分量,功率和时延分别为\(\beta_1\),\(\beta_2\),\(\beta_3\),\(\beta_4\),\(\beta_5\),\(\beta_6\)和\(\tau_1\),\(\tau_2\),\(\tau_3\),\(\tau_4\),\(\tau_5\),\(\tau_6\)。



图1 功率时延分布

如果信号的带宽足够大(比如使用直接序列扩频技术或者超宽带技术),那么在接收器上可以分解和处理各个多径分量。某个位置上得到的多径结构取决于实际的环境,是独特的,能够被用来作为位置指纹。Ahonen and Eskelinen (2003)提出了这种方法定位3G UMTS网络中的手机,他们的研究结果指出,使用这样的多径结构作为位置指纹可以达到67%的情况下25m以内的定位精度,以及95%的情况下188m的定位精度,这样的定位性能满足了FCC的关于手机定位的E-911要求。

接收信号强度(RSS)

信号的RSS或者接收功率取决于接收器的位置。RSS的获取很简单,因为它是大多数无线通信设备正常运行中所必需的。很多通信系统需要RSS信息用来感知链路的质量,实现切换,适应传输速率等功能。RSS不受信号带宽的影响,没必要高的带宽(大多数通信方式的信号带宽都比较窄),因此RSS是一个很受欢迎的信号特征,并广泛应用于定位中。

假设有一个固定的信号发射源,在离它不同距离的位置上的平均RSS的衰减(in db)和距离的对数成正比,在最简单的情况下,RSS可以表示为:\[RSS = P_t - K - 10\alpha \log_{10} d \]其中,\(\alpha\)称为路径损耗指数,\(P_t\)为发送功率,\(K\)是一个取决于环境和频率的常数。RSS可以被用来计算移动设备与AP(或基站)之间的距离,那么这个提取出来的距离是否可以用来做移动设备的三边角测量从而定位呢,可以,但是定位误差可能会很大,因为RSS的变动范围可能会很大(注意上面的公式中RSS指的是某个距离的可能RSS的平均),这是由实际环境的影响造成的(称为阴影衰落)。因此这种基于RSS测距的三边角方法并不是一个好的解决方案。

然而,如果一个移动设备能接收到来自多个发射源的信号,或者固定的多个基站都能感知到同一个移动设备,那么我们也许可以使用来自多个发射源或者多个接收器的RSS组成一个RSS向量,作为和位置相联系的指纹。这个就是本文描述的典型的WiFi位置指纹。大多数WiFi的网卡可以测得来自多个AP的RSS(可能是依次测量)。现在在大多数室内场景,移动设备常常可以检测到多个AP,因此使用来自多个AP的RSS作为位置指纹是有意义的,后文以此方法为基础。

注意到RSS本身就是在一段时间内计算或测得的,因此只采集一个RSS样本是不合理的。在WiFi网络中,AP常常要发送一个beacon帧,包含了一些网络信息、服务组ID(无线网络的名字)、支持的传输速率,以及一些其它的系统信息。这个beacon帧是用在WiFi中的很多的控制帧之一,它大约100ms发送一次,RSS通常是使用这个beacon帧来测量的。beacon帧是未加密的,所以即使是一个封闭的网络(移动设备未能连接上)也能用来定位。beacon帧接近于周期性地被发送,但并不是完全周期性的,当检测到传输媒介阻塞的时候需要延迟发送,一旦检测到不阻塞的时候就发送,下一次发送还是会在之前预计的100ms时刻,即使离上一次发送还不足100ms。更进一步,如果AP工作在多个信道上,为了避免冲突,在测量RSS之前,移动设备必须花时间扫描各个信道。WiFi标准(IEEE 802.11)指定了2.4GHz频带的11个信道以及更多的5GHz频带的信道。尽管在一个地理区域中使用多个信道的情况并不罕见,但实际WiFi仅仅使用2.4GHz频带中三个不重叠的信道。关于WiFi和IEEE 802.11标准的更多细节可以参阅(Perahia and Stacey 2008)。

由测量值和指纹库估计位置

使用位置指纹进行定位通常有两个阶段:离线阶段和在线阶段。在离线阶段,为了采集各个位置上的指纹,构建一个数据库,需要在指定的区域进行繁琐的勘测,采集好的数据有时也称为训练集。在在线阶段,系统将估计待定位的移动设备的位置。接下来我们将对这两个阶段进行更详细的描述。需要注意的是,室内定位中所得到的位置坐标通常是指在当前环境中的一个局部坐标系中的坐标,而不是经纬度。

离线阶段

位置和指纹的对应关系的建立通常在离线阶段进行。最典型的场景如图2.2所示,地理区域被一个矩形网格所覆盖,这个场景中是4行8列的网格(共32个网格点),2个AP。这些AP本来是部署在这里用来通信的,也可以用来做定位。在每一个网格点上,通过一段时间的数据采样(5到15分钟,大约每秒采集一次)得到来自各个AP的平均RSS,采集的时候移动设备可能有不同的朝向和角度。这个例子中,一个网格点上的指纹是一个二维的向量\(\rho = [\rho_1, \rho_2]\),其中\(\rho_i\)是来自第\(i\)个AP的平均RSS。在后面会看到,我们也可以记录RSS样本的分布(或者其他的一些统计参数,比如标准差)作为指纹。简单起见,后文没有特别说明的情况下都认为指纹是RSS样本的均值。



图2 基于WiFi信号强度的位置指纹法,以及RSS空间中的欧氏距离

这些二维的指纹是在每个网格点所示的区域(如图2)采集到的,这些网格点坐标和对应的指纹组成一个数据库,这个过程有时称为标注阶段(calibration phase),这个指纹数据库有时也称为无线电地图(radio map)(译者注:后面都简称为指纹库),表1是这个指纹库的一个局部。图2右边的部分在二维向量空间(后文都统一称作信号空间)中展示了这些指纹。在更一般的场景下,假设有\(N\)个AP,那么指纹\(\rho\)是一个\(N\)维的向量,这在信号空间中就难以画出来了。



表1

尽管RSS样本的坐标点是实际物理空间中的直角网格点,但是位置指纹在信号空间中不会这样有规律。我们之后会看到,呈直角网格的位置点转换到信号空间中后变成了一些没有规律的模式。有些信号向量即使在物理空间中离得很远,在信号空间中却有可能很近,这会增加错误的几率。因此,指纹采集的有些部分也许没有什么用,甚至有时会对定位效果不利。

在线阶段

在在线阶段,一个移动设备处于这个地理区域之中,但是不知道它的具体位置,它甚至不太可能正好处于网格点上。假设这个移动设备测量到了来自各个AP的RSS(在图2的例子中,仅仅能测量到两个AP的RSS)。这里我们假设只测量到一个样本,当来自各个AP的RSS都被测量到的时候,RSS向量的测量值被传输到网络中。设图2中的例子中RSS向量的为\(\mathbf{r} = [r_1, r_2]\)。要确定移动设备的位置,就是要找到在指纹库中找到和\(\mathbf{r}\)最匹配的指纹\(\rho\)。一旦找到了最佳的匹配,那么移动设备的位置就被估计为这个最佳匹配的指纹所对应的位置。比如,如果\(\mathbf{r} = [-65, -49]\),那么最匹配的样本是表1中的第一项,移动设备被定位在坐标\((0, 1)\)。在更一般的情况下,向量\(\mathbf{r}\)是\(N\)维的。

以上的讨论对坐标、指纹、测量值、匹配向量\(\mathbf{r}\)和\(\rho\)做了很多的简化。后文我们考虑一些更详细的问题。首先从匹配\(\mathbf{r}\)和\(\rho\)的算法开始。


基于位置指纹的定位算法

基于位置指纹的定位通常分为两种类型。一种是确定性的算法,比较信号特征(比如向量\(\mathbf{r}\))和存在指纹库中的预先计算出来的统计值。另一种是是概率性的算法,计算信号特征属于某个分布(存储在指纹库中)的可能性。下面介绍一些基本的方法,但并不进行详尽的综述。

确定性的定位算法

微软在2000年最早开始进行WiFi位置指纹法定位的研究工作(Bahl and Padmanabhan 2000),他们使用RSS向量\(\mathbf{r}\)与指纹向量\(\mathbf{\rho}\)的欧氏距离去确定移动设备的位置。假设位置指纹是\(N\)维的,也就是说有\(N\)个可见的AP,M个网格点,这样指纹库里面有M个指纹。\(\mathbf{r}\)和\(\mathbf{\rho}\)的欧氏距离定义为:\[D = \sqrt{\sum_{i = 1}^N |r_i - \rho_i|^2 }\]这样的话,最简单的定位算法可以描述如下:在指纹库中的M个指纹中,找到在信号空间中与RSS观测值的欧氏距离最近的指纹,然后将它所对应的位置坐标作为移动设备的位置。这个使用欧氏距离的方法也叫做在信号空间中找到最近邻,因为目标是在信号空间中找到一个离RSS观察值最近的指纹。图2的右边展示了这个方法的基本原理,其中,五角星代表RSS观测值,圆代表信号空间中的位置指纹。决策边界可以使用泰森多边形的方法画出来,信号空间中每个泰森多边形包含的区域距离这个位置指纹最近。RSS观测值所处的泰森多边形区域中的位置指纹的位置,作为定位结果。

后文我们将看到,不是所有的位置指纹都是可靠的,一个更复杂的指纹库可能还包括了RSS的标准差信息,或者给了每个AP不同的权值,这样的话,我们可能要使用加权的欧氏距离,有时可能要对整个指纹加一个权值,有时需要对指纹的每个元素分别加一个权值。此外,其他的距离度量(比如曼哈顿距离或者马氏距离)也常常被用来做定位。

概率性的定位算法

最早的基于WiFi位置指纹的概率性定位算法是Youssef et al. (2003).提出的,基本的思路是,如果简单地使用一个RSS样本的统计量(比如RSS的均值)可能会带来误差,因为实际的RSS值应该是一个分布。因此,我们可以使用联合概率分布(有多个AP,所以是联合概率分布)来作为指纹。通过采集RSS样本获取联合概率分布并不是一个简单的事情,因为来自各个AP的RSS之间的相互关系不明显。他们假设这是独立的(这种假设是合理的),然后简单地使用RSS的边缘分布的乘积作为联合分布。假设观测到的RSS向量为\(\mathbf{r} = [r_1, r_2, r_3, \cdot \cdot \cdot, r_N]\),估计位置时将选择一个网格点,这个网格点上有最大的概率可能产生这个\(\mathbf{r}\)。对于给定的\(\mathbf{r}\),可以使用贝叶斯准则来估计移动设备的位置,某个网格点上能产生\(\mathbf{r}\)的概率可以这样计算:

\[P(Grid point | \mathbf{r}) = \frac{P(\mathbf{r} | Grid Point) \cdot P(Grid Point)}{P(\mathbf{r})}\]

计算出所有的网格点这个概率,然后选择最大概率的那个网格点作为移动设备的位置。

指纹的聚类

以上有一个问题没有考虑到,并不是所有的网格点上都总能能检测到同样的一组AP。Youssef et al. (2003)最早对这个问题进行的描述

,Swangmuang and Krishnamurthy (2008b)考虑了不同的一些聚类的方式。Youssef et al. (2003)的工作基于各个AP的平等性来给网格点分组。分享同一组AP的网格点被认为是一个簇,簇的确定是基于各个网格点上能看到这些AP的概率,因此这个方法也叫做“联合聚类”或者作者所称的JC技术。Swangmuang and Krishnamurthy在信号空间中对指纹进行聚类,可以减少指纹搜索的复杂度,因此,他假设所有的位置都能看到同样的一组AP。

其他

其他很多模式匹配算法都可以应用于WiFi位置指纹法。包括贝叶斯推理、统计学习理论、支持向量机、神经网络等。(参考文献很多,比如Battiti et al. 2002).


位置指纹法的性能

这一部分,我们考虑位置指纹法的定位性能(精度和准确度),分析指纹数据采集的工作量以及如何去减少工作量。我们首先分析为什么使用位置指纹法定位会存在误差,然后描述一些论文中报告的误差性能分析的结果。

造成误差的原因

在最理想的情况,观测RSS应该和它匹配到的指纹非常接近,同时这个指纹所对应的位置和移动设备的实际位置非常接近。但实际情况往往不是如此,有几个原因会造成显著的误差。

无线电传播的复杂性

无线电的传播很容易受到环境影响,特别是在室内区域或者城市的高楼之间。图3显示了连续测得的一组RSS样本,这个例子使用的是一个笔记本电脑,当用户正常坐着工作的时候它测得某个AP的RSS,持续几分钟。很显然,RSS随时间变化,而且有时变化得很显著。不过在五分钟内RSS的变化基本不会超过20dB。人的朝向对移动设备测量到的RSS有显著的影响。来自不同供应商的网卡计算RSS的方式也有些不同,这个也会造成RSS测量上的不一致。RSS的分布可能是不平稳的,因此,当测量到观测向量\(\mathbf{r}\)时,它有可能会匹配到离真实位置较远的位置指纹,这一点超过了本文要描述的RSS特性的范围。感兴趣的读者可以参考Kaemarungsi and Krishnamurthy (2004b, 2011),其中针对室内定位详细地分析了WiFi的RSS的特性。



图3:笔记本电脑测得的RSS(dBm)序列

删失数据(Censored Data)

之前提到过,并不是在所有的位置都总能检测到所有的AP。比如,在采集数据的时候,在一个网格点上只有三个AP是可见的,但是在在线定位阶段移动设备检测到了4个或5个AP。在这种情况下,增加指纹的维度是有益的,因为可以使得网格点在信号空间中互相区分开。然而有些信号的不可靠会使得定位算法这样难以准确定位。当然,指纹库也可以有AP的一些其他信息(比如每个AP的Mac地址),但是删失数据的处理并不简单。Youssef et al. (2003)尝试每次都只使用\(k\)个AP,忽略掉其他可见的AP。这\(k\)个AP通过信号的可靠性来选择。这样,如果一旦选择了不合适的\(k\)个AP,定位误差可能会很大。

误差分析

首先,我们总结一些文献中报导的误差性能分析的结果。大多数结论通过仿真或实验来确定。在Bahl and Padmanabhan的开创性工作中,AP个数为3,使用的是确定性的定位算法(最近邻),他们的中值误差在3m到6m之间,具体误差取决于使用的网格点的个数。Swangmuang and Krishnamurthy (2008a)使用了一个类似的确定性的定位算法,采用误差的累计分布函数来展示定位误差的可能性,在办公室区域内,25个网格点,3个可见的AP,90%的可能性定位误差小于4m。Youssef et al. (2003),采用了一个联合聚类的概率性的定位方法,实验场景的尺寸大约为68m*26m,构建指纹库共使用了110个网格点,大多数指纹是随着走廊采集的,cdf曲线显示90%的概率误差小于2.1m。

接下来讨论的问题中,对于位置指纹定位误差的分析考虑很少。最早分析位置指纹法的定位性能的是Kaemarungsi and Krishnamurthy (2004a),他们假设RSS样本服从正态分布,样本的均值就是正态分布的均值,不同AP的RSS的正态分布的方差是一样的。这种假设使得性能分析变得简单。实际中,RSS的分布不是高斯分布((Kaemarungsi and Krishnamurthy 2004b, 2011).)。图4显示了两个RSS的直方图,一个距离AP比较近,一个距离AP比较远。第一个分布是左偏的,第二个分布更加对称,可以近似建模成一个高斯分布。RSS分布的方差也并不是一样的。Kaemarungsi and Krishnamurthy 2011的工作表明:距离AP越远,方差越大。因此,上面那个简单的假设在现实中不一定有效。Kaemarungsi and Krishnamurthy 2004a的工作对(Swangmuang and Krishnamurthy 2008a)做了进一步的延伸,其中的分析结果和仿真实验的误差cdf是匹配的,特别是当定位误差为几米的时候。因此,即使这些假设做了一些简化,分析结果也可能是有用的。这些分析可以用来评估增加位置指纹的维度带来的边边际效益,以及简单场景下((Kaemarungsi and Krishnamurthy 2004a).)路径损耗指数的影响。



图4:RSS样本的直方图

假设RSS服从高斯分布,那么这个误差分析和数字通信系统中计算比特误码率的误差分析很相似。RSS的方差越大会导致误差的概率越大。然而不同的是,信号空间中的RSS指纹没有明显的规律,RSS分布的方差在不同的维度上可能区别很大,所以很难解析地求出定位误差的封闭解。如果如图5中,仅仅考虑两个维度,有可能导出误差的概率表达式(使用图中的决策边界来比较距离观察RSS最近的指纹与正确的指纹)。但是当有了更多的指纹点的时候,创建出越来越多的不规则的泰森多边形,如果不做近似,根本处理不了。Swangmuang and Krishnamurthy (2008a)的研究中,就使用临近图来近似正确的分析结果。



图5 在两个AP的情况下信号空间中的RSS分布

位置指纹的采集工作

尽管和那些需要额外设备的定位系统相比,WiFi位置指纹法的成本较低, 但是它也有需要付出的代价。大多数研究都假设位置指纹在虚拟的网格点上采集数据得到。比如,在一个100m*100m的区域,划分成50*50个网格(每个网格2m*2m),每个网格中间采集一组指纹,每组指纹记录的是这个网格点上接收到的包括了来自各个AP的RSS,5到15分钟,有时可能还要使用不同的测量设备(手机或者笔记本电脑)或者设定几个不同的设备方向。这样的采集工作及其繁琐,而且为了适应环境的变化需要周期性地更新。在上面这个例子中,使用单个设备和固定的方向,整个采集过程需要2500*5=125000分钟,接近9天。当然我们也可以并行地采集不同位置上的指纹,但是仍这然需要耗费很大的人力,下文我们将研究一些在减少离线阶段数据采集量方面的方法和尝试。

减少指纹采集的数量

如果所有采集到的数据有用,都能改善系统的性能,那么这样的时间和人力上的投资是有必要的。但实际常常很多数据并没有那么有用,Youssef et al. (2003)和Swangmuang and Krishnamurthy (2008b) 的工作证明了的确没有必要如此。一个“好”的指纹不应该带来定位上的错误,或者至少是”多半不会带来错误“。从RSS指纹的角度来看,RSS的方差应该尽量小,在信号空间中没有其他的位置指纹距离它非常近。然而,有些指纹的实际位置并不接近,而在信号空间中的欧氏距离却比较小,这样的指纹采集过来也许不会改善性能,反而会造成定位的时候额外的计算量。把这样的指纹放入指纹库中甚至会降低定位精度。

考虑一个简单的例子,如图6,一个50m*50m的正方形区域,数据采集的参考点如图中所画出的。我们使用路径损耗模型IEEE 802.11n “D” ,发射功率为10dBm,两个AP的位置分别为(0, 0, 10)和(50, 50, 10)。(Perahia and Stacey 2008)给出的路径损耗模型的公式为:\[L_p = 20 \log_{10}(f) - 127.5 + 35 \log_{10} ( \frac{d}{d_{bk}} ) , d > d_{bk}\]其中,\(f\)是频率,\(d_{bk}\)为断点距离,10m。网格点如图6中所示的规律性地分布,这些网格点上的指纹在信号空间中的分布如图7(在不同的网格大小的情况下)。显然,每1m或2m采集指纹并没有太大的意义,因为在信号空间中很多已经很接近了。当移动设备观测到\(\mathbf{r}\)时,系统也许会把它匹配到最接近的指纹的时候犯错误,特别是当RSS方差比较大的时候。因此,网格大小设为4m或者8m都是合乎情理的,即使网格很小,准确度也不会改变很多。



图6 数据采集工作量的简单考虑,有用的位置指纹



图7 网格划分的区域中各个指纹在信号空间中的表示

在Swangmuang and Krishnamurthy (2008a)的工作中,他们假设RSS高斯分布,使用位置指纹被判定为距离测量RSS最近的概率来消除指纹库中一些“坏”的指纹。结果显示高达20%的指纹可以被去掉,同时并不影响定位精度。虽然这个过程中,“坏指纹”在采集数据建立完指纹库后才被去除,但是作者也提出了一些减少部署工作量的定性的指导。

子区域定位

其他的一些减少离线采集工作量的方法中,有一种是在线测量APs之间的RSS,而不是像传统那样繁琐地去标记指纹(比如Gwon and Jain 2004)。(Aksu and Krishnamurthy (2010))中的工作仅仅使用AP能不能检测到移动设备这一信息,而不是使用细粒的位置指纹,也就是说,不用再记录某个位置上RSS的平均值,而是仅仅记录1或0来代表各个AP是不是能检测到。比如,假设有4个AP,放置在正方形区域的四个角落,如果说我们能绘制出这些AP分别的的覆盖范围,那么有13个独特的子区域,这些子区域分别被这些AP的一个子集所覆盖。这样的话,使用这些信息我们就能根据”是否检测到“来判断移动设备在哪个子区域。这些AP的位置以及覆盖范围决定了各个子区域的大小,直接影响定位的精度和准确性。注意,在这个例子中有16个独特的指纹,从\([0, 0, 0, 0]\)到\([1, 1, 1, 1]\),但是并不是所有的组合都存在,这使得最大的独特指纹的个数为13。这个个数也许会更小,比如,如果这4个AP都能覆盖整个方形区域,那么就只有一个指纹\([1, 1, 1, 1]\),这样的定位结果只能告诉我们移动设备在这个方向区域中。

指纹库的有机构建

最近,有人开始提出采用基于用户的RSS采集,来减少采集位置指纹的工作量。比如Park et al. 2010)的工作中,用户被提示去提供指纹,但是这种增量式地构建指纹库也存在很多挑战。Park et al. (2010)使用聚类和Voronoi图来有组织地发展这个指纹库。他们把空间(比如一个房间)划分成一些Voronoi图,促进有组织的指纹库的构建。


其他的一些问题

这部分我们简单地考虑一些之前没有谈到的和WiFi位置指纹法相关的其他问题,包括减少能力消耗、吞吐量问题、延迟和安全。

多种技术的使用

随着移动设备(特别是智能手机)越来越多地被安装多种无线技术(比如,有些设备同时有蓝牙、RFID、近场通信),使用多种技术来定位是合理和可行的。有一些文章考虑同时使用GSM和室内的WiFi,但在使用多种技术融合位置指纹定位中还没有全面的研究。

减少能量损耗

通过有效的通信协议来减少移动设备通信的能耗是这几年的一个研究领域(Pahlavan and Krishnamurthy 2002)。因为GPS在手机上消耗了很多的能量,最近有一些工作试图让定位过程更加节能。Paek et al. (2010)提出了智能手机的GPS速率自适应的定位,这里的想法是通过减少GPS的忙闲度,这样降低了定位准确性,但是能够节省能耗。但是GPS并不能在各种地方都能定位准确(比如,在城市区域定位精度会降低),在室内可能根本不可用。系统通过检测是否室内或城区,可以关掉GPS或者降低忙闲度来延长手机中电池的寿命。Lin et al. (2010)建议使用低能量的定位模式(比如使用WiFi而不是GPS)来减少能耗,但是同样也可能会带来准确度的降低。

吞吐量

当WiFi被用来定位的时候,移动设备要花费很多时间来扫描WiFi信号,这会暂时中断数据的传输,从而影响吞吐量。King and Kjaergaard (2008)研究发现,在用户没有移动的时候减少扫描WiFi的周期,使得吞吐量增加到了122%,丢包率为原来的73%。将扫描速度与用户是否移动联系起来,当检测到用户移动的时候,让扫描速度增加,否则设备就不扫描,因为我们假设没有检测到移动的时候用户的位置不会改变。

延迟

当有很多的定位请求的时候,WiFi定位系统的容量和延迟也是一个需要考虑的问题,但目前这个方面似乎还没有相关的研究工作。time-to-first-fix(首次定位时间)这样的度量在WiFi指纹定位中不存在(GPS定位中,首次定位时间比较长)。当请求的数量较小的时候,WiFi中粗粒度的位置估计速度比GPS快很多,GPS通常需要几秒有时甚至需要几分钟得到一个位置。

安全性

大量的设备都支持WiFi,而且WiFi信号的监控非常简单,如果为了恶意目的而创建监控这些设备的网络,则可以基于它们的MAC地址和RSS值来跟踪大量设备,这将导致严重的用户隐私问题。Husted and Myers (2010)的工作中就尝试了创建一个“恶意网络”来跟踪移动设备。


总结

本文提供了位置指纹法的概述,描述了这一领域的一些重要研究工作。考虑了用于定位的位置指纹的基本概念、使用位置指纹进行定位的算法、定位性能分析,以及一些其他的方面。随着室内导航和室内的其他应用越来越收到重视,WiFi位置指纹法将可能成为这些室内应用的基石。

WiFi几乎无处不在的可用性使其称为一个很有吸引力的定位方法(无需额外的硬件花费),基于时间和角度的定位方法不适用于WiFi信号,使得位置指纹法成为定位主要的选择。然而位置指纹法需要很繁琐的数据采集工作,并且可能需要随着环境的变化而经常更新。此外,由于无线电传播的复杂多变,位置指纹的收集本身也不是容易的问题。一些测量、分析和仿真已经表明可以采取一些经验的方法来减少指纹采集的工作量。如果对定位精度的要求不高,诸如子区域定位或位置指纹的有机构建等其他方法可以用来减少指纹采集的工作量。

尽管仅使用WiFi的位置指纹法已经被证明是室内精确定位的可行方案,但是随着新技术的出现和具有附近感测能力的智能手机的普及,最终的解决方案可能是使用多种定位技术进行融合的方案。在接下来的几年中,可能可以使用近场通信、智能手机中的加速度计、以及可能的来自蓝牙信号,作为附加参数来改善定位精度,同时保持合理的成本。


参考文献

Ahonen, S., and P. Eskelinen. 2003. Mobile terminal location for UMTS. IEEE Aerospace and Electronic Systems Magazine, vol.18, no. 2, pp. 23–27.

Aksu, A., and P. Krishnamurthy. 2010. Sub-area localization: A simple calibration free approach. ACM MSWiM’10.

Bahl, P., and V. N. Padmanabhan. 2000. Radar: An in-building RF based user location and tracking system. IEEE INFOCOM 2000, pp. 775–784.

Battiti, R., M. Brunato, and A. Villani. 2002. Statistical learning theory for location fingerprinting in wireless LANs. Technical Report (October 2002). http://rtm.science.unitn.it/ ~battiti/archive/86.pdf.

Gwon, Y., and R. Jain. 2004. Error characteristics and calibration-free techniques for wireless LAN-based location estimation. Proceedings of the Second International Workshop on Mobility Management & Wireless Access Protocols, October 1, Philadelphia, Pennsylvania.

Husted, N., and S. Myers. 2010. Mobile location tracking in metro areas: Malnets and others. ACM CCS.

Kaemarungsi, K. and P. Krishnamurthy. 2004a. Modeling of indoor positioning systems based on location fingerprinting. IEEE INFOCOM, Hong Kong, China.

Kaemarungsi, K., and P. Krishnamurthy. 2004b. Properties of indoor received signal strength for WLAN location fingerprinting. IEEE/ACM Mobiquitous.

Kaemarungsi, K., and P. Krishnamurthy. 2011. Analysis of WLAN’s received signal strength indication for indoor location fingerprinting. Pervasive and Mobile Computing, DOI: 10.10.16/j.pmcj.2011.09.003.

King, T., and M. B. Kjaergaard. 2008. Composcan: Adaptive scanning for efficient concurrent communications and positioning with 802.11. ACM Mobisys.

Lin, K., A. Kansal, D. Lymberopolous, and F. Zhao. 2010. Energy-accuracy aware localization for mobile devices. ACM Mobisys.

Paek, J., J. Kim, and R. Govindan. 2010. Energy-efficient rate-adaptive GPS-based positioning for smartphones. ACM Mobisys.

Pahlavan, K., and P. Krishnamurthy. 2002. Principles of Wireless Networks: A Unified Approach. Prentice Hall PTR.

Park, J.-G., B. Charrow, D. Curtis, et al. 2010. Growing an organic indoor location system. ACM Mobisys.

Perahia, E., and R. Stacey. 2008. Next Generation Wireless LANs. Cambridge University Press.

Swangmuang, N., and P. Krishnamurthy. 2008a. Location fingerprint analyses toward efficient indoor positioning. PerCom’08, IEEE, pp. 100–109.

Swangmuang, N., and P. Krishnamurthy. 2008b. On clustering RSS fingerprints for improving scalability of performance prediction of indoor positioning systems. ACM MELT.

Youssef, M. A., A. Agrawala, and A. U. Shankar. 2003. WLAN location determination via clustering and probability distributions. Proceedings of IEEE International Conference on Pervasive Computing and Communications (PerCom ’03), Dallas-Fort Worth, Texas, pp. 23–26.

作者:rubbninja

出处:http://www.cnblogs.com/rubbninja/

关于作者:目前主要研究领域为机器学习与无线定位技术,欢迎讨论与指正!

版权声明:本文版权归作者和博客园共有,转载请注明出处。

室内定位系列(一)——WiFi位置指纹(译)的更多相关文章

  1. 室内定位系列(三)——位置指纹法的实现(KNN)

    位置指纹法中最常用的算法是k最近邻(kNN):选取与当前RSS最邻近的k个指纹的位置估计当前位置,简单直观有效.本文介绍kNN用于定位的基本原理与具体实现(matlab.python). 基本原理 位 ...

  2. 室内定位系列(二)——仿真获取RSS数据

    很多情况下大家都采用实际测量的数据进行定位算法的性能分析和验证,但是实际测量的工作量太大.数据不全面.灵活性较小,采用仿真的方法获取RSS数据是另一种可供选择的方式.本文介绍射线跟踪技术的基本原理,以 ...

  3. 【机器学习】WIFI室内定位

    WIFI室内定位-指纹法 在A1区域内每个点上采集四个WiFi的信号数据(信号强度),五点.九点.十六点采样. 5*5=25区域*16数据=400样本,用来训练 样本数 R B G1  G2 1 2 ...

  4. 位置指纹(LF)定位技术简介-室内定位

        信号的多径传播对环境具有依赖性,呈现出非常强的特殊性.对于每个位置而言,该位置上信道的多径结构是惟一的,终端发射的无线电渡经过反射和折射,产生与周围环境密切相关的特定模式的多径信号,这样的多径 ...

  5. 关于Wifi室内定位应用中的一些问题:

    公司目前在办公室内布设了一套室内定位的实验环境,用的是华为路由器,采用的算法是基于信号强度的RSSI算法.公司目前希望能使用这套设备得到无线网络覆盖范围下的所有移动设备(对应每个人)的MAC地址,同时 ...

  6. 基于 WiFi ( Wireless Fidelity) 的室内定位技术

    系统的拓扑结构 基于信号强度的定位技术(RSSI, Received Signal Strength Indication) 无线信号的信号强度随着传播距离的增加而衰减,接收方与发送方离得越近, 则接 ...

  7. 解答室内定位技术新方向:蓝牙AoA定位,值得了解 ——概念了解

    转载搜狐 室内定位一直被炒的非常火的黑科技,也是近年资本追逐的热点,市场上一直有众多宣称可以做到厘米级,米级精度定位的公司,但问题很多,无法大规模商用.近些年有很多人尝试使用蓝牙beacon方式做定位 ...

  8. 高德网络定位之“移动WiFi识别”

    导读随着时代的发展,近10年来位置产业蓬勃发展,定位能力逐渐从低精度走向高精度,从部分场景走向泛在定位.设备和场景的丰富,使得定位技术和能力也不断的优化更新.定位能力包括GNSS.DR(航迹推算).M ...

  9. 蓝牙Ibeacon室内定位和微信摇一摇周边原理分析

    苹果推出Ibeacon室内定位技术是为了弥补GPS无法覆盖室内定位这种场景.苹果意味着创新,在其推动下,蓝牙Ibeacon得到了极大的应用.而腾讯则是利用蓝牙Ibeacon在场景体验方面进行了创新,实 ...

随机推荐

  1. 由用友NC刷新功能得到启示

    在做NC刷新界面数据的功能,就是 点刷新按钮然后刷新当前 list 中的数据,犯了一个错误. 我之前的做法是记录每次查询数据的sql条件语句,然后在点刷新的时候去调用这个条件语句,哈哈,错误就在这个逻 ...

  2. JS原型链

    JS作为发展了多年了对象语言,支持继承,和完全面向对象语言不同的是,JS依赖原型链来实现对象的继承. 首先JS的对象分两大类,函数对象和普通对象,每个对象均内置__proto__属性,在不人为赋值__ ...

  3. ASP.NET Cookie(一)--基本应用

    Cookie提供了一种在Web应用程序中存储用户特定信息的方法.例如,当用户访问您的站点时,您可以使用Cookie存储用户首选项或其他信息.当该用户再次访问您的网站时,应用程序便可以检索以前存储的信息 ...

  4. python写红包的原理流程包含random,lambda其中的使用和见简单介绍

    Python写红包的原理流程 首先来说说要用到的知识点,第一个要说的是扩展包random,random模块一般用来生成一个随机数 今天要用到ramdom中unifrom的方法用于生成一个指定范围的随机 ...

  5. 关于docker在windows环境下运行的第一次体验

    关于docker在windows环境下执行的原理 1.1.           首先是Docker Quickstart启动,如果在虚拟机Oracle VM VirtualBox不存在default虚 ...

  6. Linux查看物理CPU个数、核数、逻辑CPU个数

    # 总核数 = 物理CPU个数 X 每颗物理CPU的核数 # 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数 # 查看物理CPU个数 cat /proc/cpuinfo| ...

  7. 《WePayUI组件设计的秘密》——2016年第一届前端体验大会分享

    本文是博主参加第一届前端体验大会 | 物勒工名做的分享<WePayUI组件设计的秘密>,内容主要分为2个部分: 一.浅析UI库/框架的未来 讨论的UI库或者框架,主要包含展示和交互的css ...

  8. [LeetCode] Maximal Rectangle 最大矩形

    Given a 2D binary matrix filled with 0's and 1's, find the largest rectangle containing all ones and ...

  9. ECharts学习(4)--仪表盘

    1. ECharts中的仪表盘,要使用这个图表时把series中的type属性修改成'gauge',然后在detail中设置仪表盘详情,用于显示数据.最常用的是formatter(格式化函数或者字符串 ...

  10. 【转】javascript浏览器参数的操作,js获取浏览器参数

    原文地址:http://www.haorooms.com/post/js_url_canshu html5修改浏览器地址:http://www.cnblogs.com/JiangXiaoTian/ar ...