基于快速动态帧时隙的标签防碰撞方法及系统与流程

文档序号:17082751发布日期:2019-03-09 00:28阅读:625来源:国知局
基于快速动态帧时隙的标签防碰撞方法及系统与流程

本发明涉及射频识别技术领域,更具体地,涉及基于快速动态帧时隙的标签防碰撞方法及系统。



背景技术:

射频识别(rfid,radiofrequencyidentification)技术是利用无线射频信号实现标签与阅读器之间的双向通信。典型的应用场景是多个标签分布在阅读器范围内,当阅读器想要识别标签时,多个标签同时通过共享无线信道响应,此时会发生交通堵塞问题,称为rfid碰撞。通常,rfid碰撞包括阅读器碰撞和标签碰撞。阅读器碰撞是多个阅读器通过共享通信信道以相同的频率和时间进行通信。标签碰撞是多个标签同时将其id号发送到同一个阅读器,导致阅读器无法正确识别任何标签。由于阅读器几乎不需要注意内存和计算能力等限制,并且具有碰撞检测能力,可以通过分频或分时轻松应对碰撞问题。但是,由于标签的存储、计算和通信能力非常有限,因此,标签防碰撞比阅读器防碰撞更困难。

为了提高rfid应用的性能,防碰撞算法变得越来越重要。基于aloha的防碰撞算法是一种基于时分多址(tdma)的概率性算法,属于时分多路访问控制方式,标签具有伪随机数发生器,可以随机选择一个随机数,只有当标签的随机数为0或被阅读器选中时,标签才将其epc编码发送给阅读器,以此来避免标签之间的碰撞。此类算法具有易于实现、计算复杂度低的优点。但是随着通信量的增加,标签之间的数据冲突也明显增加,使得吞吐量急剧降低,因此,在纯aloha算法基础上提出了一系列的改进算法。

帧时隙防碰撞算法是最典型的基于aloha的一类改进算法,其实现过程为:每次识别过程,阅读器先设置一个固定长度等于l的帧,即帧包含l个时隙,阅读器将l作为盘存命令参数通知所有标签,标签接收到盘存命令后,根据自己的伪随机数发生器生成一个0~l-1的时隙随机数,每当标签接到查询命令,标签检查自己的随机数是否为0,如果时隙随机数为0则给阅读器应答;如果时隙随机数不为0,则随机数减1,等待下一次查询命令,重复上述过程,直到识别全部标签。每个帧长的识别过程为一个阅读循环,要识别所有的标签可能需要多个阅读循环,由于标签选择的随机数存在重复、不连续等情况,因此每个时隙的识别结果有三种:成功(1个标签应答)、空闲(无标签应答)、碰撞(多个标签应答)。

理论分析可知,当帧长与待识别标签数量相等时,基于aloha的防碰撞算法的系统吞吐率最高、算法性能最佳、系统效率最优。但是识别的标签不再参与后续的阅读循环,因此待识别标签的数量越来越少,而帧长保持不变,此时会造成系统效率急剧恶化。动态帧时隙aloha算法在帧时隙aloha算法的基础上,提出帧长要随着标签数动态变化,使得系统效率接近最优值。为了实现帧长动态变化,需要阅读器对待识别标签数进行动态估计,对待识别标签数进行动态估计是否准确成为影响动态帧时隙防碰撞算法的系统效率的关键因素。因此,如何提供一种防碰撞方法,能够快速准确地估计待识别标签的数量,从而动态调节帧长、优化系统效率,显得尤为重要。



技术实现要素:

本发明提供一种克服上述问题或者至少部分地解决上述问题的基于快速动态帧时隙的标签防碰撞方法及系统。

第一方面,本发明实施例提供一种基于快速动态帧时隙的标签防碰撞方法,包括:

对任一阅读循环,设置帧长度l,并将时隙计数器、成功时隙计数器、空闲时隙计数器和碰撞时隙计数器均清零;

通过广播形式向进入识别范围的待识别标签发送携带所述帧长度的查询命令,以供接收到所述查询命令的标签被激活进入待识别状态并向阅读器发送应答消息;

