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