一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种射频识别的多处碰撞位探测防碰撞方法与流程

2022-02-20 14:20:19 来源:中国专利 TAG:


1.本发明涉及射频识别技术领域,具体涉及一种射频识别的多处碰撞位探测防碰撞方法。


背景技术:

2.射频识别(radio frequency identification,rfid)是一种利用射频信号实现的非接触自动识别技术,作为物联网的核心技术,得到不断的发展和广泛的应用。典型的rfid系统通常由多个电子标签和一个阅读器组成,当多个标签同时向阅读器发送数据,就会产生冲突,这就是标签碰撞问题,常用的防碰撞算法可分为两类:基于aloha协议的随机算法和基于树形搜索的确定算法。aloha算法不够稳定,存在标签长时间不被识别而出现的“饥饿”问题,树形算法能达到100%的识别率,但在标签数量较多时,识别时间较长。
3.树形算法是通过把标签分为更多的子集,直到识别出标签。树形算法包括二叉树算法和多叉树算法,二叉树典型算法有:查询树(query tree,qt)算法、动态二进制搜索树(dynamic binary search tree,dbs)算法,碰撞树(collision tree,ct)算法等,但二叉树算法的标签子集分裂速度较慢,碰撞时隙较多。


技术实现要素:

4.针对现有技术的上述不足,本发明提供了一种消除了探测时隙、有效减少了识别标签的总时隙数的射频识别的多处碰撞位探测防碰撞方法。
5.为达到上述发明目的,本发明所采用的技术方案为:
6.提供一种射频识别的多处碰撞位探测防碰撞方法,其包括以下步骤:
7.s1:阅读器初始化堆栈为空,设置k值大小为3≤k≤10,发送初始查询命令req(ε),阅读器作用范围内所有标签响应命令,返回标签id给阅读器;
8.s2:阅读器接收到标签的数据,判断碰撞位是否小于k个;
9.s3:若碰撞位小于k个,则执行步骤s4;
10.s4:阅读器利用二进制碰撞树算法搜索标签;
11.s5:若碰撞位大于或等于k个,生成查询命令req(p,q),并存入堆栈,执行步骤s6;
12.s6:阅读器弹出堆栈,若堆栈为空,则算法结束;若堆栈不为空,按后进先出的方式弹出堆栈的查询命令,设为req(p,q),发送给标签;
13.s7:前缀为p的标签响应查询命令req(p,q),并返回数据给阅读器;
14.s8:阅读器接收到标签的数据,若数据中的r部分存在碰撞位,且碰撞位小于k个,则返回步骤s4;若r部分存在碰撞位,且碰撞位不小于k个,生成查询命令req(p1,q),req(p2,q)

,req(pa,q)存入堆栈,a为查询命令的个数,返回步骤s6。
15.进一步地,步骤s5包括:
16.s51:若碰撞位大于或等于k个,由第1个碰撞位以前的比特位得到查询前缀p,
17.s52:在第1个碰撞位和第k个碰撞位之间,将所有碰撞位置为1,非碰撞位置为0,并
将1和0组成碰撞位提取序列q;
18.s53:利用前缀p和提取序列q生成查询命令req(p,q),存入堆栈,执行步骤s6。
19.进一步地,步骤s7包括:
20.s71:前缀为p的标签响应查询命令req(p,q);
21.s72:把前缀p以后的标签的比特位由高位到低位分为两个部分,包括与提取序列q长度相等的u部分,以及减去u部分所剩余的r部分;
22.s73:把u部分和提取序列q相比较,将和1对应的碰撞位提取出来,并编码为数据u


23.s74:标签返回数据u

&r部分给阅读器,其中&为连接符。
24.进一步地,u部分为前缀p以后的标签中第1个碰撞位和第k个碰撞位之间的比特位,r部分为第k个碰撞位以后的比特位。
25.进一步地,步骤s8包括:
26.s81:阅读器接收到标签中的数据u

和r部分,对数据u

进行解析,得到碰撞位比特值u1,u2,

ub,其中b为碰撞位比特值的个数;
27.s82:判断r部分是否有碰撞位,若r部分无碰撞位,则识别多个标签;
28.s83:若r部分有碰撞位,且碰撞位小于k个,则返回步骤s4;
29.s84:若r部分有碰撞位,且碰撞位大于或等于k个,则在r部分的第1个碰撞位和第k个碰撞位之间,把碰撞位置为1,非碰撞位置为0,提取1和0生成提取序列q,通过阅读器已知的非碰撞位和u1,u2,

,ub,可得查询前缀:p1,p2,

pa,生成查询命令req(p1,q),req(p2,q),

