3、Frame Slotted ALOHA算法(FSA):
•ALOHA 的另一种改进算法是帧时隙ALOHA 算法(FSA)。
•它是在Slotted ALOHA 算法的基础上把N 个相同的时隙组成一帧,且在整个电子标签识别过程中,帧的大小是固定的,帧中的每个时隙足够一个电子标签与阅读器进行完通信,该算法也称为固定帧时隙ALOHA 算法。
•该算法比较适用于传输信息量较大的场合,和Slotted ALOHA 算法一样,帧时隙ALOHA 算法同样需要一个同步开销。
步骤
•首先由阅读器把帧长度N 发送给电子标签,电子标签则产生[1,N]之间的随机数,接下来各电子标签选择相应的时隙,与阅读器进行通信;
•如果当前时隙与电子标签随机产生的数相同,电子标签则响应阅读器的命令,若不同,标签则继续等待。
•假如当前时隙内仅有一个电子标签响应,阅读器就读取该标签发送的数据,读取完了以后就使该标签处于“无声”状态。
•如果当前时隙内有多个标签响应,则该时隙内的数据就出现了碰撞,此时阅读器会通知该时隙内的标签,让它们在下一轮帧循环中重新产生随机数参与通信。
•逐帧循环,直到识别出所有电子标签为止。
4、Dynamic FSA 算法:
•该算法根据上一读写周期中统计的成功识别的时隙数、发生碰撞的时隙数、空闲时隙数信息来调整下一读写周期的帧长度。具体调整方法有两种。
•第一种:根据统计信息,当碰撞时隙数达到规定的上限时,读写器增大下一帧的长度;
当碰撞时隙数少于规定的下限时,读写器减少下一帧时隙数。使用该方法当标签规模不大时,读写器使用较短的帧长度就能快速识别标签,而当标签数量很多时,读写器不得不增加帧长度以减少碰撞次数。
•第二种:读写器以2 或4 个时隙数为一帧开始,如果没有一个标签能够成功识别,读写器增加帧长度开始下一轮读写周期。重复上述过程直到至少有一个标签被成功识别。当有一个标签成功识别后,读写器立刻停止当前的读写周期,然后读写器再以开始时最小的帧长度开始下一轮读写识别。
•该算法通过动态调整帧长度,相比帧时隙算法在标签规模不大时能够取得较理想的吞吐率。可是一旦标签个数很大时,增大帧长度就不是很好的解决方法,因为帧长度不能无限制的增大。
•采用ALOHA系列算法,假设阅读器射频工作范围内存在n 个标签,理论上阅读器至少需要n 个时隙的时间才能成功识别完,最坏的情况下,阅读器经过多次搜索也未能识别出某个标签,导致出现“饿死现象”。
•而Binary-Tree系列算法并不会采取退避原则,而是直接进行解决。当多标签同时发送信息而碰撞时,读写器利用碰撞位将碰撞的标签分为两个或更多子集,对每个子集分别识别。如果存在碰撞则继续再划分,直到标签被完全识别为止。这样则有效地避免了标签的“饿死现象”。
8