CN105718968A - 一种基于位图构建的rfid自适应n树防碰撞方法 - Google Patents

一种基于位图构建的rfid自适应n树防碰撞方法 Download PDF

Info

Publication number
CN105718968A
CN105718968A CN201410740357.3A CN201410740357A CN105718968A CN 105718968 A CN105718968 A CN 105718968A CN 201410740357 A CN201410740357 A CN 201410740357A CN 105718968 A CN105718968 A CN 105718968A
Authority
CN
China
Prior art keywords
label
reader
frame
probe
algorithm
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410740357.3A
Other languages
English (en)
Other versions
CN105718968B (zh
Inventor
翟峰
高欣
梁晓兵
王鑫
赵兵
刘鹰
吕英杰
徐英辉
李保丰
付义伦
岑炜
孙志强
曹永峰
许斌
徐文静
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
State Grid Corp of China SGCC
China Electric Power Research Institute Co Ltd CEPRI
Original Assignee
State Grid Corp of China SGCC
China Electric Power Research Institute Co Ltd CEPRI
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by State Grid Corp of China SGCC, China Electric Power Research Institute Co Ltd CEPRI filed Critical State Grid Corp of China SGCC
Priority to CN201410740357.3A priority Critical patent/CN105718968B/zh
Publication of CN105718968A publication Critical patent/CN105718968A/zh
Application granted granted Critical
Publication of CN105718968B publication Critical patent/CN105718968B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Mobile Radio Communication Systems (AREA)

Abstract

本发明针对RFID共享信道多路访问而导致的碰撞问题,提出了一种基于位图构建的RFID自适应N树防碰撞算法(MFBTNA)。首先,利用极大似然位跟踪标签数估算法(MLBE)估算标签数量。其次,在MLBE基础上,提出了探针法构建位图,用以指导标签的响应时隙,并逐帧调整最优N值以构建多个N树,同时,对N树下的子树利用跟踪树算法(CT)进行识别。位图与跟踪树的结合使用消除了空闲时隙并极大降低了碰撞时隙的影响,使得MFBTNA算法性能明显高于现有防碰撞算法,吞吐率可达86.42%~87.05%。

Description

一种基于位图构建的RFID自适应N树防碰撞方法
技术领域
本发明涉及一种RFID系统通信技术,具体涉及一种基于位图构建的RFID自适应N树防碰撞方法。
背景技术
RFID技术通过无线链路识别与定位物件,具有高效、无需接触、批量识别等优点,广泛应用于自动识别领域。RFID系统由后台服务器、读写器及多个标签组成,通过识别标签实现物件快速定位。然而,读写器批量识别标签时,多标签通过共享信道同时传输识别信息以响应读写器从而产生信号碰撞,碰撞标签需重新发送识别信息以便于读写器识别,故增加了识别时延。同时,低价被动标签性能较低,无法感知应用环境下的其它标签。因此,设计高效防碰撞算法以最大限度减少碰撞并降低时延对RFID系统整体效率提升具有重要意义。目前,RFID防碰撞算法主要有ALOHA类和树形算法两类,ALOHA类算法具有识别速度快、操作简单的优点,然而,其存在严重的“标签饥饿”问题,即部分标签长时间得不到识别;树形算法具有识别精度高的优点,然而这类算法每次识别只进行二分割,致使其识别时间较长。
发明内容
针对现有技术的不足,本发明的目的是提供一种基于位图构建的RFID自适应N树防碰撞方法,该方法可以大幅提高RFID标签防碰撞性能,吞吐率可达86.42%~87.05%。
本发明的目的是采用下述技术方案实现的:
本发明提供一种基于位图构建的RFID自适应N树防碰撞方法,其改进之处在于,所述方法包括下述步骤:
步骤1:利用极大似然位跟踪标签数估算法MLBE估算应用环境下的标签数量;
步骤2:利用探针法构建位图,用以指导标签的响应时隙;并逐帧调整最优N值以构建N树,逐一识别N树下的子树。
进一步地,所述步骤1中,利用极大似然位跟踪标签数估算法MLBE对应用环境下的标签数进行估算,即通过检测单bit位碰撞、识别及空闲情况,实现对应用环境下标签数量的估算;其中,极大似然位跟踪标签数估算法MLBE估算的时隙长度为1/DR,根据EPCGlobalC1G2标准知DR为128Kbps。
进一步地,估算应用环境下的标签数量包括下述步骤:
1)读写器广播MLBE命令||Q||r后,标签生成R=Hash(ID,r)mod2Q及随机数Rb∈{0,1},并在时隙R发送Rb给读写器。因此,读写器可接收到长度为2Q的数据串Str;
2)若在时隙R同时接收到0和1则发生碰撞,表明时隙R至少有两个标签响应(碰撞时隙),若只接收到0或1,则该时隙至少有一个标签响应,即无碰撞时隙;若没有接收到0或1,则时隙R内无标签响应,无标签响应即空闲时隙数可精确统计记为e,并将碰撞时隙数记为c;
3)根据盒子占用模型,当标签数为n,盒子总数或帧长为N时,r个盒子中具有w个标签的概率P(w,r,n)如式(1)所示,e个时隙具有0个标签的概率P(w=0,e,n)如式(2)所示:
P ( w , e , n ) | w = 0 = ( - 1 ) e N ! n ! e ! N n Σ j = e N ( - 1 ) j ( N - j ) n ( j - e ) ! ( N - j ) ! ( n ) ! - - - ( 2 ) ;
其中:j表示变量,无实际含义;
同时,标签选取随机时隙响应事件独立且同分布,满足极大似然适用条件,在已知N并统计w=0的时隙数为e的情况下对标签数n进行估算,估算表达式如下:
其中,表示估算标签数,结合表达式(2)~(3)对标签数进行极大似然估算;其中,n≥2Q-e+c表示每个碰撞时隙至少包括两个标签。
进一步地,Q值的选取至少使得2Q内包含1个空闲时隙,Q越大则估算范围越大,当e=1时得Q的最大估算范围;将e=1带入表达式(2)并迭代Q值,得不同Q值的估算范围:
<1>在已知应用环境下,操作人员根据标签数量选取Q值进行估算,若发现e=0,则令Q=Q+1,继续发送MLBE命令||Q||r;其中,r为任意随机数;
<2>在未知应用环境下,则Q从1开始对应用环境下的标签数进行估算,若发现e=0,则令Q=Q+1,继续发送MLBE命令||Q||r;其中,r为任意随机数;
读写器发送MLBE命令||Q||r后,标签生成R=Hash(ID,r)mod2Q及随机数Rb∈{0,1},在时隙R发送Rb给读写器,即标签以1/2Q的概率在任一时隙k响应,则任一时隙k无标签响应的概率P(k)|k=0如下式(4)所示:
P ( k ) | k = 0 = ( 1 - 1 2 Q ) n - - - ( 4 ) ;
由于标签随机选择时隙响应事件相互独立,令E(k)|k=0为e的期望,则:
e = E ( k ) | k = 0 = &Sigma; k = 0 2 Q - 1 P ( k ) | k = 0 = 2 Q ( 1 - 1 2 Q ) n &ap; 2 Q e - n / 2 Q - - - ( 5 ) ;
在未知应用环境下Q从1开始,若e=0则令Q=Q+1继续进行估算,直到e≥1,当E(k)|k=0≥1时,实现对标签数的估算,有下式成立:
2 Q e - n / 2 Q &GreaterEqual; 1 - - - ( 6 ) ;
求解表达式(6)得估算所需给定的最小Q值Qmin,在未知应用环境下令Q=1开始估算直到Qmin为止,其中,n为标签数量。
进一步地,所述步骤2中,利用探针法预先检测可识别时隙、碰撞时隙及空闲时隙,构建位图;
MFBTNA算法在极大似然位跟踪标签数估算法MLBE估算未识别标签基础上,为下一识别帧设置最优N值,并逐帧进行识别。
进一步地,多帧位图跟踪MFBTNA算法包括下述步骤:
1>读写器将其自身内部保存的帧号F置为0并广播SetUp指令(初始化指令),接收该指令后所有标签初始化,并将标签内部保存的帧号Ft置为0;
2>读写器利用极大似然位跟踪标签数估算法MLBE估算应用环境下的标签数量,根据标签估算数量置定MFBTNA算法的N值为
3>读写器组报文DetFm||Qi||F||ri并广播,初始时Qi=Q0,F=0;标签接收到该报文后,首先对比自身保存的Ft与F,若不相等则证明读写器完成了上一帧的识别工作;标签根据上一帧中是否接受过ID识别过程,即根据上一帧构建位图的informi中存在informi[Ri]=1与否来判断自己是否得到识别,i表示帧号;Ft表示标签内部保存的帧号;(Ft表示标签内部保存的帧号,Fi为读写器内部保存的帧号,标签每次对比接收到的Fi与自身保存的Ft,这里的i表示第i帧的意思,即读写器从第i=0帧开始识别,直到将标签识别完毕,为了更好的说明,我将Fi的小标i去掉了改成了F。仅有在F与自身保存的Ft不相等的情况下,开始新的识别帧,并结合位图,使得上一帧已识别标签进入sleep状态。)
①若informi[Ri]=1则证明该标签在上一帧中已识别完毕,保持Ft不变;
②若informi[Ri]≠1则表明该标签未得到识别,令Ft=Ft+1,有Ft=F;
此时,不满足Ft=F的标签进入Sleep状态,直到接收到SetUp指令重新激活;满足Ft=F的标签则计算时隙及生成随机数Rdi∈{0,1},并在时隙Ri发送随机数Rdi
4>读写器根据标签响应信号构建探针数据串Stri,由步骤3>知探针数据串Stri长度为即Stri包括位,第k位为满足Ri=k的标签集响应探针信号Rdi在信道中的信号混叠;由于Rdi的长度与标签ID长度相差1bit,因此将Rdi称为探针;同时,读写器根据Stri构建位图informi,并广播informi,读写器根据探针时隙的碰撞、空闲及可识别状况生成了位图informi;若发现则所有标签识别完毕,结束整个识别过程;
5>标签根据接收到的informi决定自己在哪个子树下进行识别;由于所有生成Ri相同的标签统一到同一子树下利用CT算法进行识别,构成了个子树,子树上包括0个、1个或多个标签;读写器仅对探针没有碰撞的标签在识别帧内进行识别,探针碰撞的标签则在下一识别帧进行识别,实现在当前帧未识别标签移入下一帧进行识别;仅有满足informi[Ri]=1的标签在该帧内进行识别,满足informi[Ri]=0的标签移入下一帧进行识别;读写器仅对生成的Ri满足Stri[Ri]∈{0,1}的标签在当前帧进行识别,生成的Ri相同的标签则分布在同一个子树上,标签令RCi为根据接收到的位图informi中自身生成的Ri对应在位图中的位置informi[Ri]前1的个数,由于在当前识别帧中仅对满足informi[Ri]=1的标签进行识别,这里规定标签在第RCi个子树上进行识别;
6>读写器逐一利用CT算法对构造的子树进行识别;对第0个子树识别时,发送Query命令,对其余子树识别时发送QueryRep命令,每次接收到QueryRep命令,则令RCi=RCi-1,仅有RCi=0的标签接受CT算法的指令和识别流程;读写器逐一利用CT算法识别子树,直到识别完第j=|informi|1-1个子树;其中,|informi|1为位图中1的个数;
7>根据Stri中的空闲探针时隙数利用MLBE估算未识别标签数量;
8>令i=i+1及F=F+1,并根据估算的未识别标签数量设定Qi,并生成随机数ri,返回步骤3>进行下一帧识别。
进一步地:所述步骤3>中,标签生成的决定其发送随机数Rdi的时隙,定义随机数Rdi为长度为1位的探针;
所述步骤4>中,探针数据串Stri[k]的取值包括下述三种情况:
a、Stri[k]=NULL,即在Ri=k探针时隙无标签响应;
b、Stri[k]=*,*表示位碰撞,即在Ri=k探针时隙至少有2个标签响应;
C、Stri[k]={0,1},即在Ri=k探针时隙至少有1个标签响应;
即探针数据串Stri为空字符串,读写器接收不到任何响应信号,则认定所有标签识别完毕,结束识别流程;否则,读写器对满足探针时隙Stri[k]={0,1}的标签进行识别,即读写器仅对探针无碰撞的子树在当前帧进行识别;
所述步骤4)中,读写器根据Stri构建位图informi,其位图构建包括:
读写器将 { k &Element; [ 0 . 2 Q i - 1 ] | Str i [ k ] = NULL &cup; Str i [ k ] = * } 的所有Stri[k]在informi中的对应位informi[k]映射为1,而将的所有Stri[k]在informi中的对应位informi[k]映射为0,构建位图informi
所述步骤6>中,读写器逐一利用CT算法对构造的子树进行识别,包括下述步骤:
A、满足RCi=0的标签构成第0个子树;在读写器发送Query||informi后,接收到该指令后仅有满足RCi=0的标签响应,读写器利用CT算法进行识别;
B、读写器逐子树对标签进行识别:读写器每次发送QueryRep命令,标签接收后都令RCi=RCi-1;(以第1个子树为例,在接收到QueryRep命令后,第0个子树上的标签则RCi=-1不参加子树1的CT算法识别流程,同理,RCi>0的标签也不参加响应CT算法流程。由此可知,仅有满足RCi=1的标签参加第1个子树的CT识别流程,依次类推,仅有满足RCi=j的标签参加第j个子树的CT识别流程,直到识别完第j=|informi|1-1个子树,其中,|informi|1为位图中1的个数。)
所述步骤7>中,根据探针字符串Stri中的空闲探针时隙数利用极大似然位跟踪标签数估算法MLBE估算未识别标签数量,包括:
读写器利用极大似然位跟踪标签数估算法MLBE估算未识别标签个数且根据选取Qi+1,并令以构建下一识别帧的N树,则有:
其中,Iciden为当前帧识别的标签数,u为当前帧中满足{Stri[k]|Stri[k]=NULL∪Stri[k]=*}的探针时隙总数;探针碰撞时隙至少有两个标签响应,故有根据极大似然位跟踪标签数估算法MLBE估算当前帧标签数,并减去已识别标签数Iciden得未识别标签数ei为满足Stri[k]=NULL的探针时隙数。
进一步地,MFBTNA算法利用探针法对子树下是否具有多个标签检测,以决定是否对子树标签进行识别,探针碰撞的子树标签直接移入下一帧识别;否则,在探针无碰撞且非空闲的子树下标签则在当前帧进行识别,令P(r)为r个标签在同一探针时隙响应且生成的Rdi相同的概率,读写器对相应子树下的标签利用CT算法进行识别,则:
P ( r ) = n i r ( 1 2 Q i ) r ( 1 - 1 2 Q i ) n i - r ( 1 2 ) r - 1 - - - ( 8 ) ;
其中,ni为第i帧后未识别的标签数;若子树下包含r个标签,则该子树具有r个叶子节点,根据CT算法在碰撞位处分割碰撞标签集的特点,每个内部节点包含两个子节点;具有r个叶子节点的二叉树总节点数为2r-1;设IM和TM分别为第i帧利用CT算法进行识别的标签数及耗用总时隙数,则有:
I M = &Sigma; r = 1 r = n i ( 2 Q i n i r ( 1 2 Q i ) r ( 1 - 1 2 Q i ) n i - r ( 1 2 ) r - 1 r ) - - - ( 9 ) ;
T M = &Sigma; r = 1 r = n i ( 2 Q i n i r ( 1 2 Q i ) r ( 1 - 1 2 Q i ) n i - r ( 1 2 ) r - 1 ( 2 r - 1 ) ) - - - ( 10 ) ;
将探针时隙及读写器发送位图Informi的所需耗时等同换算为标签识别时隙数,设Tinform为换算后的时隙数,则:
T inform = 2 Q i + | Inform i | | ID | + | QueryRep | = 2 Q i + 2 Q i | ID | + | QueryRep | - - - ( 11 ) ;
其中:|·|为字符串长度运算符,其中,·为字符串变量,根据EPCGlobalC1G2标准知|ID|=96、|QueryRep|=4;
和ST分别为未识别标签数为ni情况下MFBTNA算法的吞吐率及总时隙数,总时隙包括TInform及TM,则有:
E ( n i , 2 Q i ) = I M S T = I M T inform + T M - - - ( 12 ) .
与现有技术比,本发明达到的有益效果是:
(1)本发明提供的基于位图构建的MFBTNA算法,利用探针构建位图并广播给标签用以指导标签选择时隙进行响应。其消除了空闲时隙,并减少了碰撞时隙的影响,从而极大地提高了RFID系统识别效率,MFBTNA算法性能明显高于现有防碰撞算法,吞吐率可达86.42%~87.05%。
(2)MFBTNA算法的探针过程融合了MLBE算法估算,读写器无需另外耗时来估算每帧的未识别标签数。同时,结合了树形算法识别精度高和ALOHA算法识别速度快的优点,从而有效解决了现有ALOHA算法的标签饥饿问题及树形算法碰撞概率大的缺点。
附图说明
图1是本发明提供的MFBTNA算法的流程图;
图2是本发明提供的MFBTNA算法识别示例图;
图3是本发明提供的MLBE算法原理图。
具体实施方式
下面结合附图对本发明的具体实施方式作进一步的详细说明。
本发明提供一种基于位图构建的RFID自适应N树防碰撞方法(MFBTNA)。首先,利用极大似然位跟踪标签数估算法(MLBE)估算未识别标数量,进而将未识别标签分布到N个子树下进行识别,避免了树形算法识别从根节点分割碰撞概率大的缺点;其次,利用探针法预先检测可识别时隙、碰撞时隙及空闲时隙,并构建识别位图用以指导标签的响应时隙,利用探针法构建的位图逐帧构建N树,将N树中深度较深的子树标签(探针碰撞)移入下一帧进行识别,而深度较低的子树(探针无碰撞)则采用CT算法在当前帧进行识别。
所述MFBTNA算法采用探针法构建位图,其消除了空闲时隙,并降低了碰撞时隙的影响,极大地提高了RFID系统识别效率。
所述MFBTNA算法根据探针法检测到的探针碰撞、识别及空闲决定N树下进行CT识别的子树,并统计空闲探针时隙数采用MLBE算法估算未识别标签,为下一识别帧设置最优N值,逐帧进行识别。除首次估算外,探针检测过程融合MLBE估算,无需付出额外估算成本。
本发明提供的基于位图构建的RFID自适应N树防碰撞方法的流程图如图1所示,包括下述步骤:
步骤1:估算标签数量:
利用极大似然位跟踪标签数估算法(MLBE)对应用环境下的标签数量进行估算。即通过检测单bit位碰撞、识别及空闲情况,从而实现对未识别标签数的估算。其中,MLBE算法估算的时隙长度为1/DR,根据EPCGlobalC1G2标准,DR为128Kbps。
所述MLBE算法具体描述如下:
(1)读写器广播MLBE命令||Q||r后,标签生成R=Hash(ID,r)mod2Q及随机数Rb∈{0,1},并在时隙R发送Rb给读写器。因此,读写器可接收到长度为2Q的数据串Str;
(2)若在时隙R同时接收到(0,1)则发生碰撞,表明时隙R至少有两个标签响应(碰撞时隙),若只接收到(0或1)则该时隙至少有一个标签响应(无碰撞时隙),没有接收到(0或1)则时隙R内无标签响应,无标签响应即空闲时隙数精确统计记为e,同时,将碰撞时隙数记为c;
(3)根据盒子占用模型,当标签数为n,盒子总数(帧长)为N时,r个盒子中具有w个标签的概率P(w,r,n)如式(1)。因此,e个时隙具有0个标签的概率P(w=0,e,n)如公式(2):
P ( w , e , n ) | w = 0 = ( - 1 ) e N ! n ! e ! N n &Sigma; j = e N ( - 1 ) j ( N - j ) n ( j - e ) ! ( N - j ) ! ( n ) ! - - - ( 2 ) ;
同时,标签选取随机时隙响应事件独立且同分布,故而满足极大似然适用条件,在已知N并统计w=0的时隙数为e的情况下对标签数n进行估算,估算公式如下:
其中,表示估算标签数;结合表达式(2)~(3)可对标签数进行极大似然估算。其中,n≥2Q-e+c表示每个碰撞时隙至少包括两个标签。
所述MLBE算法Q值选取方法描述如下:
1)在已知应用环境下,操作人员可根据大致标签数量选取Q值进行快速估算,若发现e=0,则令Q=Q+1,继续发送MLBE命令||Q||r指令,其中,r可以为任意随机数。与此同时,Q值选取应至少使得2Q内包含1个空闲时隙,Q越大则估算范围也越大,当e=1时可得Q的最大估算范围。因此,将e=1带入表达式(2)并迭代Q值,可得不同Q值的估算范围见表2,从而根据大致标签数并利用表2选取Q值可进行快速估算。
表1Q值选取
2)在未知应用环境下则Q从1开始对应用环境下的标签数进行估算,若发现e=0,则令Q=Q+1,继续发送MLBE命令||Q||r指令,其中,r可以为任意随机数。
读写器发送MLBE命令||Q||r后,标签生成R=Hash(ID,r)mod2Q及随机数Rb∈{0,1},在时隙R发送Rb给读写器,即标签以1/2Q的概率在任一时隙k响应,则任一时隙k无标签响应的概率P(k)|k=0如下式:
P ( k ) | k = 0 = ( 1 - 1 2 Q ) n - - - ( 4 ) ;
由于标签随机选择时隙响应事件相互独立,令E(k)|k=0为e的期望,则:
e = E ( k ) | k = 0 = &Sigma; k = 0 2 Q - 1 P ( k ) | k = 0 = 2 Q ( 1 - 1 2 Q ) n &ap; 2 Q e - n / 2 Q - - - ( 5 ) ;
因此,在未知应用环境下Q从1开始,若e=0则令Q=Q+1继续进行估算,直到e≥1,由此可见,当E(k)|k=0≥1则可实现对标签数的估算,有下式成立:
2 Q e - n / 2 Q &GreaterEqual; 1 - - - ( 6 ) ;
其中,n为应用环境下的标签数。求解表达式(6)可得估算所需给定的最小Q值Qmin,从而在未知应用环境下可令Q=1开始估算直到Qmin为止。
步骤2:利用探针法构建位图,用以指导标签的响应时隙。并逐帧调整最优N值以构建N树,逐一识别N树下的子树:
所述MFBTNA算法在MLBE算法估算未识别标签基础上,为下一识别帧设置最优N值,并逐帧进行识别。
所述MFBTNA算法包含的指令及参数见表2:
表2MFBTNA算法指令及参数
所述MFBTNA算法具体实现流程如下:
1)读写器将自身帧号F置为0并广播SetUp指令(初始化指令)(其作用为使得所有标签的帧号变为0,及后面的一句话,这里的意思为所有帧号为0,即读写器要对所有应用环境下的标签进行识别),接收该指令后所有标签初始化,并将自身帧号Ft置为0;
2)读写器利用MLBE算法估算应用环境下的标签数量。根据标签估算数量,置定MFBTNA算法的N值为
3)读写器组报文DetFm||Qi||F||ri并广播,初始时Qi=Q0,F=0;标签接收到该报文后,首先对比自身保存的Ft与F,若不相等则证明读写器完成了上一帧的识别工作。此时,标签根据上一帧中是否接收过ID识别过程,即根据上一帧构建的位图的informi中存在informi[Ri]=1与否来判断自己是否得到识别:
①若informi[Ri]=1则证明该标签在上一帧中已识别完毕,保持Ft不变,
②若informi[Ri]≠1则表明该标签未得到识别,令Ft=Ft+1,此时有Ft=F。
此时,不满足Ft=F的标签进入Sleep状态,直到接收到SetUp指令重新激活,而满足Ft=F的标签则计算及生成Rdi∈{0,1},并在时隙Ri发送随机数Rdi,其中,标签生成的决定了其发送随机数Rdi的时隙,定义随机数Rdi为长度为1位的探针;
4)读写器根据标签响应信号构建探针数据串Stri,由步骤3)可知Stri长度为即Stri包括位,第k位为满足Ri=k的标签集响应探针信号Rdi在信道中的信号混叠。由于Rdi的长度与标签ID长度相比极短,仅为1bit,故这里将其称为探针。可见探针数据串Stri[k]的取值包括下述三种情况:
①Stri[k]=NULL,即在Ri=k探针时隙无标签响应;
②Stri[k]=*,*表示位碰撞,即在Ri=k探针时隙至少有2个标签响应;
③Stri[k]={0,1},即在Ri=k探针时隙至少有1个标签响应。
即探针数据串Stri为空字符串,读写器接收不到任何响应信号,则认定所有标签识别完毕,结束识别流程。否则,读写器对满足探针时隙Stri[k]={0,1}的标签进行识别,即读写器仅对探针无碰撞的子树在当前帧进行识别;
同时,读写器根据Stri构建位图informi,并广播informi。因此,读写器根据探针时隙的碰撞、空闲及可识别状况生成了位图informi;读写器根据Stri构建位图informi,其位图构建方法如下:
读写器将 { k &Element; [ 0 . 2 Q i - 1 ] | Str i [ k ] = NULL &cup; Str i [ k ] = * } 的所有Stri[k]在informi中的对应位informi[k]映射为1,而将的所有Stri[k]在informi中的对应位informi[k]映射为0,从而可构建位图informi
在该步骤中若发现则所有标签识别完毕,结束整个识别过程;
5)标签根据接收到的informi决定自己在哪个子树下进行识别。由于所有生成Ri相同的标签统一到同一子树下利用CT算法进行识别,从而可构成了个子树,子树上可能包括0个、1个或多个标签。读写器仅对探针没有碰撞的标签在该识别帧内进行识别,而探针碰撞的标签则在下一识别帧进行识别,即帧号对比的方式,实现在当前帧未识别标签移入下一帧进行识别;规定仅有满足informi[Ri]=1的标签在该帧内进行识别,而满足informi[Ri]=0的标签移入下一帧进行识别。因此,读写器仅对生成的Ri满足Stri[Ri]∈{0,1}的标签在当前帧进行识别,而生成的Ri相同的标签则分布在同一个子树上,标签令RCi为根据接收到的位图informi中自身生成的Ri对应在位图中的位置informi[Ri]前1的个数,由于在当前识别帧中仅对满足informi[Ri]=1的标签进行识别,这里规定标签在第RCi个子树上进行识别;
6)读写器逐一利用CT算法对构造的子树进行识别。对第0个子树识别时,发送Query||informi命令,而对其余子树识别时,发送QueryRep命令,每次接收到QueryRep命令则令RCi=RCi-1,仅有RCi=0的标签接受CT算法的指令和识别流程。读写器逐一利用CT算法识别子树,直到识别完第j=|informi|1-1个子树。其中,|informi|1为位图中1的个数,具体步骤如下:
①满足RCi=0的标签构成了第0个子树。在读写器发送Query||informi后,接收到该指令后满足RCi=0的标签利用CT算法进行识别;
②随后读写器逐子树对标签进行识别。读写器每次发送QueryRep命令,标签接收后都令RCi=RCi-1。以第1个子树为例,在接收到QueryRep命令后,第0个子树上的标签则RCi=-1不参加子树1的CT算法识别流程,同理,RCi>0的标签也不参加响应CT算法流程,由此可知,仅有满足RCi=1的标签参加第1个子树的CT识别流程,依次类推,仅有满足RCi=j的标签参加第j个子树的CT识别流程。
7)根据Stri中的空闲探针时隙数利用MLBE估算当前帧未识别标签数量,即根据Stri中的空闲探针时隙数利用MLBE估算未识别标签数量,读写器估算未识别标签个数根据选取Qi+1,并令以构建下一识别帧的N树,则有:
其中,Iciden为当前帧识别标签数,u为当前帧中满足{Stri[k]|Stri[k]=NULL∪Stri[k]=*}的探针时隙总数。由于探针碰撞时隙至少有两个标签响应,故有根据MLBE算法估算当前帧标签数,并减去已识别标签数Iciden则可得未识别标签数同时,ei为满足Stri[k]=NULL的探针时隙数。
8)令i=i+1及F=F+1,并根据估算的未识别标签数量设定Qi,并生成随机数ri,返回步骤3)进行下一帧识别。
所述MFBTNA算法吞吐率和识别延时分析方法描述如下:
MFBTNA算法利用探针法对子树是否具有多个标签检测,以决定是否对子树标签进行识别,探针碰撞的子树标签直接移入下一帧识别。否则,在探针无碰撞且非空闲的子树下标签则在当前帧进行识别,令P(r)为r个标签在同一探针时隙响应且生成的Rdi相同的概率,读写器对相应子树下的标签利用CT算法进行识别,则:
P ( r ) = n i r ( 1 2 Q i ) r ( 1 - 1 2 Q i ) n i - r ( 1 2 ) r - 1 - - - ( 8 ) ;
其中,ni为第i帧后未识别标签数。从上式可知r越大,则P(r)越小,N树下具有b个标签的子树在当前识别帧进行CT算法识别的概率为(1/2)b-1,由此可知,具有1个标签的子树在当前帧识别的概率为100%,而2个标签的子树识别的概率为50%,依次类推可见子树下标签越多则进入下一帧识别的概率越大。因此,MFBTNA算法仅对深度较低的子树在当前帧识别,而深度较深的子树则在下一帧识别。若子树下包含r个标签,则该子树具有r个叶子节点,根据CT算法在碰撞位处分割碰撞标签集的特点,每个内部节点包含两个子节点。因此,具有r个叶子节点的二叉树总节点数为2r-1。设IM和TM分别为第i帧利用CT算法进行识别的标签数及耗用总时隙数,则有:
I M = &Sigma; r = 1 r = n i ( 2 Q i n i r ( 1 2 Q i ) r ( 1 - 1 2 Q i ) n i - r ( 1 2 ) r - 1 r ) - - - ( 9 ) ;
T M = &Sigma; r = 1 r = n i ( 2 Q i n i r ( 1 2 Q i ) r ( 1 - 1 2 Q i ) n i - r ( 1 2 ) r - 1 ( 2 r - 1 ) ) - - - ( 10 ) ;
将探针时隙及读写器发送位图Informi的所需耗时等同换算为标签识别时隙数。设Tinform为换算后的时隙数,则:
T inform = 2 Q i + | Inform i | | ID | + | QueryRep | = 2 Q i + 2 Q i | ID | + | QueryRep | - - - ( 11 ) ;
其中:|·|为字符串长度运算符,根据EPCGlobalC1G2标签可知|ID|=96、|QueryRep|=4。
和ST分别为未识别标签数为ni情况下MFBTNA算法的吞吐率及总时隙数,由于总时隙包括TInform及TM,则有:
E ( n i , 2 Q i ) = I M S T = I M T inform + T M - - - ( 12 ) .
实施例
下面结合具体实施例对本发明的技术方案作进一步的详细说明。
如图1所示:
本发明提出的MFBTNA算法,其特征在于:根据探针法检测到的探针碰撞、识别及空闲决定N树下进行CT算法识别的子树,并统计空闲探针时隙数采用MLBE算法估算未识别标签,为下一识别帧设置最优N值,逐帧进行识别。除首次估算外,探针检测过程融合MLBE估算,无需付出额外估算成本。具体实现流程如下:
1)读写器将自身帧号F置为0并广播SetUp指令(初始化指令),接收该指令后所有标签初始化,并将自身帧号Ft置为0;
2)读写器利用MLBE算法估算应用环境下的标签数量。根据标签估算数量,置定MFBTNA算法的N值为
3)读写器组报文DetFm||Qi||F||ri并广播,初始时Qi=Q0,F=0;标签接收到该报文后,首先对比自身保存的Ft与F,若不相等则证明读写器完成了上一帧的识别工作。此时,标签根据上一帧中是否接收过ID识别过程,即根据上一帧构建的位图的informi中存在informi[Ri]=1与否来判断自己是否得到识别,
①若informi[Ri]=1则证明该标签在上一帧中已识别完毕,保持Ft不变,
②若informi[Ri]≠1则表明该标签未得到识别,令Ft=Ft+1,此时有Ft=F。
此时,不满足Ft=F的标签进入Sleep状态,直到接收到SetUp指令重新激活。而满足Ft=F的标签则计算及生成Rdi∈{0,1},并在时隙Ri发送随机数Rdi,其中,标签生成的决定了其发送随机数Rdi的时隙,定义随机数Rdi为长度为1位的探针;
4)读写器根据标签响应信号构建探针数据串Stri,由步骤3)可知Stri长度为即Stri包括位,第k位为满足Ri=k的标签集响应探针信号Rdi在信道中的信号混叠。由于Rdi的长度与标签ID长度相比极短,仅为1bit,故这里将其称为探针。可见探针数据串Stri[k]的取值包括下述三种情况:
①Stri[k]=NULL,即在Ri=k探针时隙无标签响应;
②Stri[k]=*,*表示位碰撞,即在Ri=k探针时隙至少有2个标签响应;
③Stri[k]={0,1},即在Ri=k探针时隙至少有1个标签响应。
即探针数据串Stri为空字符串,读写器接收不到任何响应信号,则认定所有标签识别完毕,结束识别流程。否则,读写器对满足探针时隙Stri[k]={0,1}的标签进行识别,即读写器仅对探针无碰撞的子树在当前帧进行识别;
同时,读写器根据Stri构建位图informi,并广播informi。因此,读写器根据探针时隙的碰撞、空闲及可识别状况生成了位图informi;读写器根据Stri构建位图informi,其位图构建方法如下:
读写器将 { k &Element; [ 0 . 2 Q i - 1 ] | Str i [ k ] = NULL &cup; Str i [ k ] = * } 的所有Stri[k]在informi中的对应位informi[k]映射为1,而将的所有Stri[k]在informi中的对应位informi[k]映射为0,从而可构建位图informi
在该步骤中若发现则所有标签识别完毕,结束整个识别过程;
5)标签根据接收到的informi决定自己在哪个子树下进行识别。由于所有生成Ri相同的标签统一到同一子树下利用CT算法进行识别,从而可构成了个子树,子树上可能包括0个、1个或多个标签。读写器仅对探针没有碰撞的标签在该识别帧内进行识别,而探针碰撞的标签则在下一识别帧进行识别,即帧号对比的方式,实现在当前帧未识别标签移入下一帧进行识别;规定仅有满足informi[Ri]=1的标签在该帧内进行识别,而满足informi[Ri]=0的标签移入下一帧进行识别。因此,读写器仅对生成的Ri满足Stri[Ri]∈{0,1}的标签在当前帧进行识别,而生成的Ri相同的标签则分布在同一个子树上,标签令RCi为根据接收到的位图informi中自身生成的Ri对应在位图中的位置informi[Ri]前1的个数,由于在当前识别帧中仅对满足informi[Ri]=1的标签进行识别,这里规定标签在第RCi个子树上进行识别;
6)读写器逐一利用CT算法对构造的子树进行识别。对第0个子树识别时,发送Query||informi命令,而对其余子树识别时,发送QueryRep命令,每次接收到QueryRep命令则令RCi=RCi-1,仅有RCi=0的标签接受CT算法的指令和识别流程。读写器逐一利用CT算法识别子树,直到识别完第j=|informi|1-1个子树。其中,|informi|1为位图中1的个数,具体步骤如下:
①满足RCi=0的标签构成了第0个子树。在读写器发送Query||informi后,接收到该指令后满足RCi=0的标签利用CT算法进行识别;
②随后读写器逐子树对标签进行识别。读写器每次发送QueryRep命令,标签接收后都令RCi=RCi-1。以第1个子树为例,在接收到QueryRep命令后,第0个子树上的标签则RCi=-1不参加子树1的CT算法识别流程,同理,RCi>0的标签也不参加响应CT算法流程,由此可知,仅有满足RCi=1的标签参加第1个子树的CT识别流程,依次类推,仅有满足RCi=j的标签参加第j个子树的CT识别流程。
7)根据Stri中的空闲探针时隙数利用MLBE估算当前帧未识别标签数量,即根据Stri中的空闲探针时隙数利用MLBE估算未识别标签数量,读写器估算未识别标签个数根据选取Qi+1,并令以构建下一识别帧的N树,则有:
其中,Iciden为当前帧识别标签数,u为当前帧中满足{Stri[k]|Stri[k]=NULL∪Stri[k]=*}的探针时隙总数。由于探针碰撞时隙至少有两个标签响应,故有根据MLBE算法估算当前帧标签数,并减去已识别标签数Iciden则可得未识别标签数同时,ei为满足Stri[k]=NULL的探针时隙数。
9)令i=i+1及F=F+1,并根据估算的未识别标签数量设定Qi+1,并生成随机数ri,返回步骤3)进行下一帧识别。
于此同时,对应每个Qi,当未识别标签数n∈[nmin(Qi)...nmax(Qi)]时MFBTNA算法获得最优吞吐率,其中,nmin(Qi)及nmax(Qi)为Qi取得最优吞吐率的边界。其中,最优Qi+1值应满足以下表达式:
E ( n max ( Q i ) , 2 Q i ) > E ( n min ( Q i + 1 ) , 2 Q i + 1 ) - - - ( 14 )
同时,nmax(Qi)=nmin(Qi+1)-1。因此,nmax(Qi)为满足以下不等式的最大标签数边界,进而可知:
E ( n max ( Q i ) , 2 Q i ) > E ( n min ( Q i + 1 ) + 1 , 2 Q i + 1 ) - - - ( 15 )
因此,从Qi=1及Qi=2开始,迭代标签数n并递增Qi使其满足表达式15,即可获得Qi∈[1,15]时MFBTNA算法的最优区间如表3。这里读写器可根据估算的进而利用表3设定Qi+1
表3MFBTNA算法的最优区间表
所述MFBTNA算法利用标签生成Ri和Rdi的方式将标签集随机分布在N个子树下,探针法即标签将生成的Rdi∈{0,1}作为探针在探针时隙响应读写器DetFm||Qi||F||ri报文,进而得到探针识别串Stri并构建位图informi,对满足informi[Ri]=1的所有子树在当前识别帧识别。
如图2所示,MFBTNA算法识别示例描述如下:
假设应用环境下有10个标签,读写器广播SetUp命令使所有标签Ft=0,利用MLBE估算标签数得并设置Q0=3。读写器广播DetFm||0011||000||r0使所有标签选择随机数R0=Hash(ID,r0)mod23及Rd0∈{0,1},从而标签在各自的时隙R0发送随机数Rd0,则读写器检测到探针串Str0=0NULLNULL111**。利用MFBTNA识别则构建位图inform0=10011100,读写器发送Query命令||inform0,仅有满足inform0[R0]=1且RC0=0的标签响应并利用CT算法识别子树标签。因此,满足RC0=0的标签1、3在读写器发送Query命令||inform0时,标签1、3响应,读写器利用CT算法根据ID碰撞位对标签1,3进行识别,构成了第0个子树。随后,读写器发送QueryRep命令,由于标签10的inform0[R0]=1且RC0=1,构成了第1个子树。同样的,标签4,5构成了第2个子树,标签6则构成了第3个子树。当识别完第|informi|1-1个子树时完成第0帧的识别,利用公式(4)估算标签数得并选取Q1=2,第0帧结束。而探针时隙碰撞的标签7,9,2,8未得到识别,移入第1帧进行识别。第1帧开始,读写器发送DetFm指令||0010||001,在第0帧中读写器广播的inform0[R0]≠1的标签7,9,2,8保存帧号Ft=1,而上一帧已识别标签进入Sleep状态,第1帧的识别过程与第0帧类似,不再累述,随后读写器估算未识别标签数为1,选定Q2为0,进入第2帧,读写器广播DetFm||0000||010,此后,接收到探针串可知识别流程完毕,结束算法流程。由上可见,MFBTNA逐帧进行识别,每帧构建1个N树,在每帧完成Stri[k]={0,1}的标签的识别。
如图3所示,所述MLBE算法利用位跟踪对应用环境下未识别标签数估算,仅检测单bit位碰撞、识别及空闲情况实现对未识别标签数估算,而无需在每个时隙标签发送整个ID。因此,MLBE算法估算导致的延时极小,时隙长度为1/DR。
所述MLBE算法具体描述如下:
(1)读写器广播MLBE命令||Q||r后,标签生成R=Hash(ID,r)mod2Q及随机数Rb∈{0,1},并在时隙R发送Rb给读写器。因此,读写器可接收到长度为2Q的数据串Str;
(2)若在时隙R同时接收到(0,1)则发生碰撞,表明时隙R至少有两个标签响应(碰撞时隙),若只接收到(0或1)则该时隙至少有一个标签响应(无碰撞时隙),没有接收到(0或1)则时隙R内无标签响应,无标签响应即空闲时隙数精确统计记为e,同时,将碰撞时隙数记为c;
(3)根据盒子占用模型,当标签数为n,盒子总数(帧长)为N时,r个盒子中具有w个标签的概率P(w,r,n)如式(1)。因此,e个时隙具有0个标签的概率P(w=0,e,n)如公式(2):
P ( w , e , n ) | w = 0 = ( - 1 ) e N ! n ! e ! N n &Sigma; j = e N ( - 1 ) j ( N - j ) n ( j - e ) ! ( N - j ) ! ( n ) ! - - - ( 2 ) ;
同时,标签选取随机时隙响应事件独立且同分布,故而满足极大似然适用条件,在已知N并统计w=0的时隙数为e的情况下对标签数n进行估算,估算公式如下:
其中,表示估算标签数;结合表达式(2)~(3)可对标签数进行极大似然估算。其中,n≥2Q-e+c表示每个碰撞时隙至少包括两个标签。
由上可知,由于MLBE算法每个时隙仅包含1bit传输时长,与现有估算法中时隙长度相比极短。因此,MLBE算法耗时极短。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员依然可以对本发明的具体实施方式进行修改或者等同替换,这些未脱离本发明精神和范围的任何修改或者等同替换,均在申请待批的本发明的权利要求保护范围之内。

