室内定位系列(一)——WiFi位置指纹

来源:网络

摘要

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个有效的多径分量,功率和时延分别为   

                                 

图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可以被用来计算移动设备与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,采集的时候移动设备可能有不同的朝向和角度。这个例子中,一个网格点上的指纹是一个二维的向量     ,其中   是来自第i个AP的平均RSS。在后面会看到,我们也可以记录RSS样本的分布(或者其他的一些统计参数,比如标准差)作为指纹。简单起见,后文没有特别说明的情况下都认为指纹是RSS样本的均值。

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

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

在线阶段

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

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

基于位置指纹的定位算法

基于位置指纹的定位通常分为两种类型。一种是确定性的算法,比较信号特征(比如向量 

)和存在指纹库中的预先计算出来的统计值。另一种是是概率性的算法,计算信号特征属于某个分布(存储在指纹库中)的可能性。下面介绍一些基本的方法,但并不进行详尽的综述。

确定性的定位算法

微软在2000年最早开始进行WiFi位置指纹法定位的研究工作(Bahl and Padmanabhan 2000),他们使用RSS向量 

与指纹向量 的欧氏距离去确定移动设备的位置。假设位置指纹是 维的,也就是说有 个可见的AP,M个网格点,这样指纹库里面有M个指纹。

这样的话,最简单的定位算法可以描述如下:在指纹库中的M个指纹中,找到在信号空间中与RSS观测值的欧氏距离最近的指纹,然后将它所对应的位置坐标作为移动设备的位置。这个使用欧氏距离的方法也叫做在信号空间中找到最近邻,因为目标是在信号空间中找到一个离RSS观察值最近的指纹。图2的右边展示了这个方法的基本原理,其中,五角星代表RSS观测值,圆代表信号空间中的位置指纹。决策边界可以使用泰森多边形的方法画出来,信号空间中每个泰森多边形包含的区域距离这个位置指纹最近。RSS观测值所处的泰森多边形区域中的位置指纹的位置,作为定位结果。

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

概率性的定位算法

最早的基于WiFi位置指纹的概率性定位算法是Youssef et al. (2003).提出的,基本的思路是,如果简单地使用一个RSS样本的统计量(比如RSS的均值)可能会带来误差,因为实际的RSS值应该是一个分布。因此,我们可以使用联合概率分布(有多个AP,所以是联合概率分布)来作为指纹。通过采集RSS样本获取联合概率分布并不是一个简单的事情,因为来自各个AP的RSS之间的相互关系不明显。他们假设这是独立的(这种假设是合理的),然后简单地使用RSS的边缘分布的乘积作为联合分布。假设观测到的RSS向量为         

,估计位置时将选择一个网格点,这个网格点上有最大的概率可能产生这个 。对于给定的 ,可以使用贝叶斯准则来估计移动设备的位置,计算出所有的网格点这个概率,然后选择最大概率的那个网格点作为移动设备的位置。

指纹的聚类

以上有一个问题没有考虑到,并不是所有的网格点上都总能能检测到同样的一组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的分布可能是不平稳的,因此,当测量到观测向量 

时,它有可能会匹配到离真实位置较远的位置指纹,这一点超过了本文要描述的RSS特性的范围。感兴趣的读者可以参考Kaemarungsi and Krishnamurthy (2004b, 2011),其中针对室内定位详细地分析了WiFi的RSS的特性。

删失数据(Censored Data)

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

个AP,忽略掉其他可见的AP。这 个AP通过信号的可靠性来选择。这样,如果一旦选择了不合适的 

个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).)路径损耗指数的影响。

 

其他的一些问题

这部分我们简单地考虑一些之前没有谈到的和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)的工作中就尝试了创建一个“恶意网络”来跟踪移动设备。


有正公司为客户提供地下综合管廊BIM咨询服务,综合管廊监控系统、管廊运维管理平台。欢迎致电400-029-3382咨询。