一种动态Q值多标签识别算法的性能分析
扫描二维码
随时随地手机看文章
引言
近年来,射频识别(RFID)技术作为自动识别的新技术,凭借其诸多优点在国际上得到迅速发展。它利用射频方式进行非接触双向通信交换数据,以达到识别的目的。为此,EPCglobal组织于2004年12月发布了第二代超高频空中接口标准Class1Generation2(简称EPC-C1G2)。该标准的工作频率范围是860~960MHz,主要应用领域是供应链、零售和资产管理等。在EPC-C1G2协议中,多标签识别是其最重要的性能之一。
超高频RFID的优点是可识别高速运动物体,可多标签识别,识别距离远可达8m,而且无源标签成本低和寿命长,但这些优点也决定了它的使用难度和技术要求较高。如何快速、有效地识别出射频场中多个标签,是UHFRFID的主要问题。EPC-C1G2协议在多标签识别方面非常灵活,并提供了多种参数和命令来解决多标签碰撞问题。本文根据这些参数和命令,给出了一种解决碰撞的流程,并进行了仿真分析。
1EPC-C1G2协议的多标签碰撞解决方法
EPC-C1G2协议的多标签防碰撞机制采用时槽aloha[5-6]算法。该协议使用的多标签碰撞解决命令集包括Query、QueryAdjust、QueryRep、ACK和NAK。主要参数为决定时隙计数的Q值。
Query用于初始化一个盘点过程,并决定哪些标签参与本盘点过程(这里“盘点过程”定义为连续两个Query命令之间的时间)。Query包含一个时隙计数参数Q。当接收到一条Query命令时,被盘点的标签应在含(0,2Q-1)范围内选出一个随机数,并将这个数置入它们的时隙计数器。选到零值的标签应转移到应答状态,并立即应答一个随机数RN16。选到非零数的标签应转移到仲裁状态,并等待下一条QueryAdjust或QueryRep命令。
处于仲裁和应答状态的标签,在接收一条QueryAdjust命令时,首先调整Q值(增加、减少或不变),然后在含(0,2Q-1)范围内选出一个随机数,置入它们的时隙计数器。选到零值的标签应转移到应答状态,并立即回答。选到非零值的标签应转移到仲裁状态,并等待下一条QueryAdjust或QueryRep命令。
处于仲裁状态的标签每接收到一条QueryRep命令后,即将它们的时隙计数器减1。当它们的时隙计数器减到0000h时,标签转移到应答状态,并应答一个随机数RN16。那些时隙计数器减到0000"并已应答,但没有得到确认(包括对先前Query命令的响应,而没有得到确认)的标签应返回仲裁状态,仍有时隙值0000h,在接收到下一条QueryRep命令时,这些标签的时隙计数器应从0000h减到7FFFh,从而有效地防止随后的应答,直到标签置新的随机数进入它的时隙计数器。在2q-1条QueryRep命令中,标签至少应答一次。
假设只有一个标签应答,则其查询-响应算法的执行过程如下:
(1)当标签进入应答状态时,回答一个随机数RN16;
(2)读写器用包含同样RN16的ACK命令确认这个标签;
(3)被确认的标签转移到确认状态,并回答它的PC、EPC和CRC-16给读写器;
(4)读写器发送一条QueryAdjust或QueryRep命令,使被识别的标签转移到准备状态,潜在地也初始化另一个标签与读写器的查询-响应对话过程,并从以上步骤(1)重新开始。
图1所示是单标签的查询-应答过程。图中,白色部分口表示读写器到标签的信号,带阴影部分口表示标签到读写器的信号,而且P为命令帧头,FS为命令帧同步,RN16为16b随机数,PC为协议控制字,EPC为电子产品码,CRC-16为16b循环冗余校验码。
如果多个标签或无标签在步骤(1)回答,而读写器未能分解出一个标签RN16,则读写器就从以上步骤(4)开始。图2所示为多标签查询-应答过程。
2仿真分析
在多标签识别过程中,不仅要识别出所有标签,还要时间尽可能短。由上述识别过程可以看出,标签都在规定的时槽内应答,因此,决定时槽多少的Q值是关键参数,但上述内容并没有给出具体的Q值。本节将给出一种识别流程,并确定Q值对识别时间的影响。依据协议规定,可计算出读写器发送每条命令的时间和标签应答的时间,这里不再赘述。
2.1固定Q值算法
时隙计数Q值在整个识别过程不改变。Q值根据可能需要识别标签的最大数目而定,如最多识别Nmax=30个标签,Q=6Log2(Nmax)+1=5。在一次识别过程中,不对发生碰撞的标签再次识别,因此,需要多次执行该识别流程,才能识别所有标签。
2.2动态Q值算法
动态Q值算法可以根据标签碰撞解决过程中的情况动态地调整Q值。动态Q值算法有三个参数:Qstart、Qm,o和Qm*Qstart为起始Q值,Qm.为最小Q值,QjMx为最大Q值。在本文动态Q算法分析中,Qm,o等于0,Qmx等于15,Qstart分别等于2、4、6和8。当读写器未收到标签应答的随机数,或标签应答的随机数发生碰撞时,变量nrn加1。当读写器未能收到标签应答的EPC码时,变量nepc加1。阈值threahold等于当前的Q值,可以作为Q值变化的依据。图3所示为动态Q值算法具体流程图。
图3动态Q值算法流程
2.3仿真曲线及分析
图4所示为该标准的标签识别时间与标签数目的动态关系图。图中,横坐标为被识别的标签数,纵坐标为识别所费时间(统计平均时间)。
由图4可见,起始Q值Qam取不同值时,对识别时间影响不大,因此,动态Q值算法的三个参数均可恒定。图4中的三个图分别是标签应答数据速率(LF)为不同值时,两种识别过程的比较。可见,动态Q值算法性能好的主要原因:一是变Q值识别每完成一轮(2Q—1时槽)识别后,Q值会根据标签碰撞的情况及时调整,因而可以节省时间;二是已被识别的标签不再参与下轮识别,从而加速了剩余标签的识别速度;三是动态Q值算法性能比固定Q值算法改善不明显,原因是动态Q值的三个参数是恒定的,不随待识别标签数变化,而固定Q值算法的起始Q值需根据实际待识别标签数做变化,否则严重影响标签的识别时间,特别是针对待识别标签数变化较大的情况,动态Q值算法更具有明显优势。
3结语
一般情况下,固定Q值算法针对10个以内标签盘点比较有效,如车辆管理;而动态Q值算法适应盘点标签数变化较大的场合,如仓库管理。在EPC-C1G2协议中,多标签识别还包括Select命令、Session会话参数和inventoried标识等,可提供更加灵活的识别算法。如用Select命令可根据Session会话参数或标签数据特征将标签分成几组,再分别识别每一组标签,每组标签均可采用本文算法进行,故可满足不同的应用要求。
20210919_61469a716b297__一种动态Q值多标签识别算法的性能分析