基于“优选法”的RFID防碰撞算法的制作方法

文档序号:12468042阅读:186来源:国知局
基于“优选法”的RFID防碰撞算法的制作方法与工艺

本发明属于射频识别技术领域,具体涉及一种基于“优选法”的RFID防碰撞算法。



背景技术:

射频识别技术(RFID,Radio Frequency Identification)是20世纪80年代初发展起来的一种先进的识别技术。它利用射频信号及其空间耦合的传输特性,实现对静止和移动物品的非接触式自动识。

使用射频技术就会涉及到碰撞的问题,碰撞是指在读写器的天线磁场区域内会出现多个标签,或者有其他读写器存在。当读写器查询标签时,多个标签同时响应读写器的命令或者一个标签同时要选择响应2个以上的读写器的查询信号时,就会出现信号干扰产生信道冲突问题。也就是说,当有多于1个的标签在读写器的作用范围内时,会出现1个标签谐振,1个标签失谐的情况。这时,就很难通过判断输出端的高低电位来读出标签的内部信息,这就是我们要解决的碰撞问题。

目前防碰撞算法主要有两类:不确定算法和确定性算法。不确定算法指的是基于ALOHA机制的防碰撞算法,这种算法要求在读写器有效工作范围内的标签依据自己的序列号随机产生响应时间,如果发生冲突,则没有识别到的标签要等到下一轮时间段到来时再重新产生响应时间,这时就会出现标签“饿死”的情况(即标签存在不能被识别的可能);传统的确定性算法有基本二进制搜索算法、动态二进制搜索算和后退式二进制搜索算法等,但他们分别在数据传输量、查询次数和系统效率等方面都有不同程度的欠缺,基于此,提出一种基于“优选法”的防碰撞算法。



技术实现要素:

本发明的目的是提供一种基于“优选法”的RFID防碰撞算法,解决了现有技术中存在的数据传输量大、查询次数多的问题。

本发明所采用的技术方案是,一种基于“优选法”的RFID防碰撞算法,具体按照以下步骤实施:

步骤1:读写器发送请求命令Request(1111 1111),所有标签均做出响应,并将所有标签的序列号均发给读写器;

步骤2:读写器检测接收标签的信号,若只有一个标签响应,跳转到步骤4;若有碰撞发生则跳转到步骤3;若无应答,转到步骤1;

步骤3:碰撞发生后,碰撞位数记为a,然后根据“优选法”,算出data,data每次有三组数据;将Request(datan,n)作为下一次读写器发送的命令,n为数据位,n=1,2,3,datan为用“优选法”得出的二进制数即碰撞位;

步骤4:读写器读取该标签的信息,并对该标签进行解调和解码,将解码后的标签信息上传给主系统进行相关处理,并让标签休眠。

本发明的特点还在于:

步骤3中“优选法”计算data的具体过程为:

a位发生碰撞,a位数最大的二进制数为转换成十进制数为2a-1,定义一个取值范围为[0,2a-1],根据黄金分割法(即“优选法”)得到三个点分别为0.382*(2a-1)、0.618*(2a-1)、2a-1,分别把得到的三个点四舍五入取整后转换成二进制数为data1、data2、data3,即得到data的三组数据。

步骤3中将Request(datan,n)作为下一次读写器发送的命令具体为:

标签发生碰撞后,读写器发送Request(data1,1)给区域内标签,标签把发生碰撞对应位的序列号与接收的data1比较,若大于data1的标签数大于1,转到步骤3,否则,转到步骤4,同时,读写器发送Request(data2,2)给区域内标签,标签把发生碰撞对应位的序列号与接收的data2比较,若大于data2的标签数大于1,转到步骤3,否则,转到步骤4,同时,读写器发送Request(data3,3)给区域内标签,标签把发生碰撞对应位的序列号与接收的data3比较,若大于data3的标签数大于1,转到步骤3,否则,转到步骤4。

本发明的有益效果是:本发明一种基于“优选法”的RFID防碰撞算法,所需的总的查询次数少,缩短了识别时间;总共传送的二进制比特位数少,从而缩短了传输量,提高了传送时间,提供了效率;吞吐率高。

