1.纯ALOHA算法:主要采用标签先发言的方式,即电子标签一旦进入阅读器的工作范围获得能量后,便向阅读器主动发送自身的序列号。在某个电子标签向阅读器发送数据的过程中,如果有其它电子标签也同时向该阅读器发送数据,此时阅读器接收到的信号就会产生重叠,导致阅读器无法正确识别和读取数据。阅读器通过检测并判断接收到的信号是否发生碰撞,一旦发生碰撞,阅读器则向标签发送指令使电子标签停止数据的传送,电子标签接到阅读器的指令后,便随机的延迟一段时间再重新发送数据。在纯ALOHA算法中,假设电子标签在t时刻向阅读器发送数据,与阅读器的通信时间为To,则碰撞时间为2T0。G为数据包交换量,S为吞吐率 (G=0.5时最大S=18.4%)
2.时隙ALOHA算法:为提高RFID系统的吞吐率,可以把时间划分为多段等长的时隙,时隙的长度由系统时钟确定,并且规定电子标签只能在每个时隙的开始时才能向阅读器发送数据帧,这就是时隙ALOHA算法;根据上述规定可得,数据帧要么成功发送,要么完全碰撞,避免了纯ALOHA算法中部分碰撞的发生,使碰撞周期变为To;(G=1时最大S=36.8%)
3.动态时隙ALOHA算法:首先由阅读器把帧长度 N 发送给电子标签,电子标签则产生[1,N]之间的随机数,接下来各电子标签选择相应的时隙,与阅读器进行通信;如果当前时隙与电子标签随机产生的数相同,电子标签则响应阅读器的命令,若不同,标签则继续等待。假如当前时隙内仅有一个电子标签响应,阅读器就读取该标签发送的数据,读取完了以后就使该标签处于“无声”状态。如果当前时隙内有多个标签响应,则该时隙内的数据就出现了碰撞,此时阅读器会通知该时隙内的标签,让它们在下一轮帧循环中重新产生随机数参与通信。逐帧循环,直到识别出所有电子标签为止。
4.二进制搜索算法:多个标签进入读写器工作场后,读写器发送带限制条件的询问命令,满足限制条件的标签回答,如果发生碰撞,则根据发生错误的位修改限制条件,再一次发送询问命令,直到找到一个正确的回答,并完成对该标签的读写操作。对剩余的标签重复以上操作,直到完成对所有标签的读写操作。
|