1.一种降低标签丢失率的方法,其特征在于,包括:阅读器对标签进行分组,并发出分组指令给标签;
阅读器根据分组后的标签,判断是否进行标签识别,若是,阅读器通过预约帧和双响应来对分组后的标签进行识别,并发出识别指令给标签,若否,结束标签识别过程。
2.根据权利要求1所述的一种降低标签丢失率的方法,其特征在于,阅读器对标签进行分组的方法包括:
阅读器对标签进行分组并计算出分组数k,创建循环链表;
阅读器根据计算出的分组数k得出发送分组命令的时间间隔ts,创建队列Queue和辅助结点List,辅助结点List指向循环链表表头,辅助结点List内部的值用Q表示,用来存放分组数;
阅读器创建数值型数据t,其与系统时间同步累加,阅读器对数据t使用中断机制,与计算出的时间间隔ts进行比较:
当t≥ts时,阅读器向识别区域内的标签发送分组指令SendGroup(Q),同时其内部将Q值加入到队列Queue中,最后辅助结点List指向循环链表的下一结点,数值型数据t清零并继续与系统时间同步累加;当t
3.根据权利要求2所述的一种降低标签丢失率的方法,其特征在于,阅读器对标签进行分组并计算出分组数k,创建循环链表的方法包括:阅读器根据标签的移动速度v和识别区域的长度s以及每秒进入识别区域的标签的个数为n′,由相应的公式计算出分组数k;
为了使每组中的未识别标签数不超过256个,组数k的计算公式为根据计算出的分组数k来创建长度为k的循环链表,链表中每个结点的值依次从1到k,互不重复。
4.根据权利要求3所述的一种降低标签丢失率的方法,其特征在于,ts的计算公式为:式中,k为分组数;v为标签的移动速度;s为识别区域的长度。
5.根据权利要求2至4任一项所述的一种降低标签丢失率的方法,其特征在于,判断是否进行标签识别的方法包括:
判断队列Queue的长度是否等于0;
若等于0,则结束标签识别过程;
若不等于0,则执行POP指令,从队列Queue中读取Q值,进行标签识别。
6.根据权利要求3所述的一种降低标签丢失率的方法,其特征在于,通过预约帧和双响应来对分组后的标签进行识别的方法包括:阅读器首次执行标签识别时,下一帧帧长L默认为256;
阅读器非首次执行标签识别时,根据帧长预测公式计算出下一帧帧长L;
阅读器根据读取到的Q值和计算得到的帧长L向识别区内的Q组标签发送帧时隙选择指令Select(L,Q),阅读器接收标签返回的预约帧并创建数值型数据d,d的初始值为1;
阅读器根据接收到的预约帧来判断帧中哪个时隙为空闲时隙,从而跳过空闲时隙;
阅读器判断对第d个时隙中的标签是否能被识别。
7.根据权利要求6所述的一种降低标签丢失率的方法,其特征在于,帧长预测公式如下:
式中,tL表示上一帧所花费的时间;ts是分组的时间段;C是上一帧中碰撞的时隙数;v是标签的运动速度;k是计算出的全部分组的总组数;L是预测的下一帧的帧长;1≤LQ
8.根据权利要求6或7所述的一种降低标签丢失率的方法,其特征在于,阅读器判断对第d个时隙中的标签是否能被识别的方法包括:阅读器判断d是否大于L:
若大于L,则表示一帧识别完毕,继续判断是否进行标签识别;
若小于L,判断接收到的预约帧的第d位是否发生碰撞:若发生碰撞,阅读器向识别区域内的标签发送选择的Identify(d,Q)指令,并且执行d++;
若未发生碰撞,则执行d++,返回判断d是否大于L;
阅读器执行Identify(d,Q)指令,继续判断接收到的标签ID是否发送碰撞;
若发生碰撞,阅读器读取返回ID信息的最高碰撞位的位数P,并向该碰撞时隙中的标签发送DoubleRe(d,Q,p,0);
若未发生碰撞,阅读器向已经完成识别的标签发送Silence指令,将该标签标记成已识别标签,返回判断d是否大于L;
阅读器执行DoubleRe(d,Q,p,0)命令,判断接收到的标签ID是否发送碰撞:若发生碰撞,阅读器继续向该时隙中的标签发送DoubleRe(d,Q,p,1);
若未发生碰撞,阅读器向已经完成识别的标签发送Silence指令,将该标签标记成已识别标签,返回判断d是否大于L;
阅读器执行DoubleRe(d,Q,p,1)命令,判断接收到的标签ID是否发送碰撞:若发生碰撞,返回判断d是否大于L;
若未发生碰撞,成功识别标签,阅读器向已经完成识别的标签发送Silence指令,将该标签标记成已识别标签,返回判断d是否大于L。