在一般的RFID系统中,RFID读写器和RFID电子标签之间采用的是无线通信,由于读写器和标签数据信息传输所使用的信道相同。所以当多标签同时响应时,信道中会有不止一份数据信号进行传输。就可能会形成信道阻塞的情况,造成数据碰撞,致使部分电子标签不能被正确读取。RFID系统的碰撞问题可以归为两类:电子标签之前的互相干扰类和RFID读写器互相干扰类。
电子标签之前的互相干扰类
在RFID系统中各个RFID标签之前不具备相互通信的能力,而大多数RFID应用场景中RFID标签数量密集,在某一时刻若多个标签处于RFID读写器的读取范围内,这些标签应答时,将会发现信道争用,数据之间相互干扰和混叠,如下图。
多标签碰撞模型图
RFID读写器互相干扰类
传统的RFID系统中,是采用单一读写器方式,但是随着物联网技术的不断发展,单一读写器的RFID系统中越来越不能满足多数场景的需求。因此需要使用多个读写器来对目标区域进行监视,这就可能造成多读写器碰撞问题。如下图,在R1和R2的共同有效读取范围内存在一个标签。当R1和R2同时给标签发送指令信号时,会产生信号干扰,最终此标签将不能被读写器R1和读写器R2的任何一个读取。
读写器和读写器的碰撞模型图
另一种读写器之间的碰撞情况如下图,读写器R1和读写器R2的有效读取范围没有叠加,但是读写器R1的干扰范围和读写器R2的有效读取范围存在叠加区域。因此处于此叠加区域的RFID标签,会受读写器R1发射的干扰信号影响,导致读写器R2可能出现漏读现象。
读写器和读写器的碰撞模型图
因RFID读写器自身有能量供应,能够进行较高复杂度的计算,所以读写器能够检测到碰撞的产生,并能够通过与其他读写器之间的交流互通来解决读写器的碰撞问题,如读写器调度算法和功率控制算法都能比较容易地解决读写器碰撞问题,因此,一般讨论防碰撞都是针对多标签的碰撞而言的。
为了防止碰撞的发生,RFID系统中需要设计相应的放碰撞技术,在通信中这种技术也称为多址技术。RFID读写器对RFID标签的读取过程就是采用的多址存取方式,该方式规范了读写器对标签数据读取的先后次序的。目前解决无线通信中信息冲突的多址存取方式主要可以分为四种:
1、码分多址(CDMA)
码分多址技术是在扩频通信技术的基础上,利用扩频技术在同一时刻同一信道中,完成多路信号的传输通信。扩频的目的是扩展信息带宽,即把需要发送的具有一定信号带宽的信息数据, 用一个带宽远大于其信号带宽的伪随机码进行调制,这样使原来的信息数据的带宽被扩展,最后通过载波调制发送出去。解扩是指在接收端采用完全一致的伪随机码,与接收到的宽带信号作相关处理,把宽带信号转换成原来的信息数据。多址是给每个用户分配一个地址码,各个码型互不重叠。码分多址技术具有抗干扰性好,保密安全性高,信道利用率高等优点。但是该技术也存在诸多缺点,如频带利用率低、信道容量小,伪随机码的产生和选择较难,接收时地址码捕获时间长等,所以并未得到广泛使用。
2、空分多址(SDMA)
空分多址是在分离的空间范围内实现多个目标识别。其实现的方法有两种:一种方法是将读写器和RFID天线之间的作用距离按空间区域进行划分,把大量的读写器和天线安置在一个天线阵列中。当标签进入这个天线阵列的覆盖范围后,与其距离最近的读写器对该标签进行识别。由于每个天线的覆盖范围较小,相邻的读写器识别范围内的标签同样可以进行识别而不受相邻读写器的干扰,如果多个标签根据在天线阵列中的空间位置的不同,可以同时被识别。另外一种方法是,RFID读写器利用一个相控阵天线,通过让天线的方向性图对准单独的标签,这样标签根据其在读写器作用范围内的角度位置的不同而区别开来。空分多址技术的缺点是它对读写器天线的要求较高,一个读写器可能存在多个天线,系统复杂,成本较大。
3、频分多址(FDMA)
频分多址是把若干个使用不同载波频率的调制信号在同时供通信用户使用的信道上进行传输的技术。通常情况下,RFID系统的上行链路(从读写器到标签)频率是固定的,用于能量的供应和数据的传输。对于下行链路(从标签到读写器),不同的标签采用不同频率的载波对数据进行调制,这些信号之间不会产生干扰,RFID读写器对接收到的不同频率的信号进行分离,从而实现对不同标签的识别。频分多址的RFID系统对RFID读写器的硬件要求很高,因此此类系统未得到广泛应用。
4、时分多址(TDMA)
时分多址具有简单易实现的优点,它是把整个可供使用的通路容量按时间分配给多个用户的技术。时分多路复用是按传输信号的时间进行分割的,它使不同的信号在不同的时间内传输,将整个传输时间分为许多时间间隔,每个时间片被一路信号占用。时分多址就是通过在时间上交叉发送每一路信号的一部分来实现一条电路传输多路信号的。电路上的每一短暂时刻只有一路信号存在。因为数字信号是有限个离散值,所以时分多路复用技术广泛应用于包括计算机网络在内的数字通信系统。目前RFID系统的标签防碰撞算法大多采用时分多址技术。
TDMA是把整个可供使用的通路容量按时间分配给多个用户的技术,可分为电子标签控制法和读写器控制法。电子标签控制法主要有ALOHA算法;而读写器控制法有轮询法和二进制搜索法。目前,RFID系统中最常见的两大类标签防碰撞算法是二进制搜索法和ALOHA算法。
二进制树算法
二进制树算法的基本思想是将处于冲撞状态的标签分成左右两个子集0和1,先查询子集0,若没有冲突,则正确识别标签;若仍有冲突,则再分裂,把子集0分为00和01两个子集,依次类推,直到识别出子集0中的所有标签,再按此步骤查询子集1。使用基本的二进制树形算法的标签能够记忆以前的查询结果从而减少平均查询时间,但对功率要求很高。
二进制树搜索算法是一种无记忆的算法,即标签不必储存以前的查询情况,这样可以降低成。在这种算法中读写器查询的不是一个比特,而是一个比特前缀,只有序列号与这个查询前缀相符的标签才响应读写器的命令而发送其序列号。当只有一个标签响应的时候读写器可以成功识别标签,但是当有多个标签响应的时候,下一次循环中读写器就把查询前缀增加一个比特0,通过不断增加前缀读写器就能识别所有的标签。二进制树搜索的前提是要辨认出读写器中数据碰撞的准确位置,选用曼彻斯特编码可以检测出碰撞位。采用二进制树搜索算法的RFID系统特点是:具有较高的稳定性,易于用软件实现,吞吐率最高可达36.4%,但ID不能太长,ID越长所需要的时间就越长,当时间超过一定限度时,这种算法将不再适用。
二进制搜索树的程序流程
ALOHA算法
ALOHA系统采用无规则的时分多址,或叫随机多址。ALOHA算法采取“标签先发言”的方式,即RFID标签一进入读写器的作用区域就自动向读写器发送其自身的信息。在标签发送数据的过程中,若有其它标签也在发送数据,那么将会导致冲突。RFID读写器检测接收到的信号有无冲突,一旦检测到冲突,RFID读写器就发送命令让标签先停止发送,随机等待一段时间后再重新发送以减少冲突。
ALOHA算法的主要特点是各个标签发射时间是完全随机的,当工作范围内标签的数量不多时ALOHA算法可以很好的工作。缺点就是数据帧发送过程中冲突发生的概率很大,冲突周期是,而且标签不能自己检测冲突,只能通过接收读写器的命令判断有无冲突。
当工作范围内的标签数增加时,发生碰撞的概率增加,性能急剧下降,信道利用率只有18.4%。针对以上问题,提出了时隙ALOHA算法和帧时隙ALOHA算法等来改善ALOHA算法。采用时隙ALOHA算法的RFID系统因为有读写器控制在同步时隙内传送数据,可能发生碰撞的时间区就缩短了一半,吞吐率最大可达36.8%,相对于纯ALOHA算法增加了一倍,但仍局限于只读型电子标签。采用帧时隙ALOHA算法的RFID系统适用于传输信息量较大的场合,但当标签数量远大于时隙个数时,读取标签的时间将会大大增加,在标签数远小于时隙个数时,就会造成时隙的浪费。
(图文来源于网络,侵删)