掌桥专利:专业的专利平台
掌桥专利
首页

一种多时隙信息位编码自适应搜索防碰撞方法

文献发布时间:2023-06-19 09:55:50


一种多时隙信息位编码自适应搜索防碰撞方法

技术领域

本发明属于射频识别系统中防碰撞技术领域,具体涉及一种多时隙信息位编码自适应搜索防碰撞方法。

背景技术

近年来,视频识别(Radio Frequency Identification,RFID)技术在智能系统、自动控制、感知识别等领域得到不断的发展和越来越广泛的应用,典型的RFID系统通常由多个电子标签和一个阅读器组成,当多个标签同时向阅读器发送数据,就会产生冲突,这就是标签碰撞问题,常用的防碰撞算法可分为两类:基于ALOHA协议的随机算法和基于树形搜索的确定算法,ALOHA算法不够稳定,存在标签长时间不被识别而出现的“饥饿”问题,树形算法不存在“饥饿”问题,能够达到100%的识别率,但在标签数量较多时,搜索次数较多,识别时间较长。

树形算法通过把标签分为许多更小的子集,直到能够识别出标签,树形算法包括二叉树算法、多叉树算法和混合树算法,二叉树的典型算法有:查询树(Query Tree,QT)算法、碰撞树(Collision Tree,CT)算法等,但二叉树算法分裂子集的速度较慢,碰撞时隙较多,近年多,很多学者对多叉树算法展开了研究,如:自适应四叉修剪查询树(Adaptive 4-arypruning query tree,A4PQT)算法,分组机制位仲裁查询树(Bit arbitration querytree based on grouping mechanism,GBAQT)算法,多处碰撞位探测(Multiplecollision-bits detection,MCBD)防碰撞算法等,但这些算法要不存在空闲时隙(A4PQT),要不存在查询碰撞位信息的探测时隙(GBAQT、MCBD),在一定程度上增加了总时隙数量。

为了提高搜索效率,减少搜索次数,部分学者提出了树形多时隙算法,其中一种为基于位编码单元的双时隙防碰撞算法(Bi-slot anti-collision algorithm based onbits code units,BS-BCU),该算法在碰撞位个数大于2时,通过对最高碰撞位后面的两比特位进行编码,并分别在两个时隙响应,但该算法的两个时隙仅仅是对多叉树中多个数据位进行比特值识别,对防碰算法性能提升有限;另一种是提出了多时隙树(Multi-slottree,MST)的防碰撞算法,在单碰撞位时,进行双时隙搜索,在连续碰撞位时,进行四时隙搜索,该算法在四叉树时存在空闲时隙问题;还有一种提出了计数型双时隙搜索(Counterand bi-slot search,CBS)防碰撞算法,根据标签中的时隙计数器和阅读器收到的碰撞信息对标签进行分类搜索,并对标签进行分组,分别在两个时隙响应阅读器命令,该算法一次搜索只能两个时隙,还有进一步的性能提升空间。此外,还有一种基于信息位编码的自适应搜索(Adaptive searching,AS)防碰撞算法,通过返回碰撞信息命令,标签返回碰撞位编码信息,消除了多叉树的空闲时隙。

发明内容

针对现有技术中的上述不足,本发明提供的多时隙信息位编码自适应搜索防碰撞方法解决了射频识别系统中,基于多叉搜索树的防碰撞算法存在搜索次数多、识别速率低等问题,。

为了达到上述发明目的,本发明采用的技术方案为:一种多时隙信息位编码自适应搜索防碰撞方法,包括以下步骤:

S1、阅读器初始化堆栈为空,并发出初始搜索命令至阅读器;

S2、所有标签在第一时隙响应阅读器发出的初始搜索命令,并返回对应数据至阅读器;

S3、对返回数据的多个信息位进行编码,并分时隙返回至阅读器;

S4、基于接收到的编码数据的信息位长度及碰撞位,进行标签识别及数据入栈处理;

S5、基于标签识别结果,判断当前阅读器堆栈数据是否为空;

若是,则进入步骤S7;

若否,则进入步骤S6;

S6、使阅读器弹出堆栈数据并发送命令,根据发送的命令使标签在相应时隙返回与该标签前缀互补的数据,并返回步骤S3;

S7、识别出所有标签,实现防碰撞。

进一步地,所述步骤S1中初始搜索命令为搜索前缀为空,且所有标签在第一时隙响应的命令。

进一步地,所述步骤S3具体为:

设每个标签返回的数据S为对应标签ID中与查询前缀互补的数据;

当数据S的信息位长度大于4时,将数据S分为最高4位Q和剩余比特位R,将最高4位Q编码为16位比特数据Q',并使标签在相应时隙将编码数据Q'+R发送至阅读器;

当数据S的信息位长度小于或等于4时,将数据S编码为S',并使标签在相应时隙将编码数据S'发送至阅读器。

进一步地,所述步骤S4具体为:

当接收到的编码数据的信息位长度小于或等于16时,则接收到的数据为编码数据S',将编码数据S'译码为S

当接收到的编码数据的信息位长度大于16位,则接收到的数据为编码数据Q'+R,其前16位为Q',剩余比特位为R,对Q'和R中的碰撞位进行检测,并根据碰撞位检测结果进行标签识别。

进一步地,所述步骤S4中,对Q'和R中的碰撞位进行检测,实现标签识别的方法具体为:

(1)当Q'中无碰撞位,且R中无碰撞位时,识别到一个标签,无数据入栈;

(2)当Q'中有碰撞位,且R中无碰撞位时,识别到若干个标签,无数据入栈;

(3)当Q'中无碰撞位,且R中仅有一个碰撞位时,识别到两个标签,无数据入栈;

(4)当Q'中无碰撞位,且R中有一个以上的碰撞位时,设最高碰撞位为第n位,对Q'译码得到Q,得到标签ID第n位以前的数据P,将REQ(P)压入堆栈;

(5)当Q'中有碰撞位,且R中有一个以上的碰撞位时,设最高碰撞位为第n位,对Q'译码得到Q

进一步地,所述步骤S5中:

当识别到标签时,当前阅读器堆栈数据为空,进入步骤S7;