依次查询每个时隙,根据标签的应答消息判断碰撞情况,并根据所述碰撞情况分别更新所述成功时隙计数器、空闲时隙计数器和碰撞时隙计数器的值;

根据当前阅读循环结束时所述成功时隙计数器、空闲时隙计数器和碰撞时隙计数器的值计算下一阅读循环待识别标签的数量,并根据所述下一阅读循环待识别标签的数量更新下一阅读循环的帧长度。

第二方面,本发明实施例提供一种基于快速动态帧时隙的标签防碰撞方法,包括:

标签接收到阅读器发送的包含帧长度l的查询命令时,通过自身携带的伪随机数发生器产生一个[0,l-1]范围内的时隙随机数;

若标签的时隙随机数为零,该标签生成一个随机数rn16,并在当前时隙内发送携带有随机数rn16的应答消息;

若成功识别的标签接收到阅读器发送的编码获取命令,对所述编码获取命令中携带的信息进行校验,校验成功后向阅读器发送携带epc编码的消息给阅读器,并将自身的状态标为已盘存;

若其他未成功识别的标签接收到重复查询命令,则所有标签的时隙随机数减一,当标签的时隙随机数为零时,向阅读器发送携带有随机数rn16的应答消息。

第三方面,本发明实施例提供一种基于快速动态帧时隙的标签防碰撞系统,包括:主机、阅读器、共享无线信道和至少一个标签,所述阅读器执行如第一方面所述的标签防碰撞方法,所述标签执行如第二方面所述的标签防碰撞方法。

第四方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面或第二方面所提供的方法的步骤。

第五方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面或第二方面所提供的方法的步骤。

本发明实施例提供的基于快速动态帧时隙的标签防碰撞方法及系统,能够快速准确地估计待识别标签的数量,从而动态调节帧长,且计算过程简单,能够有效提升标签识别的效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的基于快速动态帧时隙的标签防碰撞方法的流程示意图;

图2为本发明实施例提供的基于快速动态帧时隙的标签防碰撞方法的流程示意图;

图3为本发明实施例提供的基于快速动态帧时隙的标签防碰撞系统的结构示意图;

图4为本发明实施例提供的rfid标签识别过程中阅读器与标签交互应答示意图;

图5为本发明实施例提供的基于快速动态帧时隙的标签防碰撞系统的工作流程图;

图6为本发明实施例提供的电子设备的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了克服现有技术的上述问题,本发明实施例提供了一种基于快速动态帧时隙的标签防碰撞方法及系统,其发明构思为:基于现有的动态帧时隙aloha防碰撞算法,由于标签的时隙随机数选择具有随机性、并且相互独立,同时,标签的识别结果只有三种情况:成功、空闲或碰撞,因此,认为标签的时隙随机数分布服从多项式分布,并以此建立基于概率分布的标签数量估算模型,实现快速准确估计标签数量,以获取最佳帧长。

如图1所示,为本发明实施例提供的基于快速动态帧时隙的标签防碰撞方法的流程示意图,该方法的执行主体为阅读器,包括:

步骤10、对任一阅读循环,设置帧长度,并将时隙计数器、成功时隙计数器、空闲时隙计数器和碰撞时隙计数器均清零。

具体地,用时隙(slot)来表示离散的时间域,每次识别过程阅读器先设置一个长度等于l的帧,即一个帧包含l个时隙,每个帧中所有时隙的识别过程称为一个阅读循环,要识别所有的标签可能需要多个阅读循环。

时隙计数器scount用于对一个阅读循环过程中的时隙进行计数,用于指示当前识别过程是针对具体哪个时隙。

由于标签选择的随机数存在重复、不连续等情况,因此每个时隙的识别情况有三种:成功(1个标签应答)、空闲(无标签应答)、碰撞(多个标签应答)。成功时隙计数器s用于统计一个阅读循环过程中时隙状态为成功的时隙个数,也即被成功识别的标签数量。空闲时隙计数器e用于统计一个阅读循环过程中处于空闲状态的时隙个数。碰撞时隙计数器c用于统计一个阅读循环过程中处理碰撞状态的时隙个数。

在阅读器开始进入第一阅读循环时,对帧长度和阅读循环数进行初始设置,其中,阅读循环数cycles用于指示当前识别过程属于第几个阅读循环。初始帧长度l可以设置为128,阅读循环数cycles设置为1。同时,将时隙计数器scount、成功时隙计数器s、空闲时隙计数器e和碰撞时隙计数器c均置零。

每一次进入一个新的阅读循环,时隙计数器scount、成功时隙计数器s、空闲时隙计数器e和碰撞时隙计数器c均需重新清零,而帧长度则根据上一阅读循环中识别的标签数来确定。

步骤11、阅读器通过广播形式向进入识别范围的待识别标签发送携带所述帧长度的查询命令,以供接收到所述查询命令的标签被激活进入待识别状态并向阅读器发送应答消息。

具体地,阅读器通过广播的形式向所有进入其识别范围的标签发送携带有帧长度的查询命令,标签接收到阅读器发送的查询命令后,标签被激活进入待识别状态,处于待识别状态的标签随机地从0至帧长度l-1范围内选择一个时隙来传送数据,将标签随机选择的时隙的值称为时隙随机数sn。所述时隙随机数是通过标签自身携带的伪随机数发生器随机产生的。为了有效减少标签之间的碰撞,规定当标签的时隙随机数为0时,才允许其向阅读器发送应答消息,标签的应答消息中包含一个随机数rn16。如果标签的时隙随机数不为0,则将其时隙随机数进行减1操作,然后等待接收阅读器下一时隙的查询命令。

步骤12、依次查询每个时隙,根据标签的应答消息判断碰撞情况,并根据所述碰撞情况分别更新所述成功时隙计数器、空闲时隙计数器和碰撞时隙计数器的值。

具体地,开始帧内时隙的查询,阅读器根据所接收到的标签发送的应答消息来判断当前时隙的碰撞情况。

在此阶段中,时隙的状态存在以下三种情况:

阅读器未检测到标签的应答信息,也就是无标签在此时隙内传输,此时阅读器结束当前时隙的查询,标记当前时隙的状态为空闲,并使空闲时隙计数器e的值加一;

阅读器检测到应答信息但无法正确识别出来,说明当前时隙内有多个标签在传送信息,标签之间发生了碰撞,此时阅读器结束当前时隙的查询,标记当前时隙的状态为碰撞,并使碰撞时隙计数器c的值加一;

阅读器检测到应答信息并能够正确识别,说明该时隙内只有一个标签在传送信息,则标记当前时隙的状态为成功,并使成功时隙计数器s的值加一。

阅读器在时隙查询完成后,从所接收到的应答消息中解析出随机数rn16,向识别成功的标签发送携带有rn16的编码获取命令ack,等待接收标签的应答信息。若标签收到编码获取命令ack,则检查编码获取命令中携带的rn16与标签生成的rn16是否匹配,如果匹配成功,则标签发送其epc编码及其他信息给阅读器,并进入确认状态,若确认状态的标签接收到任何命令,则自动将其盘存标志置为已盘存,即标记为已被识别。至此,阅读器完成一个标签的识别工作。

而对在此时隙中未能成功识别的标签,阅读器则发送重复查询指令queryrep,并进入下一时隙准备接受标签的应答信息。标签收到重复查询命令queryrep时,将接收到重复查询命令的所有标签时隙随机数sn减一,当sn为0时,开始给阅读器发送应答消息。

当阅读器完成一个时隙的查询后,时隙计数器scount加一,若时隙计数器scount的值为l,即查询的时隙数与帧长度l相等时,说明当前阅读循环完成,阅读器结束一帧的查询,并设置阅读循环数cycles加1,然后进入下一个阅读循环周期。

步骤13、根据当前阅读循环结束时所述成功时隙计数器、空闲时隙计数器和碰撞时隙计数器的值计算下一阅读循环待识别标签的数量,并根据所述下一阅读循环待识别标签的数量更新下一阅读循环的帧长度。

具体地,标签的时隙随机数分布服从多项式分布,以此建立基于后验概率分布最大值的标签数估计模型。

阅读器根据当前阅读循环结束时的成功时隙计数器s、空闲时隙计数器e和碰撞时隙计数器c,利用基于后验概率分布最大值的标签数量估算模型,推算当前环境待识别标签的数量,即当前阅读循环开始时的待识别标签数量,根据当前环境待识别标签的数量和当前阅读循环成功识别的标签数量,即可以获得下一阅读循环待识别的标签的数量,并将下一阅读循环的帧长度赋值为下一阅读循环待识别的标签数量。

值得说明的是,可以在每个阅读循环结束时,进行一次当前环境待识别标签的数量估计。也可以只在第一个阅读循环结束时,进行一次当前环境待识别标签的数量估计,后续阅读循环不再进行标签数估计,而是根据当前阅读循环的帧长度减去当前阅读循环识别成功的标签数得到下一阅读循环待识别标签的数量,从而获得下一阅读循环的帧长度,以降低算法的复杂性。

阅读器根据下一阅读循环待识别的标签的数量,设置下一阅读循环的帧长度,实现了帧长随着标签数量动态变化。重新开始执行步骤10至步骤13,直至所有标签识别完成。

本发明实施例提供的基于快速动态帧时隙的标签防碰撞方法,能够快速准确地估计待识别标签的数量,从而动态调节帧长,且计算过程简单,能够有效提升标签识别的效率。

基于上述实施例,所述依次查询每个时隙,根据标签的应答消息判断碰撞情况,并根据所述碰撞情况分别更新所述成功时隙计数器、空闲时隙计数器和碰撞时隙计数器的值的步骤,具体为:

重复执行如下对时隙的查询过程,直至时隙计数器的值等于l时结束:

针对当前时隙,若阅读器未检测到标签的应答信息,则将结束当前时隙的查询,将当前时隙标记为空隙,并使空闲时隙计数器的值加一;或者,

若阅读器检测到应答信息但无法正确识别,则结束当前时隙的查询,将当前时隙标记为碰撞,并使碰撞时隙计数器的值加一;或者,

若阅读器检测到应答信息并正确识别,则将当前时隙标记为成功,并使成功时隙计数器的值加一,并向成功识别的标签发送编码获取命令;

向其他未成功识别的标签发送重复查询命令,并使时隙计数器加一。

具体地,在一个阅读循环中,完成对l个时隙的查询过程,针对每个时隙执行相同的查询过程,包括:

针对当前时隙,若阅读器未检测到标签的应答信息,则将结束当前时隙的查询,将当前时隙标记为空隙,并使空闲时隙计数器e的值加一;或者,

若阅读器检测到应答信息但无法正确识别,则结束当前时隙的查询,将当前时隙标记为碰撞,并使碰撞时隙计数器c的值加一;或者,

若阅读器检测到应答信息并正确识别,则将当前时隙标记为成功,并使成功时隙计数器s的值加一,并向成功识别的标签发送编码获取命令ack;

向其他未成功识别的标签发送重复查询命令queryrep,并使时隙计数器scount加一,进入下一时隙,准备接收标签的应答信息。

若时隙计数器scount的值为l,即查询的时隙数与帧长度l相等时,说明当前阅读循环完成,阅读器结束本帧的查询。

基于上述各实施例,所述若根据当前阅读循环结束时所述成功时隙计数器、空闲时隙计数器和碰撞时隙计数器的值计算下一阅读循环待识别标签的数量,并根据所述下一阅读循环待识别标签的数量更新下一阅读循环的帧长度的步骤,具体为:

若当前阅读循环结束,判断当前阅读循环是否为第一个阅读循环;

若判断获知当前阅读循环为第一个阅读循环,则利用预设的标签数量估算模型结合当前阅读循环结束时所述成功时隙计数器、空闲时隙计数器和碰撞时隙计数器的值推算出当前环境待识别标签的数量,设置下一阅读循环的帧长度为所述当前环境待识别标签的数量减去当前阅读循环成功识别的标签数;或者,

若判断获知当前阅读循环非第一个阅读循环,则设置下一阅读循环的帧长度为当前阅读循环的帧长度减去当前阅读循环成功识别的标签数;

其中,所述当前阅读循环成功识别的标签数为当前阅读循环的成功时隙计数器的值。

具体地,通过读取阅读循环数cycles的值,判断当前阅读循环是否为第一个阅读循环。

若阅读循环数cycles等于1,即当前阅读循环为第一阅读循环,设置下一阅读循环的帧长度l为当前环境待识别标签的数量num减去当前阅读循环成功识别的标签数(即成功时隙计数器值s),设置下一阅读循环的帧长度为num-s。

若阅读循环数cycles大于等于2,设置下一阅读循环的帧长度l为当前阅读循环的帧长度l减本阅读循环的成功时隙计数器值s,即l-s。

只在第一个阅读循环结束时,进行一次当前环境待识别标签的数量估计,后续阅读循环不再进行标签数估计,从而可以有效地降低算法的复杂性。

基于上述实施例,所述利用预设的标签数量估算模型结合当前阅读循环结束时所述成功时隙计数器、空闲时隙计数器和碰撞时隙计数器的值推算出当前环境待识别标签的数量的步骤,具体为:

对预设的标签数量估算模型求最大值,其中,所述预设的标签数量估算模型为:

其中,s为成功时隙计数器的值,e为空闲时隙计数器的值,c为碰撞时隙计数器的值;

将p(n|e,s,c)取最大值时的n作为当前环境待识别标签的数量num。

具体地,识别n个标签,各个待识别标签之前相互独立,那么,标签选择某个时隙传输数据的概率是均等的,即标签选择某一时隙i向阅读器发送响应消息的概率p为:

时隙i中有r个标签的概率为:

当r=0时,当前时隙的状态为空闲,即一个时隙为空闲状态的概率为:

当r=1时,当前时隙的状态为成功,即一个时隙为成功状态的概率为:

由于每个时隙只有三种状态,空闲,成功和碰撞,即一个时隙为碰撞状态的概率为:

现在已知当前阅读循环中,空闲时隙计数器e、成功时隙计数器s和碰撞时隙计数器c的值,那么,后验概率分布可表示为

将p(n|e,s,c)取最大值时的n作为当前环境待识别标签的数量num。

基于上述各实施例,所述对任一阅读循环,设置帧长度l,并将时隙计数器、成功时隙计数器、空闲时隙计数器和碰撞时隙计数器均清零的步骤之前,还包括:

阅读器通过广播的形式向所有进入其识别范围的标签发送盘点分类命令,以供标签根据所述盘点分类命令确认是否参与本次盘点。

具体地,阅读器发送盘点分类sort命令给所有进入其识别范围的标签,标签收到盘点分类命令后进行条件匹配,满足条件的参与本次盘点。

上述各实施例所提供的基于快速动态帧时隙的标签防碰撞方法的执行主体为阅读器端。本发明另一实施例提供的基于快速动态帧时隙的标签防碰撞方法以标签端作为执行主体。

如图2所示,为本发明实施例提供的基于快速动态帧时隙的标签防碰撞方法的流程示意图,该方法的执行主体为标签,包括:

步骤20、标签接收到阅读器发送的包含帧长度l的查询命令时,通过自身携带的伪随机数发生器产生一个[0,l-1]范围内的时隙随机数。

只有接收到阅读器的查询命令时,标签才会向阅读器发送应答信息。阅读器的查询命令中携带了帧长度,标签对所接收到的查询命令进行解析,获得帧长度l,利用自身携带的伪随机数发生器产生一个0到l-1范围内的随机数作为所选择的时隙。

步骤21、若标签的时隙随机数为零,该标签生成一个随机数rn16,并在当前时隙内发送携带有随机数rn16的应答消息。

rn16用于作为会话的标识或句柄。rn16在国标gb29768中是一个由11位随机数和5位crc-5校验数构成的16位数,rn16在iso180006c标准中则是一个16位的随机或伪随机数。本发明实施例对标签生成随机数rn16的方式不作限制。

为了有效减少标签之间的碰撞,规定只有时隙随机数为零的标签才能够在当前时隙对阅读器进行应答。标签生成一个随机数rn16发送给阅读器。

若标签的时隙随机数不为零,则等待阅读器下一时隙的查询命令。

步骤22、若成功识别的标签接收到阅读器发送的编码获取命令,对所述编码获取命令中携带的信息进行校验,校验成功后向阅读器发送携带epc编码的消息给阅读器,并将自身的状态标为已盘存。

具体地,阅读器接收到标签的应答信息后,开始进行帧内时隙查询,检测碰撞情况,阅读器会向成功识别的标签发送编码获取命令ack,标签收到编码获取命令ack则检查命令中携带的rn16是否与标签生成的rn16匹配,如果匹配成功,则发送标签的epc编码及其他信息给阅读器,进入确认状态。

若确认状态的标签收到任何命令,则自动将盘存标志置为已盘存,即已被识别。

步骤23、若其他未成功识别的标签接收到重复查询命令,则所有标签的时隙随机数减一,当标签的时隙随机数为零时,向阅读器发送携带有随机数rn16的应答消息。

若其他未成功识别的标签接收到重复查询命令queryrep,则所有标签的时隙随机数sn减一,当标签的时隙随机数为零时,开始向阅读器发送携带有随机数rn16的应答消息。

上述各实施例所提供的基于快速动态帧时隙的标签防碰撞方法能够有效地减少标签碰撞发生的概率。

基于上述实施例,所述标签接收到阅读器发送的包含帧长度l的查询命令时的步骤之前,还包括:

标签根据接收到的盘点分类命令,根据所述盘点分类命令确认是否参与本次盘存,若确认不参与盘存,则不响应接收到的任何命令。

具体地,标签根据接收到的盘点分类sort命令,根据所述盘点分类命令确认是否参与本次盘存,若确认不参与盘存,则不响应接收到的任何命令。

如图3所示,为本发明实施例提供的基于快速动态帧时隙的标签防碰撞系统的结构示意图,包括:主机31、阅读器32、共享无线信道33和至少一个标签34,所述阅读器32执行如上述各实施例所述的标签防碰撞方法,所述标签34执行如上述各实施例所述的标签防碰撞方法。

所述主机31,用于连接阅读器32,控制阅读器32的工作,并可以接收阅读器32返回的标签信息;

所述阅读器32,用于发射射频信号给区域内的标签,同时与主机31相连接,可以将读取到的标签信息发送给主机31;

所述共享无线信道33,用于阅读器32与标签34间的信号传输,并被多个标签34共享,因此,当多个标签34同时发送信号时会造成无线信道信号干扰;

所述标签34,存储有唯一身份识别信息的电子标签,可以标识物体身份,具备信号接收和应答功能,数量多并且不固定。

图4为本发明实施例提供的rfid标签识别过程中阅读器与标签交互应答示意图,阅读器每个时隙发送一条命令给标签,标签根据命令和状态返回应答信息给阅读器,阅读器在每条命令后能接收到三种不同的应答结果,包括:无标签应答(空闲)s0、多标签应答(碰撞)s1、一个标签应答(成功)s2,其中:

所述无标签应答(空闲)s0,在阅读器发送命令后,等待接收应答的时间内,未收到任何标签的应答信号,说明本时隙空闲;

所述多标签应答(碰撞)s1,在阅读器发送命令后,等待接收应答的时间内,收到2个以上标签的应答信号,但此时阅读器无法正确识别任何一个,说明本时隙碰撞;

所述标签应答(成功)s2,在阅读器发送命令后,等待接收应答的时间内,仅收到1个标签的应答信号,阅读器能正确识别并进行后续操作。

阅读器在发送命令后,等待标签应答的时间为t1,标签解调阅读器信号所需的时间为t2,如果无应答,在等待t1后到阅读器发送下一个命令之前需要等待的时间为t3;进一步地,当阅读器收到单个标签应答的rn16后,阅读器会再发送一个编码获取命令ack给标签,标签收到后检查ack中的参数rn16是否与自身的rn16相等,若相等则应答epc信息给阅读器。

如图5所示,为本发明实施例提供的基于快速动态帧时隙的标签防碰撞系统的工作流程图,包括:

步骤501,阅读器发送盘点分类sort命令给所有标签,标签收到盘点分类指令后进行条件匹配,满足条件的参与本次盘点;

步骤502,阅读器设置初始参数,帧长l,所有计数器置零,发送查询query命令,开始等待接收标签的应答;

步骤503,参加盘点的标签,根据接收到的query命令,初始化参数,生成时隙随机数sn,若sn为0则给阅读器应答随机数rn16;

步骤504,阅读器接收标签应答并判定应答状态,若标签无应答,则该时隙状态为空闲,执行步骤505;若2个以上标签应答,则该时隙状态为碰撞,执行步骤506;若只有1个标签应答,则该时隙状态为成功,执行步骤507;

步骤505,无标签应答,空闲时隙状态计数器e++,转至步骤517;

步骤506,多标签应答,碰撞时隙状态计数器c++,转至步骤509;

步骤507,一个标签应答,成功时隙状态计数器s++,转至步骤508;

步骤508,判断应答rn16还是epc,若为rn16则阅读器发送ack确认命令,并等待标签应答,转至步骤510;若为epc,则执行步骤509;

步骤509,阅读器发送查询重复queryrep命令,时隙计数器scount++;

步骤510,当前帧是否结束,scount=l?若未结束,转至步骤512;若帧结束,执行步骤511;

步骤511,判断当前是否为第一阅读循环?若为第一阅读循环结束,则执行步骤513;若非第一阅读循环结束,则转至步骤515;

步骤512,标签接收ack或queryrep命令,匹配ack命令的标签应答epc等信息,并退出盘点,其他标签随机数sn减1;

步骤513,根据帧长l,时隙状态计数器e、s、c,用标签数量估算模型估算标签数量num;

其中标签数量估算模型为:

当p(n|e,s,c)取最大值时的n,即为参与本次盘点的标签总数num;

步骤514,随机数sn为0的标签给阅读器应答rn16;

步骤515,设置下一阅读循环的帧长l,其中,若为第一阅读循环结束时,l=num-s;若非第一阅读循环结束时,l=l-3;

步骤516,阅读器发起查询命令query,阅读循环数cycles++,转至步骤502;

步骤517,判断参与当前盘点周期内是否全部识别结束,若识别结束,则算法终止;否则,转至步骤509。

图6为本发明实施例提供的电子设备的结构示意图,该电子设备可以包括:处理器(processor)601、存储器(memory)602和总线603;

其中,处理器601及存储器602分别通过总线603完成相互间的通信;处理器601用于调用存储器602中的程序指令,以执行上述各实施例提供的基于快速动态帧时隙的标签防碰撞方法,例如包括:对任一阅读循环,设置帧长度l,并将时隙计数器、成功时隙计数器、空闲时隙计数器和碰撞时隙计数器均清零;阅读器通过广播形式向进入识别范围的待识别标签发送携带所述帧长度的查询命令,以供接收到所述查询命令的标签被激活进入待识别状态并向阅读器发送应答消息;依次查询每个时隙,根据标签的应答消息判断碰撞情况,并根据所述碰撞情况分别更新所述成功时隙计数器、空闲时隙计数器和碰撞时隙计数器的值;根据当前阅读循环结束时所述成功时隙计数器、空闲时隙计数器和碰撞时隙计数器的值计算下一阅读循环待识别标签的数量,并根据所述下一阅读循环待识别标签的数量更新下一阅读循环的帧长度。

此外,上述的存储器602中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的基于快速动态帧时隙的标签防碰撞方法,例如包括:对任一阅读循环,设置帧长度l,并将时隙计数器、成功时隙计数器、空闲时隙计数器和碰撞时隙计数器均清零;阅读器通过广播形式向进入识别范围的待识别标签发送携带所述帧长度的查询命令,以供接收到所述查询命令的标签被激活进入待识别状态并向阅读器发送应答消息;依次查询每个时隙,根据标签的应答消息判断碰撞情况,并根据所述碰撞情况分别更新所述成功时隙计数器、空闲时隙计数器和碰撞时隙计数器的值;根据当前阅读循环结束时所述成功时隙计数器、空闲时隙计数器和碰撞时隙计数器的值计算下一阅读循环待识别标签的数量,并根据所述下一阅读循环待识别标签的数量更新下一阅读循环的帧长度。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1