基于碰撞预检的时隙扫描防碰撞方法

文档序号:6337213阅读:791来源:国知局
专利名称:基于碰撞预检的时隙扫描防碰撞方法
技术领域
本发明属于射频通信技术领域,尤其涉及一种应用于射频识别系统中,解决读写 器和标签之间发生通信碰撞的方法。
背景技术
射频识别(Radio Frequency Identification, RFID)通信技术是一种非接触式 的自动识别技术。在射频识别系统中,读写器通过射频信号与若干标签进行通信,并获取每 个标签上存储的识别信息。射频识别系统与其他典型的射频通信系统所面临的一个共同问题是需要解决在 同一个系统中多个设备之间同时通信的碰撞问题。对于射频识别系统来说,主要解决单个 读写器与多个标签之间通信的碰撞问题。并且限于成本和功耗的因素,标签只能够提供极 为有限的功能用于实现防碰撞机制。目前多标签的防碰撞方法主要分为Aloha算法和二叉 树算法两大类。最先提出的基于时隙的随机性防碰撞方法通常称为基本Aloha方法,该方法采用 如下方式解决通信碰撞问题,标签在进入读写器的工作区域之后,立刻循环发送响应信号, 相邻两次响应之间的时间间隔由标签随机选取,读写器解码来自不同标签的响应信号,并 得到未发生冲突的标签数据。第一种改进的Aloha方法为随机推迟方法,在基本Aloha方法的基础上,增加了读 写器的启动命令,标签在接收到该启动命令后,才按照基本Aloha方法进行后续操作,该方 法主要解决了多移动标签同时进入工作区域的问题。第二种改进的Aloha方法为时隙Aloha方法,在基本Aloha方法的基础上,把连续 的时间分割成为多个离散的时隙,标签只能够在某个时隙的区间内发送响应,而不能够跨 越时隙的边界,该方法将标签响应的碰撞期减小了一半。第三种改进的Aloha方法为帧时隙Aloha方法,在时隙Aloha方法的基础上,将多 个时隙组成一帧,标签在某一帧内随机选择一个时隙发送响应,该方法减少了读写器发送 的数据量。第四种改进的Aloha方法为动态帧时隙Aloha方法,在帧时隙Aloha方法的基 础上,增加了根据估计的标签数量动态调整帧长度的机制,该方法能够有效的提高帧时隙 Aloha方法的效率。但是,以上各种算法中,读写器需要对所有时隙进行清点,而实际上很多时隙是同 时被多个标签占用的,还有部分时隙是没有被任何标签占用的,对这些时隙的清点是无法 获得任何标签的信息的,因此这种逐个时隙进行清点的方式效率不高。

发明内容
本发明的目的是针对现有的时隙Aloha算法存在的不足,提供一种防碰撞方法, 结合空时隙扫描和短帧碰撞检测两种技术,消除读写器对空闲时隙和多标签占用时隙的清 点,从而提高系统的多标签识别效率。本发明的技术方案是,一种基于碰撞预检的时隙扫描防碰撞方法,具体步骤如下 所述
步骤1 初始化。所有标签的清点标志初始化为未清点。读写器设置帧时隙长度L,L的取值范围在标签数量的1到2倍之间。步骤2 读写器发送查询命令。读写器向其作用范围内的标签发送一个以L为参数的查询命令。清点标志为未清点的标签在接收到查询命令后选择小于L的随机数作为各自的 时隙计数器的时隙计数值,然后按照时隙计数值的不同在相应时隙向读写器发送查询响 应,即短帧数据,即如果标签的时隙计数值为i,则标签在时隙i向读写器发送具有碰撞检 测能力的短帧数据。例如短帧数据取3位随机数,采用曼彻斯特编码方式。步骤3 读写器建立碰撞预检序列。读写器发送完查询命令后即开始进行接收标签的查询响应,接收时间长度为L个 时隙。读写器对所有时隙进行分类标记,即将没有接收到短帧数据的时隙标记为空闲时 隙,将接收到短帧数据并且短帧数据没有发生碰撞的时隙标记为单标签占用时隙,将接收 到短帧数据但是短帧数据发生碰撞的时隙标记为多标签占用时隙。读写器统计空闲时隙、单标签占用时隙和多标签占用时隙的数量。设空闲时隙有 CO个,单标签占用时隙有Cl个,多标签占用时隙有C2个。如果Cl和C2同时为0,表明所 有标签已经清点完毕,查询完成,不再继续后面的步骤。如果Cl和C2不同时为0,读写器 建立一个L位的碰撞预检序列(Collision Forecast Sequence,简称CFS);每个时隙对应 CFS中的一位,如果时隙i为单标签占用时隙,则CFS的第i位设为1,如果时隙i为空闲时 隙或者多标签占用时隙,则CFS的第i位设为0。步骤4 标签调整时隙计数值。读写器发送CFS。清点标志为未清点的标签接收到CFS后按照下述规则调整各自的时隙计数值(假 设标签的时隙计数器为η位)
(a)若标签的时隙计数值为i,并且CFS的第i位是0,则标签的时隙计数值设为2n-l。(b)若标签的时隙计数值为i,并且CFS的第i位是1,则标签统计CFS在第i位之 前(不包含第i位)所包含的1的数量,并且将1的数量值作为标签新的时隙计数值。步骤5 读写器识别未发生碰撞标签。读写器发送清点命令。清点标志为未清点的标签接收到清点命令后首先判断标签的时隙计数值是否为 0 若为0,标签向读写器发送其唯一识别号(Identification Number,S卩ID号),同时设置 自身的清点标志为已清点,表示该标签已经得到识别,将不参与此后的查询;若不为0,标 签的时隙计数值减1。
本步骤连续执行Cl次,这样所有单标签占用时隙对应的标签将被一一识别。步骤6 读写器调整帧时隙长度。读写器根据步骤3得到的CO、Cl和C2调整帧时隙长度L,调整的方法有Lower bound算法、Schoute算法或Vogt算法等。调整完后返回步骤2。
本发明的有益效果是
(a)使用长度较短的短帧数据而不是长度较长的标签ID号进行碰撞检测,提高了标签 和读写器之间通信的效率。(b)通过对时隙类型的判断,将时隙分为空闲时隙有、单标签占用时隙和多标签占 用时隙,避免了对空闲时隙和多标签占用时隙的扫描,并且清点命令不需要时隙计数值作 为参数,进一步提高了通信的效率。(C)可根据不同算法调整帧时隙长度,从而有效避免碰撞的发生,提高多标签的识 别速度。