当将REQ(P)或REQ(P

进一步地,所述步骤S6中,阅读器发送的命令包括多叉树搜索命令REQ(P)和多时隙搜索命令REQ(P

当发送命令为多叉树搜索命令REQ(P)时,将前缀为P的标签在第一时隙响应命令并返回和该标签前缀互补的数据,并返回步骤S3;

当发送命令为多时隙搜索命令REQ(P

本发明的有益效果为:

(1)通过在对标签进行查询的同时对碰撞位进行编码,在不增加任何时隙的情况下,消除了空闲时隙;

(2)在一次搜索中,标签根据搜索命令,不同的标签在不同的时隙返回数据给阅读器,实现了多时隙搜索,提高了搜索速率,减少了搜索次数;

(3)本发明方法具有较低的总时隙数和较少的搜索次数,可有效提高RFID系统的识别性能,具有较好的应用价值。

附图说明

图1为本发明提供的多时隙信息位编码自适应搜索防碰撞方法流程图。

图2为本发明提供的实施例中各个防碰撞算法总时隙数对比示意图。

图3为本发明提供的实施例中各种防碰撞算法搜索次数对比示意图。

具体实施方式

下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。

实施例1:

本发明方法是在AS算法的基础上,结合多时隙树算法,提出的多时隙信息位编码自适应搜索(Multi-slots adaptive searching,MAS)防碰撞方法。AS算法设置了返回碰撞信息命令,标签对最高碰撞位开始的连续多个比特位进行编码,并把编码后的数据返回给阅读器,阅读器通过反编码获得有效前缀,对标签进行有效识别,消除空闲时隙。AS算法通过分析和仿真,认为把最高碰撞位开始的4个比特位进行编码,可得到最佳性能。为了探测多叉树算法中的碰撞比特位信息,AS算法设置了返回碰撞信息命令call(M,n):M为查询前缀,n为最高碰撞位的位置,和M相符合的标签响应命令,并把第n位至第n-3位进行编码后返回给阅读器。编码规则:4比特经过编码后为16比特,若4比特的十进制为A,则在16比特中,第A位为‘1’,其余15位为‘0’,即16比特数据中只有一位为‘1’,便于阅读器通过碰撞位解析出标签的4比特信息,并基于此编码规则,进行基于AS算法的防碰撞过程。

如图1所示,本发明提供了基于AS算法的多时隙信息位编码自适应搜索防碰撞方法,包括以下步骤:

S1、阅读器初始化堆栈为空,并发出初始搜索命令至阅读器;

S2、所有标签在第一时隙响应阅读器发出的初始搜索命令,并返回对应数据至阅读器;

S3、对返回数据的多个信息位进行编码,并分时隙返回至阅读器;

S4、基于接收到的编码数据的信息位长度及碰撞位,进行标签识别及数据入栈处理;

S5、基于标签识别结果,判断当前阅读器堆栈数据是否为空;

若是,则进入步骤S7;

若否,则进入步骤S6;

S6、使阅读器弹出堆栈数据并发送命令,根据发送的命令使标签在相应时隙返回与该标签前缀互补的数据,并返回步骤S3;

S7、识别出所有标签,实现防碰撞。

在本发明实施例中,相当于AS算法,MAS算法具有以下改进:

(1)AS算法在多叉树搜索时,消除了空闲时隙,但增加了发送返回碰撞信息命令的探测时隙,MAS算法在多叉树搜索的同时,对碰撞信息进行了探测,相对AS算法,MAS算法减少了发送返回碰撞信息命令的探测时隙。

(2)AS算法一次搜索只能响应某节点一个分支子集,一次搜索对应一个时隙;MAS算法通过对碰撞位信息的分析和算法设计,一次搜索可以响应某节点所有分支子集,一次搜索对应多个时隙。

(3)AS算法在n≥4但只有一个碰撞位或n<4时,使用CT算法进行二叉树搜索,需要多个时隙完成子集标签识别,MAS算法在n<4时,通过多个信息位编码,仅需一个时隙即完成当前子集所有标签识别,在n≥4但只有一个碰撞位时,直接识别两个标签。

在本实施例中,上述过程中涉及的几个阅读器命令为:

(1)REQ(NULL):初始搜索命令,搜索前缀为空,所有标签在第一时隙响应命令;

(2)REQ(P):多叉树搜索命令,前缀和P相符合的标签在第一时隙响应命令;

(3)REQ(P1,P2…):多时隙搜索命令:前缀和P1相符合的标签在第一时隙响应命令,前缀和P2相符合的标签在第二时隙响应命令……

另外,在本发明方法中,每个标签返回数据的时间分为若干个时隙:第一时隙、第二时隙……,标签根据算法命令在相应的时隙返回数据;

具体地,上述步骤S1中初始搜索命令(REQ(NULL))为搜索前缀为空,且所有标签在第一时隙响应的命令。

上述步骤S3具体为:

设每个标签返回的数据S为对应标签ID中与查询前缀互补的数据;

当数据S的信息位长度大于4时,将数据S分为最高4位Q和剩余比特位R,将最高4位Q编码为16位比特数据Q',并使标签在相应时隙将编码数据Q'+R发送至阅读器;

当数据S的信息位长度小于或等于4时,将数据S编码为S',并使标签在相应时隙将编码数据S'发送至阅读器。

上述步骤S4具体为:

当接收到的编码数据的信息位长度小于或等于16时,则接收到的数据为编码数据S',将编码数据S'译码为S

当接收到的编码数据的信息位长度大于16位,则接收到的数据为编码数据Q'+R,其前16位为Q',剩余比特位为R,对Q'和R中的碰撞位进行检测,并根据碰撞位检测结果进行标签识别;

当对Q'和R中的碰撞位进行检测时,实现标签识别的方法具体为:

(1)当Q'中无碰撞位,且R中无碰撞位时,识别到一个标签,无数据入栈;

(2)当Q'中有碰撞位,且R中无碰撞位时,识别到若干个标签,无数据入栈;

(3)当Q'中无碰撞位,且R中仅有一个碰撞位时,识别到两个标签,无数据入栈;

(4)当Q'中无碰撞位,且R中有一个以上的碰撞位时,设最高碰撞位为第n位,对Q'译码得到Q,得到标签ID第n位以前的数据P,将REQ(P)压入堆栈;

(5)当Q'中有碰撞位,且R中有一个以上的碰撞位时,设最高碰撞位为第n位,对Q'译码得到Q

上述P和P

在步骤S5中,当识别到标签时,当前阅读器堆栈数据为空,进入步骤S7;

当将REQ(P)或REQ(P

在步骤S6中,阅读器发送的命令包括多叉树搜索命令REQ(P)和多时隙搜索命令REQ(P

当发送的命令为多叉树搜索命令(REQ(P))或多时隙搜索命令(REQ(P1,P2…));当发送命令为多叉树搜索命令时,将前缀为P的标签在第一时隙响应命令并返回和该标签前缀互补的数据,并返回步骤S3;当发送命令为多时隙搜索命令时,将前缀为P

实施例2:

假设环境中存在6个标签,如表1所示:

表1:标签ID

MAS算法识别过程如表2所示:

表2:MAS算法识别过程

第1次查询,所有标签响应命令,标签ID最高4位经过编码得到16比特的Q′部分,并与剩余的6比特位一起返回给阅读器;第2次查询,前缀为“0110”的标签B,C,F在时隙1响应,前缀后的4个比特位(第5位到第2位)经过编码得到16比特的Q′部分,并与剩余的2比特位一起返回给阅读器,前缀为“1001”的标签A,D在时隙2响应,前缀为“1101”的标签在时隙3响应;第3次查询,前缀为“01100101”的标签B在时隙1响应,前缀后的2个比特位(第1位到第0位)经过编码得到4比特的Q′部分,并返回给阅读器,前缀为“01101010”的标签C,F在时隙2响应。6个标签,总共搜索3次,共需要6个时隙。

AS算法识别过程如表3所示,在时隙类型中,把返回碰撞信息命令call(M,n)的时隙称为探测时隙,把返回与查询前缀互补部分的时隙称为查询时隙。

表3为AS算法识别过程;

表3:AS算法识别过程

对比表2和表3可以看出,AS算法的搜索次数和时隙数相同,6个标签,MAS算法的搜索次数为3次,AS算法的搜索次数为13次;MAS算法的时隙数为6次,AS算法的时隙数为13次。MAS算法的时隙数小于AS算法的时隙数,MAS算法的搜索次数更远小于AS算法的搜索次数;搜索命令本身需要消耗一定的比特数,收发命令的转换也需要一定的时间,搜索次数的减小有利于减少通信数据量和搜索时间。

和AS算法相比,MAS算法减少了总时隙数,假设最高碰撞位为第n位,在n≥4时,减少了查询碰撞位信息的探测时隙,且在只有一个碰撞位时,直接识别两个标签;在n<4时,AS算法需要多个时隙进行二叉树搜索,MAS算法仅需要一个时隙进行搜索,时隙数得到有效减少。

AS算法一次搜索仅有一个时隙,MAS算法一次搜索有多个时隙,MAS算法的搜索次数远小于AS算法,提高了标签的搜索速率。

利用MATLAB对算法进仿真,并和CT算法,MST算法,CBS算法,AS算法进行对比,标签的数量为10-100个,标签ID长度为128bit,仿真结果取100次平均值。

图2为总时隙数比较图,由图可见,CT算法具有最大的总时隙数,MST算法总时隙数略小于CT算法,其总时隙数改善不明显,主要是由于其存在较多的空闲时隙,CBS算法相对于CT算法总时隙数改善也不大,AS算法相对于CT算法总时隙数有较大的改善,这主要是由于其采用多叉树算法且消除了空闲时隙,本方法相对AS算法总时隙数又有较大的改善,这主要是由于MAS算法消除了查询碰撞位的时隙、避免了空闲时隙和二叉树算法。

图3为搜索次数比较图,由图可见,CT算法和AS算法的搜索次数与总时隙数相同,这是由于这两种算法一次搜索只有一个时隙;CBS算法虽在总时隙数指标优于MST算法,但在搜索次数上略大于MST算法,这是由于CBS算法一次搜索仅两个时隙,MST算法一次搜索为2~4个时隙;本方法搜索次数远小于其他几种算法,这是由于本方法不仅有较小的总时隙数,而且每次搜索可多达16个时隙。

相关技术
  • 一种多时隙信息位编码自适应搜索防碰撞方法
  • 一种基于信息位编码的自适应搜索的RFID防碰撞方法
技术分类

06120112357240