【技术实现步骤摘要】
基于分组寻呼的锁位式双前缀探针防碰撞计算方法
本专利技术涉及计算机领域,具体涉及一种基于分组寻呼的锁位式双前缀探针防碰撞计算方法。
技术介绍
RFID(RadioFrequencyIdentification,RFID)是一种非接触式信息采集技术,它通过射频信号可以自动识别目标对象并进行数据采集,RFID具有可多标签同时识别、识别速度快、信息存储容量大、数据可读写、使用寿命长、环境适应性好、安全性高等优点,因此在生产制造管理、医疗、零售、人员门禁、防伪等方面都具有广泛的应用。RFID系统主要由阅读器(或读写器)、标签和应用系统构成,阅读器作为信息采集终端,利用射频信号对标签进行识别,并与后台应用系统进行通信。当阅读器信号作用范围内有多个标签时,可能有两个或多个标签同时向阅读器发送信息,此时标签信息之间会相互影响使阅读器无法正确识别标签,即发生标签冲突或碰撞。多标签碰撞问题会导致阅读器识别效率降低、漏读率增大、识别时延增加等系列问题,为了降低碰撞概率,增大系统识别率,学者们提出了一系列防碰撞算法。目前,防碰撞算法主要分成两大类,一类是基于ALOHA的不确定型算法,另一类是基于二叉树搜索的确定型算法。由于ALOHA类算法易存在标签“饥饿”现象(即部分标签可能不被识别),因此很少用于实际应用中。经典的二叉树确定型防碰撞算法包括二进制搜索(BinarySearch,BS)算法、查询树(QueryTree,QT)算法、动态二进制搜索算法(DynamicBinarySearch,DBS)、碰撞树算法(CollisionT ...
【技术保护点】
1.一种基于分组寻呼的锁位式双前缀探针防碰撞计算方法,其特征在于包括以下步骤:/nS1:阅读器进行初始化操作,将空串压入堆栈,并发送通信请求指令,阅读器识别范围内的标签均作出响应,并转到步骤S2;若无响应,阅读器持续发通信请求指令;/nS2:阅读器接收的标签作出的响应数据信息并进行译码,根据译码结果判决是否产生数据碰撞;如果没有发生数据碰撞,则只有一个标签响应阅读器,阅读器识别该标签,并跳转到步骤S8;如果发生数据碰撞则转到步骤S3;/nS3:根据S2中的译码结果,阅读器确定发生碰撞的位置,并将碰撞位设置为1,非碰撞位设置为0,形成锁位分组指令的UID值;/nS4:阅读器初始化数组,并发送锁位分组指令;标签将发生碰撞的比特位进行锁定,并删除未发生碰撞的比特位,锁定的比特位位形成标签新的ID号并回传给阅读器;/nS5:判断标签碰撞位计数器值指示数,若不为0,则不存在,跳转到步骤S7;若为0,则存在,阅读器发送寻呼指令,阅读器根据回送的数据信息判决是否发生数据碰撞。如果没有发生数据碰撞,即阅读器成功识别该标签,跳转到步骤S7;如果有数据碰撞,转到步骤S6;/nS6:阅读器检测发生碰撞的比特 ...
【技术特征摘要】
1.一种基于分组寻呼的锁位式双前缀探针防碰撞计算方法,其特征在于包括以下步骤:
S1:阅读器进行初始化操作,将空串压入堆栈,并发送通信请求指令,阅读器识别范围内的标签均作出响应,并转到步骤S2;若无响应,阅读器持续发通信请求指令;
S2:阅读器接收的标签作出的响应数据信息并进行译码,根据译码结果判决是否产生数据碰撞;如果没有发生数据碰撞,则只有一个标签响应阅读器,阅读器识别该标签,并跳转到步骤S8;如果发生数据碰撞则转到步骤S3;
S3:根据S2中的译码结果,阅读器确定发生碰撞的位置,并将碰撞位设置为1,非碰撞位设置为0,形成锁位分组指令的UID值;
S4:阅读器初始化数组,并发送锁位分组指令;标签将发生碰撞的比特位进行锁定,并删除未发生碰撞的比特位,锁定的比特位位形成标签新的ID号并回传给阅读器;
S5:判断标签碰撞位计数器值指示数,若不为0,则不存在,跳转到步骤S7;若为0,则存在,阅读器发送寻呼指令,阅读器根据回送的数据信息判决是否发生数据碰撞。如果没有发生数据碰撞,即阅读器成功识别该标签,跳转到步骤S7;如果有数据碰撞,转到步骤S6;
S6:阅读器检测发生碰撞的比特位是否为单碰撞位,如果是,那么阅读器分别将碰撞位置“0”和“1”识别这两个标签,转到步骤S7;如果不是单碰撞位,阅读器发送查询码对标签进行双时隙查询;在查询过程中采用后退策略并不断更新查询码,直到堆栈为空,此时转到步骤S7;
S7:将数组的下标索引值进行加一操作,然后判断标签碰撞位计数器值指示数是否越界,如果越界转到步骤S5;否则转到步骤S8。
S8:阅读器识别完作用范围内的所有标签,识别过程结束。
2.根据权利要求1所述的基于分组寻呼的锁位式双前缀探针防碰撞计算方法,其特征在于步骤S4包括以下步骤:阅读器根据标签的返回的碰撞计数器值cn,设置Ac[cn]=0,采用霍夫曼最佳编码思想,识别顺序从碰撞最多分组开始,将数组Ac的下标索引值cns设为0。
3.根据权利要求2所述的基于分组寻呼的锁位式双前缀探针防碰撞计算方法,其特征在于步骤S5包括以下步骤:判断Ac[cns]是否为0,即判断第cns组标签是否存在,若不为0,则不存在,跳转到步骤S7;若为0,则存在,阅读器发送REQUEST(UID,cns)寻呼指令,第cns组标签对此通信请求指令全部进行响应,响应的标签在第S4步形成的新的ID的基础上删除连续“1”构成最新的ID号,然后将此新ID号回送给阅读器用于识别,阅读器根据回送的数据信息判决是否发生数据碰撞。如果没有发生数据碰撞,即阅读器成功识别该标签,跳转到步骤S7;如果有数据碰撞,转到步骤S6。
4.根据权利要求3所述的基于分组寻呼的锁位式双前缀探针防碰撞计算方法,其特征在于步骤S6包括以下步骤:阅读器检测发生碰撞的比特位是否为单碰撞位,如果是,那么阅读器分别将碰撞位置“0”和“1”识别这两个标签,转到步骤S7;如果不是单碰撞位,阅读器发送查询码REQUEST(ε,0,1)对标签进行双时隙查询,其中ε为未发生碰撞的查询前缀;若时隙0标签发生碰撞,将’ε1’压入堆栈,同时ε值进行更新,此时的ε值为’ε0’,并继续发送REQUEST(ε,0,1)查询标签,若时隙0持续碰撞,则不停的将更新后的’ε1’压入堆栈同时更新’ε0’值,直到时隙0里没有发生碰撞,当前时隙0里的标签被识别。然后在此时的ε值对应的时隙1里对标签进行查询,若有碰撞,更新ε值,继续对时隙1里的标签进行双前缀查询,若无碰撞,判断堆栈是否...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。