著录项信息
专利名称 | 一种基于时隙随机的射频识别过程的帧长度选择方法 |
申请号 | CN200710170782.3 | 申请日期 | 2007-11-22 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2008-04-30 | 公开/公告号 | CN101169818 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06K7/00 | IPC分类号 | G;0;6;K;7;/;0;0查看分类表>
|
申请人 | 复旦大学 | 申请人地址 | 上海市邯郸路220号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 复旦大学 | 当前权利人 | 复旦大学 |
发明人 | 王俊宇;王中祥;刘丹;周晓方;闵昊 |
代理机构 | 上海正旦专利代理有限公司 | 代理人 | 陆飞;盛志范 |
摘要
本发明公开了一种基于时隙ALOHA的射频识别过程的帧长度选择方法,包括,首先读写器进行初始化;然后,读写器接收标签返回的数据,如果没有收到,将空时隙数量c0加1;如果收到,再判断是否发生碰撞,发生碰撞,碰撞时隙数量ck加1;没有碰撞,则进入成功识别流程,并将成功时隙数量c1加1;每完成一次数据识别后,读写器判断计数器是否等于2Q,如果不等于,则开启新的一帧,计数器加1;直到该帧数据识别完,根据c0、c1、ck的值估算未识别标签的数量n,再根据n和时隙不等长因子α计算新的Q值,然后返回,进行下一轮识别过程;直到所有标签都被识别完毕,程序结束。本发明考虑了时隙不等长的因素,通过合理设置时隙不等长因子,使读写器为下一帧选择更加合理的帧长,减少了标签碰撞发生的几率,从而可以有效地提高标签的识别速度。
1.一种基于时隙ALOHA的射频识别过程的帧长度选择方法,其特征在于包括:
步骤一,设置Q值,发送Query指令,将空时隙数量c0、成功时隙数量c1、碰撞时隙数量ck初始值均设为0,计数器counter设为1;
步骤二,读写器等待T1时间,看是否收到RN16,如果没有收到RN16,进入空流程,并将空时隙数量c0加1;如果收到RN16,再判断是否发生碰撞,发生碰撞,则进入碰撞流程,并将碰撞时隙数量ck加1;没有碰撞,则进入成功识别流程并将成功时隙数量c1加1;
Q
步骤三,数据识别后,再判断计数器counter是否等于2,如果不等于,则发送QueryRep,开启新的一帧,计数器counter加1;如果等于,再判断碰撞时隙数量ck是否等于
0,如果ck不等于零,则根据c0、c1、ck的值估算未识别标签的数量n,再根据未识别标签的数量n和时隙不等长因子a计算新的帧长因子Q的值,
其中,
其中,f(x)=lambertw(x)是f(x)=xex的反函数;L=n/a,l0为空时隙的长度,lk为碰撞时隙的长度;
然后返回步骤一进行下一轮识别过程;如果ck=0则,程序结束。
2.根据权利要求1所述的帧长度选择方法,其特征在于,所述空流程包括,在T1时间后再等待T3时间长度,并将空时隙数量c0加1;所述碰撞流程包括,在收到冲突的RN16数据后再等待T2时间长度,并将碰撞时隙数量ck加1;所述成功识别流程包括,在收到唯一的RN16数据后再等待T2时间长度,并将成功时隙数量c1加1,然后读写器发送确认指令,等待标签返回EPC码。
3.一种射频标签识别过程的帧长度计算方法,包括:在第n帧数据的识别结束后,获得该帧数据中的空时隙数量c0、成功时隙数量c1、碰撞时隙数量ck,根据c0、c1、ck的值估算未识别标签的数量n,其特征在于,还包括,时隙不等长因子a:
x
其中,l0是空时隙的长度,lk是碰撞时隙的长度;f(x)=lambertw(x)是f(x)=xe的反函数;则,识别第n+1帧数据时的帧长L为:
再得到帧长因子Q为:
一种基于时隙随机的射频识别过程的帧长度选择方法\n技术领域\n[0001] 本发明属于射频识别技术领域,具体涉及一种射频识别中帧长度的选择方法,尤其涉及一种基于时隙随机(ALOHA)的提高识别速度的帧长度的选择方法,\n背景技术\n[0002] 随着RFID9(射频标签识别)技术的日益成熟,电子标签将会在供应链管理、资产管理、生产管理和安全防伪等领域获得广泛的应用。虽然RFID技术给许多领域带来了极大的便利,但是RFID技术在应用中也存在一些问题。其中一个主要的问题是,在许多应用要求读写器能够高速识别多个目标,如何改善读写器的防碰撞性能,提高读写器的识别速度已经成为RFID技术大规模推广应用的关键技术之一。所述电子标签碰撞是指当读写器向工作场区内的一批电子标签发出查询指令时,两个或两个以上的电子标签可能同时响应读写器的查询,返回信息,从而导致读写器不能正确识别任何一个电子标签的信息。随着电子标签数量的增加,发生电子标签碰撞的概率也会增加,读写器的阅读效率将进一步下降。目前在国内、国际上许多学者对防碰撞算法进行了研究,以提高读写器的识别速度。已有的防碰撞算法大体上可以分为两类:基于ALOHA的随机型算法和基于二进制树的确定型算法。\n其中基于时隙ALOHA的随机型算法因为阅读速度快,得到较为广泛的应用。时隙ALOHA算法采用时分复用(TDMA),一般先根据上一帧中标签发生碰撞的次数(碰撞时隙)、成功识别电子标签的次数(成功时隙)和电子标签没有返回的次数(空时隙)来估计未被识别的电子标签数量,然后据此选择最优的下一帧的长度(时隙的个数),则可以有效地提高读写器的识别速度。由于目前的帧长度选择理论假设每个时隙等长,即空时隙的长度l0,成功时隙的长度l1,碰撞时隙的长度lk均相等,系统效率η为成功时隙花费的时间占所有时隙花费的时间的比例,也等于成功时隙的数量c1占总时隙的数量:\n[0003] \n[0004] 其中η为系统效率,c0、c1、ck分别表示空时隙、成功时隙、碰撞时隙的数量,l0、l1、lk分别表示空时隙、成功时隙、碰撞时隙的长度。\n[0005] 帧长太长会使得空时隙过多,浪费时间,系统效率低下,帧长太短会使得碰撞时隙过多,因而需要更多的帧来完成识别过程,同样浪费时间,系统效率低下,因此一定存在一个最优的帧长,使得系统效率取得最大值;可以通过解如下导数方程求出系统效率取最大值的条件:\n[0006] \n[0007] 求解得到的结论是,最优的帧长度L等于未识别标签的数量n,即\n[0008] L=n (3)\n[0009] 这个帧长选择方法基于时隙长度相等的假设;但是,时隙的长度其实是不同的,比如在ISO18000-6C协议中,碰撞时隙长度lk一般大于比空时隙长度l0;所以如果不将时隙长度的差别考虑进去,选择的帧长过长或过短都会使系统的效率降低,只有合理的选择帧长,才能使识别过程的空间隙和碰撞间隙都减少,系统效率才能达到最优。\n[0010] 将时隙长度的不同考虑进去,就可以选择出更加合理的帧的长度,从而提高识别速度。\n发明内容\n[0011] 本发明的目的是针对现有帧长选择方法的不足,提出一种标签识别过程中考虑了时隙长度不同的帧长度选择方法。该方法通过合理设置时隙不等长因子,使基于时隙ALOHA的射频识别读写器为下一帧选择更加合理的帧长,减少标签碰撞发生的几率,从而提高识别速度。\n[0012] 本发明的目的是通过如下技术方案实现的:\n[0013] 一种基于时隙ALOHA的射频识别过程的帧长度选择方法,包括:\n[0014] 步骤一,设置Q值,发送Query指令,将空时隙数量c0、成功时隙数量c1、碰撞时隙数量ck初始值均设为0,计数器counter设为1;\n[0015] 步骤二,读写器等待T1时间,看是否收到RN16,如果没有收到RN16,进入空流程,并将空时隙数量c0加1;如果收到RN16,再判断是否发生碰撞;若发生碰撞,则进入碰撞流程,并将碰撞时隙数量ck加1;若没有碰撞,则进入成功识别流程,并将成功时隙数量c1加\n1;这里,RN16为16比特随机数;\n[0016] 步骤三,数据识别后,再判断计数器counter是否等于2Q;如果不等于,则发送QueryRep,开启新的一帧,计数器counter加1;如果等于,再判断碰撞时隙数量ck是否等于\n0,如果ck不等于零,则根据c0、c1、ck的值估算未识别标签的数量n,再根据未识别标签的数量n和时隙不等长因子a计算新的Q值,\n[0017] \n[0018] 其中,\n[0019] 其中,f(x)=lambertw(x)是f(x)=xex的反函数;\n[0020] 然后返回步骤一进行下一轮识别过程;如果ck=0,则程序结束。\n[0021] 所述空流程包括,在T1时间后再等待T3时间长度,并将空时隙数量c0加1;所述碰撞流程包括,在收到冲突的RN16数据后再等待T2时间长度,并将碰撞时隙数量ck加1;\n所述成功识别流程包括,在收到唯一的RN16数据后再等待T2时间长度,并将成功时隙数量c1加1,然后读写器发送ACK(确认)指令,等待标签返回EPC码。上述方法中,涉及的等待时间T1、T2、T3的长度与数据传输速率等有关,有关文献有具体描述。\n[0022] 本发明还涉及一种射频标签识别过程的帧长度计算方法,包括:在第n帧数据的识别结束后,获得该帧数据中的空时隙数量c0、成功时隙数量c1、碰撞时隙数量ck,根据c0、c1、ck的值估算未识别标签的数量n,还包括,时隙不等长因子a:\n[0023] \n[0024] 其中,l0是空时隙的长度,lk是碰撞时隙的长度;f(x)=lambertw(x)是f(x)=x\nxe 的反函数;\n[0025] 则,识别第n+1帧数据时的帧长L为:\n[0026] \n[0027] 再得到帧长因子Q为:\n[0028] \n[0029] 本发明的优势在于:在基于时隙ALOHA的防碰撞算法中的已有的帧长(时隙的个数)选择方法中考虑了时隙的长度,形成新的帧长选择方法,它使得读写器能够选择更加合理的帧长,提高标签识别速度。\n附图说明\n[0030] 图1为ISO18000-6C协议中碰撞时隙长度lk示意图。\n[0031] 图2为ISO18000-6C协议中空时隙长度l0示意图。\n[0032] 图3为标签识别流程图。\n[0033] 图4为实施例1的仿真结果图。\n具体实施方式\n[0034] 以下结合附图具体描述本发明的实施方案。\n[0035] 发生碰撞的标签识别过程包括碰撞时隙和空时隙,在碰撞时隙中,当标签收到读写器发送的QueryRep指令后,会等待长度为T1的信号处理时间,然后反馈RN16,读写器在收到冲突的RN16后,等待T2的信号处理时间,再发送下一条指令开启下一个时隙。在空时隙中,读写器在等待T1后发现没有标签反馈信号,在发送下一条指令前,读写器将再等待长度为T3的时间。图1为ISO18000-6C协议中碰撞时隙长度lk示意图,如图所示,碰撞时隙由QueryRep指令,T1、T2、RN16组成,图2为ISO18000-6C协议中空时隙长度l0示意图,空时隙由QueryRep指令,T1,T3组成,碰撞时隙一般比空时隙长。由于上述时隙不相等的存在,所以有必要改进现有技术中基于时隙等长假设的帧长选择方法。\n[0036] 系统效率η应当是成功时隙所花费的时间与所有时隙花费的总时间之比,考虑了时隙不等长的所有时隙花费的总时间是成功时隙、碰撞时隙、空时隙花费的时间之和。考虑了时隙不等长系统效率η的计算公式表示为:\n[0037] \n[0038] 通过解如下导数方程得出系统效率取最大值时的条件:\n[0039] \n[0040] 解方程得:\n[0041] \n[0042] 其中,L为帧长,n为未识别标签的数量\n[0043] 将(6)式简化、变形,得到\n[0044] \n[0045] 其中,a为时隙不等长因子,\n[0046] \n[0047] 其中,f(x)=lambertw(x)是f(x)=xex的反函数。\n[0048] 由L得到而是帧长因子Q,\n[0049] Q=四舍五入(1og2L)\n[0050] 即,\n[0051] 使用时隙不等长因子来调节帧长的标签识别流程如图3所示,首先进行初始化,设置初始的Q值,发送Query指令,将空时隙数量c0、成功时隙数量c1、碰撞时隙数量ck初始值均设为0,计数器counter设为1;\n[0052] 然后开始数据识别过程,读写器等待T1时间,看是否收到RN16,如果没有收到,进入空流程,并将空时隙数量c0加1;如果收到标签返回的信息,再判断是否发生碰撞,发生碰撞,则进入碰撞流程,并将碰撞时隙数量ck加1;没有碰撞,则进入成功识别流程,并将成功时隙数量c1加1;\n[0053] 数据识别后,再判断计数器counter是否等于2Q,如果不等于,则发送QueryRep,开启新的一帧,计数器counter加1,返回再等待下一帧数据;如果等于,再判断碰撞时隙数量ck是否等于0,如果ck不等于零,则根据c0、c1、ck的值估算未识别标签的数量n,再根据未识别标签的数量n和时隙不等长因子a计算新的Q值,返回进行下一轮识别过程;如果ck=0则,程序结束。\n[0054] 空流程包括,在T1时间后再等待T3时间长度,并将空时隙数量c0加1。碰撞流程包括,在收到冲突的RN16数据后再等待T2时间长度,并将碰撞时隙数量ck加1。成功识别流程包括,在收到唯一的RN16数据后再等待T2时间长度,并将成功时隙数量c1加1,然后读写器发送ACK指令,等待标签返回EPC码。\n[0055] 初始化后,读写器发送包含Q值的Query指令开启新的一帧,Q的初始值要人为设Q\n定(帧长=2,Q是帧长因子,含有帧长信息,是整数)。每个时隙是由读写器发送的Query/Q\nQueryRep开始的,所有的电子标签接收到Query后,各自从0~2-1中随机选择一个数并放入时隙计数器(slot counter);标签每收到一个QueryRep就会将时隙计数器(slot counter)中的计数值减1;计数值为0的电子标签响应读写器的请求,向读写器返回一串Q\n16比特的随机数据RN16。也就是,标签在2 个时隙中随机选择一个时隙发送RN16。这种方法和同时发送RN16的方法相比,能防止标签反馈信号之间的碰撞。\n[0056] 读写器接收到RN16后,发送确认指令(ACK),ACK指令中应该包含读写器接收到的RN16。电子标签接收到ACK指令后,检查指令中的RN16是否与之前发送的随机数相同,如果相同则响应读写器的查询请求,在协议规定的时间T1max内向读写器反馈自己的EPCQ\n码;否则不返回任何信息。在一帧中,读写器除了发送1个Query指令,还要发送2-1个Q\nQueryRep,表示共有2 个时隙。\n[0057] 一帧结束,读写器根据这一帧,即刚刚结束的帧,的碰撞时隙数量、成功时隙数量、空时隙数量来估算未识别标签的数量n。现有的标签数量估算算法有Lower Bound(n=\n2×ck)、Schoute(n=2.39×ck)、Vogt等等;本发明所述的调节帧长度的方法,适用于上述所有的标签估计算法,本实施例中采用Lower Bound算法。\n[0058] 读写器根据空时隙的长度l1、碰撞时隙的长度l0、未识别标签数量lk,和未识别标签的数量n,利用公式(8)和(9)计算出下一帧的Q值。\n[0059] 每一帧会识别一部分标签,但是还有未被识别的标签,因此需要开启下一帧继续识别,因此读写器继续发送包含Q值的Query指令。经过若干个帧,所有的标签都会被识别,即碰撞时隙数量ck等于0时,识别过程结束。\n[0060] 具体实施例及仿真结果如下:\n[0061] 假设有100个标签,它们都遵循ISO18000-6C协议;假设读写器到标签(R=>T)链路的Tari=12.5μs,标签到读写器(T=>R)链路的数据速率为60bps,那么可以计算出空时隙的长度212μs,碰撞时隙的长度662μs。\n[0062] 空时隙的长度和碰撞时隙的长度在识别过程是固定值,这两个数据由读写器和标签之间通信的数据率决定,因此只需要在标签识别之前计算一次。\n[0063] 读写器发送包含初始Q=7的Query指令开启第1帧(2Q=L,Q是整数,因此Q是\n7\n帧长因子,含有帧长信息)。Q=7表示这一帧有2 =128个时隙,每个时隙是由读写器发送的Query/QueryRep开始的,所有的电子标签接收到Query后,各自从0~127中随机选择一个数并放入时隙计数器(slot counter);标签每收到一个QueryRep就会将时隙计数器(slot counter)中的计数值减1;计数值为0的电子标签响应读写器的请求,向读写器返回RN16(一串16比特的随机数);读写器接收到RN16后,发送ACK(确认)指令,ACK指令中应该包含读写器接收到的RN16。电子标签接收到ACK指令后,检查指令中的RN16是否与之前发送的随机数相同,如果相同则响应读写器的查询请求,在协议规定的时间(T1max)内向读写器反馈自己的EPC码。否则不返回任何信息。在一帧中,读写器除了发送1个Query指令,还要发送127个QueryRep,表示共有128个时隙。\n[0064] 简而言之,100个标签在128个时隙中随机选择一个时隙发送RN16。\n[0065] 第1帧结束后假设结果是:21个碰撞时隙,55个空时隙,52个成功时隙。由于标签选择的随机性,结果也会有一定的不确定性,所以使用了“假设”这2个字。\n[0066] 读写器使用Lower Bound算法(n=2×ck),估算出还有42个未识别标签。\n[0067] 需要说明的是,本专利可以采用任何一种标签估算方法来得到未识别标签的数量,并不受标签估算方法的限制。\n[0068] 读写器根据空时隙的长度212μs,碰撞时隙的长度642μs计算出时隙不等长因子a=0.642;估算未识别标签数量n=42个,利用公式(9)计算出第2帧的Q值:\n[0069] \n[0070] 读写器发送包含Q=6的Query指令开启第2帧继续识别剩余的(未被识别的)标签。第2帧将包含64个时隙。\n[0071] 这样经过若干个帧后,未识别的标签越来越少,最终所有的100个标签都会被识别。\n[0072] 图4为实施例一的仿真结果,标签初始数量为100个时,识别100个标签花费\n0.410秒,识别速度为246个/s,对应于图4中的实线的左边第一个三角形。\n[0073] 改变标签初始数量,取值为200,300,400,500,600,700,800,900,1000重新开始识别过程,初始Q值均取7。\n[0074] 图4中的三角线表示使用了本专利方法的识别速度曲线;圆圈线代表使用现有技术的时隙等长假设下的识别速度;标签数量估算都使用Lower Bound算法,通过比较可以发现基于本专利时隙不等长假设,并使用时隙不等长因子设置帧长的识别结果明显优于现有技术的识别结果。\n[0075] 最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2007-07-25
|
2006-01-16
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |