基于帧的时隙ALOHA(FSA)算法原理:
matlab代码:
N1 = 8;
N2 = 4;
N3 = 3;
N4 = 2;
N5 = 1;
p = 0:0.01:1;
Throughput1 = N1*p.*(1-p).^(N1-1);
Throughput2 = N2*p.*(1-p).^(N2-1);
Throughput3 = N3*p.*(1-p).^(N3-1);
Throughput4 = N4*p.*(1-p).^(N4-1);
Throughput5 = N5*p.*(1-p).^(N5-1);
figure
plot(p,Throughput1,p,Throughput2,p,Throughput2,p,Throughput3,p,Throughput4,p,Throughput5);
xlabel('发送数据的时间')
ylabel('信道空闲的时间')
title('基于帧的时隙ALOHA(FSA)算法')
legend('N = 8','N = 4','N = 3','N = 2','N = 1')
k = 1:40;
n = 1./k;
Throughput = k.*(n.*(1-n).^(k-1));
figure
plot(k,Throughput)
xlabel('发送数据的时间')
ylabel('信道空闲的时间')
title('基于帧的时隙ALOHA(FSA)算法')
G = 0:0.1:5;
S = G.*exp(-G);
figure
plot(G,S)
xlabel('信道利用率')
ylabel('发送数据的时间+信道空闲的时间')
title('基于帧的时隙ALOHA(FSA)算法')
运行结果:
结论:
常用的防碰撞算法其特点。(1)ALOHA:随机竞争
核心思想:需要发送的数据包立刻发送
最大信道利用率:18.4%
(2)时隙ALOHA:
核心思想:时间分成小的间隙,电子标签只在下一个间隙开始时才可以发送数据包
最大信道利用率:36.8%
(3)动态时隙ALOHA:
发生潜在碰撞时逐步增加标签可用的时隙数,直到有一个标签可以发送成功
(根据标签碰撞和空闲的概率来调整帧长)
(4)二进制搜索算法
只有符合限制的标签才应答