图1是本发明提出的基于碰撞预检的时隙扫描防碰撞方法的流程示意图; 图2是利用本发明一具体实施例得到的标签时隙计数值;
图3是利用本发明一具体实施例得到的读写器对时隙类型的标记; 图4是利用本发明一具体实施例得到的读写器向标签发送的碰撞预检序列; 图5是利用本发明一具体实施例得到的标签的时隙计数值调整后的结果; 图6是利用本发明一具体实施例得到的第1次发送清点命令后标签的响应情况; 图7是本发明一具体实施例与传统的空时隙扫描算法在标签数量变化时的性能仿真 结果比较。
具体实施例方式图1是本发明所提出的防碰撞方法的流程,具体包括如下6个步骤 步骤1 初始化
步骤2:读写器发送查询命令 步骤3 读写器建立碰撞预检序列 步骤4 标签调整时隙计数值 步骤5 读写器识别未发生碰撞标签 步骤6 读写器调整帧时隙长度。本发明的一个具体实施例如下使用Matlab进行仿真,8个标签,编号从标签1到 标签8,假设标签的时隙计数器长度是16位。步骤1 初始化。所有标签的清点标志初始化为未清点。读写器设置帧时隙长度L,本例中取10。步骤2 读写器发送查询命令。读写器向其作用范围内的标签发送一个以L为参数的查询命令。清点标志为未清点的标签在接收到查询命令后选择小于L的随机数作为各自的时隙计数器的时隙计数值,然后按照时隙计数值的不同在相应时隙向读写器发送短帧数 据,即如果标签的时隙计数值为i,则标签在时隙i向读写器发送具有碰撞检测能力的短 帧数据。例如短帧数据取3位随机数,采用曼彻斯特编码方式。本例中第一次查询命令后,8个标签产生的时隙计数值分别如图2所示,其中第1 列是标签的编号,从标签1到标签8 ;第2列是标签的时隙计数值,分别为2、7、8、3、7、5、5、 9 ;第3列到第12列分别表示时隙0到时隙9上标签的响应情况,X表示标签不在该时隙向 读写器发送短帧数据,SF表示标签在该时隙向读写器发送短帧数据。图2中,在时隙2,标 签1发送了短帧数据;在时隙3,标签4发送了短帧数据;在时隙5,标签6和标签7发送了 短帧数据;在时隙7,标签2和标签5发送了短帧数据;在时隙8,标签3发送了短帧数据; 在时隙9,标签8发送了短帧数据;其它时隙没有标签发送短帧数据。步骤3 读写器建立碰撞预检序列。读写器发送完查询命令后即开始进行接收标签的查询响应,接收时间长度为L个 时隙。读写器对所有时隙进行分类标记,即将没有接收到短帧数据的时隙标记为空闲时 隙,将接收到短帧数据并且短帧数据没有发生碰撞的时隙标记为单标签占用时隙,将接收 到短帧数据但是短帧数据发生碰撞的时隙标记为多标签占用时隙。读写器统计空闲时隙、单标签占用时隙和多标签占用时隙的数量。设空闲时隙有 CO个,单标签占用时隙有Cl个,多标签占用时隙有C2个。如果Cl和C2同时为0,表明所 有标签已经清点完毕,查询完成,不再继续后面的步骤。如果Cl和C2不同时为0,读写器 建立一个L位的碰撞预检序列(Collision Forecast Sequence,简称CFS);每个时隙对应 CFS中的一位,如果时隙i为单标签占用时隙,则CFS的第i位设为1,如果时隙i为空闲时 隙或者多标签占用时隙,则CFS的第i位设为0。本例中,读写器接收到的标签查询响应情况如图3所示,第1行表示时隙0到时隙 9,第2行是对应的时隙标记结果,0表示在该时隙没有接收到任何标签发送的短帧数据。本 例中时隙0、时隙1、时隙4和时隙6均被标记为空闲时隙,即空闲时隙数CO为4 ;Y表示在 该时隙接收到一个没有碰撞发生的短帧数据,本例中读写器在时隙2、时隙3、时隙8和时隙 9均能接收到这样的短帧数据,因此被标记为单标签占用时隙,单标签占用时隙数Cl为4 ;Ν 表示在该时隙接收到一个有碰撞发生的短帧数据,本例中读写器在时隙5和时隙7会接收 到这样的短帧数据,因此被标记为多标签占用时隙,多标签占用时隙数C2为2。读写器根据时隙的分类标记情况,形成碰撞预检序列CFS如图4所示,从第0位到 第9位,1表示该时隙为单标签占用时隙,0表示该时隙为空闲时隙或多标签占用时隙。本 例中第2位、第3位、第8位和第9位是1,其它位均为0。步骤4 标签调整时隙计数值。读写器发送CFS。清点标志为未清点的标签接收到CFS后按照规则调整各自的时隙计数值(假设标 签的时隙计数器为16位)。本例中,标签1的时隙计数值为2,而CFS的第2位是1,因此标签1要调整时隙计 数值。CFS在第2位之前共有0个1,因此标签1的时隙计数值应调整为0。标签2的时隙 计数值为7,而CFS的第7位是0,因此标签2的时隙计数值调整为65535,依次类推,得到调 整前后的时隙计数值如图5所示,其中第一列是标签号,第二列是标签的初始时隙计数值,第三列是调整后的时隙计数值。步骤5 读写器识别未发生碰撞标签。读写器发送清点命令。清点标志为未清点的标签接收到清点命令后首先判断标签的时隙计数值是否为 0 若为0,标签向读写器发送其ID号,同时设置自身的清点标志为已清点,表示该标签已经 得到识别,将不参与此后的查询;若不为0,标签的时隙计数值减1。本例中标签1调整后的时隙计数值为0,因此标签1首先向读写器发送其ID号。本次清点命令后标签的时隙计数值如图6所示,其中第一列是标签号,第二列是 标签的初始时隙计数值,第三列是调整后的时隙计数值。标签1得到识别,时隙计数值不 变,标签2到标签8的时隙计数值减1。读写器连续4次执行步骤5,标签4、标签3和标签8将依次向读写器发送各自的 ID号。步骤6 读写器调整帧时隙长度。读写器根据步骤3得到的CO、Cl和C2调整帧时隙长度L,调整的方法有Lower bound算法、Schoute算法和Vogt算法等。调整完后返回步骤2。本例中,采用Schoute算法估算未识别的标签数量,则调整后的帧时隙长度为 L=m* (2. 39C2+C1),其中m通常取一个小于5的整数,本例中m取2。调整完后返回到步骤2,直到在步骤3中单标签占用时隙数Cl和多标签占用时隙 数C2均为0。本发明由于标签数量较少时不便于对算法的性能进行比较,因此改变标签数量的 值以及初始的帧时隙长度等参数,假设标签的ID号长度为64位,标签的时隙计数值长度为 16位,并且假设读写器到标签和标签到读写器的数据率都是50kbps。图7给出了上述条件下,传统的空时隙扫描算法和本发明一具体实施例提出的方 法在标签数量变化时的识别速度的比较。两种方法均采用Schoute算法对帧时隙长度进行 估计。图中横坐标是标签的数量,纵坐标是标签的识别速度。曲线71是传统的空时隙扫描 算法的识别速度变化,曲线72是本发明一具体实施例提出的方法的识别速度变化。可以看 出,本发明提出的方法明显快于传统算法。
权利要求
1、一种基于碰撞预检的时隙扫描防碰撞方法,应用于射频识别系统,其特征在于,包括 下述步骤步骤1 初始化;所有标签的清点标志初始化为未清点; 读写器设置帧时隙长度L ; 步骤2:读写器发送查询命令;读写器向其作用范围内的标签发送一个以L为参数的查询命令; 清点标志为未清点的标签在接收到查询命令后选择小于L的随机数作为各自的时隙 计数器的时隙计数值,然后按照时隙计数值在相应时隙向读写器发送查询响应,即短帧数 据,即如果标签的时隙计数值为i,则标签在时隙i向读写器发送具有碰撞检测能力的短 帧数据;步骤3 读写器建立碰撞预检序列;读写器接收标签的查询响应,接收时间长度为L个时隙;读写器对所有时隙进行分类 标记,即将没有接收到短帧数据的时隙标记为空闲时隙,将接收到短帧数据并且短帧数据 没有发生碰撞的时隙标记为单标签占用时隙,将接收到短帧数据但是短帧数据发生碰撞的 时隙标记为多标签占用时隙;读写器统计空闲时隙、单标签占用时隙和多标签占用时隙的数量;设空闲时隙有CO 个,单标签占用时隙有Cl个,多标签占用时隙有C2个;如果Cl和C2同时为0,表明所有标 签已经清点完毕,查询完成;如果Cl和C2不同时为0,读写器建立一个L位的碰撞预检序 列(Collision Forecast Sequence,简称CFS);每个时隙对应CFS中的一位,如果时隙i 为单标签占用时隙,则CFS的第i位设为1,如果时隙i为空闲时隙或者多标签占用时隙,则 CFS的第i位设为0 ;步骤4 标签调整时隙计数值; 读写器发送CFS ;清点标志为未清点的标签接收到CFS后按照下述规则调整各自的时隙计数值,设标签 的时隙计数器为η位(a)若标签的时隙计数值为i,并且CFS的第i位是0,则标签的时隙计数值设为2n-l;(b)若标签的时隙计数值为i,并且CFS的第i位是1,则标签统计CFS在第i位之前所 包含的1的数量,并且将1的数量作为标签新的时隙计数值;步骤5 读写器识别未发生碰撞标签; 读写器发送清点命令;清点标志为未清点的标签接收到清点命令后首先判断标签的时隙计数值是否为0 若 为0,标签向读写器发送其唯一识别号,同时设置自身的清点标志为已清点;若不为0,标签 的时隙计数值减1 ;本步骤连续执行Cl次; 步骤6 读写器调整帧时隙长度;读写器根据步骤3得到的CO、Cl和C2调整帧时隙长度L,然后返回步骤2。
2、根据权利要求1所述的基于碰撞预检的时隙扫描防碰撞方法,其特征在于,帧时隙 长度L的取值范围在标签数量的1到2倍之间。
3、根据权利要求2所述的基于碰撞预检的时隙扫描防碰撞方法,其特征在于短帧数据 取3位随机数,采用曼彻斯特编码方式。
4、根据权利要求1、2或3所述的基于碰撞预检的时隙扫描防碰撞方法,其特征在于调 整帧时隙长度L调整的方法采用Lower bound算法、Schoute算法或Vogt算法。
全文摘要
本发明提供一种应用于射频识别系统解决单个读写器与多个标签之间通信的防碰撞方法,技术方案包括如下6个步骤步骤1初始化;步骤2读写器发送查询命令;步骤3读写器建立碰撞预检序列;步骤4标签调整时隙计数值;步骤5读写器识别未发生碰撞标签;步骤6读写器调整帧时隙长度。本发明结合空时隙扫描和短帧碰撞检测两种技术,消除读写器对空闲时隙和多标签占用时隙的清点,从而提高系统的多标签识别效率。
文档编号G06K7/00GK102004895SQ20101056725
公开日2011年4月6日 申请日期2010年11月30日 优先权日2010年11月30日
发明者任天鹏, 庄钊文, 李建成, 王宏义, 许拔, 陈柯 申请人:中国人民解放军国防科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1