基于AP选择的Dwknn位置指纹定位算法的制作方法

文档序号:13984909
基于AP选择的Dwknn位置指纹定位算法的制作方法

本发明涉及室内指纹定位技术领域,尤其是一种基于AP选择的Dwknn位置指纹定位算法。



背景技术:

随着物联网技术的发展,位置服务成为了关键需求之一。在地理位置划分上,位置服务分为室外定位和室内定位技术。全球定位系统(Global Positioning System,GPS)和北斗系统在室外定位中得到广泛的使用,取得了良好的效果,但是复杂多变的室内环境严重影响GPS和北斗系统的性能。然而,室内定位在一些特殊的地方重要性日趋明显。因此发展室内定位技术具有广阔的应用前景和重要的意义。

室内定位算法可以分为三类:三角测量定位法,邻近测量定位法,位置指纹定位法。在可视距(Line of Sight,LOS)的情况下,三角测量定位法与邻近测量定位法具有较高的定位精度,但是其对硬件的异构性和同步性敏感。安装过程复杂,易受现场条件的限制,而且定位精度与设备的位置和数量有关。因此从技术和应用角度考虑,针对前两类定位方法的缺点,研究人员提出了价格低廉、精度较高的位置指纹定位算法。位置指纹算法分成两部分:离线阶段和定位阶段。离线阶段主要通过使用手持终端设备在定位区域采集信号强度值,并建立接收信号强度(Received Signal Strength,RSS)特征向量和位置关系的数据库。定位阶段主要通过匹配算法进行定位,其典型的匹配算法有最近邻法、K近邻法和加权K近邻法等。然而,其建立的指纹库包含了大量的无用信息。

针对于此,M Dashti考虑AP信息熵和稳定性进行选择AP,能除去部分冗沉,但是其没有考虑AP之间的相似度,易保存相似AP。L Elina利用AP之间最低相似度进行AP的选择,其建立的RSS数据库中AP的相似度低,但是其可能删除了包含大量有用信息的AP,不利于在现阶段的定位。H Zou综合考虑了每个AP所含有的信息量和AP之间的相似程度,但是其使用固定k值加权近邻算法,易使用较远的RP点,降低了定位精度。

本文涉及的术语:

AP:Access Point,接入点,指基站;

RP:参考点;

RSS:接收信号强度。



技术实现要素:

本发明的目的在于克服现有技术中存在的不足,提供一种基于AP选择的Dwknn位置指纹定位算法,简称APs-Dwknn算法,该算法在离线和定位阶段中,同时对指纹数据库进行信息的选择,建立RSS信号与位置之间新的对应关系,减小定位误差。本发明采用的技术方案是:

一种基于AP选择的Dwknn位置指纹定位算法,包括以下步骤:

步骤一,对于每个AP在定位区域表现力不同,使用信息熵和香浓定理对AP进行选择,剔除所包含信息量较少和相似性较大的AP;

步骤二,采用动态k值加权定位算法,以减弱较远参考点对定位的影响。

步骤一具体包括:

步骤S1,指纹库的建立主要与RSS和位置匹配关系的唯一性实现;设一个定位区域有D个RP点,在每个RP点对n个AP逐一采集,得到第i个RP点的RSS值如下:

其中表示在i个RP点,对第j个AP采集m次的RSS平均值;

第i个RP点的二维空间坐标可表示为:

Gi=(xi,yi) (2)

步骤S2,将采集的离线位置信息存储到RSS指纹库中,得到如下所示

其对应的二维空间坐标如下:

步骤S3,在定位过程中过多的AP会导致定位时间增加和定位精度的降低;对于每个AP在定位区域表现力不同,使用信息熵和香浓定理对AP进行选择,剔除所包含信息量较少和相似性较大的AP;

p(Gg|APj=v)=p(APj=v|Gg)p(Gg)/p(APj=v) (6)

IG(APi)=H(G)-H(G|APj) (8)

其中nt表示第t个定位区域中所包含的参考点数量,Gg表示第g个网格,v表示接收到AP的RSS值,APj表示第j个AP,H(G|APi)为APi的条件信息熵,p(Gg|APj=v)在APj=v的条件信息熵,H(G)为位置信息熵,IG(APi)为第i个AP所带的信息增益;为了保证AP之间的相似度较低,下面使用香浓定理进行相似度计算:

其中,diffi,j表示第i个AP与第j个AP之间的相似度;表示第i个AP的RSS均值;Si代表第i个AP与其余所有AP相似度值的和;

MAX(W(AP)=S+IG) (11)

其中,W(AP)表示综合考虑了每个AP所包含的信息量和与其他AP相似度值,选取相似度最低、信息熵最大的AP组合成新的指纹库。

步骤二具体包括;

动态k值加权定位算法,如下所示;

sim(i)=RSS_test-RSS(i) (12)

RSS_test_choose=(RSS_test_sum*a)/D (14)

其中,sim表示待定位终端与所有RP的相似度值得集合,选择sim<RSS_test_choose的k个RP点的相似度作为权重值,进行定位,如下式所示:

其中,RSS_test表示待定位终端接收到所有AP的RSS值(此处RSS_test是向量表示),RSS(i)表示新的指纹库中第i个参考点接收到的RSS值,a值是一个系数,可以通过离线阶段实验得出,表示待定位终端最后的定位结果。

本发明的优点在于:本发明提出的APs-Dwknn算法,在离线阶段,算法使用信息熵和香浓相似度量算法对采集的数据库进行AP的选择,剔除了冗沉AP;在定位阶段,算法使用动态k值排除远距离RP对定位的影响。本算法在12m*7.8m定位区域中,达到了平均误差只有0.997m、最大误差2.762m、最小误差0.054m的定位效果。

附图说明

图1为本发明的APs-Dwknn定位流程图。

图2为本发明的AP分布示意图。

图3为本发明的不同AP数的定位误差图。

图4为本发明的测试点定位误差图。

具体实施方式

下面结合具体附图和实施例对本发明作进一步说明。

本发明提出一种基于AP选择的Dwknn位置指纹定位算法(Access Point Selection Dynamic weighted K-Nearest Neighbor),简称为APs-Dwknn;

在离线阶段,算法首先将已采集的接收信号强度均值化处理,然后进行网格法划分,使用信息熵和香农定理进行AP信号的学习,最后选择出冗余最少的最优AP集合作为新的指纹库;在定位阶段,计算出参考点与待定位点之间的相似度,利用Dwknn算法动态寻找k个最大相似度的参考点以实现定位。与已有的未删除冗余信息的定位算法相比,APs-Dwknn提高数据处理效率,减少干扰信号的影响,仿真结果表明,所提出的算法能够有效的提高定位效率和定位精度。

该算法主要包括两大步骤:

步骤一,在定位过程中过多的AP会导致定位时间增加和定位精度的降低;对于每个AP在定位区域表现力不同,本文使用信息熵和香浓定理对AP进行选择,剔除所包含信息量较少和相似性较大的AP;

步骤二,Wknn算法利用k个参考点的相似度作为权重,实现精确的定位,但是k值固定不变导致其易将较远的参考点的相似度作为权值,易造成误差;本文提出了动态k值加权定位算法,实验结果表明能减弱较远参考点对定位的影响;

步骤一具体包括:

步骤S1,指纹库的建立主要与RSS和位置匹配关系的唯一性实现;设一个定位区域有D个RP点,在每个RP点对n个AP逐一采集,得到第i个RP点的RSS值如下:

其中表示在i个RP点,对第j个AP采集m次的RSS平均值;

第i个RP点的二维空间坐标可表示为:

Gi=(xi,yi) (2)

步骤S2,将采集的离线位置信息存储到RSS指纹库中,得到如下所示

其对应的二维空间坐标如下:

步骤S3,在定位过程中过多的AP会导致定位时间增加和定位精度的降低;对于每个AP在定位区域表现力不同,使用信息熵和香浓定理对AP进行选择,剔除所包含信息量较少和相似性较大的AP;

p(Gg|APj=v)=p(APj=v|Gg)p(Gg)/p(APj=v) (6)

IG(APi)=H(G)-H(G|APj) (8)

其中nt表示第t个定位区域中所包含的参考点数量,Gg表示第g个网格,v表示接收到AP的RSS值,APj表示第j个AP,H(G|APi)为APi的条件信息熵,p(Gg|APj=v)在APj=v的条件信息熵,H(G)为位置信息熵,IG(APi)为第i个AP所带的信息增益;为了保证AP之间的相似度较低,下面使用香浓定理进行相似度计算:

其中,diffi,j表示第i个AP与第j个AP之间的相似度;表示第i个AP的RSS均值;Si代表第i个AP与其余所有AP相似度值的和;

MAX(W(AP)=S+IG) (11)

其中,W(AP)表示综合考虑了每个AP所包含的信息量和与其他AP相似度值,选取相似度最低、信息熵最大的AP组合成新的指纹库。

步骤二具体包括:

Wknn算法利用k个参考点的相似度作为权重,实现精确的定位,但是k值固定不变导致其易将较远的参考点的相似度作为权值,易造成误差;因此本文提出了动态k值加权定位算法,在一定程度上减小较远参考点对定位的影响;

sim(i)=RSS_test-RSS(i) (12)

RSS_test_choose=(RSS_test_sum*a)/D (14)

其中,sim表示待定位终端与所有RP的相似度值得集合,选择sim<RSS_test_choose的k个RP点的相似度作为权重值,进行定位,如下式所示:

其中,RSS_test表示待定位终端接收到所有AP的RSS值(此处RSS_test是向量表示),RSS(i)表示新的指纹库中第i个参考点接收到的RSS值,a值是一个系数,采用经验值,可以通过离线指纹库计算得到,表示待定位终端最后的定位结果。

实验地点选择在江南大学物联网工程学院C529教室,在其中布置了9个AP点,为了更真实的还原定位环境,将其中的一个AP放置在C529,其余均放置在其他室内,中间有走廊、墙、玻璃以及铁门等阻碍物。数据采集使用开源信号接收软件inSSIDer,其具有良好信息采集能力,满足实验的需求。在其中采集60个参考点,11个测试点。

与本文所提以AP选择重建指纹库相比较的算法有:测试一(AP之间相似度和稳定性)、测试二(对数相异性)、测试三(信息熵)、Max RSS、均值最大RSS和随机选择(为了保证实验的正常,此为未删减位置指纹库)。其中测试一AP选择时,信息熵权值为0.3,稳定性权值0.7时,其效果最佳。实验结果如图3所示。

从图3中可以看出,随着参考点AP的增加,定位精度有一定的提高,说明AP个数是影响定位精度的因素之一。然而,在AP数量达到一定数量的时候,其定位精度变化不大。测试二和测试三因没有考虑AP之间的相似度,故而其建立的位置指纹库定位精度低,波动大。可以看出本文所提出的算法在第5个AP之后,误差已经接近没有剔除AP的指纹库定位误差,甚至包含6个AP的时候本文算法的定位精度为1.23m,而未剔除AP的指纹定位算法(随机选择)精度为1.28m。说明本文的AP选择算法的性能优于其他算法。

为了验证本文加权动态k近邻算法的性能,下面进行其性能的验证。为验证整体的性能,本文将比较算法分成未进行AP选择情况下的Wknn和Dwknn与进行AP选择情况下的Wknn和Dwknn。经过试验,在AP选择的情况下,本文选择a=0.57;在未进行AP选择的情况下,本文选择a=0.5.

下表表示不同定位算法的不同性能比较

在图4和上表中,Wknn和Dwknn表示使用未进行AP选择的数据库进行定位,APs-Wknn和APs-Dwknn表示使用进行AP选择后的数据库进行定位。通过性能对比,本文所提出算法的平均误差、最大误差、最小误差、误差小于1m的百分比均优于其他三种方法。从使用Wknn和Dwknn对经过AP选择的数据库和未经过AP选择数据库定位,经过AP选择的数据定位精度得到了提高。同时使用进行AP选择过的数据库或未进行AP选择的数据库时,本文提出的Dwknn具有较高的定位定位精度。

针对离线数据库包含大量干扰信号的问题,本文提出了APs-Dwknn算法。在离线阶段,算法使用信息熵和香浓相似度量算法对采集的数据库进行AP的选择,剔除了冗沉AP。在定位阶段,算法使用动态k值排除远距离RP对定位的影响。使用本文的算法在12m*7.8m定位区域中,达到了平均误差只有0.997m、最大误差2.762m、最小误差0.054m的定位效果。

再多了解一些
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1