二进制树型搜索算法
纯ALOHA算法和时隙ALOHA算法的信道最佳利用率为18.4%和36.8%,随着标签数量的增加,其性能急剧恶化,因此人们提出了二进制搜索算法。二进制防碰撞算法基于轮询的办法,按照二进制树模型和一定的顺序对所有的可能进行遍历,因此它不是基于概率的箅法,而是一种确定性的防碰撞算法,但该算法要将所有可能全部遍历,因此其应用起来比较慢。
二进制树型搜索算法由读写器控制,基本思想是不断的将导致碰撞的电子标签进行划分,缩小下一步搜索的标签数量,直到只有一个电子标签进行回应。
二进制搜索算法的基本思路是,多个标签进入读写器工作场后,读写器发送带限制条件的询问命令,满足限制条件的标签回答,如果发生碰撞,则根据发生错误的位修改限制条件,再一次发送询问命令,直到找到一个正确的回答,并完成对该标签的读写操作。对剩余的标签重复以上操作,直到完成对所有标签的读写操作。
为了实现二进制搜索算法,就要选用曼彻斯特编码,因为这种编码可以检测出碰撞位。 为了实现这个算法,引入以下4种命令。
1.冲突位检测
实现该算法系统的必要前提是能够辨认出在读写器中数据冲突位的准确位置。为此,必须有合适的位编码法。如图对NRZ编码和曼彻斯特编码的冲突状况作一比较。
1)NRZ编码
如果两个电子标签之一发送了副载波信号,那么,这个信号由读写器译码为“高”电平,就被认定为逻辑“1”。但读写器不能确定读入的某位究竟是若干个电子标签发送的数据相互重叠的结果,还是某个电子标签单独发送的信号。
2)曼彻