CN108959993A - 一种适用于智能羊群养殖的rfid标签混合防碰撞算法 - Google Patents

一种适用于智能羊群养殖的rfid标签混合防碰撞算法 Download PDF

Info

Publication number
CN108959993A
CN108959993A CN201810474626.4A CN201810474626A CN108959993A CN 108959993 A CN108959993 A CN 108959993A CN 201810474626 A CN201810474626 A CN 201810474626A CN 108959993 A CN108959993 A CN 108959993A
Authority
CN
China
Prior art keywords
label
time slot
reader
collision
flock
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.)
Pending
Application number
CN201810474626.4A
Other languages
English (en)
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.)
Jilin University
Original Assignee
Jilin University
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 Jilin University filed Critical Jilin University
Priority to CN201810474626.4A priority Critical patent/CN108959993A/zh
Publication of CN108959993A publication Critical patent/CN108959993A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10009Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves
    • G06K7/10019Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves resolving collision on the communication channels between simultaneously or concurrently interrogated record carriers.
    • G06K7/10029Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves resolving collision on the communication channels between simultaneously or concurrently interrogated record carriers. the collision being resolved in the time domain, e.g. using binary tree search or RFID responses allocated to a random time slot
    • G06K7/10039Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves resolving collision on the communication channels between simultaneously or concurrently interrogated record carriers. the collision being resolved in the time domain, e.g. using binary tree search or RFID responses allocated to a random time slot interrogator driven, i.e. synchronous
    • G06K7/10049Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves resolving collision on the communication channels between simultaneously or concurrently interrogated record carriers. the collision being resolved in the time domain, e.g. using binary tree search or RFID responses allocated to a random time slot interrogator driven, i.e. synchronous binary tree

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种适用于智能羊群养殖的RFID标签混合防碰撞算法,该算法从全局出发考虑标签的碰撞问题,首先对标签数量进行分组,将每组识别的标签数量控制在354以内,在每一小组的识别过程中,首先估计标签数量;利用动态帧时隙ALOHA算法对组内标签进行第一轮识别,并对成功识别的标签进行读取;对于碰撞时隙则不再用ALOHA算法随机读取,采用后退式动态位屏蔽二进制搜索树算法进行第二轮精确识别,该算法减少了羊群标签与阅读器传输过程中的通信量和传输延时,实现了羊群的快速智能识别,解决了羊群多标签碰撞造成的标签漏读、识别效率低的问题,为羊群的智能养殖打下了坚实的技术基础。

Description

一种适用于智能羊群养殖的RFID标签混合防碰撞算法
技术领域
本发明涉及物联网技术领域,更具体的说是涉及一种适用于智能羊群养殖的RFID标签混合防碰撞算法。
背景技术
畜牧业作为中国农业增效、农民增收的重要产业,近年来得到了迅猛的发展。随着网络化、数字化的迅捷发展,如何提升畜牧业的生产效率、实现智能化养殖已成为人们广泛关注的研究课题。我国传统的羊群养殖方式较为原始,养殖环境恶劣,尤其是贫困地区的羊群养殖更加缺乏对智能化养殖的认知与使用,因此极大地限制了养殖生产水平的提升。在这样的背景下,将物联网技术引进到羊群养殖产业,实现自动化管理已成为发展必然。
RFID技术作为物联网领域最重要的技术之一,在智能化羊群养殖系统中得到了广泛应用。智能养殖系统中,每只羊佩戴一个RFID标签,记录羊的基本信息如年龄、性别、体重、检疫情况等,同时也将这些信息录入到养殖系统的数据库中。利用RFID阅读器扫描羊佩戴的标签能直接获得该羊的全部信息,从而极大地提高了养殖户的工作效率。另一方面,由于养殖场内羊群数量庞大,针对困扰养牧羊人的羊群计数问题,也可以利用RFID技术实现。通过对RFID阅读器进行后台开发,实现计数功能,从而做到智能化“数羊”。然而在阅读器对羊群进行识别的过程中,由于羊群内部躁动,不方便管理,很难做到“一对一识别”,多只羊的标签碰撞情况很容易出现。
现有的RFID多标签防碰撞算法主要分为两大类:一类是ALOHA类算法,该类算法是一种随机性的算法,其主要思想是让标签选择不同的时隙向阅读器发送数据,当在单个时隙中只有一个标签发送数据时,该标签就能被阅读器成功识别,但会出现某一标签在很长一段时间内无法得到识别的现象,即标签饥渴问题,且ALOHA类算法成功识别率通常在36.8%以下,在发生碰撞后需要标签随机选择一个时间段再次向阅读器发送数据,很明显不适合羊群养殖领域;另一类算法是树类算法,该类算法是一种确定性的算法,与标签的ID相关,阅读器发送命令搜索,标签根据命令的参数与自己的ID进行多次比较,判断是否返回相关的数据,这样可以不断缩小响应的标签个数,当有唯一的标签响应时,阅读器就可以成功识别标签,但是该类算法比较复杂,识别时间较长,不适用于大规模的羊群识别过程。
因此,如何提供一种适用于智能羊群养殖的RFID标签混合防碰撞算法是本领域技术人员亟需解决的问题。
发明内容
有鉴于此,本发明提供了一种适用于智能羊群养殖的RFID标签混合防碰撞算法,该算法减少了羊群标签与阅读器传输过程中的通信量和传输延时,实现了羊群的快速智能识别,解决了羊群多标签碰撞造成的标签漏读、识别效率低的问题,为羊群的智能养殖打下了坚实的技术基础。
为了实现上述目的,本发明采用如下技术方案:
一种适用于智能羊群养殖的RFID标签混合防碰撞算法,包括标签数目估计及分组阶段、动态帧时隙ALOHA算法第一轮识别阶段和后退式动态位屏蔽二进制搜索树算法第二轮识别阶段。
进一步,标签数目估计及分组阶段包括以下步骤:
S11:在数据读取之前,利用Vogt算法估计待识别标签的数目N;
S12:根据标签数目N进行分组,并初始化当前识别的组编号t=1以及标签分组数g=1,开始对第t组进行识别。
进一步,动态帧时隙ALOHA算法第一轮识别阶段包括以下步骤:
S21:根据Vogt算法估计组内待识别标签数,动态调整识别帧的帧长L;
S22:进行时隙扫描,阅读器以广播的形式发送Query(L)命令给组内的每个标签;标签收到该命令后,再向阅读器返回各自所预约的时隙数;
S23:阅读器选择一个时隙,判断该时隙是否为空闲时隙,分别执行不同的操作:
1)若该时隙为空闲时隙,则跳转则跳转至步骤S36-2),继续识别下一时隙;
2)若该时隙不是空闲时隙,则进一步判断该时隙是否发生了碰撞:
21)若该时隙为成功时隙,则跳转至步骤S35;
22)若该时隙为碰撞时隙,则跳转至步骤S31。
进一步,后退式动态位屏蔽二进制搜索树算法第二轮识别阶段包括以下步骤:
S31:阅读器向发生碰撞的所有标签发送Request(ALL)搜索请求;收到请求命令后的所有标签向阅读器发送ID数据;
S32:阅读器检测到ID数据,并根据碰撞位信息决定不同的操作:
1)若阅读器检测到的ID数据仅有一位碰撞位,说明两个标签被成功识别,跳转至步骤S34;
2)若阅读器检测到的ID数据有两位及以上的碰撞位,其中最高碰撞位为第K位,计算P=N-K-1,阅读器将计算出的P值存储进堆栈,并且发送请求命令Request(0,P),其中,N表示标签的ID长度,P表示屏蔽位的位数;
S33:标签收到阅读器的请求命令Request(0,P)后,确定最高非屏蔽位是“0”的标签,将最高非屏蔽位为“0”的标签的前P位屏蔽,屏蔽完成后,并将最高非屏蔽位“0”之后的字串发送给阅读器,并跳转至步骤S32;
S34:阅读器识别标签发来的字串,结合存储空间内存储的最高碰撞位前面的字串,并根据Request()命令判断最高碰撞位的值是“0”还是“1”,得到标签的全部字串;
S35:阅读器发送Select/RW()指令对标签进行挑选和读写操作,发送Sleep()指令使标签进入休眠状态;
S36:判断时隙内是否还有待处理的标签,并进行不同的操作:
1)若该时隙内存在待处理的标签,阅读器从堆栈中弹出数据Q,阅读器发送请求信息Request(1,Q),其中Q表示屏蔽位的位数,确定最高非屏蔽位为“1”且有Q位屏蔽位的标签,将该标签最高非屏蔽位“1”之后的字串发送给阅读器,并跳转至步骤S32,直到所有标签识别完毕;
2)若该时隙内没有未处理的标签或者该时隙为空闲时隙,则继续识别下一时隙;
S37:判断组内是否存在未处理的时隙,并进行不同的操作:
1)若存在未处理的时隙,则跳转至步骤S23,继续识别下一时隙;
2)若不存在未处理的时隙,说明第t组内标签识别完成,组编号t加1,t=t+1,并执行下述两种情况:
21)若t≤g,说明仍存在没有识别的组,继续进行下一组的识别,返回S21;
22)若t>g,说明不存在待识别的组,识别结束。
进一步,步骤S12根据标签数目N进行分组的具体步骤为:
1)当标签数目N不大于354,则直接进入动态帧时隙ALOHA算法进行第一轮识别阶段;
2)当标签数目N大于354,则需对标签进行分组,判定分组数g;标签在1到g之间随机选择一个数i,作为该标签的组编号。
进一步,标签内部设置有位屏蔽寄存器,其中,位屏蔽寄存器中字串的长度等于标签的ID长度。
进一步,位屏蔽寄存器中字串的每一位的数值为“0”或“1”,其中,与“0”对应的标签位被屏蔽,与“1”对应的标签位不被屏蔽。
进一步,阅读器内部设置有堆栈,堆栈符合先入后出的弹出规则。
经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种适用于智能羊群养殖的RFID标签混合防碰撞算法,该算法结合传统的ALOHA算法及二进制树算法的优点,利用动态帧时隙ALOHA算法和后退式动态位屏蔽二进制搜索树算法对标签进行两轮识别,解决了标签漏读的缺陷,且大大减少了羊群标签和阅读器传输过程中的通信量和传输时延,系统的吞吐率得到显著提高,减少了标签认证所需的平均时间,做到了短时间内大规模精确识别,为羊群的智能养殖打下坚实的技术基础。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1附图为本发明提供的一种适用于智能羊群养殖的RFID标签混合防碰撞算法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种适用于智能羊群养殖的RFID标签混合防碰撞算法,包括以下技术方案:
(1)标签数目估计及分组阶段
①利用Vogt模型估算标签数目
标签数量估计对算法的性能起着至关重要的作用,在识别标签前先估计标签数量是为了更好更准确的动态调整帧长,使得算法性能达到最大。目前已有的标签数量估计算法主要有:Vogt算法、Schoute算法和Low Bound算法等。当标签数目庞大时,Vogt算法来估计标签数量能有效地减少误差。
对于帧长为L,待识别标签数目为N,利用切比雪夫不等式可以得到:
其中,a0,a1,ac分别表示空闲时隙、成功时隙、碰撞时隙的期望值,c0,c1,cc分别表示上一识别周期空闲时隙、成功时隙和碰撞时隙的数目。
通过最小ε值来估计标签数目N。
②标签分组阶段
现阶段的RFID系统大多针对于低成本、大规模的标签识别,在实际应用中,标签由于成本限制,帧时隙的数目不能随标签数目的增加而无限制地增加,帧时隙数不会超过256个。因此针对于大量标签的情况,只有通过限制每次响应的标签的数目,对标签进行分组,才能使系统保持相对较高的吞吐率。
标签分组时,需要选取对标签进行分组的临界值,即两相邻帧的吞吐率曲线交点处的标签数值。吞吐率是指阅读器在一个识别帧长的时间内成功传输信息的标签数目所占的比例,即:
两相邻帧的性能曲线交点处的标签数值的计算方式如下:
其中,a,b为标签的相邻分组数,例如当取a=1,b=2代入上式可得:
即N=354是将标签分为一组或两组的临界值,为了使系统保持较高的吞吐率,未识别标签数N不能大于354,当N大于354时,需要对未识别的标签进行分组。由式(3)可计算得到标签数量在2283以内的分组数,如表1所示。
表1标签总数与分组数的对应关系
分组数 1 2 4 6 8
最小标签数 1 355 710 1246 1767
最大标签数 354 709 1245 1766 2283
当标签数目N小于等于354时,标签分组数g=1,直接采用动态帧时隙策略,动态调整识别帧的长度L,直接进入时隙处理阶段。当N大于354时,则需要对标签进行分组,由表1获得分组数g。标签在1到g之间随机选择一个数i,作为自己的组编号。阅读器初始化当前识别的组编号t=1,开始对第t组进行识别。
(2)动态帧时隙ALOHA算法第一轮识别阶段
①根据Vogt算法估计组内待识别标签的数目,采用动态帧时隙策略,根据估算出的标签数目动态地调整识别帧的长度L。在进行数据读取之前,首先进行时隙扫描,阅读器以广播的形式发送Query(L)命令给该组内的每个标签。标签收到该命令之后,再向阅读器返回各自所预约的时隙数。
②阅读器再根据所接收到的时隙数,判断哪些时隙可以成功识别,哪些时隙将会产生碰撞或空闲时隙。成功识别的时隙阅读器会对标签进行挑选、读写、及识别后的休眠等相关操作;针对空闲时隙,则重新返回系统进行下一时隙的识别;针对碰撞时隙,则进行下一阶段,用后退式动态位屏蔽二进制搜索树算法进行第二轮识别。
(3)后退式动态位屏蔽二进制搜索树算法第二轮识别阶段
后退式动态位屏蔽二进制搜索树算法是在传统的几种二进制搜索树算法的基础上进行改进的算法,该算法不仅能够减少搜索的次数,还能减少标签和阅读器之间不必要的通信开销,从而显著提升标签的识别速率。
标签内部设置位屏蔽寄存器R,R中字串的长度等于标签的ID长,R中字串的每一位的数值仅为“0”或“1”,与“0”对应的标签位被屏蔽,与“1”对应的标签位不被屏蔽。因此,标签能够根据R寄存器中字串的信息判断其ID中被屏蔽的字符位置。
设定R中字串的初始值为全“1”的字串,即标签所有位在开始时都未被屏蔽。
阅读器内部设置存储堆栈,符合“先入后出”的弹出规则。
后退式动态位屏蔽二进制搜索树算法的实施流程如下:
①阅读器给发生碰撞的所有标签发送Request(ALL)搜索请求;
②收到请求命令的所有标签发送ID数据给阅读器;
③阅读器检测到ID数据并根据碰撞位信息决定下一步的工作:如果阅读器检测到的数据仅有一位碰撞位,此时两个标签被成功识别,跳转至步骤⑤;如果阅读器检测到的碰撞位有两位及以上,其中最高碰撞位为第K位,计算P=N-K-1,阅读器将计算出的P值存储进堆栈,并且发送请求命令Request(0,P),其中,N表示标签的ID长度,P表示屏蔽位的位数;
④标签收到阅读器的请求命令Request(0,P)后,确定最高非屏蔽位是“0”的标签,R寄存器中前P位由“1”变“0”,即最高非屏蔽位为“0”的这些标签前P位被屏蔽,屏蔽完成后,并将最高非屏蔽位“0”之后的字串发送给阅读器,然后跳转至步骤③;
⑤阅读器识别标签发来的字串,结合存储空间内存储的最高碰撞位前面的字串,并根据Request()命令判断最高碰撞位的值是“0”还是“1”,得到标签的全部字串;
⑥利用Select/RW()指令对标签进行挑选和读写操作;Sleep()指令使标签进入休眠状态,除非阅读器再次激活标签,标签将不再回应阅读器的任何指令信息;
⑦判断时隙内是否存在待处理的标签:若该时隙内存在待处理的标签,阅读器从堆栈中弹出数据,假设弹出的数据为Q,阅读器发送请求信息Request(1,Q),其中Q表示屏蔽位的位数,确定最高非屏蔽位为“1”且有Q位屏蔽位的标签,将这些标签最高非屏蔽位“1”之后的字串发送给阅读器,然后跳转至步骤③,继续循环,直到所有标签都被识别完毕;若该时隙内不存在待处理的标签或者该时隙为空闲时隙,则继续识别下一时隙。
⑧判断组内是否存在未处理的时隙,并进行不同的操作:
1)若存在未处理的时隙,则继续识别其他时隙;
2)若不存在未处理时隙,说明第t组内标签识别完成,组编号t加1,t=t+1,并执行下述两种情况:
21)若t≤g,说明还有其他组在等待识别,继续进行下一组的识别;
22)若t>g,说明没有其他等待识别的小组,识别完毕。
本发明混合算法的流程图如图1所示,其具体执行步骤如下:
S11:在数据读取之前,利用Vogt算法估计待识别标签的数目N;
S12:根据标签数目N进行分组,
1)当标签数目N不大于354,则直接进入动态帧时隙ALOHA算法进行第一轮识别阶段;
2)当标签数目N大于354,则需对标签进行分组,判定标签分组数g;标签在1到g之间随机选择一个数i,作为自己的组编号,并初始化当前识别的组编号t=1,开始对第t组进行识别。
S21:根据Vogt算法估计组内待识别标签数,动态调整识别帧的帧长L;
S22:进行时隙扫描,阅读器以广播的形式发送Query(L)命令给组内的每个标签;标签收到该命令后,再向阅读器返回各自所预约的时隙数;
S23:阅读器选择一个时隙,判断该时隙是否为空闲时隙,分别执行不同的操作:
1)若该时隙为空闲时隙,则跳转则跳转至步骤S36-2),继续识别下一时隙;
2)若该时隙不是空闲时隙,则进一步判断该时隙是否发生了碰撞:
21)若该时隙为成功时隙,则跳转至步骤S35;
22)若该时隙为碰撞时隙,则跳转至步骤S31。
S31:阅读器给范围内的所有标签发送Request(ALL)搜索请求;收到请求命令后的所有标签向阅读器发送ID数据;
S32:阅读器检测到ID数据并根据碰撞位信息决定不同的操作:
1)若阅读器检测到的ID数据仅有一位碰撞位,说明两个标签被成功识别,跳转至步骤S34;
2)若阅读器检测到的ID数据有两位及以上的碰撞位,其中最高碰撞位为第K位,计算P=N-K-1,阅读器将计算出的P值存储进堆栈,并且发送请求命令Request(0,P),其中,N表示标签的ID长度,P表示屏蔽位的位数;
S33:标签收到阅读器的请求命令Request(0,P)后,确定最高非屏蔽位是“0”的标签,将最高非屏蔽位为“0”的标签的前P位屏蔽,屏蔽完成后,并将最高非屏蔽位“0”之后的字串发送给阅读器,并跳转至步骤S32;
S34:阅读器识别标签发来的字串,结合存储空间内存储的最高碰撞位前面的字串,并根据Request()命令判断最高碰撞位的值是“0”还是“1”,得到标签的全部字串;
S35:阅读器发送Select/RW()指令对标签进行挑选和读写操作,发送Sleep()指令使标签进入休眠状态;
S36:判断时隙内是否还有待处理的标签,并进行不同的操作:
1)若该时隙内存在待处理的标签,阅读器从堆栈中弹出数据Q,阅读器发送请求信息Request(1,Q),其中Q表示屏蔽位的位数,确定最高非屏蔽位为“1”且有Q位屏蔽位的标签,将该标签最高非屏蔽位“1”之后的字串发送给阅读器,并跳转至步骤S32,直到所有标签识别完毕;
2)若该时隙内没有未处理的标签或者该时隙为空闲时隙,则继续识别下一时隙;
S37:判断组内是否存在未处理的时隙,并进行不同的操作:
1)若存在未处理的时隙,则跳转至步骤S23,继续识别下一时隙;
2)若不存在未处理的时隙,说明第t组内标签识别完成,组编号t加1,t=t+1,并执行下述两种情况:
21)若t≤g,说明仍存在没有识别的组,继续进行下一组的识别,返回S21;
22)若t>g,说明不存在待识别的组,识别结束。
本发明设计的一种适用于智能羊群养殖的RFID标签混合防碰撞算法,该算法从全局出发考虑标签的碰撞问题。首先对标签数量进行分组,将每组识别的标签数量控制在354以内;在每一小组的识别过程中,首先估计标签数量,利用动态帧时隙ALOHA算法对组内标签进行第一轮识别,并对成功识别的标签进行读取;对于碰撞时隙则不再用ALOHA算法随机读取,而是利用改进的二进制树算法——后退式动态位屏蔽二进制搜索树算法进行第二轮精确识别,减少了搜索次数以及标签与阅读器之间不必要的通信开销,从而提升了标签的识别率,实现了羊群的快速智能识别。
实施例1:假设在阅读器范围内有8个待识别标签:A、01100011,B、01010110,C、01111010,D、10010110,E、01011011,F、11101101,G、10101101,H、01011001。标签选择的时隙情况如表1所示。由于待识别标签数目较少,不必采用分组措施。阅读器先利用标签估算模型估计标签数量、确定帧长,用动态帧时隙ALOHA算法对标签进行第一轮识别,根据表2,我们可以看到时隙1、5中的标签D、标签G分别被成功识别;时隙3、7发生碰撞;时隙2、4、6、8为空闲时隙。
表2
时隙 选择时隙的标签 状态
时隙1 标签D 成功识别
时隙2 空闲
时隙3 标签A、C 碰撞
时隙4 空闲
时隙5 标签G 成功识别
时隙6 空闲
时隙7 标签B、E、F、H 碰撞
时隙8 空闲
下面我们对发生碰撞的时隙3、7的识别过程进行详细说明。
(一)时隙7内的标签识别过程如表3所示。
表3时隙7内的识别过程
(1)阅读器发送请求信息Request(ALL),所有标签回复其全部字串;
(2)阅读器检测到数据“X1XXXXXX”,最高碰撞位K=7,P=N-K-1=0。“0”被存储进阅读器的堆栈;阅读器发送请求命令request(0,0),最高非屏蔽位是“0”的标签有三个:标签B、E、H,这三个标签更新R寄存器;由于P=0,R寄存器依然保持“11111111”不变,即这三个标签字串的八位都未被屏蔽。R寄存器更新完成后,B、E、H三个标签将最高非屏蔽位后面的字串(后七位)发送给阅读器。
(3)阅读器检测到数据“101XXXX”。最高碰撞位K=3,P=N-K-1=4;“4”被存储进阅读器堆栈。标签发送请求命令Request(0,4),最高非屏蔽位是“0”的标签依然是标签B、E、H,这三个标签的前4位被屏蔽,R寄存器中的字串由“11111111”变为“00001111”;R寄存器更新完成后,B、E、H的最高非屏蔽位由第七位变成第三位,此时最高非屏蔽位是“0”(即第三位)的标签只有标签B,标签B将该位后的三位字串返回给阅读器。
(4)阅读器收到数据“110”,在由阅读器发送的请求命令Request(0,4)中,P=4,则K=N-P-1=3;阅读器的存储区域中,最高碰撞位是第三位的数据是“0101XXXX”;最高碰撞位前面的数据是“0101”,再结合最高碰撞位的数据“0”以及收到的数据“110”,我们能得到数据“01010110”,标签B成功识别。
(5)阅读器从堆栈中弹出最上面的数据Q(堆栈符合先入后出的弹出规则),此处Q=4;阅读器发送请求命令Request(1,Q);有四位屏蔽位,且最高非屏蔽位为“1”的标签为E、H,将最高非屏蔽位后面的字串返回给阅读器;
(6)阅读器检测到数据“0X1”,在由阅读器发送的请求命令Request(1,4)中,Q=4,则K=N-Q-1=3;阅读器的存储区域中,最高碰撞位是第三位的数据是“0101XXXX”;最高碰撞位前面的数据是“0101”,再结合最高碰撞位的数据“1”以及收到的数据“0X1”,我们能得到数据“010110X1”;由于仅有一位碰撞,可以断定收到的标签字串分别为“01011001”和“01011011”,标签E、H被成功识别。
(7)阅读器从堆栈中弹出数据“0”,发送请求命令Request(1,0)。屏蔽位有0位,且最高非屏蔽位是“1”的标签回应,符合条件的标签F最高非屏蔽位后面的七位字串回复给阅读器。
(8)阅读器收到数据“1101101”,我们得到数据:“11101101”,因此标签F被成功识别。
(二)时隙3内的标签识别过程如表4所示。
表4时隙3内的识别过程
(1)阅读器发送请求信息Request(ALL),所有标签回复其全部字串;
(2)阅读器检测到数据“011XX01X”,最高碰撞位K=4,P=N-K-1=3,“3”被存储进阅读器堆栈;阅读器发送请求命令Request(0,3),标签A、C最高非屏蔽位都是“0”,这两个标签都更新R寄存器至“00011111”,前三位被屏蔽。更新完成后,此时最高非碰撞位是“0”的只有标签A,A将该位后的字串返回给阅读器。
(3)阅读器检测到数据“0011”,在阅读器发送的请求命令Request(0,3)中,P=3,因此K=N-P-1=4;阅读器的存储区域中,最高碰撞位是第4位的数据是“011XX01X”;最高碰撞位前面的数据是“011”,再结合最高碰撞位的数据“0”以及收到的数据“0011”,我们能得到数据“01100011”,标签A成功识别。
(4)阅读器从堆栈中弹出最上面的数据Q,此处Q=3。阅读器发送请求命令Request(1,3),有三位屏蔽位,且最高非屏蔽位为“1”的标签C,将最高非屏蔽位后面的字串返回给阅读器;
(5)阅读器检测到数据“1010”,在请求命令Request(1,3)中,Q=3,则K=N-Q-1=4,阅读器的存储区域中,最高碰撞位是第4位的数据是“011XX01X”,最高碰撞位前面的数据是“011”,再结合最高碰撞位的数据“1”以及收到的数据“1010”,我们能得到数据“01111010”,标签C成功识别。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (8)

1.一种适用于智能羊群养殖的RFID标签混合防碰撞算法,其特征在于,包括标签数目估计及分组阶段、动态帧时隙ALOHA算法第一轮识别阶段和后退式动态位屏蔽二进制搜索树算法第二轮识别阶段。
2.根据权利要求1所述的一种适用于智能羊群养殖的RFID标签混合防碰撞算法,其特征在于,标签数目估计及分组阶段包括以下步骤:
S11:在数据读取之前,利用Vogt算法估计待识别标签的数目N;
S12:根据标签数目N进行分组,并初始化当前识别的组编号t=1以及标签分组数g=1,开始对第t组进行识别。
3.根据权利要求2所述的一种适用于智能羊群养殖的RFID标签混合防碰撞算法,其特征在于,动态帧时隙ALOHA算法第一轮识别阶段包括以下步骤:
S21:根据Vogt算法估计组内待识别标签数,动态调整识别帧的帧长L;
S22:进行时隙扫描,阅读器以广播的形式发送Query(L)命令给组内的每个标签;标签收到该命令后,再向阅读器返回各自所预约的时隙数;
S23:阅读器选择一个时隙,判断该时隙是否为空闲时隙,分别执行不同的操作:
1)若该时隙为空闲时隙,则跳转则跳转至步骤S36-2),继续识别下一时隙;
2)若该时隙不是空闲时隙,则进一步判断该时隙是否发生了碰撞:
21)若该时隙为成功时隙,则跳转至步骤S35;
22)若该时隙为碰撞时隙,则跳转至步骤S31。
4.根据权利要求3所述的一种适用于智能羊群养殖的RFID标签混合防碰撞算法,其特征在于,后退式动态位屏蔽二进制搜索树算法第二轮识别阶段包括以下步骤:
S31:阅读器向发生碰撞的所有标签发送Request(ALL)搜索请求;收到请求命令后的所有标签向阅读器发送ID数据;
S32:阅读器检测到ID数据,并根据碰撞位信息决定不同的操作:
1)若阅读器检测到的ID数据仅有一位碰撞位,说明两个标签被成功识别,跳转至步骤S34;
2)若阅读器检测到的ID数据有两位及以上的碰撞位,其中最高碰撞位为第K位,计算P=N-K-1,阅读器将计算出的P值存储进堆栈,并且发送请求命令Request(0,P),其中,N表示标签的ID长度,P表示屏蔽位的位数;
S33:标签收到阅读器的请求命令Request(0,P)后,确定最高非屏蔽位是“0”的标签,将最高非屏蔽位为“0”的标签的前P位屏蔽,屏蔽完成后,并将最高非屏蔽位“0”之后的字串发送给阅读器,并跳转至步骤S32;
S34:阅读器识别标签发来的字串,结合存储空间内存储的最高碰撞位前面的字串,并根据Request()命令判断最高碰撞位的值是“0”还是“1”,得到标签的全部字串;
S35:阅读器发送Select/RW()指令对标签进行挑选和读写操作,发送Sleep()指令使标签进入休眠状态;
S36:判断时隙内是否还有待处理的标签,并进行不同的操作:
1)若该时隙内存在待处理的标签,阅读器从堆栈中弹出数据Q,阅读器发送请求信息Request(1,Q),其中Q表示屏蔽位的位数,确定最高非屏蔽位为“1”且有Q位屏蔽位的标签,将该标签最高非屏蔽位“1”之后的字串发送给阅读器,并跳转至步骤S32,直到所有标签识别完毕;
2)若该时隙内没有未处理的标签或者该时隙为空闲时隙,则继续识别下一时隙;
S37:判断组内是否存在未处理的时隙,并进行不同的操作:
1)若存在未处理的时隙,则跳转至步骤S23,继续识别下一时隙;
2)若不存在未处理的时隙,说明第t组内标签识别完成,组编号t加1,t=t+1,并执行下述两种情况:
21)若t≤g,说明仍存在没有识别的组,继续进行下一组的识别,返回S21;
22)若t>g,说明不存在待识别的组,识别结束。
5.根据权利要求2所述的一种适用于智能羊群养殖的RFID标签混合防碰撞算法,其特征在于,步骤S12根据标签数目N进行分组的具体步骤为:
1)当标签数目N不大于354,则直接进入动态帧时隙ALOHA算法进行第一轮识别阶段;
2)当标签数目N大于354,则需对标签进行分组,判定分组数g;标签在1到g之间随机选择一个数i,作为该标签的组编号。
6.根据权利要求4所述的一种适用于智能羊群养殖的RFID标签混合防碰撞算法,其特征在于,标签内部设置有位屏蔽寄存器,其中,位屏蔽寄存器中字串的长度等于标签的ID长度。
7.根据权利要求6所述的一种适用于智能羊群养殖的RFID标签混合防碰撞算法,其特征在于,位屏蔽寄存器中字串的每一位的数值为“0”或“1”,其中,与“0”对应的标签位被屏蔽,与“1”对应的标签位不被屏蔽。
8.根据权利要求4所述的一种适用于智能羊群养殖的RFID标签混合防碰撞算法,其特征在于,阅读器内部设置有堆栈,堆栈符合先入后出的弹出规则。
CN201810474626.4A 2018-05-17 2018-05-17 一种适用于智能羊群养殖的rfid标签混合防碰撞算法 Pending CN108959993A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810474626.4A CN108959993A (zh) 2018-05-17 2018-05-17 一种适用于智能羊群养殖的rfid标签混合防碰撞算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810474626.4A CN108959993A (zh) 2018-05-17 2018-05-17 一种适用于智能羊群养殖的rfid标签混合防碰撞算法

Publications (1)

Publication Number Publication Date
CN108959993A true CN108959993A (zh) 2018-12-07

Family

ID=64499241

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810474626.4A Pending CN108959993A (zh) 2018-05-17 2018-05-17 一种适用于智能羊群养殖的rfid标签混合防碰撞算法

Country Status (1)

Country Link
CN (1) CN108959993A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110363040A (zh) * 2019-06-27 2019-10-22 盐城吉大智能终端产业研究院有限公司 一种改进的后退式动态二进制搜索树方法
CN111818475A (zh) * 2020-07-02 2020-10-23 四川长虹电器股份有限公司 一种基于物联网技术的多光谱仪分布式检测系统
CN112131900A (zh) * 2020-09-30 2020-12-25 东南大学 一种基于帧时隙分组的动态帧时隙aloha防碰撞方法
CN112380885A (zh) * 2020-11-13 2021-02-19 成都航空职业技术学院 一种基于位屏蔽的rfid碰撞位编码防碰撞方法
CN112749572A (zh) * 2020-12-29 2021-05-04 南京邮电大学 一种降低标签丢失率的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103020568A (zh) * 2012-12-27 2013-04-03 南京三宝科技股份有限公司 基于标签id预处理的rfid防碰撞方法
CN103020569A (zh) * 2012-12-27 2013-04-03 南京三宝科技股份有限公司 一种射频识别多标签防碰撞方法
CN104657693A (zh) * 2015-02-26 2015-05-27 江西理工大学 一种基于分组自适应分配时隙的rfid防碰撞方法
CN106203212A (zh) * 2016-07-05 2016-12-07 江西理工大学 一种基于动态帧时隙的二进制树rfid防碰撞方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103020568A (zh) * 2012-12-27 2013-04-03 南京三宝科技股份有限公司 基于标签id预处理的rfid防碰撞方法
CN103020569A (zh) * 2012-12-27 2013-04-03 南京三宝科技股份有限公司 一种射频识别多标签防碰撞方法
CN104657693A (zh) * 2015-02-26 2015-05-27 江西理工大学 一种基于分组自适应分配时隙的rfid防碰撞方法
CN106203212A (zh) * 2016-07-05 2016-12-07 江西理工大学 一种基于动态帧时隙的二进制树rfid防碰撞方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
周伟辉: "RFID系统多标签自适应识别防碰撞算法研究与性能分析", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110363040A (zh) * 2019-06-27 2019-10-22 盐城吉大智能终端产业研究院有限公司 一种改进的后退式动态二进制搜索树方法
CN111818475A (zh) * 2020-07-02 2020-10-23 四川长虹电器股份有限公司 一种基于物联网技术的多光谱仪分布式检测系统
CN112131900A (zh) * 2020-09-30 2020-12-25 东南大学 一种基于帧时隙分组的动态帧时隙aloha防碰撞方法
CN112131900B (zh) * 2020-09-30 2024-05-03 东南大学 一种基于帧时隙分组的动态帧时隙aloha防碰撞方法
CN112380885A (zh) * 2020-11-13 2021-02-19 成都航空职业技术学院 一种基于位屏蔽的rfid碰撞位编码防碰撞方法
CN112380885B (zh) * 2020-11-13 2024-05-28 成都航空职业技术学院 一种基于位屏蔽的rfid碰撞位编码防碰撞方法
CN112749572A (zh) * 2020-12-29 2021-05-04 南京邮电大学 一种降低标签丢失率的方法
CN112749572B (zh) * 2020-12-29 2024-02-20 南京邮电大学 一种降低标签丢失率的方法

