




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
目錄1. 緒論 ]。若有,說明信道正忙;若沒有,則做出以下的決定:[]張婷.基于OPNET的多址接入控制技術研究[D].重慶大學,2009.[]王順滿,吳長奇,張笈,宋志群.無線局域網的安全問題[J].無線電通信技術,2003,05:19-21.(1)若信道空閑,是否立即發(fā)送;(2)若信道忙,是否繼續(xù)監(jiān)聽;第一步的策略是避免發(fā)生不必要的沖突,第二步的策略是優(yōu)化監(jiān)聽算法,讓有的站繼續(xù)監(jiān)聽或所有監(jiān)聽站都退避一段時間再監(jiān)聽。非持續(xù)性CSMA協(xié)議非持續(xù)性CSMA協(xié)議即np-CSMA協(xié)議,它能夠把傳輸分組的干擾降到最低。它的算法如圖2.11所示:步驟步驟算法第一步第二步若監(jiān)聽到信道空閑,立即發(fā)送;否則,轉到第二步若監(jiān)聽到信道忙則等待一段隨機的重傳延遲時間,重復第一步圖2.11np-CSMA協(xié)議的算法這種算法是尊重別人的。在討論其S和G的關系時,假設每個終端的傳播延遲都一樣,并對數據包傳輸時間進行歸一化,認為是無限呼叫源模型,并且不考慮無線通信中的“隱終端”問題。其S和G的關系式如下:(2-12)1-持續(xù)性CSMA協(xié)議1-持續(xù)性CSMA協(xié)議,避免了資源的浪費。它的算法如圖2.12所示;步驟步驟算法第一步第二步第三步若監(jiān)聽到信道空閑就傳輸;否則,跳轉到第二步若監(jiān)聽到信道忙則繼續(xù)監(jiān)聽,直到檢測到信道空閑就立即傳輸若有沖突,則等待一段隨機時間后重復第一步圖2.121-持續(xù)性CSMA協(xié)議算法P-持續(xù)型CSMA協(xié)議步驟算法第一步第二步第三步若監(jiān)聽到信道空閑,以概率P傳輸,以概率(1-P)延遲一個時間單位若監(jiān)聽到信道忙則繼續(xù)監(jiān)聽,直到檢測到信道空閑就跳轉到第一步若傳輸延遲了一個時間單位,則重復第一步P-持續(xù)性CSMA協(xié)議結合了非持續(xù)性步驟算法第一步第二步第三步若監(jiān)聽到信道空閑,以概率P傳輸,以概率(1-P)延遲一個時間單位若監(jiān)聽到信道忙則繼續(xù)監(jiān)聽,直到檢測到信道空閑就跳轉到第一步若傳輸延遲了一個時間單位,則重復第一步圖2.13P-持續(xù)性CSMA協(xié)議的算法。本章小結本章節(jié)首先介紹了常用的計算機網絡參考模型,接著簡單介紹了多址接入協(xié)議。本章重點介紹了純ALOHA協(xié)議,時隙ALOHA協(xié)議和CSMA協(xié)議的基本工作原理,并對這三種協(xié)議進行了性能分析[[]王申濤,楊浩,周熙.幾種隨機接入協(xié)議的仿真性能比較分析[J].計算機與現代化,2006,10:101-104+111.[]王申濤,楊浩,周熙.幾種隨機接入協(xié)議的仿真性能比較分析[J].計算機與現代化,2006,10:101-104+111.多址接入協(xié)議仿真模型仿真系統(tǒng)模型本文建立的仿真系統(tǒng)模型是數據包通信系統(tǒng),這個模型由許多個終端和一個接入點組成。圖3.1為其結構示意圖。在圖3.1中,產生的數據包首先到達Buffer,傳出是根據FIFO的原則。在信道中傳輸的包會接入協(xié)議,最后到達接入點。圖3.1數據包通信系統(tǒng)仿真場景的建立仿真場景如圖3.2所示。在該場景中,設接入點的坐標為(0,0,h),h是接入點到地面的高度。原點坐標為(0,0),r是它的半徑,終端隨機分布在其中,也可以設定讓終端距離地面的距離大于0。終端與接入點連接的信道既能采用無線信道,也能采用有線信道。圖3.2仿真場景通信信道模型信道是以傳輸媒介為基礎的信號通路,它的作用是傳輸信號[[]張秀峰.基于FPGA的數字復接技術的研究[D].西安理工大學,2009.]。狹義信道通常按具體媒介的類型不同分為有線信道和無線信道[[]姜來為.MIMO-OFDM系統(tǒng)中信道估計及迭代干擾消除方法研究[D].哈爾濱工業(yè)大學,2011.]。針對這兩種信道,建模的方法是不同的。有線信道是是理想信道。無線信道是時變信道,不是理想信道。路徑損耗是由接入點與終端之間的距離造成的,在房間內或在房間外的無線信道中,[]張秀峰.基于FPGA的數字復接技術的研究[D].西安理工大學,2009.[]姜來為.MIMO-OFDM系統(tǒng)中信道估計及迭代干擾消除方法研究[D].哈爾濱工業(yè)大學,2011.Pr(dBm)=Pt(dBm)+10nlgeq\f(d,d0)(3-1)在公式(3-1)中,n為路徑衰落指數,其值一般在2到5之間;d0為近地參考距離;d為發(fā)射天線與接收天線間的距離。在城市中的高大的建筑物或者是大自然的一些屏障造成了信號的變化,這就是陰影衰落。我們對其常用的建模方法是建立對數正態(tài)陰影模型[[]張曉佳.陰影衰落信道的建模與分析[D].內蒙古大學,2014.[]張曉佳.陰影衰落信道的建模與分析[D].內蒙古大學,2014.[19]Behrouz,A,Forouzan.數據通信與網絡技術[M].北京:清華大學出版社,2001.43-45[20]Rowe,S,H,Schuh,M,L.計算機網絡(影印版)[M].北京:清華大學出版社,2006.[21]劉學勇.詳解MATLAB/Simulink通信系統(tǒng)建模與仿真[M].北京:電子工業(yè)出版社,2011.318-343[22]謝希仁.計算機網絡[M].北京:電子工業(yè)出版社,2003.420-426附錄1.ALOHA協(xié)議實現代碼:%ALOHA協(xié)議程序function[Traffic,S,Delay]=aloha(capture)%***************************輸入參數****************************%capture:是否考慮捕獲效應0:不考慮1:考慮%***************************輸出參數****************************%Traffic:實際產生的業(yè)務量%S:吞吐量%Delay:平均延遲%****************************定義終端狀態(tài)常數以及仿真結束參數****************************STANDBY=0;%等待TRANSMIT=1;%傳輸COLLISION=2;%碰撞TOTAL=10000;%成功傳輸多少數據包后仿真結束%********************************定義信道參數*************************************brate=6e6;%比特速率Srate=0.25e6;%符號速率Plen=500;%包長(符號數)Ttime=Plen/Srate;%每個數據包的傳輸時間Dtime=0.01;%歸一化傳播延遲alfa=3;%路徑損耗指數sigma=6;%陰影衰落標準差[dB]%**********************************定義接入點信息***********************************r=100;%服務區(qū)域半徑[m]bxy=[0,0,5];%接入點位置坐標(x,y,z)[m]tcn=10;%接入點進行正確信號解調所需要的最低信號功率[dBm]%************************************定義終端信息***********************************Mnum=100;%終端數目mcn=30;%終端在服務區(qū)域邊緣時,接入點接收到的信號功率[dBm]mpow=10^(mcn/10)*sqrt(r^2+bxy(3)^2)^alfa;%終端的發(fā)射信號功率h=0;%終端高度mxy=[randsrc(2,Mnum,[-r:r]);randsrc(1,Mnum,[0:h])];%隨機生成終端坐標while1d=sqrt(sum(mxy(1:2,:).^2));%判斷終端與接入點的水平距離是否超過r[tmp,indx]=find(d>r);iflength(indx)==0breakendmxy(:,indx)=[randsrc(2,length(indx),[-r:r]);mxy(3,indx)];%超過r重新生成位置坐標enddistance=sqrt(sum(((ones(Mnum,1)*bxy).'-mxy).^2));%終端距離接入點的距離mrnd=randn(1,Mnum);%每個終端的陰影衰落%*************************************仿真參數*******************************************G=[0.1:0.1:1,1.2:0.2:2];%理論業(yè)務量forindx=1:length(G)%***************************************初始化相關參數********************************Tint=-Ttime/log(1-G(indx)/Mnum);%數據包產生間隔的期望值Rint=Tint;%數據包重傳間隔的期望值Spnum=0;%成功傳輸的包個數Splen=0;%成功傳輸的符號的個數Tplen=0;%成功傳輸的符號數Wtime=0;%傳輸延遲時間(s)mgtime=-Tint*log(1-rand(1,Mnum));%初始數據包產生時刻mtime=mgtime;%終端的狀態(tài)改變時刻Mstate=zeros(1,Mnum);%終端狀態(tài)Mplen(1:Mnum)=Plen;%每個終端傳輸的數據包長度大小now_time=min(mtime);%***************************************仿真循環(huán)**************************************while1idx=find(mtime==now_time&Mstate==TRANSMIT);%成功傳輸數據包的終端IDiflength(idx)>0Spnum=Spnum+1;Splen=Splen+Mplen(idx);Wtime=Wtime+now_time-mgtime(idx);Mstate(idx)=STANDBY;mgtime(idx)=now_time-Tint*log(1-rand);%下一個數據包產生時刻mtime(idx)=mgtime(idx);%下一個數據包傳輸時刻endidx=find(mtime==now_time&Mstate==COLLISION);%數據包傳輸失敗的終端IDiflength(idx)>0Mstate(idx)=STANDBY;mtime(idx)=now_time-Rint*log(1-rand(1,length(idx)));%重新發(fā)送時刻endidx=find(mtime==now_time);%開始傳輸數據包的終端IDiflength(idx)>0Mstate(idx)=TRANSMIT;mtime(idx)=now_time+Mplen(idx)/Srate;%數據包傳輸結束時刻Tplen=Tplen+sum(Mplen(idx));endifSpnum>=TOTAL%如果成功傳輸的數據包達到設定條件,仿真結束breakend%有數據包傳輸或發(fā)生碰撞的終端IDidx=find(Mstate==TRANSMIT|Mstate==COLLISION);ifcapture==0%不考慮捕獲效應iflength(idx)>1Mstate(idx)=COLLISION;%同時傳輸數據包的終端大于1,發(fā)生碰撞endelse%考慮捕獲效應iflength(idx)>1dxy=distance(idx);%比較發(fā)生碰撞的終端的距離%計算接入點收到的各個終端信號功率pow=mpow*dxy.^-alfa.*10.^(sigma/10*mrnd(idx));[maxpno]=max(pow);ifMstate(idx(no))==TRANSMITiflength(idx)==1cn=10*log10(maxp);elsecn=10*log10(maxp/(sum(pow)-maxp+1));endMstate(idx)=COLLISION;ifcn>=tcn%接收到的信號功率大于捕獲門限Mstate(idx(no))=TRANSMIT;%傳輸成功endelseMstate(idx)=COLLISION;endendendnow_time=min(mtime);%更新時刻endTraffic(indx)=Tplen/Srate/now_time;%統(tǒng)計實際產生的業(yè)務量S(indx)=Splen/Srate/now_time;%統(tǒng)計吞吐量Delay(indx)=Wtime/TOTAL*Srate/Plen;%統(tǒng)計平均延遲end2.ALOHA協(xié)議仿真腳本:%ex1.m%分別對存在捕獲效應和不存在捕獲效應時的ALOHA協(xié)議性能進行仿真。clearall[Traffic1,S1,Delay1]=aloha(0);%無捕獲效應吞吐量[Traffic2,S2,Delay2]=aloha(1);%有捕獲效應吞吐量S=Traffic1.*exp(-2*Traffic1);%理論吞吐量plot(Traffic1,S1,'-ko',Traffic1,S,'-kv',Traffic2,S2,'-k*')title('ALOHA協(xié)議信道吞吐量與業(yè)務量關系')xlabel('業(yè)務量')ylabel('吞吐量')legend('無捕獲效應仿真結果','無捕獲效應理論值','有捕獲效應仿真結果')figureplot(Traffic1,Delay1,'-ko',Traffic2,Delay2,'-k*')title('ALOHA協(xié)議延遲與業(yè)務量關系')xlabel('業(yè)務量')ylabel('延遲(數據包個數)')legend('無捕獲效應仿真結果','有捕獲效應仿真結果')3.時隙ALOHA協(xié)議實現代碼:%時隙ALOHA協(xié)議程序function[Traffic,S,Delay]=saloha(capture)%**************輸入參數**************%capture:是否考慮捕獲效應0:不考慮1:考慮%************輸出參數****************%Traffic:實際產生的業(yè)務量%S:吞吐量%Delay:平均延遲%**********定義終端狀態(tài)常數以及仿真結束參數**********STANDBY=0;%等待TRANSMIT=1;%傳輸COLLISION=2;%碰撞TOTAL=20000;%成功傳輸多少數據包后仿真結束%****************定義信道參數*****************brate=6e6;%比特速率Srate=0.25e6;%符號速率Plen=500;%包長(符號數)Ttime=Plen/Srate;%每個數據包的傳輸時間Dtime=0.01;%歸一化傳播延遲alfa=3;%路徑損耗指數sigma=6;%陰影衰落標準差[dB]%********************定義接入點信息********************r=100;%服務區(qū)域半徑[m]bxy=[0,0,5];%接入點位置坐標(x,y,z)[m]tcn=10;%接入點進行正確信號解調所需要的最低信號功率[dBm]%*******************定義終端信息**********************Mnum=100;%終端數目mcn=30;%終端在服務區(qū)域邊緣時,接入點接收到的信號功率[dBm]mpow=10^(mcn/10)*sqrt(r^2+bxy(3)^2)^alfa;%終端的發(fā)射信號功率h=0;%終端高度mxy=[randsrc(2,Mnum,[-r:r]);randsrc(1,Mnum,[0:h])];%隨機生成終端坐標while1d=sqrt(sum(mxy(1:2,:).^2));%判斷終端與接入點的水平距離是否超過r[tmp,indx]=find(d>r);iflength(indx)==0breakendmxy(:,indx)=[randsrc(2,length(indx),[-r:r]);mxy(3,indx)];%超過r重新生成位置坐標enddistance=sqrt(sum(((ones(Mnum,1)*bxy).'-mxy).^2));%終端距離接入點的距離mrnd=randn(1,Mnum);%每個終端的陰影衰落G=[0.1:0.1:1,1.2:0.2:4];%理論業(yè)務量forindx=1:length(G)%**************************初始化相關參數********************Tint=-Ttime/log(1-G(indx)/Mnum);%數據包產生間隔的期望值Rint=Tint;%數據包重傳間隔的期望值Spnum=0;%成功傳輸的包個數Splen=0;%成功傳輸的符號的個數Tplen=0;%成功傳輸的符號數Wtime=0;%傳輸延遲時間(s)slot=Plen/Srate;%時隙長度mgtime=-Tint*log(1-rand(1,Mnum));%初始數據包產生時刻mtime=(fix(mgtime/slot)+1)*slot;%數據包傳輸時刻Mstate=zeros(1,Mnum);%終端狀態(tài)Mplen(1:Mnum)=Plen;%每個終端傳輸的數據包長度大小now_time=min(mtime);%******************************仿真循環(huán)*************************while1idx=find(mtime==now_time&Mstate==TRANSMIT);%成功傳輸數據包的終端IDiflength(idx)>0Spnum=Spnum+1;Splen=Splen+Mplen(idx);Wtime=Wtime+now_time-mgtime(idx);Mstate(idx)=STANDBY;mgtime(idx)=now_time-Tint*log(1-rand);%下一個數據包產生時刻mtime(idx)=(fix(mgtime(idx)/slot)+1)*slot;%下一個數據包傳輸時刻endidx=find(mtime==now_time&Mstate==COLLISION);%數據包傳輸失敗的終端IDiflength(idx)>0Mstate(idx)=STANDBY;mtime(idx)=now_time-Rint*log(1-rand(1,length(idx)));%重傳等待時間mtime(idx)=(fix(mtime(idx)/slot)+1)*slot;%重新發(fā)送時刻endidx=find(mtime==now_time);%開始傳輸數據包的終端IDiflength(idx)>0Mstate(idx)=TRANSMIT;mtime(idx)=now_time+Mplen(idx)/Srate;%數據包傳輸結束時刻mtime(idx)=round(mtime(idx)/slot)*slot;Tplen=Tplen+sum(Mplen(idx));endifSpnum>=TOTAL%如果成功傳輸的數據包達到設定條件,仿真結束breakend%有數據包傳輸或發(fā)生碰撞的終端IDidx=find(Mstate==TRANSMIT|Mstate==COLLISION);ifcapture==0%不考慮捕獲效應iflength(idx)>1Mstate(idx)=COLLISION;%同時傳輸數據包的終端大于1,發(fā)生碰撞endelse%考慮捕獲效應iflength(idx)>1dxy=distance(idx);%比較發(fā)生碰撞的終端的距離%計算接入點收到的各個終端信號功率pow=mpow*dxy.^-alfa.*10.^(sigma/10*mrnd(idx));[maxpno]=max(pow);ifMstate(idx(no))==TRANSMITiflength(idx)==1cn=10*log10(maxp);elsecn=10*log10(maxp/(sum(pow)-maxp+1));endMstate(idx)=COLLISION;ifcn>=tcn%接收到的信號功率大于捕獲門限Mstate(idx(no))=TRANSMIT;%傳輸成功endelseMstate(idx)=COLLISION;endendendnow_time=min(mtime);%更新時刻endTraffic(indx)=Tplen/Srate/now_time;%統(tǒng)計實際產生的業(yè)務量S(indx)=Splen/Srate/now_time;%統(tǒng)計吞吐量Delay(indx)=Wtime/TOTAL*Srate/Plen;%統(tǒng)計平均延遲end4.時隙ALOHA協(xié)議仿真腳本:%ex2.m%分別對存在捕獲效應和不存在捕獲效應時的時隙ALOHA協(xié)議性能進行仿真。clearall[Traffic1,S1,Delay1]=saloha(0);%無捕獲效應吞吐量[Traffic2,S2,Delay2]=saloha(1);%有捕獲效應吞吐量S=Traffic1.*exp(-Traffic1);%理論吞吐量plot(Traffic1,S1,'-ko',Traffic1,S,'-kv',Traffic2,S2,'-k*')title('時隙ALOHA協(xié)議信道吞吐量與業(yè)務量關系')xlabel('業(yè)務量')ylabel('吞吐量')legend('無捕獲效應仿真結果','無捕獲效應理論值','有捕獲效應仿真結果')figureplot(Traffic1,Delay1,'-ko',Traffic2,Delay2,'-k*')title('時隙ALOHA協(xié)議延遲與業(yè)務量關系')xlabel('業(yè)務量')ylabel('延遲(數據包個數)')legend('無捕獲效應仿真結果','有捕獲效應仿真結果')5.np-CSMA協(xié)議實現代碼:%np-CSMA協(xié)議程序function[Traffic,S,Delay]=npcsma(capture)%***************************輸入參數****************************%capture:是否考慮捕獲效應0:不考慮1:考慮%***************************輸出參數****************************%Traffic:實際產生的業(yè)務量%S:吞吐量%Delay:平均延遲%****************************定義終端狀態(tài)常數以及仿真結束參數****************************STANDBY=0;%等待TRANSMIT=1;%傳輸COLLISION=2;%碰撞TOTAL=5000;%成功傳輸多少數據包后仿真結束%********************************定義信道參數*************************************brate=6e6;%比特速率Srate=0.25e6;%符號速率Plen=500;%包長(符號數)Ttime=Plen/Srate;%每個數據包的傳輸時間Dtime=0.1;%歸一化傳播延遲delay=Dtime*Ttime;%實際延遲alfa=3;%路徑損耗指數sigma=6;%陰影衰落標準差[dB]%**********************************定義接入點信息***********************************r=100;%服務區(qū)域半徑[m]bxy=[0,0,5];%接入點位置坐標(x,y,z)[m]tcn=10;%接入點進行正確信號解調所需要的最低信號功率[dBm]%************************************定義終端信息***********************************Mnum=100;%終端數目mcn=30;%終端在服務區(qū)域邊緣時,接入點接收到的信號功率[dBm]mpow=10^(mcn/10)*sqrt(r^2+bxy(3)^2)^alfa;%終端的發(fā)射信號功率h=0;%終端高度mxy=[randsrc(2,Mnum,[-r:r]);randsrc(1,Mnum,[0:h])];%隨機生成終端坐標while1d=sqrt(sum(mxy(1:2,:).^2));%判斷終端與接入點的水平距離是否超過r[tmp,indx]=find(d>r);iflength(indx)==0breakendmxy(:,indx)=[randsrc(2,length(indx),[-r:r]);mxy(3,indx)];%超過r重新生成位置坐標enddistance=sqrt(sum(((ones(Mnum,1)*bxy).'-mxy).^2));%終端距離接入點的距離mrnd=randn(1,Mnum);%每個終端的陰影衰落G=[0.1:0.1:1,2:10,20:20:40];%理論業(yè)務量forindx=1:length(G)%***************************************初始化相關參數********************************Tint=-Ttime/log(1-G(indx)/Mnum);%數據包產生間隔的期望值Rint=Tint;%數據包重傳間隔的期望值Spnum=0;%成功傳輸的包個數Splen=0;%成功傳輸的符號的個數Tplen=0;%成功傳輸的符號數Wtime=0;%傳輸延遲時間(s)mgtime=-Tint*log(1-rand(1,Mnum));%初始數據包產生時刻Mstime=zeros(1,Mnum)-inf;%數據包傳輸時刻mtime=mgtime;%終端狀態(tài)改變傳輸時刻Mstate=zeros(1,Mnum);%終端狀態(tài)Mplen(1:Mnum)=Plen;%每個終端傳輸的數據包長度大小now_time=min(mtime);%***************************************仿真循環(huán)**************************************while1idx=find(mtime==now_time&Mstate==TRANSMIT);%成功傳輸數據包的終端IDiflength(idx)>0Spnum=Spnum+1;Splen=Splen+Mplen(idx);Wtime=Wtime+now_time-mgtime(idx);Mstate(idx)=STANDBY;mgtime(idx)=now_time-Tint*log(1-rand);%下一個數據包產生時刻mtime(idx)=mgtime(idx);%下一次狀態(tài)改變時刻endidx=find(mtime==now_time&Mstate==COLLISION);%數據包傳輸失敗的終端IDiflength(idx)>0Mstate(idx)=STANDBY;mtime(idx)=now_time-Rint*log(1-rand(1,length(idx)));%重傳等待時間endidx=find(mtime==now_time&Mstate==STANDBY);%開始傳輸數據包的終端IDiflength(idx)>0Tplen=Tplen+sum(Mplen(idx));forii=1:length(idx)jj=idx(ii);%載波監(jiān)聽idx1=find((Mstime+delay)<=now_time&now_time<=(Mstime+delay+Ttime));iflength(idx1)==0%信道空閑Mstate(jj)=TRANSMIT;%傳送數據包Mstime(jj)=now_time;%數據包開始傳輸時間mtime(jj)=now_time+Mplen(jj)/Srate;%數據包傳輸結束時間else%信道忙mtime(jj)=now_time-Rint*log(1-rand);%等待一段時間再進行監(jiān)聽endendendifSpnum>=TOTAL%如果成功傳輸的數據包達到設定條件,仿真結束breakend%有數據包傳輸或發(fā)生碰撞的終端IDidx=find(Mstate==TRANSMIT|Mstate==COLLISION);ifcapture==0%不考慮捕獲效應iflength(idx)>1Mstate(idx)=COLLISION;%同時傳輸數據包的終端大于1,發(fā)生碰撞endelse%考慮捕獲效應iflength(idx)>1dxy=distance(idx);%比較發(fā)生碰撞的終端的距離%計算接入點收到的各個終端信號功率,其中考慮了陰影衰落的影響pow=mpow*dxy.^-alfa.*10.^(sigma/10*mrnd(idx));[maxpno]=max(pow);ifMstate(idx(no))==TRANSMITiflength(idx)==1cn=10*log10(maxp);elsecn=10*log10(maxp/(sum(pow)-maxp+1));endMstate(idx)=COLLISION;ifcn>=tcn%接收到的信號功率大于捕獲門限Mstate(idx(no))=TRANSMIT;%傳輸成功endelseMstate(idx)=COLLISION;endendendnow_time=min(mtime);%更新時刻endTraffic(indx)=Tplen/Srate/now_time;%統(tǒng)計實際產生的業(yè)務量S(indx)=Splen/Srate/now_time;%統(tǒng)計吞吐量Delay(indx)=Wtime/TOTAL*Srate/Plen;%統(tǒng)計平均延遲end6.np-CSMA協(xié)議仿真腳本:%ex3.m%分別對存在捕獲效應和不存在捕獲效應時的np-CSMA協(xié)議性能進行仿真。clearall[Traffic1,S1,Delay1]=npcsma(0);%無捕獲效應吞吐量[Traffic2,S2,Delay2]=npcsma(1);%有捕獲效應吞吐量S=Traffic1.*exp(-0.1*Traffic1)./(Traffic1*(1+2*0.1)+exp(-0.1*Traffic1));%理論吞吐量semilogx(Traffic1,S1,'-ko',Traffic1,S,'-kv',Traffic2,S2,'-k*')title('np-CSMA協(xié)議信道吞吐量與業(yè)務量關系')xlabel('業(yè)務量')ylabel('吞吐量')legend('無捕獲效應仿真結果','無捕獲效應理論值','有捕獲效應仿真結果')figuresemilogx(Traffic1,Delay1,'-ko',Traffic2,Delay2,'-k*')title('np-CSMA協(xié)議延遲與業(yè)務量關系')xlabel('業(yè)務量')ylabel('延遲(數據包個數)')legend('無捕獲效應仿真結果','有捕獲效應仿真結果')業(yè)務源模型業(yè)務源就是終端產生的數據包。在建立模型時,設定數據包是被終端隨機發(fā)送的,并且在發(fā)送時都是獨立的,而且這些數據包服從泊松分布。仿真時對碰撞的處理在有線通信系統(tǒng)中,數據包一旦發(fā)生碰撞,就會被丟棄,會被當做發(fā)送失敗。在無線通信系統(tǒng)中,如果數據包發(fā)生碰撞,功率大的數據包被接收的概率大。這種情況是捕獲效應。如果數據包沒有發(fā)生碰撞,也不會像在有線信道中都會接收成功,如果信道條件差,傳輸的數據包就會發(fā)送失敗。本章小結本章建立了仿真系統(tǒng)、場景和業(yè)務源模型。針對無線通信系統(tǒng)和有線通信系統(tǒng)的不同情況,對通信信道分類建立模型,并且分別闡述了仿真時對碰撞的處理方法。隨機多址接入協(xié)議的仿真程序流程圖仿真基本流程圖仿真基本流程圖如圖4.1所示。4.1仿真基本流程圖仿真基本流程圖展現了仿真的大體流程,構建出仿真程序的基本框架,描繪了仿真程序的基本思路。因為協(xié)議在結構上有著相似性,所以在具體構建這三個協(xié)議的仿真流程圖時,只需在仿真基本流程圖中修改即可。純ALOHA協(xié)議的仿真程序流程圖仿真程序流程圖如圖4.2所示。圖4.2純ALOHA協(xié)議仿真的程序流程圖協(xié)議實現程序是一個函數,其輸入參數capture考慮了是否存在捕獲效應,其輸出參數由實際產生的業(yè)務量、統(tǒng)計的吞吐量和數據包的平均延遲構成。協(xié)議實現程序首先定義了一些參數和信息。仿真協(xié)議時,是根據理論的G的大小進行操作,數據包產生后,終端的狀態(tài)會跟隨產生時間做出相應的調整。在處理碰撞的問題時,會分兩種情況,第一種情況是考慮捕獲效應,第二種情況是不考慮捕獲效應。緊接著,終端狀態(tài)會做出相應的調整,進行下一輪的準備。因為此次仿真的終端數是有限的,是有限呼叫源模型,所以當成功發(fā)送的數據包數目達到設定值后,就會停止循環(huán),并且對輸出參數進行統(tǒng)計。仿真時主程序對其進行調用。時隙ALOHA協(xié)議的仿真程序流程圖仿真程序流程圖如圖4.3所示。協(xié)議的實現程序是一個函數,其主體結構與純ALOHA協(xié)議的實現程序相類似,不同點是增加了時隙長度的定義,并且要求數據包要在時隙開始時刻發(fā)送。仿真時主程序對其進行調用。圖4.3時隙ALOHA協(xié)議仿真的程序流程圖非持續(xù)性載波監(jiān)聽(np-CSMA)協(xié)議的仿真程序流程圖仿真程序流程圖如圖4.4所示。圖4.4非持續(xù)性載波監(jiān)聽(np-CSMA)協(xié)議的仿真程序流程圖其主體結構與純ALOHA協(xié)議的實現程序相類似,不同的地方是增加了載波監(jiān)聽的過程。仿真時主程序對其進行調用。仿真結果和分析純ALOHA協(xié)議的仿真把實現程序和主程序放在同一文件夾下,用MATLAB軟件運行仿真主程序,得到仿真結果,分別如圖4.5和圖4.6所示。圖4.5純ALOHA協(xié)議的吞吐量與業(yè)務量的關系圖圖4.6純ALOHA協(xié)議的延遲與業(yè)務量的關系圖從圖4.5中可以看出,如果不考慮捕獲效應,其最大吞吐率和理論的數值非常近似,約為0.184。如果考慮捕獲效應,觀察出其Smax約為0.239。從圖4-6中可以看到,當考慮捕獲效應時,業(yè)務量增加后延遲會隨之增加,并且是以線性的方式增加;當不考慮捕獲效應時,業(yè)務量增加后延遲也會隨之增加,但是增加的方式不同,是以指數的方式增加。綜上所述,當業(yè)務量比較少時,其性能會比較好,一旦業(yè)務量增大,協(xié)議的性能會變差,并且變差的速率會非常快。時隙ALOHA協(xié)議的仿真把實現程序和主程序放在同一文件夾下,用MATLAB軟件運行仿真主程序,得到仿真結果,分別如圖4.7和圖4.8所示。圖4.7時隙ALOHA協(xié)議的吞吐量與業(yè)務量的關系圖圖4.8時隙ALOHA協(xié)議的延遲與業(yè)務量的關系圖從圖4.7中可以看出,如果不考慮捕獲效應時,其Smax約為0.368,當考慮捕獲效應時,其Smax約為0.456。從圖4.8中可以看到,當考慮捕獲效應時,業(yè)務量增加后延遲會隨之增加,并且是以線性的方式增加;當不考慮捕獲效應時,業(yè)務量增加后延遲也會隨之增加,但是增加的方式不同,是以指數的方式增加。但是,其增加延遲數據包的速率小于原始的協(xié)議。綜上所述,它的性能比純ALOHA協(xié)議的性能要好。非持續(xù)性載波監(jiān)聽(np-CSMA)協(xié)議的仿真把實現程序和主程序放在同一文件夾下,用MATLAB軟件運行主程序,得到仿真結果,分別如圖4.9和4.10所示。圖4.9非持續(xù)性載波監(jiān)聽(np-CSMA)協(xié)議吞吐量與業(yè)務量的關系圖圖4.10非持續(xù)性載波監(jiān)聽(np-CSMA)協(xié)議的延遲與業(yè)務量的關系圖從圖4-9中可以看出,在非持續(xù)性載波監(jiān)聽(np-CSMA)協(xié)議中,當業(yè)務量較大時,協(xié)議的吞吐率也比較高。從圖4.10可以看出,當業(yè)務量在101范圍內時,無論考不考慮捕獲效應,協(xié)議的延遲都非常低,只有當業(yè)務量大到一定程度時,不考慮捕獲效應時的延遲數據包個數才會驟然增多。綜上所述,其性能要比上兩個協(xié)議好很多。本章小結本章首先設計出了仿真流程圖。然后,通過MATLAB軟件對這三個協(xié)議進行仿真,得到其吞吐量與業(yè)務量的關系圖和其延遲與業(yè)務量的關系圖。通過對仿真結果的研究,可以具體直觀地比較這三種協(xié)議的性能,對其有更為深刻的理解。多址接入協(xié)議的仿真對比圖如圖4.11所示,從圖中可以比較清晰地看出協(xié)議的性能對比情況,可以看到np-CSMA協(xié)議的性能最為優(yōu)越。圖4.11仿真結果對比結論如今的通信網規(guī)模龐大,結構復雜。在當前的形式下,通信信道的資源是有限的,是緊缺的,更是珍貴的。這就使得發(fā)展多址接入協(xié)議顯得尤為重要,它可以有效地提高信道利用率,讓通信網絡的性能變得更加優(yōu)越。本文首先介紹了常用的網絡模型。隨后詳細地介紹了ALOHA協(xié)議和CSMA協(xié)議的基本工作原理,并對它們的基本性能參數進行了詳細的分析和比較。最后通過MATLAB軟件對純ALOHA協(xié)議、時隙ALOHA協(xié)議和非持續(xù)性載波監(jiān)聽(np-CSMA)協(xié)議進行仿真,得到仿真圖形,并對其進行研究。ALOHA協(xié)議是世界上最早最基本的無線數據通信協(xié)議,雖然其服務質量較高,但是只適合在較低業(yè)務量的情況下使用。CSMA協(xié)議是ALOHA協(xié)議的改進版本,它的性能遠遠優(yōu)于ALOHA協(xié)議,但是在實時業(yè)務支持方面,仍有很多不足。在做這個課題時,我一開始遇到的問題是對協(xié)議的理論算法的研究,因為只有對其基本工作原理和基本性能參數有了透徹的理解后,才能進行下面的仿真工作。我通過查閱計算機網絡的書籍和閱讀相關的碩士論文,對ALOHA協(xié)議和CSMA協(xié)議有了較為清晰的認識。我所遇到的第二個問題是如何在掌握協(xié)議的理論后對其進行仿真,即理論聯(lián)系實踐。通過對建模的研究和對MATLAB軟件的學習,我成功的對這三個協(xié)議進行了性能仿真。傳統(tǒng)的多址接入協(xié)議已經不能滿足當代通信網絡的需求,所以,還需要在多址接入協(xié)議的發(fā)展上更上一層樓。致謝四年韶光,隨著畢業(yè)設計的完成即將結束,這段時光忙碌并且充實。首先我非常感謝我的指導老師林麗老師。在整個畢業(yè)設計期間林麗老師幫助了我許多許多。福建的夏天非常炎熱,林麗老師又挺著大肚子,每次我有問題老師都幫我耐心解答,這令我十分感動。林麗老師在學術上治學嚴謹,在生活中平易近人,即是嚴師又是我們的朋友,導師做學問的態(tài)度和對生活的理解將影響著我的一生。我還要特別感謝方衛(wèi)東老師。這段時間,我一直在方老師的實驗室中學習。正是有好的學習氛圍,有一群為夢想拼搏的小伙伴,才能一直激勵我做完畢業(yè)設計。謝謝方衛(wèi)東老師。我要真誠的感謝我的大學同學。每次碰到困難時,同學們都會傾力相助。最后,我要深深的感謝我的家人。家人是我最堅實后盾,他們默默的為我奉獻著一切,無私的愛我,幫助我。在今后,我要更加努力,來報答家人對我的愛。我感恩每一個幫助和支持我的老師和同學!參考文獻基于C8051F單片機直流電動機反饋控制系統(tǒng)的設計與研究基于單片機的嵌入式Web服務器的研究MOTOROLA單片機MC68HC(8)05PV8/A內嵌EEPROM的工藝和制程方法及對良率的影響研究基于模糊控制的電阻釬焊單片機溫度控制系統(tǒng)的研制基于MCS-51系列單片機的通用控制模塊的研究基于單片機實現的供暖系統(tǒng)最佳啟停自校正(STR)調節(jié)器單片機控制的二級倒立擺系統(tǒng)的研究基于增強型51系列單片機的TCP/IP協(xié)議棧的實現基于單片機的蓄電池自動監(jiān)測系統(tǒng)基于32位嵌入式單片機系統(tǒng)的圖像采集與處理技術的研究基于單片機的作物營養(yǎng)診斷專家系統(tǒng)的研究基于單片機的交流伺服電機運動控制系統(tǒng)研究與開發(fā)基于單片機的泵管內壁硬度測試儀的研制基于單片機的自動找平控制系統(tǒng)研究基于C8051F040單片機的嵌入式系統(tǒng)開發(fā)基于單片機的液壓動力系統(tǒng)狀態(tài)監(jiān)測儀開發(fā)模糊Smith智能控制方法的研究及其單片機實現一種基于單片機的軸快流CO〈,2〉激光器的手持控制面板的研制基于雙單片機沖床數控系統(tǒng)的研究基于CYGNAL單片機的在線間歇式濁度儀的研制基于單片機的噴油泵試驗臺控制器的研制基于單片機的軟起動器的研究和設計基于單片機控制的高速快走絲電火花線切割機床短循環(huán)走絲方式研究基于單片機的機電產品控制系統(tǒng)開發(fā)基于PIC單片機的智能手機充電器基于單片機的實時內核設計及其應用研究基于單片機的遠程抄表系統(tǒng)的設計與研究基于單片機的煙氣二氧化硫濃度檢測儀的研制基于微型光譜儀的單片機系統(tǒng)單片機系統(tǒng)軟件構件開發(fā)的技術研究基于單片機的液體點滴速度自動檢測儀的研制基于單片機系統(tǒng)的多功能溫度測量儀的研制基于PIC單片機的電能采集終端的設計和應用基于單片機的光纖光柵解調儀的研制氣壓式線性摩擦焊機單片機控制系統(tǒng)的研制基于單片機的數字磁通門傳感器基于單片機的旋轉變壓器-數字轉換器的研究基于單片機的光纖Bragg光柵解調系統(tǒng)的研究單片機控制的便攜式多功能乳腺治療儀的研制基于C8051F020單片機的多生理信號檢測儀基于單片機的電機運動控制系統(tǒng)設計Pi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒園戶外活動的教研探討計劃
- 第19課 探索宇宙(教學設計)-2023-2024學年六年級科學下冊同步備課(青島版)
- 加強倉庫流程管理的實施方案計劃
- 《貴州創(chuàng)泰礦業(yè)有限公司修文縣龍場鎮(zhèn)高倉老二洞鋁鐵礦山礦產資源綠色開發(fā)利用方案(三合一)》評審意見
- (高清版)DB3715∕T 7-2022 黑水虻飼養(yǎng)技術規(guī)程
- 統(tǒng)編版小學語文二年級下冊第3課《開滿鮮花的小路》精美課件
- Unit 7 Days and Months Lesson 5 colorful seasons 教學設計 2024-2025學年冀教版(2024)七年級英語上冊
- 固態(tài)電池知識培訓課件
- 能源行業(yè):石油工程師簡歷
- 初中體育與健康 初二上 水平四 八年級(第一學期)籃球大單元教學設計+體前變向換手運球突破投籃教學設計
- 2024年蘇州衛(wèi)生職業(yè)技術學院單招職業(yè)傾向性測試題庫附答案
- 六年級語文下冊第五單元教材解析
- 湖南省2021年普通高等學校對口招生考試英語
- 《通信電源培訓》課件
- 《CT檢查技術》課件-CT圖像后處理
- 水產生物遺傳育種學課件
- 婦產科醫(yī)患溝通護理課件
- 第3課《萬物共存》課件
- 精致的八寶飯
- GB/T 43602-2023物理氣相沉積多層硬質涂層的成分、結構及性能評價
- 醫(yī)院預算執(zhí)行情況分析報告
評論
0/150
提交評論