RFID-aloha算法

说明

防碰撞算法-ALOHA算法分析

ALOHA原理

ALOHA法在多路存取方法中是最简单的,只要有一个数据包提供使用,这个数据包就被立即发送给射频读写器。ALOHA法是射频电子标签控制的,它只适用于只读射频电子标签。通常,这类射频电子标签只有一些数据传输给射频读写器,并且是在一个周期循环中将这些数据发送给射频读写器。数据传输时间只是循环周期的一小部分,所以在传输之间产生相当大的间隙;同时,各个射频电子标签的循环周期的差别可以忽略不计,各个射频电子标签的重复时间之间的差别是微不足道的。所以存在着一定的概率,两个射频电子标签可以在不同的时间段传输数据,使数据包不相互碰撞。
在这里插入图片描述
将时间分为离散的小段, 每一段称为时隙,每个时隙都足够让一个标签发送完信息; N个时隙合为一帧(N是一个默认值) ;发射端随机选择一帧中的一个时隙向接收端发送信息,一旦发生碰撞,就在下一帧中随机选择一个时隙从新发送。
平均交换的数据包量 G 可以用最简单的方法从一个数据包的传输持续时间计算出来:
在这里插入图片描述
其中:n是系统中的标签数量,为观察时间 T 内由应答器发送的数据包的数量。
传输信道的平均吞吐率S可由交换的数据包量G得出:
在这里插入图片描述
可以得出当G=0.5时, 最大吞吐率 S =1/ (2e) =18.4%。

流程图

在这里插入图片描述

实验代码

for m=2:1:200                   %标签数 从2开始,每次+1,直到1000     
    n=1000;                      %n表示重发次数
    A=rand(m,n);                 %生成m*n的[0,1]的随机矩阵
    A1=0.5*A;                    %生成[0,0.5]的矩阵
    B=cumsum(A1,2);              %返回各行的累加和
    T=B(1,n);                    %T为标签发送时间
    C=1:1:(m*n);                 
    for i=1:m                    %将矩阵B转化为向量
        for j=1:n
            C(1,(i-1)*n+j)=B(i,j);
        end
    end
    D=sort(C);                   %从小到大排序,用于计算两数据包之间的时间差
    E=diff(D);                   %向量的微分,求两数据包之间的时间差,用于判断是否产生碰撞
    T0=0.001;                    %每个数据包的宽度
    N=0;                         %初始化N,发送成功的数据包
    M=0;                         %初始化M,总共的数据包
    for i=1:(m*n-1)              %计算MN
          if D(1,i)<=T           %小于发送时间则总包数+1
                 M=M+1;
             if i==1&E(1,1)>=T0  %对于时间轴上的第1个和最后一数据包只需判断一个时间差,其他需要判断两个
                  N=N+1;
             elseif i==(m*n-1)&E(1,(m*n-1))>=T0
                  N=N+1;
             elseif i~=1&i~=(m*n-1)&E(1,i)>=T0&E(1,i-1)>=T0
                  N=N+1;
             end
          else continue
       end
    end
  G=T0/T*M;                     %计算平均交换的数据包量GT0数据包的宽度, T观察时间,M数据包数量
  S=G*exp(-2*G);                %计算吞吐量
  Q=S/G;                        %发送成功率
  F=m/200;                     %归一化
  plot(G,S,'r.',G,Q,'ko',G,F,'g*'); 
  hold on;                   
end
 xlabel('平均交换的数据包量G'); 
 title('aloha算法仿真');       
 legend('吞吐量S','发送成功率Q','归一化标签数F');                   

实验结果

在这里插入图片描述

  • 18
    点赞
  • 92
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值