Claims (8)

1.一种基于位图构建的RFID自适应N树防碰撞方法,其特征在于,所述方法包括下述步骤:
步骤1:利用极大似然位跟踪标签数估算法MLBE估算应用环境下的标签数量;
步骤2:利用探针法构建位图,以指导标签的响应时隙;并逐帧调整最优N值以构建N树,逐一识别N树下的子树。
2.如权利要求1所述的RFID自适应N树防碰撞方法,其特征在于,所述步骤1中,利用极大似然位跟踪标签数估算法MLBE估算应用环境下的标签数,即通过检测单bit位碰撞、识别及空闲情况,实现对应用环境下标签数量的估算;其中,极大似然位跟踪标签数估算法MLBE估算的时隙长度为1/DR,根据EPCGlobalC1G2标准知DR为128Kbps。
3.如权利要求2所述的RFID自适应N树防碰撞方法,其特征在于,估算应用环境下的标签数量包括下述步骤:
1)读写器广播MLBE命令||Q||r后,标签生成R=Hash(ID,r)mod2Q及随机数Rb∈{0,1},并在时隙R发送Rb给读写器,所述读写器接收到长度为2Q的数据串Str;
2)若在时隙R同时接收到0和1则发生碰撞,表明时隙R至少有两个标签响应,若只接收到0或1,则该时隙至少有一个标签响应,即无碰撞时隙;若没有接收到0或1,则时隙R内无标签响应,无标签响应即空闲时隙数可精确统计记为e,并将碰撞时隙数记为c;
3)根据盒子占用模型,当标签数为n,盒子总数或帧长为N时,r个盒子中具有w个标签的概率P(w,r,n)如式(1)所示,e个时隙具有0个标签的概率P(w=0,e,n)如式(2)所示:
P ( w , e , n ) | w = 0 = ( - 1 ) e N ! n ! e ! N n &Sigma; j = e N ( - 1 ) j ( N - j ) n ( j - e ) ! ( N - j ) ! ( n ) ! - - - ( 2 ) ;
其中:j表示变量,无实际含义;
同时,标签选取随机时隙响应事件独立且同分布,满足极大似然适用条件,在已知N并统计w=0的时隙数为e的情况下对标签数n进行估算,估算表达式如下:
其中,表示估算标签数,结合表达式(2)~(3)对标签数进行极大似然估算;其中,n≥2Q-e+c表示每个碰撞时隙至少包括两个标签。
4.如权利要求3所述的RFID自适应N树防碰撞方法,其特征在于,Q值的选取至少使得2Q内包含1个空闲时隙,Q越大则估算范围越大,当e=1时得Q的最大估算范围;将e=1带入表达式(2)并迭代Q值,得不同Q值的估算范围:
<1>在已知应用环境下,操作人员根据标签数量选取Q值进行估算,若发现e=0,则令Q=Q+1,继续发送MLBE命令||Q||r;其中,r为任意随机数;
<2>在未知应用环境下,则Q从1开始对应用环境下的标签数进行估算,若发现e=0,则令Q=Q+1,继续发送MLBE命令||Q||r;其中,r为任意随机数;
读写器发送MLBE命令||Q||r后,标签生成R=Hash(ID,r)mod2Q及随机数Rb∈{0,1},在时隙R发送Rb给读写器,即标签以1/2Q的概率在任一时隙k响应,则任一时隙k无标签响应的概率P(k)|k=0如下式(4)所示:
P ( k ) | k = 0 = ( 1 - 1 2 Q ) n - - - ( 4 ) ;
标签随机选择时隙响应事件相互独立,令E(k)|k=0为e的期望,则:
e = E ( k ) | k = 0 = &Sigma; k = 0 2 Q - 1 P ( k ) | k = 0 = 2 Q ( 1 - 1 2 Q ) n &ap; 2 Q e - n / 2 Q - - - ( 5 ) ;
在未知应用环境下Q从1开始,若e=0则令Q=Q+1继续进行估算,直到e≥1,
当E(k)|k=0≥1时,实现对标签数的估算,有下式成立:
2 Q e - n / 2 Q &GreaterEqual; 1 - - - ( 6 ) ;
求解表达式(6)得估算所需给定的最小Q值Qmin,在未知应用环境下令Q=1开始估算直到Qmin为止,其中,n为标签数量。
5.如权利要求1所述的RFID自适应N树防碰撞方法,其特征在于,所述步骤2中,利用探针法预先检测可识别时隙、碰撞时隙及空闲时隙,构建位图;
MFBTNA算法在极大似然位跟踪标签数估算法MLBE估算未识别标签基础上,为下一识别帧设置最优N值,并逐帧进行识别。
6.如权利要求5所述的RFID自适应N树防碰撞方法,其特征在于,多帧位图跟踪MFBTNA算法包括下述步骤:
1>读写器将其自身内部保存的帧号F置为0并广播SetUp指令,接收该指令后所有标签初始化,并将标签内部保存的帧号Ft置为0;
2>读写器利用极大似然位跟踪标签数估算法MLBE估算应用环境下的标签数量,根据标签估算数量置定MFBTNA算法的N值为
3>读写器组报文DetFm||Qi||F||ri并广播,初始时Qi=Q0,F=0;标签接收到该报文后,首先对比自身保存的Ft与F,若不相等则证明读写器完成了上一帧的识别工作;标签根据上一帧中是否接受过ID识别过程,即根据上一帧构建位图的informi中存在informi[Ri]=1与否来判断自己是否得到识别,i表示帧号;Ft表示标签内部保存的帧号;
①若informi[Ri]=1则证明该标签在上一帧中已识别完毕,保持Ft不变;
②若informi[Ri]≠1则表明该标签未得到识别,令Ft=Ft+1,有Ft=F;
此时,不满足Ft=F的标签进入Sleep状态,直到接收到SetUp指令重新激活;满足Ft=F的标签则计算时隙及生成随机数Rdi∈{0,1},并在时隙Ri发送随机数Rdi
4>读写器根据标签响应信号构建探针数据串Stri,由步骤3>知探针数据串Stri长度为即Stri包括位,第k位为满足Ri=k的标签集响应探针信号Rdi在信道中的信号混叠;由于Rdi的长度与标签ID长度相差1bit,因此将Rdi称为探针;同时,读写器根据Stri构建位图informi,并广播informi,读写器根据探针时隙的碰撞、空闲及可识别状况生成了位图informi;若发现则所有标签识别完毕,结束整个识别过程;
5>标签根据接收到的informi决定自己在哪个子树下进行识别;由于所有生成Ri相同的标签统一到同一子树下利用CT算法进行识别,构成了个子树,子树上包括0个、1个或多个标签;读写器仅对探针没有碰撞的标签在识别帧内进行识别,探针碰撞的标签则在下一识别帧进行识别,实现在当前帧未识别标签移入下一帧进行识别;仅有满足informi[Ri]=1的标签在该帧内进行识别,满足informi[Ri]=0的标签移入下一帧进行识别;读写器仅对生成的Ri满足Stri[Ri]∈{0,1}的标签在当前帧进行识别,生成的Ri相同的标签则分布在同一个子树上,标签令RCi为根据接收到的位图informi中自身生成的Ri对应在位图中的位置informi[Ri]前1的个数,由于在当前识别帧中仅对满足informi[Ri]=1的标签进行识别,这里规定标签在第RCi个子树上进行识别;
6>读写器逐一利用CT算法对构造的子树进行识别;对第0个子树识别时,发送Query命令,对其余子树识别时发送QueryRep命令,每次接收到QueryRep命令,则令RCi=RCi-1,仅有RCi=0的标签接受CT算法的指令和识别流程;读写器逐一利用CT算法识别子树,直到识别完第j=|informi|1-1个子树;其中,|informi|1为位图中1的个数;
7>根据Stri中的空闲探针时隙数利用MLBE估算未识别标签数量;
8>令i=i+1及F=F+1,并根据估算的未识别标签数量设定Qi,并生成随机数ri,返回步骤3>进行下一帧识别。
7.如权利要求6所述的RFID自适应N树防碰撞方法,其特征在于:
所述步骤3>中,标签生成的决定其发送随机数Rdi的时隙,定义随机数Rdi为长度为1位的探针;
所述步骤4>中,探针数据串Stri[k]的取值包括下述三种情况:
a、Stri[k]=NULL,即在Ri=k探针时隙无标签响应;
b、Stri[k]=*,*表示位碰撞,即在Ri=k探针时隙至少有2个标签响应;
C、Stri[k]={0,1},即在Ri=k探针时隙至少有1个标签响应;
即探针数据串Stri为空字符串,读写器接收不到任何响应信号,则认定所有标签识别完毕,结束识别流程;否则,读写器对满足探针时隙Stri[k]={0,1}的标签进行识别,即读写器仅对探针无碰撞的子树在当前帧进行识别;
所述步骤4)中,读写器根据Stri构建位图informi,其位图构建包括:
读写器将的所有Stri[k]在informi中的对应位informi[k]映射为1,而将的所有Stri[k]在informi中的对应位informi[k]映射为0,构建位图informi
所述步骤6>中,读写器逐一利用CT算法对构造的子树进行识别,包括下述步骤:
A、满足RCi=0的标签构成第0个子树;在读写器发送Query||informi后,接收到该指令后仅有满足RCi=0的标签响应,读写器利用CT算法进行识别;
B、读写器逐子树对标签进行识别:读写器每次发送QueryRep命令,标签接收后都令RCi=RCi-1;
所述步骤7>中,根据探针字符串Stri中的空闲探针时隙数利用极大似然位跟踪标签数估算法MLBE估算未识别标签数量,包括:
读写器利用极大似然位跟踪标签数估算法MLBE估算未识别标签个数且根据选取Qi+1,并令以构建下一识别帧的N树,则有:
其中,Iciden为当前帧识别的标签数,u为当前帧中满足{Stri[k]|Stri[k]=NULL∪Stri[k]=*}的探针时隙总数;探针碰撞时隙至少有两个标签响应,故有根据极大似然位跟踪标签数估算法MLBE估算当前帧标签数,并减去已识别标签数Iciden得未识别标签数ei为满足Stri[k]=NULL的探针时隙数。
8.如权利要求7所述的RFID自适应N树防碰撞方法,其特征在于,MFBTNA算法利用探针法对子树下是否具有多个标签检测,以决定是否对子树标签进行识别,探针碰撞的子树标签直接移入下一帧识别;否则,在探针无碰撞且非空闲的子树下标签则在当前帧进行识别,令P(r)为r个标签在同一探针时隙响应且生成的Rdi相同的概率,读写器对相应子树下的标签利用CT算法进行识别,则:
P ( r ) = n i r ( 1 2 Q i ) r ( 1 - 1 2 Q i ) n i - r ( 1 2 ) r - 1 - - - ( 8 ) ;
其中,ni为第i帧后未识别的标签数;若子树下包含r个标签,则该子树具有r个叶子节点,根据CT算法在碰撞位处分割碰撞标签集的特点,每个内部节点包含两个子节点;具有r个叶子节点的二叉树总节点数为2r-1;设IM和TM分别为第i帧利用CT算法进行识别的标签数及耗用总时隙数,则有:
I M = &Sigma; r = 1 r = n i ( 2 Q i n i r ( 1 2 Q i ) r ( 1 - 1 2 Q i ) n i - r ( 1 2 ) r - 1 r ) - - - ( 9 ) ;
T M = &Sigma; r = 1 r = n i ( 2 Q i n i r ( 1 2 Q i ) r ( 1 - 1 2 Q i ) n i - r ( 1 2 ) r - 1 ( 2 r - 1 ) ) - - - ( 10 ) ;
将探针时隙及读写器发送位图Informi的所需耗时等同换算为标签识别时隙数,设Tinform为换算后的时隙数,则:
T inform = 2 Q i + | Inform i | | ID | + | QueryRep | = 2 Q i + 2 Q i | ID | + | QueryRep | - - - ( 11 ) ;
其中:|·|为字符串长度运算符,·为字符串变量,根据EPCGlobalC1G2标准知|ID|=96、|QueryRep|=4;
和ST分别为未识别标签数为ni情况下MFBTNA算法的吞吐率及总时隙数,总时隙包括TInform及TM,则有:
E ( n i , 2 Q i ) = I M S T = I M T inform + T M - - - ( 12 ) .
CN201410740357.3A 2014-12-05 2014-12-05 一种基于位图构建的rfid自适应n树防碰撞方法 Active CN105718968B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410740357.3A CN105718968B (zh) 2014-12-05 2014-12-05 一种基于位图构建的rfid自适应n树防碰撞方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410740357.3A CN105718968B (zh) 2014-12-05 2014-12-05 一种基于位图构建的rfid自适应n树防碰撞方法

Publications (2)

Publication Number Publication Date
CN105718968A true CN105718968A (zh) 2016-06-29
CN105718968B CN105718968B (zh) 2018-11-27

Family

ID=56144303

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410740357.3A Active CN105718968B (zh) 2014-12-05 2014-12-05 一种基于位图构建的rfid自适应n树防碰撞方法

Country Status (1)

Country Link
CN (1) CN105718968B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106650536A (zh) * 2016-12-21 2017-05-10 西南科技大学 一种抗捕获rfid多标签识别方法
CN110225461A (zh) * 2019-06-25 2019-09-10 国电龙源电气有限公司 一种基于uwb技术的室内定位方法
CN114186572A (zh) * 2021-11-08 2022-03-15 南京信息工程大学 一种基于冲突时隙协调的未知标签识别方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104166867A (zh) * 2014-08-13 2014-11-26 北京邮电大学 一种多hash函数多帧耦合型rfid防碰撞(mhmfg)算法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104166867A (zh) * 2014-08-13 2014-11-26 北京邮电大学 一种多hash函数多帧耦合型rfid防碰撞(mhmfg)算法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JAVIER V A等: ""Multiframe Maximum-Likelihood Tag Estimation for RFID Anticollision Protocols"", 《IEEE TRANS ON INDUSTRIAL INFORMATION》 *
王鑫: ""基于三叉碰撞跟踪树的高效RFID防碰撞算法"", 《华中科技大学学报》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106650536A (zh) * 2016-12-21 2017-05-10 西南科技大学 一种抗捕获rfid多标签识别方法
CN106650536B (zh) * 2016-12-21 2019-04-09 西南科技大学 一种抗捕获rfid多标签识别方法
CN110225461A (zh) * 2019-06-25 2019-09-10 国电龙源电气有限公司 一种基于uwb技术的室内定位方法
CN110225461B (zh) * 2019-06-25 2021-07-23 国能龙源电气有限公司 一种基于uwb技术的室内定位方法
CN114186572A (zh) * 2021-11-08 2022-03-15 南京信息工程大学 一种基于冲突时隙协调的未知标签识别方法及系统