,req(pa,q)存入堆栈,返回步骤s6。
30.进一步地,碰撞位的编码方法为:对于k个碰撞位,编码后为2k位信息,设k个碰撞位对应的十进制为e,则编码后的2k位信息只有第e位为1,其余各位都为0。
31.进一步地,碰撞位的解码方法为:阅读器在收到编码数据后,通过编码数据碰撞位可解析出标签k个碰撞位比特值,设阅读器接收到2k位编码数据,其中第r位为碰撞位,则十进制r对应的k位二进制值,即对应标签的k个碰撞位比特值。
32.进一步地,步骤s4具体为:阅读器检测到碰撞位后,把最高碰撞位分别置0和1,得到两个新的查询前缀,和查询前缀相适应的标签响应命令,并把和查询前缀互补的剩余标签比特位返回阅读器。
33.本发明的有益效果为:本发明在对标签进行查询的同时,对多个碰撞位进行编码,阅读器通过对碰撞位的分析,准确的解析出碰撞位比特值,实现对标签的高效搜索和识别,和现有的算法相比,本发明不仅在单碰撞位和连续碰撞位时都可实现多叉树搜索,而且消除了探测时隙,有效减少了总时隙数,提高了吞吐率和标签识别效率。
附图说明
34.图1为射频识别的多处碰撞位探测防碰撞方法的流程图。
具体实施方式
35.下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,
只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
36.如图1所示,本方案的射频识别的多处碰撞位探测防碰撞方法,其包括以下步骤:
37.s1:阅读器初始化堆栈为空,设置k值大小为3≤k≤10,发送初始查询命令req(ε),阅读器作用范围内所有标签响应命令,返回标签id给阅读器;
38.k值不宜过大或过小,k值太小,则搜索次数太多,影响标签搜索效率;k值太大,则编码数据太长,标签每次搜索发送的比特数太多,通信复杂度过高,影响搜索时延。可根据实际情况确定k值大小,通常,标签数量越多,标签id位数越多,则k值越大,建议k值设置范围:3≤k≤10。
39.s2:阅读器接收到标签的数据,判断碰撞位是否小于k个,且3≤k≤10;s3:若碰撞位小于k个,则执行步骤s4;
40.s4:阅读器利用二进制碰撞树算法搜索标签:阅读器检测到碰撞位后,把最高碰撞位分别置0和1,得到两个新的查询前缀,和查询前缀相适应的标签响应命令,并把和查询前缀互补的剩余标签比特位返回阅读器;
41.s5:若碰撞位大于或等于k个,生成查询命令req(p,q),并存入堆栈,执行步骤s6;具体包括:
42.s51:若碰撞位大于或等于k个,由第1个碰撞位以前的比特位得到查询前缀p,
43.s52:在第1个碰撞位(最高碰撞位)和第k个碰撞位之间,将所有碰撞位置为1,非碰撞位置为0,并将1和0组成碰撞位提取序列q;
44.s53:利用前缀p和提取序列q生成查询命令req(p,q),存入堆栈,执行步骤s6。
45.s6:阅读器弹出堆栈,若堆栈为空,则算法结束;若堆栈不为空,按后进先出的方式弹出堆栈的查询命令,设为req(p,q),发送给标签;
46.s7:前缀为p的标签响应查询命令req(p,q),并返回相应数据给阅读器,包括:
47.s71:前缀为p的标签响应查询命令req(p,q);
48.s72:把前缀p以后的标签的比特位由高位到低位分为两个部分,包括与提取序列q长度相等的u部分,以及减去u部分所剩余的r部分;u部分为前缀p以后的标签中第1个碰撞位和第k个碰撞位之间的比特位,r部分为第k个碰撞位以后的比特位。
49.s73:把u部分和提取序列q相比较,将和1对应的碰撞位提取出来,形成并编码为数据u


50.s74:标签返回数据u

&r部分给阅读器,其中&为连接符。
51.s8:阅读器接收到标签的数据,若标签中存在部分碰撞位,且碰撞位小于k个,则返回步骤s4;否则,生成查询命令req(p1,q),req(p2,q)

,req(pa,q)存入堆栈,a为查询命令的个数,返回步骤s6。具体包括:
52.s81:阅读器接收到标签中的数据u

和r部分,对数据u

进行解码,得到碰撞位比特值u1,u2,

ub,其中b为碰撞位比特值的个数;
53.s82:判断r部分是否有碰撞位,若r部分无碰撞位,则识别多个标签;
54.s83:若r部分有碰撞位,且碰撞位小于k个,则返回步骤s4;
55.s84:若r部分有碰撞位,且碰撞位大于或等于k个,则在r部分的第1个碰撞位和第k个碰撞位之间,把碰撞位置为1,非碰撞位置为0,提取1和0生成提取序列q,通过阅读器已知
的非碰撞位和u1,u2,

,ub,可得查询前缀:p1,p2,

pa,生成查询命令req(p1,q),req(p2,q),

,req(pa,q)存入堆栈,返回步骤s6;
56.碰撞位的编码方法为:对于k个碰撞位,编码后为2k位信息,设k个碰撞位对应的十进制为e,则编码后的2k位信息只有第e位为1,其余各位都为0。
57.碰撞位的解码方法为:阅读器在收到编码数据后,通过编码数据碰撞位可解析出标签k个碰撞位比特值,设阅读器接收到2k位编码数据,其中第r位为碰撞位,则十进制r对应的k位二进制值,即对应标签的k个碰撞位比特值。
58.本发明在对标签进行查询的同时,对多个碰撞位进行编码,阅读器通过对碰撞位的分析,准确的解析出碰撞位比特值,实现对标签的高效搜索和识别,和现有的算法相比,本发明不仅在单碰撞位和连续碰撞位时都可实现多叉树搜索,而且消除了探测时隙,有效减少了总时隙数,提高了吞吐率和标签识别效率。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献