刘桂岐,钱志鸿,李华亮,孙佳妮,冯一诺,王雪
(吉林大学通信工程学院,吉林 长春 130012)
近年来,随着物联网的发展,基于位置的服务(LBS,location based service)越来越多,推动了定位技术[1-2]的发展。全球定位系统(GPS,global positioning system)[3-4]可以满足室外场景的定位需求,但在室内环境中,GPS 接收器和卫星之间不具备视线通信条件,无法准确识别室内位置。为实现室内定位,需要借助于射频识别(RFID,radio frequency identification)、无线传感器网络(WSN,wireless sensor network)、超宽带(UWB,ultra wide band)和无线局域网(WLAN,wireless local area network)等技术[5]。其中,WLAN 技术因具有覆盖广泛、接收信号强度(RSS,received signal strength)测量不需要外设硬件等技术优势,更适于室内定位场景。所以,基于WLAN 的RSS 指纹室内定位技术受到国内外的广泛关注。
基于RSS 指纹的WLAN 室内定位过程分为离线阶段和在线阶段[6]。离线阶段记录参考位置上接收到的多个接入点(AP,access point)的RSS 指纹,并建立指纹数据库。在线阶段利用定位算法检索指纹数据库,找到最匹配的指纹,并返回其对应的位置。在基于指纹的定位系统中,指纹库内指纹数据的质量将直接影响定位效果。针对RSS 指纹库优化的WLAN 室内定位算法,国内外学者做了大量的研究[7-8],基于无线地图更新、无线地图降噪等室内定位算法取得了良好的定位效果。然而,上述研究大都针对单一平面内的定位,没有考虑待定位人员或物品的纵向位置信息。在物联网的大部分应用场景中,并不是所有纵向位置信息都有意义,有意义的纵向位置信息一般为人员所在楼层、物品所在货架层等有效纵向位置信息。目前,在基于WLAN的指纹室内定位系统中,人员的楼层信息主要是以用户主动参与的方式获得,有效纵向位置信息获取受到用户主观意愿的影响较大,在一定程度上降低了定位系统的智能性。消防、医疗、导盲等紧急呼叫与特殊需求的室内定位应用需要对目标终端进行高度精确的定位,如果用户位置被估计到错误的楼层,会严重影响后续用户的位置估计。因此,需要研究室内环境下精确的纵向位置信息判别算法。
近年来,室内定位中纵向位置信息判别问题研究主要从以下三方面开展:基于指纹分簇的算法[9]、基于移动设备内置传感器的算法[10-11]、基于机器学习的算法[12-13]。Cramariuc 等[9]利用引入惩罚对数高斯距离的亲和传播聚类算法对指纹数据库内的指纹聚类,通过在线指纹与各类指纹的相似度实现纵向信息判定,改善了多层建筑内指纹数据的聚类性能,但是,仍然会出现不同层的指纹数据被分到同一个簇内的情况。Radu 等[10]利用智能手机上加速度传感器和压力传感器等提供的信息,提出了基于行人航迹推算和粒子滤波的纵向信息室内定位算法。周牧等[11]提出一种利用微机电系统传感器与低功耗蓝牙数据融合的室内跨楼层定位算法,利用气压计输出数据和地理位置信息,对目标的纵向高度信息进行估计。基于移动设备中传感器信息进行纵向信息判定的算法易受气温和环境等因素的影响,而且不同手机的传感器测量值有所差异,无法像无线AP 那样广泛使用。Sun 等[12]利用线性判别分析(LDA,linear discriminant analysis)训练每个AP 的指纹数据,得到基于Wi-Fi 指纹的纵向信息判别模型。在楼层数量较多或者部署AP 数量较多的场景下,将有较高的计算复杂度。Luo 等[13]设计了基于LDA 的多层识别模型MA_LDA,通过对楼层两两配对,然后对配对楼层内的AP 再进行两两配对,每组配对楼层构成一个分类器,并找到每组配对楼层最优的AP 配对组。但是,由于室内环境复杂,当室内空间较大时,一对最优AP 配对组并不能反映相邻纵向层间指纹的区别。并且,当室内楼层数较多以及部署的AP 数量较多时,该算法需要构建的楼层判别分类器数量较多。
本文以基于RSS 指纹的多楼层室内定位系统为框架,以楼层信息作为有意义的纵向位置信息,针对多楼层室内定位问题,给出了WLAN 场景下多楼层室内定位模型,将室内定位问题分解为有效纵向位置信息和平面位置信息获取两部分。在平面信息位置获取的研究成果基础上,提出基于AP 选择和LDA 融合的楼层识别算法。利用基于稳定性和差异性的AP 选择算法,提取每个楼层中每个子指纹区域的有效AP 子集。利用多分类LDA 对每个有效AP 子集在不同楼层的指纹数据进行训练,得到与有效AP 子集相对应的楼层判别模型,构建楼层判别指纹数据库。在线阶段,利用在线AP 选择因子对在线指纹的AP 进行有效AP 提取,选择与离线有效AP 子集相同的AP 子集,将对应的RSS信息输入相应的纵向楼层判别模型,得到相应的楼层信息。
针对WLAN 场景下多楼层室内定位问题,本文提出了一种基于RSS 指纹的WLAN 多楼层室内定位模型,将多楼层室内定位问题转化为纵向楼层判别问题和平面指纹定位问题,如图1 所示。多楼层室内定位包括2 个阶段:离线阶段和在线阶段。离线阶段主要负责指纹库的构建,包括楼层识别指纹数据库和位置估计指纹数据库。在线阶段主要负责在线指纹的楼层判别和在线指纹与单楼层指纹库指纹的匹配。对于以单楼层指纹数据库为单位进行存储的多楼层指纹数据库,楼层识别的目的是先找到在线指纹所属的楼层号码,得到单楼层指纹数据库,然后得到进一步搜索的子指纹数据库,可提高指纹匹配的效率和精度。确定楼层信息后,定位系统将在经过分区、降维、分层存储处理的单层位置估计指纹数据库内进行指纹匹配。
针对单楼层基于RSS 指纹的WLAN 室内定位问题,文献[14]提出了基于指纹库分区处理的单楼层室内定位算法。离线阶段利用基于密度峰值的聚类算法对原始指纹库进行分区处理,然后利用主成分分析(PCA,principal component analysis)算法对指纹库进行降维处理,最后利用kd-tree 算法将分区的子指纹数据库进行分层存储。对于单个楼层的指纹数据集,最终以若干小指纹数据集的形式存储。在线阶段利用加权指纹相似性度量法确定在线指纹最相近的子指纹数据库,并利用搜索算法BBF(best bin first)在子指纹数据库内进行搜索,找到K个接近的指纹,并通过加权 K 近邻(WKNN,weighted k-nearest neighbor)算法得到最终的位置。
本文在已有基于WLAN 的单楼层指纹定位算法研究的基础上,进一步研究基于WLAN 多楼层室内定位问题中的纵向楼层判别问题。
首先,利用改进的基于密度的分簇算法对多层建筑的每个楼层进行指纹库分区处理,每个楼层得到若干个小的子指纹数据库(指纹簇),其中,单楼层指纹库分区处理的具体步骤见文献[14]。
由于在一个小监测区域内一般能接收到大致相同的AP 集合,因此基于指纹簇的有效AP 选择更有意义。针对每个指纹簇内AP 的有效性主要有两点考虑:1) AP 在指纹簇内同一参考点上的稳定性;2) AP 在指纹簇内不同参考点上的差异性。
指纹簇内每个AP 都对应一组指纹数据集,簇内第i个AP 的指纹数据集为Φapi,记为
其中,u是指纹簇内参考点的个数,p是在同一个参考点上记录来自某个AP 的RSS 信息的次数。第i个AP 在簇内第j个参考点的RSS 数据集记为RSSj,api={rssj,api(1),rssj,api(2),…,rssj,api(p)}。
AP 在指纹簇内的稳定性表现如下,在指纹簇内同一个参考点上多次记录的RSS 信息尽可能接近,同时,指纹簇内可以记录稳定RSS 的参考点数量尽可能多,这样能够保证选择的AP 在簇内每个参考点以及整个指纹簇内的稳定性。AP 在指纹簇内不同参考点的差异性主要表现如下,指纹簇内不同参考点上的RSS 信息差别尽可能大,这样能够保证所选择的AP 能够有效区分不同的参考点。
为表征第i个AP 在第j个参考点上的稳定性,设定一个RSS 阈值为rssthr,引入覆盖因子
其中,表示第i个AP 在第j个参考点上的覆盖因子,p表示在参考点j处记录来自第i个AP 的RSS 值的次数,N p表示p次记录中rssj,api≥rssthr的次数,α表示可选择的AP 在p次RSS 记录中满足的次数百分比,。式(2)表示在第j个参考点上记录p次来自第i个AP 的RSS信息,如果记录的RSS 在大多数情况下都高于阈值rssthr,则认为第i个AP 在第j个参考点上是可靠的。
为表征第i个AP 在簇内各个参考点的稳定性,引入稳定性因子
其中,u表示指纹簇内所有参考点的数量,表示第i个AP 在参考点j的覆盖因子;i表示第i个AP在簇内的稳定性因子,用来衡量第i个AP 的簇内稳定性,该值越大,表示第i个AP 在这个簇内越稳定,被选择的机会就越大。
将指纹簇内第i个AP的指纹数据集Φapi作为总的样本集合,第i个AP 在簇内第j个参考点上多次测量的指纹数据集RSSj,api被看作一个小的样本集合,即总样本集合的一个小类别。可见,总的样本集合Φapi内包含u个类。对于第i个AP 的指纹数据集Φapi,第i个AP 在参考点j上的稳定性在RSS数据上的表现是第j个类的类内方差较小,第i个AP 在簇内不同参考点上的差异性在RSS 数据上的表现是总样本内类间方差较大。为了进一步理解AP 的稳定性和差异性,引入样本集合Φapi的类内散度和类间散度。
第j个类的方差可以表示为
样本集合Φapi的类内离散度可以表示为
样本集合Φapi的类间离散度可以表示为
为了量化每个AP 的性能指标,本文综合考虑了AP 在指纹簇内参考点上的稳定性以及在不同参考点上的差异性,引入有效AP 的判别因子Q。第i个AP 的判别因子Qapi可以表示为
其中,是第i个AP 在指纹簇内各参考点上记录的RSS 数据集的方差之和,反映了第i个AP 在簇内的稳定性,该值越小,表示AP 在簇内的RSS 信息越稳定;是第i个AP 在指纹簇内任意两不同参考点上记录的RSS 均值之差的平方和,反映了第i个AP 在簇内不同参考点的差异性,该值越大,说明该AP 在不同参考点上的判别能力越强;是指纹簇内满足第i个AP 稳定性条件的参考点数量与指纹簇内总的参考点数量之比,从信号强度大小的角度反映了第i个AP 在指纹簇内的稳定性,该值越大,说明第i个AP 的RSS 信号在指纹簇内越稳定。如果AP 的判别因子越大,则表示该AP 在指纹簇内的RSS 信息越稳定,并且在指纹簇内不同参考点的RSS 信息差异性越大,越有可能被选择成为有效AP。
如果指纹簇内能够检测到m个AP,可表示为{AP1,AP2,…,APm}。根据式(7),m个AP 可以得到m个判别因子,表示为{Qap1,Qap2,…,Qapm}。对m个判别因子进行降序排列,选择前m_ap 个具有最大判别因子的AP 作为该簇的有效AP 子集{AP1,AP2,…,APm_ap}。注意,这里的AP 序号只表示所在集合内的序号,并不表示整个指纹数据库内的AP 序号。
针对一个多层的建筑物,需要求得每个楼层内每个指纹簇的有效AP 集合。如果一栋建筑物有F层,并且每层的指纹数据库被分成ki个簇,i∈{1,2,…,F},则可以得到(k1+k2+...+kF)个有效AP 集合。
LDA 是一种有监督的分类算法[15],需要每个训练数据样本都提供类别标签信息。基于LDA 二分类思想是将高维数据样本投影到最佳鉴别矢量空间,以保证投影后的新样本数据能够满足类内距离最小以及类间距离最大的条件,从而在该矢量空间分类原始数据。该算法在对样本数据维度进行约减的同时,能够保证样本在投影后的矢量空间内具有最佳的可分离性。通过对类内散度和类间散度公式的变形,可以将LDA 的二分类思想推广到多分类问题。本文利用LDA 对有效AP 集合在不同楼层的指纹数据集进行训练,构建楼层判别模型以实现在线指纹的楼层判定。
其中,nf表示第f个楼层内的参考点数量,表示有效AP 集合内第i个AP 在第f楼层内第j个参考点上的RSS 值。
APk在第f层内所有参考点上RSS 的均值向量,即第f个样本集合的均值向量,表示为
APk在所有楼层内所有参考点的RSS 均值向量,即总样本集合Bk的均值向量,表示为
APk在第f层所有参考点上RSS 的协方差矩阵,即第f个样本集合的协方差矩阵,表示为
根据多类别LDA 定义,F个类别的类间离散度矩阵表示为
F个类别的类内离散度矩阵表示为
LDA 应用于多分类情况下,即将多类别数据投影到低维空间,此时的低维空间将不是一条直线,而是一个超平面。假设低维空间的维度为d,对应的基向量设为(ω1,ω2,…,ωd),基向量组成的矩阵为W。根据二分类LDA 优化目标求解算法,基于投影后类内方差最小,类间方差最大的原则得到多分类优化目标。由于W、WTS bW、WTSω W均为矩阵,无法直接用二分类LDA 的优化算法,所以需要用替代优化目标求W。这里利用的LDA 多分类优化目标函数为
Η(W)的优化过程可以转化为
利用投影矩阵W投影后,第f类内的第j个样本更新为
由于AP 集合在同一楼层不同参考点的指纹符合高斯分布模型,因此利用LDA 将样本进行投影后,可以利用极大似然估计算法计算各个类别投影数据的均值和方差。
根据极大似然估计算法可知,投影后第f类的数据集的均值为
投影后第f个类的数据集各维度的方差为
其中,i=1,2,...,m_ap,的第i个元素,是矩阵内第i列元素。APk内各AP 在参考点上的RSS 互相独立,所以第f个类的数据集的协方差为
根据极大似然估计算法,离线有效AP 集合APk的第f类数据集经投影矩阵W投影后得到的高斯分布概率密度函数为
为降低计算量,当在楼层的任何参考点都不能探测到有效AP 集合内的任何一个AP 时,认为该组有效AP 集合在该楼层内是无效AP 集合,即这个有效AP 集合在这个楼层内没有指纹数据集,同时,有效AP 集合的类也不包含该楼层序号。当楼层上能够探测到AP 的数量小于有效AP集合内AP 的数量时,其余没有检测到的AP 的RSS 被赋予最小的RSS 值,这里为−100 dBm。所以,对每一组有效AP 集合,将有g个类别的指纹数据,并产生g个高斯分布概率密度函数,其中g 由上述分析可得楼层识别指纹数据库为 与离线阶段类似,在线阶段的移动设备也会接收到多个AP 的信号,需要选择相对可靠的AP 用于楼层识别。 1) 基于AP 选择因子的在线指纹数据处理 在线阶段,在测试点处记录来自m个AP的RSS值,记为 其中,p是在测试点记录RSS 值的次数。 为了对在线指纹进行AP 选择,本文同时考虑了位置点处接收到多次第i个AP 信号的方差和RSS 值的大小,这样选择的AP 具有信号值较稳定和数值相对较高的特点。 根据式(4),测试点处接收到所有AP 信号的方差的集合,记为Γt={σap1,σap2,…,σapm}。 Redesign of a Ship Measurement Module……………WANG Jiehuan, QIU Yicen(2·45) 测试点上接收到的AP 的信号值越大,说明信号质量越好。定义参数Eapi为 其中,rssr,th为在线定位阶段RSS 信号的阈值。当测试点第l次接收到来自第i个AP 的RSS 值大于阈值时,Eapi(l)=1;否则,Eapi(l)=0。 定义在线指纹的AP 选择因子 其中,p是在测试点采集第i个AP 的RSS 值的总次数;ε0是极小值,避免分母为0。 在线指纹的所有AP 选择因子的集合可以表示为Ω r={χap1,χap2,…,χapm}。对在线指纹所有AP 的选择因子进行由大到小的排序,取前m′个AP 作为在线指纹rt的有效AP 集合。并且,将p次记录的RSS求平均之后,得到在线指纹。 2) 在线楼层判别 首先,找到在线指纹的有效AP 集合中与离线的有效AP 集合相同的AP 集合,利用投影矩阵W将该有效集合的RSS 向量进行投影;然后将投影后的样本特征分别代入与该有效AP 集合相对应类别的高斯分布概率密度函数,计算它属于这个类别的概率,最大的概率对应的类别即预测楼层,楼层投票数加1。当在线指纹的AP 集合中不能找到完整的离线有效AP 集合时,先找到与有效AP 集合中AP元素重合最多的集合,然后没有探测到的AP 的RSS值用最小RSS 值补齐。依次类推,直到找到3 个可以进行判别的AP 子集合。 1) 计算复杂度分析 本文提出的基于AP选择和多分类LDA的楼层判别算法主要包括2 个阶段,即离线楼层判别模型建立和在线楼层判别阶段。构建楼层识别模型的时间复杂度为O(kn1)+O(k),其中,O(kn1)为有效AP选择的复杂度,k为子指纹区域的数量,n1为子指纹区域内AP 的数量,O(k)为构建判别模型的复杂度,所提算法只需要构建与有效AP 集合数量同的楼层判别模型,即与子指纹库的数量相同。在线阶段,仅需要找到与离线有效AP 集合相同的集合进行判别,所以时间复杂度为O(1)。 Luo 等[13]提出的MA_LDA 算法需要两两楼层进行组合,构建楼层判别模型,并对两两楼层内的AP 两两组合得到最优判别AP 组合,算法复杂度O(n2)+O(f2),其中,n为建筑物内AP 的数量,n>n1;f为楼层数。在线阶段,需要找到与最优AP 配对相同的AP 集合进行判别,时间复杂度为O(1)。 尽管随着楼层的增加,子指纹区域的数量k也会随之增加,但是每一层分区的数量不会太大。当楼层较高,且AP 部署较多时,提出的基于AP 选择和多分类的楼层判别算法在构建楼层判别模型时具有更低的时间复杂度,在线判别时与MA_LDA具相当的时间复杂度。但是,在大面积场景下,如果测试点不能接收到最优判别AP 组合的信息,在线指纹内将找不到最优判别AP 组合,MA_LDA 算法需要进行判别的AP 对的数量将增加。本文所提算法通过对指纹区域进行分区,移动设备在监测区域内不同地点总是能接收到有效AP 集合内的部分或全部AP 的信息。 2) 稳定性分析 本文算法是利用有效AP 集合进行楼层判定,如果网络中存在有效AP 不能正常工作,则在线阶段,不能够接收到该AP 的信息,但是,楼层判别阶段,将该AP 的值设置为最小RSS 值的同时,仍然能够选择与离线有效AP 集合内其余有效AP 相同的AP 集合进行楼层判别。可见该算法对AP 故障具有一定的稳健性。 利用文献[16]给出的公共指纹数据库进行仿真验证,该指纹数据库的采集地点是西班牙海梅一世大学的三栋楼。表1 给出了三栋建筑的相关细节,包括每栋建筑物的楼层数量F、训练样本的数量Nf、测试样本的数量Nt以及每栋楼接入AP 的数量Nap。 表1 三栋建筑内指纹数据的相关细节 利用指纹库分区方法[14]对三栋建筑内每一层的指纹数据库进行分区处理。其中,T2第三层指纹数据库的分区示意如图2 所示。 1) rssthr和α对楼层判别的影响 在离线AP 选择阶段,引入信号强度阈值rssthr和参考点上信号强度大于阈值的概率α来求解参考点上的覆盖因子,并得到每个AP 的判别因子,以确定候选AP 的选择顺序。所以,rssthr和α影响离线有效AP 子集的选取,从而影响楼层判别结果。为了验证rssthr和α对楼层识别准确率的影响,通过改变阈值rssthr和α,观察楼层识别准确率的变化情况。 令离线有效AP 选择个数m_ap=5,在线AP 选择个数m′=7,α=0.75,rssthr以−5 dBm 为间隔在[−100 dBm,70 dBm]内取值,分别得到建筑物T0~T2内每层楼测试指纹的楼层识别准确率,分别如图3~图5 所示,实线分别表示在设定不同rssthr时相应楼层测试指纹的楼层识别准确率,虚线表示所有楼层测试指纹的平均楼层识别准确率,黑色圆圈表示在不同rssthr下每个楼层测试指纹的最大楼层识别准确率。从图3~图5 中可以看出,在rssthr取相同值时,建筑物内每层的楼层识别准确率有较大差异,并且在相同rssthr情况下并不能保证每层测试指纹都获得最大楼层识别准确率。所以,在离线AP 选择阶段,一个固定的阈值并不能得到较好的楼层识别效果。 通过大量的实验分析发现,针对不同的参考点应用不同的rssthr将会产生更好的楼层识别效果。令阈值rssthr=median(rssap1,rssap2,…,rssapm),其中,(rssap1,rssap2,…,rssapm)表示参考点处接收到来自m个AP 的接收信号强度值,rssapm表示参考点处多次接收来自第m个 AP 的接收信号强度的均值,median(rssap1,rssap2,…,rssapm)表示取中值。当取变化的阈值时,给出每栋建筑物内各楼层测试指纹的楼层识别准确率和每栋建筑物内测试指纹的平均楼层识别准确率,如表2 所示。 表2 取变化rssthr时各楼层测试指纹的楼层识别准确率 令离线有效AP 选择个数m_ap=5,在线AP 选择个数m′=7,rssthr=median(rssap1,rssap2,…,rssapm),观察α为0.5~0.9 时,每栋楼的平均楼层识别准确率,结果如图6 所示。从图6 中可以看出,随着α值的增加,楼层识别准确率先增加后下降。其原因是,当α较小时,参考点处接收到某个AP 的信号强度不够稳定,这样的AP 被选入离线AP 子集将会降低楼层识别准确率;当α较大时,参考点处接收到某个AP 的信号强度较稳定,将有较少的AP满足条件进入离线AP 子集,会忽略质量相对好的AP,从而使楼层识别准确率稍有降低。当α为0.7~0.8 时,楼层识别准确率在95%以上。 2) 离线有效AP 数量m_ap 对楼层判别的影响 当在线有效AP 数量取10 时,离线AP 选择阶段有效AP 的数量对楼层判别准确率的影响如图7所示。从图7 可以看出,当有效AP 数量较少时,楼层识别准确率相对较低。这是因为,在子指纹数据库内选择的有效AP 较少,将不能很好地反映该指纹数据库的特征,即训练样本不足以获得有效的分类。当有效AP 数量增加时,楼层识别准确率也随之增加,当达到一定值时,继续增加AP 的数量,楼层识别准确率略有下降,这是因为继续增加会导致质量并不好的AP 被选择,即过量冗余的、不稳定的样本数据使分类效果降低。从图7 可以看出,当簇内AP 数量达到5 左右时,楼层识别准确率可以达到98%。 T0第二层指纹数据库被分为7 个子指纹数据库,根据有效AP 选择算法得到相应的有效AP 集合分别为{53,54,29,30,225}、{35,36,162,161,33}、{26,25,40,80,39}、{161,51,162,52,25}、{39,40,156,155,81}、{224,75,161,76,162}和{51,35,34,161,162}。第四个有效AP 集合{161,51,162,52,25}在第一层的部分指纹数据如表3 所示,经过投影后得到新的指纹数据如表4 所示。通过多分类LDA 算法处理后可得到4 个高斯分布概率密度函数,表5 给出了4 个高斯分布概率密度函数的均值和方差。 表3 有效AP 集合在第一层的部分RSS 指纹数据 表4 有效AP 集合在第一层的部分RSS 指纹数据经过投影后的新数据 表5 LDA 处理后有效AP 集合在4 个楼层的均值和方差 3) 在线有效AP 数量m′对楼层判别的影响 当离线有效AP 数量m_ap=5 时,在线有效AP数量m′对楼层识别准确率的影响如图8 所示。如图8所示,楼层识别准确率随着m′的增加而增加,当m′达到一定值后,楼层识别准确率增加不明显。当m′较小时,楼层识别准确率不高,主要是因为,当m′<5时,为了满足楼层识别模型的输入条件,需要利用最低RSS 信息补足5−m′个指纹信息,补足信息并不能真实反映指纹的位置特征,所以,会增加错误识别的概率。当m′≥5 时,楼层识别准确率随着m′的增加先迅速增加,然后基本保持不变,但是,随着m′的增加,需要判别的AP 组合数量将增加,为楼层识别带来计算负担,所以不宜选择较大的m′。 4) 不同算法比较 为验证提出算法的性能,选择3 个算法进行比较。第一种对比算法是利用k-means 算法对每层的指纹数据库进行分簇,然后将在线指纹距离最近的指纹簇的所属楼层作为楼层判定结果。第二种对比算法[9]是利用改进的亲和传播聚类算法对所有的指纹数据进行聚类,引入惩罚对数高斯距离度量,利用在线指纹与各聚类指纹的相似程度来确定楼层,将这种算法称为 PLGD。第三种对比算法是MA-LDA 算法[13]。本文提出的基于有效AP 选择和多分类LDA 的楼层识别算法用EAP-LDA 代表,仿真参数如表6 所示。表7 给出了不同算法在不同指纹数据库下的楼层识别准确率。从表7 中可以看出,与对比算法相比,所提EAP-LDA 算法具有相对高的楼层识别准确率。 表6 EAP-LDA 算法主要仿真参数 表7 不同算法楼层识别准确率比较 图9 给出了不同对比算法的平均定位误差累积分布函数,其中,离线有效AP 数量m_ap=5,在线有效AP 数量m'=8。在识别楼层后,对比算法的定位算法分别为k-means 算法和PLGD 算法,能够在获得楼层识别的同时,将在线指纹锁定在识别楼层的一个小的指纹数据集内,然后利用KWNN 算法实现指纹的位置确定;MA-LDA 算法在识别楼层的指纹数据集内利用WKNN 算法求得在线指纹的位置;EAP-LDA 算法利用PCA 算法对在线指纹进行降维处理,找到所在楼层内的子指纹数据集,然后利用KWNN 算法实现指纹的位置确定。由图12 可见,当定位误差为2m 时,本文提出算法的CDF约为0.74,而k-means算法、PLGD、MA-LDA的CDF 分别为0.21、0.40、0.29。虽然与单楼层定位相比,多楼层定位算法的定位结果有一定恶化,但是相比其他对比算法,本文的室内定位算法由于楼层识别准确率高而有较好的定位效果。 针对多楼层室内定位问题,本文给出了基于WLAN 的多楼层室内定位模型,并提出了一种基于有效AP 选择和多分类LDA 的楼层判别算法。利用离线AP 判别因子选择有效AP 集合,并通过多分类LDA 算法对每个有效AP 集合在不同楼层的指纹数据进行训练,得到楼层判别模型。在线定位阶段,利用在线有效AP 选择算法选择在线的有效AP 信息,并选择与离线有效AP 子集相同的集合进行楼层判别,最后利用基于指纹数据库分区的平面定位算法实现最终位置的确定。实验结果表明,所提楼层判别算法在多楼层室内定位场景下,能够获得较高的楼层判别准确率。本文提出的基于有效AP 选择和多分类LDA 的楼层判别算法将基于RSS 指纹的多楼层室内定位系统作为框架,以楼层信息作为有用的纵向位置信息。下一步工作需要将本文提出的有效纵向位置信息判别算法用于多层WSN 部署或多层RFID 部署的指纹定位系统框架进一步验证,以求得到一种在多层网络部署场景下普适的有效纵向位置信息判别模型。3.3 在线指纹的楼层判别
4 算法性能分析
5 仿真实验与分析
5.1 实验场景
5.2 算法仿真分析
6 结束语