资源简介
此算法为RFID帧时隙的Aloha算法防碰撞仿真,用于MATLAB仿真实验
代码片段和文件信息
function y=FSAPB(nLpMPth)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%分组,并记录每组的标签个数到nz
nz=zeros(1M);
Lp_temp=1;
y=0;
for i=1:n
tag(i)=floor(rand*M);
for j=1:M
if(tag(i)==(j-1))
nz(j)=nz(j)+1;
end
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%确定第一组标签所在Lp的时隙%%%%%%%%
for i=1:nz(1)
tag1(i)=floor(rand*Lp);
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Lp开始%%%%%%%%%%%%%%%%%%%%%%%%%%
ydxb=1;%已读标签下标
coll_num=0;
read_num=0;
while(Lp_temp<=Lp)
numOfZero=0;
j=1;
wz=0;
tag_hr=zeros(1nz(1));
for i=1:nz(1)
if(tag1(i)==0)
numOfZero=numOfZero+1;
wz(j)=i;
j=j+1;
end
end
if(numOfZero==0)
for i=1:nz(1)
tag1(i)=tag1(i)-1;
end
elseif (numOfZero==1)
read_num=read_num+1;
tag_hr(ydxb)=wz(1);
ydxb=ydxb+1;
for i=1:nz(1)
if(i==wz(1))
tag1(i)=-1000;
end
tag1(i)=tag1(i)-1;
end
elseif(numOfZero>1)
coll_num=coll_num+1;
for i=1:nz(1)
if(shuyu(iwz))tag1(i)=Lp-Lp_temp+2*(coll_num-1)+floor(rand*2);
else tag1(i)=tag1(i)-1;
end
end
end
Lp_temp=Lp_temp+1;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%LP阶段结束%%%%%%%%%%%%%%%
y=Lp;
%%%%%%%%%%%%%%判断是要用Ladd还是L1%%%%%%%%%%
if((coll_num/Lp) while(read_num numOfZero=0;
j=1;
wz=0;
for i=1:nz(1)
if(tag1(i)==0)
numOfZero=numOfZero+1;
wz(j)=i;
j=j+1;
end
end
if(numOfZero==0)
for i=1:nz(1)
tag1(i)=tag1(i)-1;
end
elseif(numOfZero==1)
read_num=read_num+1;
tag_hr(ydxb)=wz(1);
ydxb=ydxb+1;
for i=1:nz(1)
if(i==wz(1))
tag1(i)=-1000;
end
tag1(i)=tag1(i)-1;
end
elseif(numOfZero>1)
for i=1:nz(1)
if(shuyu(iwz))tag1(i)=floor(rand*2);
else tag1(i)=tag1(i)+1;
end
end
end
y=y+1;
end
%%%%%%%%%%%%%%%%%L1
elseif((coll_num/Lp)>=Pth)
L1=nz(1)-read_num;
for i=1:nz(1)
if(~shu
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5909 2009-09-04 16:42 FSAPB.m
----------- --------- ---------- ----- ----
5909 1
- 上一篇:小游戏贪吃蛇的matlab编程
- 下一篇:CDMA mapinfo邻区插件
评论
共有 条评论