本发明属于通信网络定位领域,特别涉及一种室内异构网络间协同定位方法、系统及可读存储介质。
背景技术:
随着信息行业的发展,物联网(internetofthings,iot)作为二十一世纪的新兴领域引领着信息产业革命。近年来物联网的研究及其相关技术正处在持续的蓬勃发展中。
物联网即物物相连的互联网,邬贺铨院士对物联网发展中的支撑技术进行了归纳总结,从物联网中的设备发现、定位、实际和虚拟实体的映射发现与搜索技术可看出目前对“物”的实际地理位置精度的要求颇高。目前,“物”的位置定位技术仍旧是国内外广泛关注的研究热点之一。
物联网定位的无线通信技术中,定位距离从远至近包括以gps为代表的可覆盖全球的卫星通信技术、移动通信技术和短距离通信技术。卫星通信适用于室外环境,移动通信适用于3g移动应用等,两者在室内定位环境容易干扰受限。短距离通信技术如wi-fi、uwb(ultrawideband)、zigbee、rfid和bluetooth等定位范围相对较小,适合局部范围的相对定位。
目前,在室内环境中,虽然单一通信网络的定位方法都有各自的局限性,不能同时适应各种网络环境下的定位,但在单一网络环境下的定位精度相对较高,较难满足各领域对更高定位误差的要求。而大规模布置的物联网本身具有网络异构性,在异构网络中的协同定位将成为提高“物”的定位性能的选择之一。
目前的无线通信技术,从定位范围来看,以gps为代表的卫星定位系统覆盖最广,其次是基站定位的移动通信,wi-fi、uwb、zigbee和蓝牙等短距离通信定位范围最小。gps虽然定位精度较低,但相对定位精度最好,适用于车联网定位,wi-fi、bluetooth以及zigbee等定位精度较高而且组网成本较低,适用于无线网络定位,目前在智能城市和智能应用等领域应用较多。
无线通信网络定位一般是协同式的,不依靠单一节点进行定位,体现出一定的协同定位性。为提高单一网络的定位性能,研究人员提出的协同定位算法主要分为循环式、多跳式和缩小定位范围三种方式。早在20世纪末,chrissavarese就提出了协同测距算法,将定位精度提高了5%,且在两年后又提出了将定位精度提高33%的二阶定位算法,两者均为循环式的协同定位算法。savvides提出了n跳多点定位算法,将数据包通过多跳传输,增加了数据可信度,拓宽了定位范围。部分研究人员还通过不同定位算法制定了混合定位方案,缩小定位范围,有效减小定位误差,如aoa/tdoa、toa/tdoa和toa/rss等。
迄今为止,单一网络定位技术已相对成熟,但由于单一网络信息的局限性,如何进行异构网络间的协同定位来提高定位性能成为研究热点之一。然而,异构网络间信息交互协议的不同,如何进行协同定位成为难点之一。zhou等人提出了rfid与wsn技术的混合定位方法,提高了定位精度,但rfid技术用于人员定位时不侧重定位精度。王睿等人提出了基于wi-fi和蓝牙融合的室内定位算法,构建指纹库,对单一网络定位结果直接进行平均值处理,减小了定位误差,增强了算法健壮性,但说服力不强。
技术实现要素:
本发明提出一种室内异构网络间协同定位方法、系统及可读存储介质,其目的在于克服现有技术中定位结果精度不高的问题。
一种室内异构网络间协同定位方法,包括离线阶段和在线阶段;
离线阶段:
首先,采集网络信号,确定定位区域存在的网络;其次,依据网络通信半径,确定网格边长;然后,依据各网络在每个网格的定位精度,确定各网格中各网络的定位权值;最后,构建一个离线协同定位指纹数据库,包括网络名称数组和定位数据组,其中,所述定位数据组表示为[网格编号,网络数量,网络名称,网络定位权值];
网络在网格的定位精度是指在网格中对某一网络的采样样本的样本方差;
在线阶段:
(1)预测节点位置,确定网格编号;
通过已有单一网络定位方法,对待定位节点进行初步定位,根据初步定位结果,确定待定位节点所在位置的网格编号;
(2)通过多网络间的协同定位对待定位节点进行实时定位;
通过网格编号,查询离线协同定位指纹库,获取每个网络的定位权值,根据网络名称数组的顺序,通过网络间的协同定位,获取待定位节点的精确定位测量值。
各网络在每个网格的定位精度可以使用已有的单一网络定位方法获得;在单一网络定位方面,常用的定位技术包括到达时间(timeofarrival,toa),到达时间差(timedifferentonarrival,tdoa),接收信号强度值(receivedsignalstrengthindication,rssi),以及到达时间角(angleofarrival,aoa)等。进一步地,所述网格边长dgrid的取值关系如下:
其中rmin为最小网络通信半径,最小的干扰损耗值imin,∧为常数,取值为lg(pr/[ptgtgr(hthr)2]),α为干扰损耗因子,pt表示发送功率,pr表示接收功率,gt和ht表示发送节点天线增益和天线高度、gr和hr表示接收节点天线增益和天线高度,i表示干扰损耗,d表示传输距离。
进一步地,网格内的网络i的定位权值:
其中,n为网络数量;di为网络i在某一网格的定位精度:
进一步地,所述通过网络间的协同定位,获取待定位节点的精确定位测量值的具体过程如下:
基于离线协同定位指纹数据库判断网格中的多网络是否可以协同定位,若网格中的多网络协同定位误差小于单一网络定位误差,则可以协同定位,待定位节点的精确定位测量值采用以下公式计算获得:
进一步地,网格中的多网络协同定位误差是指基于离线协同定位指纹数据库中某一网格中各网络的定位权值,获取网格中多网络的协同定位测量均值与实际值的误差;
其中,多网络的协同定位测量均值是指至少20个样本的各网络测量值与对应定位权值乘积之和的平均值。
根据离线协同定位指纹数据库中网络定位权值和各网络的测量值,可以获得网格的多网络协同定位误差和单一网络定位误差,从而获取定位区域每一个网格内的所有网络的最佳协同定位方案;其中,若某网格内存在任一网络,则该网格区域可定位;反之,则称该网格为不可定位网格。当某网格可定位时,若仅存在一种网络,则该网格进行单一信号定位。
一种室内异构网络间协同定位系统,包括离线模块和在线模块;
离线模块:用于通过采集网络信号,确定定位区域存在的网络;依据网络通信半径,确定网格边长;依据各网络在每个网格的定位精度,确定各网格中各网络的定位权值;构建一个包括网络名称数组和定位数据组的离线协同定位指纹数据库,其中,所述定位数据组表示为[网格编号,网络数量,网络名称,网络定位权值];
网络在网格的定位精度是指在网格中对某一网络的采样样本的样本方差;
在线模块:用于通过已有单一网络定位方法,对待定位节点进行初步定位,根据初步定位结果,确定待定位节点所在位置的网格编号;通过网格编号,查询离线协同定位指纹库,获取每个网络的定位权值,根据网络名称数组的顺序,通过网络间的协同定位,获取待定位节点的精确定位测量值。
进一步地,所述网格边长dgrid的取值关系如下,
其中rmin为最小网络通信半径,最小的干扰损耗值imin,∧为常数,取值为lg(pr/[ptgtgr(hthr)2]),α为干扰损耗因子,pt表示发送功率,pr表示接收功率,gt和ht表示发送节点天线增益和天线高度、gr和hr表示接收节点天线增益和天线高度,i表示干扰损耗,d表示传输距离。
进一步地,网格内的网络i的定位权值:
其中,n为网络数量;di为网络i在某一网格的定位精度:
进一步地,所述通过网络间的协同定位,获取待定位节点的精确定位测量值的具体过程如下:
基于离线协同定位指纹数据库判断网格中的多网络是否可以协同定位,若网格中的多网络协同定位误差小于单一网络定位误差,则可以协同定位,待定位节点的精确定位测量值采用以下公式计算获得:
一种可读存储介质,包括计算机程序指令,所述计算机程序指令被处理终端执行时使所述处理终端执行一种室内异构网络间协同定位方法。
通过分析定位环境的网络信号,验证了网络通信范围对网格大小的影响关系,并给出了网格边长的取值范围;其次,对每一个网格的定位区域单独分配网络权值,组合出最佳协同定位方案;
划分网格的前提之一是采样节点之间相对干扰较小。
信号传输模型如下,
pr=ptgtgri(hthr)2/dα,
其中pt表示发送功率,pr表示接收功率,gt和ht表示发送节点天线增益和天线高度、gr和hr表示接收节点天线增益和天线高度,i表示干扰损耗,d表示传输距离。
由信号传输模型可得出lg(i)=αlg(d)+∧,其中∧为lg(pr/[ptgtgr(hthr)2])为常数,α为干扰因子,干扰因子和环境有关,一般在2-4之间,这需要反复测量获得一定环境下的传输干扰经验值,可以得出此时的网格边长dgrid=10(lg(i)-∧)/α。
若传输环境不变,则α不变。若i最小,则10(lg(i)-∧)/α最小。最小的干扰损耗值imin可依据硬件条件获得。
当网格内任意节点均能接收到所有已知节点的发射信号,且采样节点之间相对干扰较小,可得出网格边长dgrid的取值范围为
假设在定位区域有n种网络信号,通信半径分别为r1、r2、…、rn,则有
因此,在多网络覆盖的某矩形区域中,网格边长dgrid的取值关系如下,
其中rmin为最小网络通信半径。
在多网络的某一覆盖区域内,假定划分网格的前提是网格内任意节点均能接收到所有已知节点的发射信号同时采样节点之间相对干扰较小,则在单一网络环境和多网络环境中网格边长存在限值,使离线阶段样本采集成本较低,且网格边长是由通信范围最小的网络决定的。
有益效果
本发明提供了一种室内异构网络间协同定位方法、系统及可读存储介质,在室内异构网络环境下,该方法通过分析定位区域内网络信号特点,将定位区域划分成网格的形式,对每一个网格内的定位区域单独分配网络权值,组合最佳协同定位方案,基于网络定位权值判断区域的可定性。该方法扩展性良好,可直接运用于任何异构网络定位区域,只需在离线阶段更新协同定位指纹库。仿真结果表明,本发明在定位精度和定位区域可定位率方面优于单一网络定位算法和等权定位算法。
附图说明
图1为本发明所述方法与其他现有方法的定位精度对比示意图;
图2为本发明所述方法与其他现有方法的可定位率对比示意图。
具体实施方式
下面将结合附图和实施例,对本发明做进一步的说明。
一种室内异构网络间协同定位方法,包括离线阶段和在线阶段;
离线阶段:
首先,采集网络信号,确定定位区域存在的网络;其次,依据网络通信半径,确定网格边长;然后,依据各网络在每个网格的定位精度,确定各网格中各网络的定位权值;最后,构建一个离线协同定位指纹数据库,包括网络名称数组和定位数据组,其中,所述定位数据组表示为[网格编号,网络数量,网络名称,网络定位权值];
网络在网格的定位精度是指在网格中对某一网络的采样样本的样本方差;
所述网格边长dgrid的取值关系如下:
其中rmin为最小网络通信半径,最小的干扰损耗值imin,∧为常数,取值为lg(pr/[ptgtgr(hthr)2]),α为干扰损耗因子,pt表示发送功率,pr表示接收功率,gt和ht表示发送节点天线增益和天线高度、gr和hr表示接收节点天线增益和天线高度,i表示干扰损耗,d表示传输距离。
网格内的网络i的定位权值:
其中,n为网络数量;di为网络i在某一网格的定位精度:
在线阶段:
(1)预测节点位置,确定网格编号;
通过已有单一网络定位方法,对待定位节点进行初步定位,根据初步定位结果,确定待定位节点所在位置的网格编号;
(2)通过多网络间的协同定位对待定位节点进行实时定位;
通过网格编号,查询离线协同定位指纹库,获取每个网络的定位权值,根据网络名称数组的顺序,通过网络间的协同定位,获取待定位节点的精确定位测量值。
在单一网络定位方面,常用的定位技术包括到达时间(timeofarrival,toa),到达时间差(timedifferentonarrival,tdoa),接收信号强度值(receivedsignalstrengthindication,rssi),以及到达时间角(angleofarrival,aoa)等。
所述通过网络间的协同定位,获取待定位节点的精确定位测量值的具体过程如下:
基于离线协同定位指纹数据库判断网格中的多网络是否可以协同定位,若网格中的多网络协同定位误差小于单一网络定位误差,则可以协同定位,待定位节点的精确定位测量值采用以下公式计算获得:
网格中的多网络协同定位误差是指基于离线协同定位指纹数据库中某一网格中各网络的定位权值,获取网格中多网络的协同定位测量均值与实际值的误差;
其中,多网络的协同定位测量均值是指至少20个样本的各网络测量值与对应定位权值乘积之和的平均值。
根据离线协同定位指纹数据库中网络定位权值和各网络的测量值,可以获得网格的多网络协同定位误差和单一网络定位误差,从而获取定位区域每一个网格内的所有网络的最佳协同定位方案;其中,若某网格内存在任一网络,则该网格区域可定位;反之,则称该网格为不可定位网格。当某网格可定位时,若仅存在一种网络,则该网格进行单一信号定位。
在室内环境中,最常见的四种网络,为gsm、wsn、wi-fi以及bluetooth。在仿真实验中,我们选取这四种网络来搭建实验网络仿真环境。
我们设置了100m×100m的实验定位区域,网络数目为4个。在仿真区域随机布设了30个待定位节点,30个传感器节点(信号传输范围为20m)、30个wi-fi发射节点(信号传输范围为30m)和30个蓝牙发射节点(信号传输范围为20m),4个gsm基站(信号传输范围为1km)。
在等权定位算法中,由于基站的信号传输范围相对较大,定位误差最大,取gsm权值为0,剩余三种网络权值均为1/3。
非协同定位算法中,分别进行了只在wsn、wi-fi、bluetooth网络环境中基于rssi的改进的质心加权定位算法,进行平均定位误差和在定位区域的可定位率的实验仿真,可定位率是指某区域中布设的定位测试节点总数中可定位节点所占的百分比,若定位区域中不存在有效网络信号,则该定位区域内是不可定位的。
为验证本发明实例所述方法的普适性,排除特定场景对本发明实例所述方法(图中简称本文算法)实验结果的影响,分析20次仿真实验结果并进行分析总结。
本发明实例所述方法是在离线阶段建立指纹库,并在在线阶段采用协同定位算法对待定位节点进行定位,只需采集如室外环境的待定位区域的指纹库,即可进行室外协同定位,因此该算法有很好的可扩展性。
实验记录了20次仿真实验的结果。平均定位精度比较图如图1所示。从图中可明显看出,最下方的折线为本发明实例所提方法,表明在平均定位精度性能方面,该方法较非协同定位算法以及等权定位算法高。
可定位率比较分析图如图2所示,横坐标为实验轮数编号,纵坐标为待定位节点可定位率。因为定位区域在gsm网络覆盖范围之内,因此本发明实例所述方法的待定位节点可定位率达到了百分之百。从图中可明显看出,本发明实例所述方法的待定位节点可定位率折线几乎一直处于最上方,表明本发明实例所述方法在平均定位误差方面优于单一网络定位算法和等权定位算法。
在单一网络中使用改进的质心加权定位算法定位时,gsm、wsn、wi-fi、bluetooth的20次的平均定位误差均值分别为8.05m、0.56m、0.41m、0.57m,可定位率均值分别为95%、54%、66%、55%。等权定位算法的平均定位误差均值为0.33m,可定位率均值为79%。本发明实例所述方法的平均定位误差均值为0.19m,可定位率均值为100%。分析得出,本发明实例所述方法在平均定位精度和在定位区域的可定位率均优于在非协同定位算法,均优于等权定位算法,且本发明实例所述方法有较好的可扩展性,可直接运用于任何异构网络定位区域,只需在离线阶段更新协同定位指纹库即可。
一种室内异构网络间协同定位系统,包括离线模块和在线模块;
离线模块:用于通过采集网络信号,确定定位区域存在的网络;依据网络通信半径,确定网格边长;在定位区域的每个网格采集rss样本,依据各网络在每个网格的定位精度,确定各网格中各网络的定位权值;构建一个包括网络名称数组和定位数据组的离线协同定位指纹数据库,其中,所述定位数据组表示为[网格编号,网络数量,网络名称,网络定位权值];
网络在网格的定位精度是指在网格中对某一网络的采样样本的样本方差;
在线模块:用于通过已有单一网络定位方法,对待定位节点进行初步定位,根据初步定位结果,确定待定位节点所在位置的网格编号;通过网格编号,查询离线协同定位指纹库,获取每个网络的定位权值,根据网络名称数组的顺序,通过网络间的协同定位,获取待定位节点的精确定位测量值。
应当理解,本发明各个实施例中的功能单元模块可以集中在一个处理单元中,也可以是各个单元模块单独物理存在,也可以是两个或两个以上的单元模块集成在一个单元模块中,可以采用硬件或软件的形式来实现。
本发明实施例还提供一种可读存储介质,包括计算机程序指令,所述计算机程序指令被处理终端执行时使所述处理终端执行所述一种室内异构网络间协同定位方法,其有益效果参见方法部分的有益效果,在此不再赘述。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。