附图说明

图1是采用本发明RFID防碰撞算法的实施例图;

图2是本发明算法与现有算法的总的查询次数比较图;

图3是本发明算法与现有算法的总共传送的二进制的比特位数比较图;

图4是本发明算法与现有算法的吞吐率比较图。

具体实施方式

下面结合附图和具体实施方式对本发明进行详细说明。

本发明一种基于“优选法”的RFID防碰撞算法,具体按照以下步骤实施:

步骤1:读写器发送请求命令Request(1111 1111),所有标签均做出响应,并将所有标签的序列号均发给读写器;

步骤2:读写器检测接收标签的信号,若只有一个标签响应,跳转到步骤4,若有碰撞发生则跳转到步骤3,若无应答,即为空,则说明读写器有效范围内无标签或所有的标签都被识别(整个识别过程结束),转到步骤1。

步骤3:碰撞发生后,将碰撞位数记为a,然后根据“优选法”,算出data,data每次有三组数据。

“优选法”计算data的具体过程为:

a位发生碰撞,a位数最大的二进制数为转换成十进制数为2a-1,定义一个取值范围为[0,2a-1],根据黄金分割法(即“优选法”)得到三个点分别为0.382*(2a-1)、0.618*(2a-1)、2a-1,分别把得到的三个点四舍五入取整后转换成二进制数为data1、data2、data3,即得到data的三组数据。

将Request(datan,n)作为下一次读写器发送的命令,n为数据位,n=1,2,3,datan为用黄金分割法得出的二进制数即碰撞位。

标签发生碰撞后,读写器发送Request(data1,1)给区域内标签,标签把发生碰撞对应位的序列号与接收的data1比较,若大于data1的标签数大于1,转到步骤3,否则,转到步骤4,同时,读写器发送Request(data2,2)给区域内标签,标签把发生碰撞对应位的序列号与接收的data2比较,若大于data2的标签数大于1,转到步骤3,否则,转到步骤4,同时,读写器发送Request(data3,3)给区域内标签,标签把发生碰撞对应位的序列号与接收的data3比较,若大于data3的标签数大于1,转到步骤3,否则,转到步骤4。

每次只发送碰撞位,这样大大减少了数据的传输量,提高了比较的次数。

步骤4:读写器读取该标签的信息,并对该标签进行解调和解码,将解码后的标签信息上传给主系统进行相关处理,并让标签休眠。

实施例

假设标签的序列号为8位,现在读写器可读取范围内有四个处于准备状态的电子标签A、B、C、D,它们的序列号如下:标签A:1010 0111;标签B:1011 0101;标签C:1010 1111;标签D:1011 1101。其识别过程如图1所示:

(1)开始读写器对区域内标签处于未知的状态,所以发送Request(1111 1111)命令,要求区域内所有的标签应答。标签A、B、C、D都响应,读写器根据Manchester编码原理,读写器接收到的数据为:

101x x1x1;即:D1、D3、D4位发生碰撞,3位碰撞,运用“优选法”,3位最大二进制数是111,转换成十进制数就是7,那就可以定义一个取值范围[0,7],根据前面所述得到三个点,即:2、4、7。2转化成二进制是010,4转换成二进制是100,7转换成二进制是111,可得下一次Request所需的序列号为:010。

(2)读写器发送Request(010,1),只有标签A应答,无碰撞发生,读写器读取标签A的信息,并对标签A进行解调和解码,将解码后的标签A的信息上传给主系统进行相关处理,最后执行Sleep命令,屏蔽掉它,使之处于“哑巴”状态。获得下一次序列号,即:100。

(3)读写器发送Request(100,2),只有标签B应答,无碰撞发生,读写器读取标签B的信息,并对标签B进行解调和解码,将解码后的标签B的信息上传给主系统进行相关处理。最后执行Sleep命令,屏蔽掉它,使之处于“哑巴”状态,获得下一次序列号,即:111。