Also Published As

Publication number Publication date
CN105718968B (zh) 2018-11-27

Similar Documents

Publication Publication Date Title
Myung et al. Adaptive binary splitting: a RFID tag collision arbitration protocol for tag identification
CN104657693B (zh) 一种基于分组自适应分配时隙的rfid防碰撞方法
Shahzad et al. Probabilistic optimal tree hopping for RFID identification
He et al. An ALOHA-based improved anti-collision algorithm for RFID systems
CN105224970B (zh) 一种rfid防碰撞方法
KR100567963B1 (ko) 전자식별(rfid) 시스템에서 분할 응답 프레임 알로하방식을 이용하여 고속으로 태그를 인식하는 방법
Xie et al. Efficiently collecting histograms over RFID tags
WO2012131461A1 (en) Methods and apparatuses for the simultaneous detection of multiple radio frequency identification tags
CN105718968B (zh) 一种基于位图构建的rfid自适应n树防碰撞方法
CN103020569A (zh) 一种射频识别多标签防碰撞方法
Li et al. An efficient time-bound collision prevention scheme for RFID re-entering tags
CN103679099A (zh) 一种用于大量rfid标签系统中的防碰撞方法
CN108959993A (zh) 一种适用于智能羊群养殖的rfid标签混合防碰撞算法
CN105654010B (zh) 一种基于自适应搜索策略的rfid标签防碰撞方法
CN108520190A (zh) 基于Hash函数的RFID读卡器时隙分组或映射多目标标签的识别方法
Yeh et al. Adaptive splitting and pre-signaling for RFID tag anti-collision
CN104573593B (zh) 一种基于帧时隙的欠定盲分离rfid防碰撞方法
CN107895130A (zh) 一种基于碰撞树的自适应多叉树防碰撞方法
CN104063627B (zh) 一种最优q参数的确定方法及装置
CN104166867A (zh) 一种多hash函数多帧耦合型rfid防碰撞(mhmfg)算法
Shakiba et al. Fitted dynamic framed slotted ALOHA anti-collision algorithm in RFID systems
CN104200246B (zh) 分组n叉跟踪树型rfid防碰撞算法
CN110852129B (zh) 一种动态标签估计方法
Leonardo et al. p-Persistent CSMA as a collision resolution protocol for active RFID environments
CN109344673B (zh) 基于ssze的大规模分组rfid系统的丢失标签冰山查询方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant