基于有源rfid的室内定位系统数据预处理方法
【专利摘要】本发明提供一种基于有源RFID的室内定位系统数据预处理方法,包括下列步骤:(a).接收定位标签周期性发送的定位数据形成的数据流;(b).窗口化包含定位数据的数据流,前后窗口之间有交叉部分,在窗口的交叉部分存在一条定位数据;(c).对每个窗口内的定位数据根据定位标签-定位器的对应关系来进行过滤冗余数据的处理;(d).在过滤冗余定位数据之后,根据窗口内剩余定位数据的数量,分别采取对应的规则来进一步排除错误定位数据,将定位标签发生位置状态改变的正确定位数据入过滤后数据库。本方法可以合理地过滤来自有源RFID硬件系统中错误、冲突以及冗余的数据,可以显著提高使用定位数据的定位系统的效率,大大降低错误率。
【专利说明】基于有源RFID的室内定位系统数据预处理方法
【技术领域】
[0001]本发明涉及定位导航【技术领域】,尤其是一种基于有源RFID的室内定位系统的数据处理方法。
【背景技术】
[0002]室内定位系统中,基于信标的室内定位系统是一种成本低而效果良好的解决方案。定位对象携带的可被系统识别的介质如定位标签或定位腕带,定位器上部署了覆盖范围有限的定位天线,可以感知经过定位器覆盖范围(定位区域)的定位对象。在这样的系统中,有源定位标签(RFID电子标签)传回系统的信息是连续的和不确定的,系统接收到的数据可能存在遗漏、冲突以及错误等情况,这些情况的发现和排除,对于定位系统的正常运行和定位质量是至关重要的。
[0003]对于一个定位系统,为了覆盖所有的定位器的定位区域,可能需要部署多个通信基站,通信基站的无线信号覆盖范围包括所有定位器的定位区域,以及在通信基站无线信号范围之内,各定位器的定位区域之外的区域。不同通信基站的覆盖区域比较大,可能有所重叠,这将可能导致多个通信基站收到一个定位标签回传的多份定位数据的拷贝。
[0004]由于定位器信号覆盖范围可能会超过一个楼层,可能会引起一个定位标签收到多个定位器的低频磁场信号,导致楼层间判断错误。
【发明内容】
[0005]本发明的目的在于提供一种基于有源RFID的室内定位系统数据预处理方法,能够有效地过滤接收到的重复冗余的定位数据,以及有效排除冲突数据中的无效定位数据。本发明采用的技术方案是:
一种基于有源RFID的室内定位系统数据预处理方法,包括下列步骤:
(a).接收定位标签周期性发送的定位数据形成的数据流,每条定位数据中包括了定位器ID、定位标签ID、时间戳;当定位标签位于一个定位器覆盖范围内,则定位器ID即为覆盖该定位标签的定位器的实际定位器ID号;当定位标签不在任一个定位器覆盖范围内,则定位器ID为一区别于实际定位器ID号的特定值;
(b).窗口化包含定位数据的数据流,使得每个窗口内针对同一定位标签至少包含两条定位数据,前后窗口之间有交叉部分,在窗口的交叉部分存在一条定位数据;下述“每个窗口内”均指针对同一定位标签。
[0006](c).对每个窗口内的定位数据根据定位标签-定位器的对应关系来进行过滤冗余数据的处理,即分析一个窗口内的各条定位数据中的定位标签ID和定位器ID,对于同一定位标签对应同一个定位器ID的多条定位数据,则保留其中的任一条,删除其余冗余的定位数据;
(d).在过滤冗余定位数据之后,根据窗口内剩余定位数据的数量,分别采取对应的规则来进一步排除错误定位数据,将定位标签发生位置状态改变的正确定位数据入过滤后数据库。
[0007]进一步地,所述步骤(a)中,同一楼层的各定位器覆盖范围之间存在距离间隔。
[0008]进一步地,所述步骤(a)中,当定位标签不在任一个定位器覆盖范围内,则定位器ID 为 O。
[0009]进一步地,所述步骤(b)中,窗口化包含定位数据的数据流时,窗口的划分使得窗口的时间小于定位标签位移时跨越两个或以上定位器所需的时间。
[0010]进一步地,所述步骤(b)中,窗口化包含定位数据的数据流时,使得每个窗口内包含三条定位数据。
[0011]进一步地,所述步骤(d)具体包括:
(d-D.首先判断窗口内是否还剩余一条定位数据,若是则抛弃该条定位数据;若否,则转往步骤d-2 ;
(d-2).根据一定位器ID-楼层表,将窗口内的每条定位数据与该定位标签在数据库内具有有效位置的上一条定位数据相比,排除定位器的楼层跨度超过两层的定位数据;
(d-3).判断是否还剩下两条定位数据,若是,则转往步骤d-4,若否,则转往步骤d-5 ;(d-4).当剩余两条定位数据时,如果两条中的一条定位数据的定位器ID与数据库中最近入库的一条定位数据的定位器ID相同,则排除该条定位数据,直接入库另一条定位数据;否则排除这两条定位数据;结束计算;
(d-5).当剩余一条或三条以上定位数据时,根据定位器ID-楼层表判断其中是否存在上下楼层定位器的定位数据,若否,则排除所有定位数据;若存在则转往步骤d-6 ;
(d-6).将上下楼层定位器的定位数据中的楼下定位器的定位数据排除,然后转往步骤d-3,将剩余的定位数据再次转入步骤d-3进行处理。
[0012]本发明的优点:本发明所设计的对于室内定位系统的定位数据的处理方法是科学有效的,具有处理速度快的优点。该方法结合被定位对象所处定位区域的定位信息,合理地过滤来自有源RFID硬件系统中错误、冲突以及冗余的数据,可以显著提高使用定位数据的定位系统的效率,大大降低错误率。
【专利附图】
【附图说明】
[0013]图1为室内定位系统的架构图。
[0014]图2为上下楼层的定位数据冲突原因示意图。
[0015]图3为流式定位数据窗口处理方法图。
[0016]图4为流式定位数据状态机处理方法示意图。
[0017]图5为定位数据预处理方法流程图。
[0018]图6为排除错误定位数据具体流程图。
【具体实施方式】
[0019]下面结合具体附图和实施例对本发明作进一步说明。
[0020]图1给出了室内定位系统的架构图,系统包含下述硬件设备:定位器、通信基站及定位标签。定位器周期性向周围发送球形低频磁场(125KHz低频电磁场,覆盖半径由对应环境及发射功率决定,本例中定位器覆盖半径在无遮挡情况下在2.5m左右),定位器的覆盖范围不是连续的,相互之间存在一定的距离间隔。定位标签采用有源RFID电子标签,定位标签由被定为对象携带,主要用于被定为对象的定位,其功能是接收定位器发出的低频磁场以及定位器标识(即定位器ID)的解析,并将自身标识(定位标签ID)通过2.4GHz频段发送给定位通信基站,如果定位标签位于定位器覆盖范围内,收到的定位器标识(定位器ID)也会通过2.4GHz频段发送给定位通信基站。通信基站实现对所有定位器覆盖区域的无线信号覆盖,通信基站的无线信号覆盖范围包括所有定位器的定位区域,以及在通信基站无线信号范围之内,各定位器的定位区域之外的区域。通信基站接收其无线信号覆盖范围内的定位标签发射的定位标签标识(定位标签ID)和定位标签收到并转发的定位器标识(即定位器ID),完成定位标签的位置定位,并通过以太网将定位数据发送给定位数据预处理系统,定位数据预处理系统部署在定位引擎服务器上。
[0021]图2是上下楼层的定位数据冲突原因示意图。在室内定位系统中,同一楼层内的各定位器之间的间距足够长,可以确保在一个定位器的定位区域内的定位标签不会收到同一楼层内其它定位器的低频磁场信号。然而,上下楼层之间的定位器是存在这种相互干扰的问题的,如图2所示,在一个典型的三层楼的场景中,假定楼层高度为4m,定位标签位于用户胸前的挂牌中,距离地面1.2m,定位器位于吊顶上方,距离楼顶lm。由此,一个定位标签,距离本层楼的定位器1.Sm (如标签I到定位器3),距离楼下定位器2.2m (如标签I到定位器2),距离楼上定位器5.8m(如标签2到定位器2),距离下2层定位器6.2米(如标签I到定位器I)。可见,对于典型场景下设置覆盖半径为2.5m的定位器而言,定位标签可能接收到本层,以及由于距离较为接近的下层定位器的信号。基于上述楼层特点,本发明针对此种短时间内上下楼层出现数据冲突情况的解决方法为:直接保留楼上定位器的数据,忽略楼下定位器的数据。
[0022]本发明采用如图3和图4所示的流式定位数据的处理方法:窗口式处理方法结合状态机处理方法。定位标签、通信基站将定位数据不断传给定位数据预处理系统,数据连续、实时到达,不会间断。窗口式处理方法通过将一段时间窗口内的数据看作静态数据,实现对连续数据的处理。同时,该窗口会不断向前滑动,前后窗口之间有交叉部分,窗口的交叉部分存在一条定位数据,在保证窗口之间独立性的同时,也保留了定位数据之间相互联系的性质。对于窗口内的定位数据,由于定位标签在通信基站的无线信号覆盖范围内,无论是否在定位器的覆盖范围内,均会不断向通信基站发送包含自身标识(定位标签ID)的数据,会产生大量重复数据,需要一定的处理机制来过滤重复数据。另外本发明只记录定位标签位置状态改变时(本发明指定位器ID发生变化时)的定位数据。从定位标签回传的定位数据中,包含有定位器ID,当定位标签移动时,回传的定位数据中的定位器ID有时会发生变化,以此可以判断定位标签位置的改变。
[0023]图5给出了本发明定位数据预处理系统具体实施例的工作流程图,具体实现步骤如下:
(a).首先接收定位标签周期性发送的定位数据形成的数据流,每条定位数据中包括了定位器ID、定位标签ID、时间戳;当定位标签位于一个定位器覆盖范围内,则定位器ID即为覆盖该定位标签的定位器的实际定位器ID号;当定位标签不在任一个定位器覆盖范围内,则定位器ID为一区别于实际定位器ID号的特定值,例如O。在布置定位器时,同一楼层的各定位器覆盖范围之间存在距离间隔。[0024](b).接着窗口化包含定位数据的数据流,使得每个窗口内针对同一定位标签至少包含两条定位数据,前后窗口之间有交叉部分,在窗口的交叉部分存在一条定位数据。在此步骤中,窗口需要设置的小一些,窗口化包含定位数据的数据流时,窗口的划分使得窗口的时间小于定位标签位移时跨越两个或以上定位器所需的时间;使得在一个窗口的时间内,携带定位标签的用户不可能发生较大位移变化(即跨越两个或以上的定位器)。在一个典型的窗口化例子中,窗口化包含定位数据的数据流时,使得每个窗口内包含三条定位数据。
[0025]在一个窗口的时间内,每个定位标签的位置可能有下列的情况:
I).一直对应同一个定位器,也就是一直在同一个定位器的覆盖范围内。
[0026]2).一直不在任何定位器的覆盖范围内。
[0027]3).从一个定位器的覆盖范围内移动至覆盖范围外的位移变化,即窗口中先出现某个定位标签出现在某定位器附近的定位数据(从该定位标签回传的定位器ID可以看出),然后出现该定位标签不在任何定位器覆盖范围的定位数据。
[0028]4).从一个定位器的覆盖范围外移动至覆盖范围内的位移变化。
[0029](c).然后对每个窗口内的定位数据根据定位标签-定位器的对应关系来进行过滤冗余数据的处理,即分析一个窗口内的各条定位数据中的定位标签ID和定位器ID,对于同一定位标签(即定位标签ID相同的定位标签)对应同一个定位器ID的多条定位数据,则保留其中的任一条,删除其余冗余的定位数据;
对于前述多个通信基站由于覆盖范围相互交叉导致同一定位标签的定位数据多次返回的问题,在排除冗余数据时,由于只分析定位标签ID和定位器ID的关系,和基站ID无关,由于通信基站覆盖范围重叠而返回的重复定位标签-定位器对会被排除。
[0030](d).在过滤冗余定位数据之后,根据窗口内剩余定位数据的数量,分别采取对应的规则来进一步排除错误定位数据,将定位标签发生位置状态改变的正确定位数据入过滤后数据库。
[0031]排除错误定位数据,入库正确定位数据的详细过程如下所述,参见图6:
(d-Ι).首先判断窗口内是否还剩余一条定位数据,若是则抛弃该条定位数据;若否,则转往步骤d-2 ;
当一个窗口内只剩下一条定位数据时,这证明该定位标签在窗口的这段时间内未发生位置改变,由于后续处理步骤需要的是使位置状态机状态发生改变的数据,故此种数据应当被排除。由于窗口存在相互交叉部分,故不会出现对于某一定位标签,前后两个窗口均只剩一条定位数据,且对应的定位器位置不相同的情况。
[0032]当窗口内剩余两条及以上的定位数据时,则进行步骤(d-2)。
[0033](d-2).根据一定位器ID-楼层表,将窗口内的每条定位数据与该定位标签在数据库内具有有效位置的上一条定位数据相比,排除定位器的楼层跨度超过两层的定位数据;有效位置指的是定位标签位于一个定位器的覆盖范围内,此时定位标签发送的定位数据中的定位器ID为实际定位器ID号,而非特定值,比如O。对比时,如果数据库中最近一条定位数据的定位器ID为0,则继续查看再上一条定位数据。此步骤结束后,与库内具有有效位置的上一条定位数据相比,留下的是同层定位器的定位数据或者相邻上层或下层定位器的定位数据。比如库内具有有效位置的上一条定位数据对应的定位器位于2楼,则保留下来的都是2楼或者I楼、3楼的定位器的定位数据。定位器ID-楼层表是在定位数据预处理系统中根据定位器的物理位置预先建立的。
[0034]在步骤d-2之后,可能有两种情况,剩下两条定位数据,或者剩下非两条定位数据(O条、一条或者三条以上)。剩余O条时就不需要进一步计算处理了。
[0035](d-3).判断是否还剩下两条定位数据,若是,则转往步骤d-4,若否,则转往步骤d_5 ;
(d-4).当剩余两条定位数据时,如果两条中的一条定位数据的定位器ID与数据库中最近入库的一条定位数据的定位器ID相同,则排除该条定位数据,直接入库另一条定位数据;否则排除这两条定位数据;结束计算。入库指存入数据库。前一条入库的定位数据必定是在前一个窗口内定位标签发生位置状态变化的定位数据。而根据前后窗口存在交叉部分,交叉部分内前后窗口各有一条相同的定位数据,则后一个窗口内,第二条定位数据的定位器ID通常与第一条定位数据的定位器ID不同(因为前文中冗余定位数据已经被过滤),后一个窗口内的第二条定位数据需要入库。若后一个窗口内的二条定位数据中的定位器ID与前一个窗口内入库的定位数据的定位器ID都不同,则与交叉部分内前后窗口内的定位数据相同矛盾,此时需要排除这两条定位数据。
[0036](d-5).当剩余一条或三条以上定位数据时,根据定位器ID-楼层表判断其中是否存在上下楼层定位器的定位数据,若否,则排除所有定位数据;若存在则转往步骤d-6。若只有一条定位数据,则窗口内不可能发生定位标签位置改变,也不会存在上下楼层定位器的定位数据,直接排除。若同一个定位标签对应有三条以上非上下楼层定位器的定位数据,则很可能是同一楼层内多个定位器的冲突数据,需要排除。因为按照硬件的部署,各定位器拉开一定距离,各定位器覆盖范围之间有距离间隔,窗口的划分使得窗口的时间小于定位标签位移时跨越两个或以上定位器所需的时间,因此在一个窗口的时间内,携带定位标签的用户不可能发生较大位移变化(即跨越两个或以上的定位器)。
[0037](d-6).将上下楼层定位器的定位数据中的楼下定位器的定位数据排除,然后转往步骤d-3,将剩余的定位数据再次转入步骤d-3进行处理。
【权利要求】
1.一种基于有源RFID的室内定位系统数据预处理方法,其特征在于,包括下列步骤: (a).接收定位标签周期性发送的定位数据形成的数据流,每条定位数据中包括了定位器ID、定位标签ID、时间戳;当定位标签位于一个定位器覆盖范围内,则定位器ID即为覆盖该定位标签的定位器的实际定位器ID号;当定位标签不在任一个定位器覆盖范围内,则定位器ID为一区别于实际定位器ID号的特定值; (b).窗口化包含定位数据的数据流,使得每个窗口内针对同一定位标签至少包含两条定位数据,前后窗口之间有交叉部分,在窗口的交叉部分存在一条定位数据; (c).对每个窗口内的定位数据根据定位标签-定位器的对应关系来进行过滤冗余数据的处理,即分析一个窗口内的各条定位数据中的定位标签ID和定位器ID,对于同一定位标签对应同一个定位器ID的多条定位数据,则保留其中的任一条,删除其余冗余的定位数据; (d).在过滤冗余定位数据之后,根据窗口内剩余定位数据的数量,分别采取对应的规则来进一步排除错误定位数据,将定位标签发生位置状态改变的正确定位数据入过滤后数据库。
2.如权利要求1所述的基于有源RFID的室内定位系统数据预处理方法,其特征在于: 所述步骤(a)中,同一楼层的各定位器覆盖范围之间存在距离间隔。
3.如权利要求1所述的基于有源RFID的室内定位系统数据预处理方法,其特征在于: 所述步骤(a)中,当定位标签不在任一个定位器覆盖范围内,则定位器ID为O。
4.如权利要求1所述的基于有源RFID的室内定位系统数据预处理方法,其特征在于: 所述步骤(b)中,窗口化包含定位数据的数据流时,窗口的划分使得窗口的时间小于定位标签位移时跨越两个或以上定位器所需的时间。
5.如权利要求1所述的基于有源RFID的室内定位系统数据预处理方法,其特征在于: 所述步骤(b)中,窗口化包含定位数据的数据流时,使得每个窗口内包含三条定位数据。
6.如权利要求1所述的基于有源RFID的室内定位系统数据预处理方法,其特征在于:所述步骤(d)具体包括: (d-Ι).首先判断窗口内是否还剩余一条定位数据,若是则抛弃该条定位数据;若否,则转往步骤d-2 ; (d-2).根据一定位器ID-楼层表,将窗口内的每条定位数据与该定位标签在数据库内具有有效位置的上一条定位数据相比,排除定位器的楼层跨度超过两层的定位数据; (d-3).判断是否还剩下两条定位数据,若是,则转往步骤d-4,若否,则转往步骤d-5 ;(d-4).当剩余两条定位数据时,如果两条中的一条定位数据的定位器ID与数据库中最近入库的一条定位数据的定位器ID相同,则排除该条定位数据,直接入库另一条定位数据;否则排除这两条定位数据;结束计算; (d-5).当剩余一条或三条以上定位数据时,根据定位器ID-楼层表判断其中是否存在上下楼层定位器的定位数据,若否,则排除所有定位数据;若存在则转往步骤d-6 ; (d-6).将上下楼层定位器的定位数据中的楼下定位器的定位数据排除,然后转往步骤d-3,将剩余的定位数据再次转入步骤d-3进行处理。
【文档编号】G06F17/40GK103824038SQ201410060070
【公开日】2014年5月28日 申请日期:2014年2月21日 优先权日:2014年2月21日
【发明者】胡泰, 黄奎, 沈伟 申请人:江苏物联网研究发展中心