(4)读写器发送Request(111,3),这时标签C、D都响应,读写器根据Manchester编码原理,读写器接收到的数据为:101x 11x1;即:D1、D4位发生碰撞,2为碰撞,运用“优选法”,,2位最大的二进制数是11,转换成十进制数是3,那就可以定义一个取值范围[0,3],根据前面所述得到三个点,即:1,1,3。1转化成二进制是01,3转换位二进制是11,可得下一次Request所需的序列号为:01。

(5)读写器发送Request(01,1),只有标签C响应,无碰撞发生,读写器读取标签C的信息,并对标签C进行解调和解码,将解码后的标签C的信息上传给主系统进行相关处理。最后执行Sleep命令,屏蔽掉它,使之处于“哑巴”状态。获得下一次序列号,即:11。

(6)读写器发送Request(11,2),只有标签D响应,无碰撞发生,读写器读取标签D的信息,并对标签D进行解调和解码,将解码后的标签D的信息上传给主系统进行相关处理。最后执行Sleep命令,屏蔽掉它,使之处于“哑巴”状态。此时标签已经全部识别,并且已经没有data数据。

(7)读写器再次发送Request(1111 1111)命令,无标签应答,说明标签全部识别完,整个标签识别过程结束。

算法性能分析

①读写器所需总的查询次数分析

现有的二进搜索制算法,从N个标签中识别出单个标签平均需要log2N+1次,动态二进制算法和二进制的识别次数和吞吐率是一样的,但时间有所缩短,传输的数据流比较少,因为传输的数据是动态调整的。它们总的搜索次数为:

而采用本发明基于“优选法”的RFID防碰撞算法,读写器所需总的查询次数为:

S(N)=1+2N

②总共传送的二进制比特位数分析

现有的二进制搜索算法,总共传送的二进制的比特位数为:

其中,N为标签的个数,k为标签的位数。

现有的动态二进制搜索算法,总共传送的二进制的比特位数为:

其中,N为标签的个数,k为标签的位数。

本发明基于“优选法”的RFID防碰撞算法,总共传送的二进制的比特位数为:

L(N,k)=(2N+1)*(k+1)/2

其中,N为标签的个数,k为标签的位数。

③吞吐率分析

现有二进制搜索算法与动态二进制搜索算法的总的搜索次数一样,则系统效率就一样,也就是吞吐率一样,吞吐率为:

本发明基于“优选法”的RFID防碰撞算法,吞吐率为:

E(N)=N/(2N+1)

其中,N为标签的个数。

④仿真性能分析

利用MATLAB开发的仿真平台来实现读写器与标签的通信过程,设定标签数量为200,标签编码为8位。在MATLAB上分别对算法的查询次数、传输量和吞吐率进行了验证仿真,由于二进制的搜索次数与动态二进制的搜索次数、吞吐率一样,为了仿真时方便区分,将动态二进制的总的搜索次数变为:

将动态二进制的吞吐率变为:

如图2所示为现有二进制算法(在图中写为基本二进制)、动态二进制算法与本发明基于“优选法”的RFID防碰撞算法(在图中写为改进算法)的读写器的总的查询次数进行了对比,由仿真图可得本申请的算法所需的总的查询次数明显减少,也就是识别时间缩短。

如图3所示为现有二进制算法(在图中写为基本二进制)、动态二进制算法与本发明基于“优选法”的RFID防碰撞算法(在图中写为改进算法)的读写器的总共传送的二进制的比特位数进行了对比,由仿真图可以看出随着标签数量的增加,采用本申请的算法总共传送的二进制的比特位数明显小于前两者,从而缩短了传输量,提高了传输时间。

如图4所示为现有二进制算法(在图中写为基本二进制)、动态二进制算法与本发明基于“优选法”的RFID防碰撞算法(在图中写为改进算法)的读写器的吞吐率进行对比,由仿真图可以看出随着标签数量的增加,采用本申请算法的吞吐率大概稳定在0.5左右,说明本申请算法吞吐率明显高于前两者。

本发明基于“优选法”的RFID防碰撞算法,对算法的可行性在总的查询次数、传输量、吞吐率与现有的二进制算法、动态二进制算法进行了对比,可以看出采用本发明的算法明显优于现有的两种算法。

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