基于ALOHA的防冲突算法

基于ALOHA的防冲突算法采用了回退机制,标签以概率的方式参与识别过程。
基于ALOHA的协议简单,并且兼顾了公平性。
三种基于ALOHA的防冲突算法:

  • 纯ALOHA算法
  • 时隙ALOHA算法
  • 基于帧的时隙ALOHA算法

纯ALOHA算法
阅读器首先广播识别命令给标签
当标签接收到阅读器发送的命令之后
立即以定长信息包形式向阅读器发送其标识符
在标签发送数据的过程中,若有其他标签也在发送标识符,则它们之间信号发生叠加导致冲突,阅读器接收到标签发送的信号之后,检测是否有冲突发生。

  1. 如果没有冲突发生,阅读器正确识别标签并发送确认信息
  2. 如果发生冲突,阅读器则向标签发送冲突确认。

如果标签收到成功识别的确认,则不再继续发送标识符。
如果标签收到冲突确认,它将会随机独立地等待一段时间后再重新发送标识符,直到发送成功为止。

纯ALOHA算法比较简单,易于实现,但信道利用率只有18.4%,性能很差。

时隙ALOHA算法——S-ALOHA算法
S-ALOHA算法将纯ALOHA算法的时间分为若干时隙,每个时隙大于或等于标签标识符发送的时间长度,每个标签只能在时隙开始时刻发送标识符,S-ALOHA协议需要控制时隙的同步,这由RFID阅读器通过时隙开始时命令实现。由于S-ALOHA算法采用了时隙同步机制,信道利用率是纯ALOHA的两倍。

基于帧的时隙ALOHA算法
在S-ALOHA算法的基础上,将若干个时隙组织为一帧,阅读器按照帧为单元进行识别。
在FSA算法中,在每一帧开始时,阅读器广播帧的长度f,指明下一帧所包含的时隙的个数,并激活其识别区域中所有标签。每个标签在接收到帧长f之后随机独立地在0~(f-1)中选择一个整数作为自己发送标识符的时隙序号,并将这个序号存在寄存器SN中。
在下一帧的每一个时隙中,阅读器通过时隙开始命令启动一个新的时隙,如果标签SN的值为零立即发送标识符号,如果不等于零,则将SN值减一并且不发送标识符。
对于标签而言,如果标识符发送成功(即无冲突),则该标签立即进入休眠状态,在之后的时隙中不再活动。
如果有冲突发生,则该标签进入等待状态,在下一帧中重新选择一个时隙发送标识符。
阅读器不断重复以上过程,直到在某一帧中没有收到任何标签信号,则认为所有标签均被识别。
在FSA算中,存在三种状态的时隙:

  1. 空时隙(没有标签响应)
  2. 单时隙(只有一个标签响应)
  3. 冲突时隙(不止一个标签响应)
    只有在单时隙中,阅读器才能成功识别一个标签。
    FSA算法简单,且每个标签在帧内只随机发送一次,能够有效地降低冲突的效率。

FSA算法中,帧的长度是固定的,当标签的个数远大于帧长度时,发生冲突的概率会增加,识别标签的时间会极大地增加。
当标签个数远小于帧长度时,会造成时隙的巨大浪费,也会增加识别时间。
理论上,只有当帧的长度等于阅读器场内标签的数目时,才能获得最佳的识别性能。
但实际上,应用中标签的数目往往使未知的,并且可能是动态变化的,这就给FSA的帧长设置带来挑战。

常见的帧长调整方法:

  1. 一种方法是CPC Class1 Generation 2标准中设计的Q算法
  2. 根据前一帧标签响应中获取的空时隙数目、冲突时隙数目和单时隙数目,来估计当前的标签数目,从而设置下一帧的最优长度。

在Q算法中,当一帧出现过多次的冲突时隙时,阅读器会提前结束该帧并重新发送一个更大的帧;
当一个帧出现的空闲时隙过多时,阅读器也会提前结束该帧,重新启动一个更小的帧

基于ALOHA的防冲突算法简单,并且兼顾了公平性,但是标签存在饿死的情况。当一个标签选择的时隙永远是冲突时隙时,则该标签可能永远无法被识别。

  • 7
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

饼干饼干圆又圆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值