背景技术
随着科技和社会的发展,无论是室内还室外,人们对位置服务的需求越来越广泛,这使得高效的定位技术成为目前科研人员的研究重点。全球定位系统能够提供精确的室外定位与导航功能;然而由于精度和各种环境因素的影响,在室内并不适用。目前室内定位的方式主要包括红外定位、射频识别定位以及无线局域网定位等。室内定位在机场、医院、商场、博物馆等环境较为复杂、面积较大的公共室内场合具有广泛的应用前景。
目前的室内定位系统会采用基于硬件设备、基于信号传输模型以及基于信号强度值的定位,并且倾向于利用信号强度值定位。基于硬件设备定位需要专门的辅助硬件设备,定位时根据设备提供的位置信息来计算得到物理位置。由于方法需要辅助硬件的特定的设备,易导致成本增加和流程繁琐。基于信号传输模型定位方法主要通过测定发射器所发射信号的具体时间来确定发射源到接收点的距离,从而由已知的发射源的物理位置来计算获得接收点的物理位置,达到定位目的。方法局限性在于信号源和接收点之间会存在障碍物,信号不能直线传播,而是转变为复杂的反射、折射、投射及衍射,导致定位结果不精确。
基于信号强度值的定位方法主要利用信号强度值的数据匹配来实现,该方法典型的为室内指纹定位方法(详细内容可参见文献[Zhong X,Coyle EJ.K-nearest neighboranalysis of received signal strength distance estimation across environments,2005[C].In:Proc.of the1st Workshop on Wireless Network Measurements,West Lafayette,Indiana,USA:Purdue University,2005:1023-1032]),该过程分为两部分:离线阶段和定位阶段。离线阶段在指定参考位置收集指定无线信号值并进行数据存储,定位阶段收集信号值并且与上一阶段信号值匹配计算得到定位结果。方法局限性在于多径效应等环境影响较大,信号接收会产生较大的信号值偏离,使得匹配阶段的计算指纹距离产生误差,导致定位不准确。
可见,在室内局域网定位中多径效应和非视距因素会导致定位的精度下降和不准确,这显然成为了阻碍定位技术发展的关键因素,因为多径效应和非视距因素导致信号传输的波动性增加,并且不定性因素也随之变大,利用无线局域网来定位的误差会增大。
发明内容
本发明所要解决的技术问题在于克服现有室内局域网定位技术中由于多径效应和非视距因素所导致的定位精度下降和不准确的不足,提供一种基于无线局域网的室内定位方法,在定位阶段对信号强度进行修正,能够有效减轻信号值波动对于定位结果产生的影响,从而提高定位精度和准确性。
本发明具体采用以下技术方案:
一种基于无线局域网的室内定位方法,包括离线阶段和定位阶段,所述离线阶段包括以下步骤:
步骤1、在定位区域中选取一组不同的参考位置,所述定位区域中设置有多个无线信号源;测量每一个参考位置对于每一个无线信号源的接收信号强度均值及方差,每个参考位置对于所有无线信号源的接收信号强度均值构成该参考位置的位置指纹;
步骤2、对于每一个无线信号源,将所有参考位置对于该无线信号源的接收信号强度均值和方差进行线性拟合,得到该无线信号源的接收信号强度均值与方差之间的线性函数;
所述定位阶段包括以下步骤:
步骤3、测量测试位置对于每一个无线信号源的接收信号强度均值,测试位置对于所有无线信号源的接收信号强度均值构成该测试位置的位置指纹;
步骤4、将测试位置的位置指纹与各参考位置的位置指纹进行指纹匹配,获得测试位置的位置信息,其中,在进行位置指纹的匹配时,测试位置的位置指纹与第j个参考位置的位置指纹间的距离D(j)按照以下公式得到:
对于欧氏距离度量:
对于曼哈顿距离度量:
其中,ri为测试位置对于第i个无线信号源的接收信号强度均值;sij为离线阶段中测得的第j个参考位置对于第i个无线信号源的接收信号强度均值;N为无线信号源的总数;di为第i个无线信号源的修正因子,按照下式得到:
式中,Vari为将测试位置对于第i个无线信号源的接收信号强度均值ri代入第i个无线信号源的接收信号强度均值与接收信号强度方差之间的线性函数,所得到的接收信号强度方差估算值;N为无线信号源的总数。
本发明利用信号强度值方差随着信号强度和测试距离而变化的规律,在离线建立指纹数据库的过程中获取各信号源所对应的方差与信号强度之间的线性函数,并在定位阶段对信号强度进行修正,从而能够有效消除无线局域网定位中的非视距因素产生的误差,提高定位精度和定位准确度。
具体实施方式
下面结合附图对本发明的技术方案进行详细说明:
基于局域网的室内定位方法中的指纹定位方法分为两个阶段:离线阶段和定位阶段。它主要利用信号强度值的数据匹配来实现:离线阶段,在每个参考位置点测量指定物理地址的信号源的信号强度,将信息预先存储到数据库中,并构建一个每个参考位置都不相同的指纹数据库;定位阶段,在测试位置测量指定物理地址的信号源的信号强度,然后用测量数据去指纹数据库进行匹配,从而得到最优结果,来确定定位结果,代表性的匹配方法包括K近邻法和近邻法。K近邻法和近邻法方法引入基于位置指纹的定位机制中,近邻法是K=1时候的特殊情况。K近邻法可达到了一个相对较高的定位精度,然而在室内环境较为复杂的情况下,由于信号传播受到阻碍就多,产生的多径效应使距离无线信号源较远位置点接收到的信号波动较大。由此在计算指纹距离的过程中,较大的信号波动因素会导致候选位置点的选择不准确,进而使定位精确度下降。
通过大量实验分析发现:在室内局域网环境中,信号强度值方差随着信号强度和测试距离而变化。图1显示了矩形实验室内和狭长走廊两种典型场景情况下所收集的信号强度方差与信号强度之间的关系曲线,从图中可以看出,距离无线信号源信号点较远的位置,信号强度值小,得到的RSSI数据方差倾向于较大,信号强度值不稳定;相反,信号强度值较大的位置点,信号强度值趋于稳定。且从图中可以看出,信号强度方差与信号强度之间的关系近似呈线性。因此,可以考虑在采用最近邻、K-近邻等方法计算指纹距离时,根据不同的信号强度所对应的不同信号波动情况给予不同程度的修正,可以显著降低波动较大的信号值对定位结果的影响,提高定位精度和准确度。
按照以上发明思路可得到本发明的技术方案,具体如下:
在离线阶段,按照以下方法:
步骤1、在定位区域中选取一组不同的参考位置,所述定位区域中设置有多个无线信号源;测量每一个参考位置对于每一个无线信号源的接收信号强度均值及方差,每个参考位置对于所有无线信号源的接收信号强度均值构成该参考位置的位置指纹;
步骤2、对于每一个无线信号源,将所有参考位置对于该无线信号源的接收信号强度均值和方差进行线性拟合,得到该无线信号源的接收信号强度均值与方差之间的线性函数;
在定位阶段,按照以下方法:
步骤3、测量测试位置对于每一个无线信号源的接收信号强度均值,测试位置对于所有无线信号源的接收信号强度均值构成该测试位置的位置指纹;
步骤4、将测试位置的位置指纹与各参考位置的位置指纹进行指纹匹配,获得测试位置的位置信息,其中,在进行位置指纹的匹配时,首先将测试位置对于每一个无线信号源的接收信号强度均值分别代入相应的无线信号源的接收信号强度均值与接收信号强度方差之间的线性函数中,分别得到测试位置对于各无线信号源的接收信号强度方差估算值;然后在计算测试位置的位置指纹与各参考位置的位置指纹间的距离时,根据测试位置对于各无线信号源的接收信号强度方差估算值,对不同信号源的接收信号强度对指纹距离计算结果的影响进行相应地修正。
为了便于公众理解本发明技术方案,下面以一个具体实施例来进行进一步说明。
离线阶段:
步骤1、在定位室内区域选定一系列不同的参考位置,并在该区域内设置多个无线信号源,或者直接使用区域内固有的无线信号源。
步骤2、在每一个参考位置,利用无线局域网接受设备测量每一个无线信号源的接收信号强度值,对每一个无线信号源均进行多次测量并计算平均值和方差;对于任意一个无线信号源而言,不同位置测量得到的接收信号强度均值和接收信号强度方差之间近似呈线性关系,因此可以用线性拟合的方法获得每一个无线信号源的接收信号强度均值与接收信号强度方差之间的线性函数关系式如下:
Var=Mean×a+b
其中,Var代表接收信号强度方差,Mean代表接收信号强度均值,a和b是线性函数的参数。
步骤3、将各参考位置的物理位置(X,Y)、各无线信号源的物理地址(MAC)、接收信号强度均值(RSSI)、接收信号强度方差值(VAR)、线性参数值(a,b)存入数据库中,即完成了离线阶段的指纹数据库的建立。其中,每个参考位置对于所有无线信号源的接收信号强度均值构成该参考位置的位置指纹,表征着该参考位置的信号强度特征。
完整的离线阶段流程如图2所示。
定位阶段:
步骤1、在测试位置利用具有无线局域网扫描功能的移动终端测量每一个无线信号源的接收信号强度值,对每一个无线信号源可测量一次也可进行多次测量后取平均值,本实施例中采用多次测量的均值,测试位置对于所有无线信号源的接收信号强度均值即构成该测试位置的位置指纹,表征着该测试位置的信号强度特征。
步骤2、利用数据库中所保存的各无线信号源对应的线性参数值(a,b),将测试位置对于每一个无线信号源的接收信号强度均值分别代入相应的无线信号源的接收信号强度均值与接收信号强度方差之间的线性函数中,分别得到测试位置对于各无线信号源的接收信号强度方差估算值。
步骤3、进行位置指纹匹配,获得测试位置的物理坐标。
现有利用K-近邻法方法(包括最近邻法)得到的指纹距离中,所有的信号强度值测量值都具有相同的可信度,这就存在一个很明显的缺陷:如果在一次测量中,由于多径效应,某个信号源测量值和其训练阶段实际的信号强度值相差很大,尽管对应其他信号源的测量值和训练阶段相比没有很大的差距,最终的指纹距离还会因此变大。K-近邻法方法中,这种偶然性错误会导致本该纳入的K个最优参考位置没能纳入范围之内,从而导致定位不准确。
由于测量误差不可避免,因此减少定位误差的主要途径应是减少错误信号强度值的影响,依靠和离线阶段相近的信号强度值来确定定位指纹距离。本发明通过对各无线信号源引入修正因子,利用方差估算值来不同程度地修正不同信号源对于计算指纹距离产生的不同程度偏差影响。修正因子计算的基本思路是在计算指纹距离时将误差较大的信号值大幅度修正,而将误差较小的信号值小幅度修正。选择修正因子时应该能使离信号源距离较远和较近的位置点得到明显的区分,在计算欧几里得距离(Euclidean Distance)或者曼哈顿距离(Manhattan Distance)时得到最合适的修正,从而更加准确地选择最近邻的K个参考位置点。
本实施方式中的修正因子按照下式计算:
di=(1+ωi)×Vari (1)
上式中ωi为权重值,计算式为:
上面公式中Vari是测试位置对于第i个无线信号源的接收信号强度方差估算值,可以看出权重值ωi满足:
根据计算得到的修正因子,即可对指纹距离的计算值进行修正,具体是调整各无线信号源的接收信号强度对指纹距离计算结果的影响程度:降低估算值较大的无线信号源的接收信号强度对距离计算结果的影响程度,提高估算值较小的无线信号源的接收信号强度对距离计算结果的影响程度。
下面的式(4)、式(5)分别为采用最常见的欧氏距离度量和曼哈顿距离度量时,测试位置的位置指纹与第j个参考位置的位置指纹间的距离D(j)的计算公式:
式中,ri为测试位置对于第i个无线信号源的接收信号强度均值;sij为离线阶段中测得的第j个参考位置对于第i个无线信号源的接收信号强度均值;N为无线信号源的总数;di为第i个无线信号源的修正因子。
将计算得到的指纹距离值按照由小到大的顺序排列,选择最小的K个指纹距离所对应的K个参考位置,这K个参考位置的横、纵坐标的均值即为测试位置的物理坐标,至此,即完成最终的定位。定位阶段的具体流程如图3所示。
本发明根据信号方差随着信号强度的增强而降低的规律,对现有基于局域网的指纹定位方法进行了改进,在进行指纹距离的计算时,引入利用信号方差构造的修正因子,来不同程度地修正不同信号源对于待测点计算位置指纹距离产生的不同程度的偏差。本发明方法可有效减少由于多径效应和非视距因素所导致的错误信号强度值的影响,提高室内定位的精度和准确度,且比现有方法具有更高的健壮性和更高的稳定性。