資源簡介
matlab的 aloha防碰撞算法 rfid
代碼片段和文件信息
?for?m=2:1:500???????????????????%m表示標(biāo)簽數(shù)
????n=1000;??????????????????????%aloha算法m表示m個(gè)標(biāo)簽,n表示重發(fā)次數(shù)
????A=randint(mn1001);
????A=A/1000??????%生成一個(gè)0-1分布的矩陣
????A1=0.5*A;????????????????????%生成一個(gè)0-0.5分布的矩陣,假設(shè)隨機(jī)退避時(shí)間服從0-0.5分布
????B=cumsum(A12);??????????????%矩陣B是對A1每列相加得到的,表示隨機(jī)發(fā)送的時(shí)間
????T=B(1n);????????????????????%T為標(biāo)簽均發(fā)送時(shí)間,即為觀察時(shí)間
????C=1:1:(m*n);?????????????????%生成一個(gè)向量
????for?i=1:m????????????????????%將矩陣B轉(zhuǎn)化為向量,賦值到向量C
????????for?j=1:n
??????C(1(i-1)*n+j)=B(ij);
????????end
????end
????D=sort(C);???????????????????%將向量按從小到大的順序排序,用于計(jì)算兩數(shù)據(jù)包之間的時(shí)間差
????E=diff(D);???????????????????%向量的微分,求兩數(shù)據(jù)包之間的時(shí)間差,用于判斷是否產(chǎn)生碰撞
????T0=0.001;????????????????????%每個(gè)數(shù)據(jù)包的寬度
????N=0;?????????????????????????%初始化N(發(fā)送成功的數(shù)據(jù)包)
????M=0;?????????????????????????%初始化M,總共的數(shù)據(jù)包
????for?i=1:(m*n-1)??????????????%此循環(huán)用于計(jì)算M與N
??????????if?D(1i)<=T???????????%只要小
評論
共有 條評論