Similar Documents

Publication Publication Date Title
CN108959993A (zh) 一种适用于智能羊群养殖的rfid标签混合防碰撞算法
Shahzad et al. Probabilistic optimal tree hopping for RFID identification
CN103473524B (zh) Rfid多标签识别方法、阅读器和标签
CN102622564B (zh) 一种rfid多标签识别防碰撞方法
Bhandari et al. Intelligent query tree (IQT) protocol to improve RFID tag read efficiency
Liu et al. Fast counting the key tags in anonymous RFID systems
CN108491741A (zh) 一种基于四叉树的位仲裁查询树防碰撞方法
CN103679099A (zh) 一种用于大量rfid标签系统中的防碰撞方法
Yeh et al. Adaptive splitting and pre-signaling for RFID tag anti-collision
CN109635611A (zh) 一种基于帧时隙的优化动态分组防碰撞方法
CN104573593B (zh) 一种基于帧时隙的欠定盲分离rfid防碰撞方法
CN108537079A (zh) 一种基于碰撞因子的自适应分叉查询树多标签防碰撞方法
CN107895130A (zh) 一种基于碰撞树的自适应多叉树防碰撞方法
Arjona et al. Timing-aware RFID anti-collision protocol to increase the tag identification rate
Zhang et al. A fast and universal RFID tag anti-collision algorithm for the Internet of Things
CN104680104A (zh) 一种动态高效的rfid标签识别机制
CN105718968B (zh) 一种基于位图构建的rfid自适应n树防碰撞方法
CN108090386A (zh) 一种基于二叉树分解的多周期rfid防碰撞算法
CN108280377A (zh) 在物资仓储管理系统中多标签的防碰撞读取方法
Shakiba et al. Fitted dynamic framed slotted ALOHA anti-collision algorithm in RFID systems
CN104063627B (zh) 一种最优q参数的确定方法及装置
CN101620661A (zh) 无线射频识别系统中高效的标签计数方法
CN108647542A (zh) 基于Q-learning的RFID多阅读器防碰撞算法
CN110210266A (zh) 一种五叉树搜索rfid防碰撞方法
CN106156681B (zh) 移动rfid系统中基于自适应三进制查询分裂的标签防碰撞方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20181207