資源簡介
設一個時隙 Aloha 系統的時隙長度為 1,所有節點的數據包均等長且等于時 隙長度。網絡中的節點數為 m,各節點數據包以泊松過程到達。 1 假定每個節點的數據包到達強度均為 λ /m,在不同的 λ 下,仿真時隙 Aloha 數據包傳送的成功概率,繪制呼入強度和成功概率的曲線,和理論結 果進行對照。 仿真思路: 1) 生成一個二項分布列來模擬數據包的到達過程 2) 因為數據包以泊松過程到達,所以二項分布的 P 定為(1- m e λ ? ) 3) 對生成的數列求和,只有當其和恰等于 1 即有且僅有一個數據包到達 時,才可以成功發送,這時成功個數計數+1 4)
2.選取合理的引,,qa,m,采用延時的下界,仿真時隙Aoha系統數據 傳輸過程,統計在不冋同η下,到達率及離開率,繪制它們隨n的分布情況, 和理論值進行對照 qn:等待重傳的節點在每一時隙內重傳數據包的概率 qa:每個發送節點有新數據包到達的概率 m:系統內總的節點數 n:每個時隙開始時等待重傳的節點數 仿真思路: 1)用二項分布模擬數據包的到達及發送過程 2)生成兩個數列:一個表示等待重傳的節點以q,重傳的情況;一個表示 新到達的數據包情況 因為題日說明采用延時的下界,即不緩沖,每個節點最多容納一個數 據包,有包則扔。所以第一個數列前n項令為1,后一個前n項令為 0,之后兩個數列可以進行簡單加和 3)發送成功率: 對兩個數列相加之后求和,如果sum等于1,說明此時隙內到達和發 送的總數為1,只有在這種情況下發送才有可能成功,計數加1 到達率: 在每N次實驗中,對“表示到達的數列”求和,統計 4)對n做循環以表示到達率和離開率隨n的變化情況;每個n下進行N 次實驗,數理統計 3/8 仿真結果 0.4 0.35* 0.3 0.25 0.2 0.15 0.1 0.05 50 6070 80 90100 1/曲線為理論曲線: Ps=G exp(-G)and G=(m-n)a+n gr 2/仿真值基木與理論曲線吻合 在仿真的過程中,合理選取個參數值對能否得到埋想的曲線起了重要的作 用 下圖分別為qr=0.02,0.05,0.08s時的曲線。 可以看到,隨著qr的增加,曲線向左移,導致第二個交叉點也左移,這個 時候重傳的延時將會減小。反之,曲線右移。當q,增加到一定程度的時候, 系統只有一個穩定點了。 4/8 4 0.35 0.3 0.2 0.15 01020304050607080901c0 3仿真時隙Aoha系統下的偽貝葉斯算法,通過仿真結果眼正在n的估計誤 差較大的情況下的收斂特性及到達率小于1/e下的穩定性。 仿真思路: 1、偽貝葉斯算法的主要思路是對新數據包和積壓節點等同對待:當有新數 據包到達的時候,暫不發送,下一時刻與以前的積壓節點一起以4r發送。 所以修改2中的仿真模型: 1)依舊是一列表到達,一列表上一時隙的積壓節點 2)對兩列加和,統計其中為1的個數,設為d 3)以qr為概率,d為長度,生成又一個二項分布數列 depart,表示發送 的情況 4)對depa求和,如果 depart的和為一,說明恰發送成功,n(k+1)=d-1, 否則n(k+1)=n(k) 5)循環,進行數理統計 2、仿真收斂特性和穩定特性 哩論值:根據給岀的偽貝葉斯算法的具體步驟,由給出的n(k),不斷模擬生 成n(k+1) 5/8 仿真值:由仿真模型及給出的n(k),生成n(k+1) 觀察兩種方式得到曲線的走向 3、給出不同的值,觀察n(k+1)隨時間變化的情況 判斷標準 如果要保持系統的穩定,至少n(k+1)應該保持在一個恒定的狀態,或者逐 漸趨于零。如果n(k+1)不斷增加,則系統最終將趨于飽和,無法再接納新 的數據包,此時系統不穩定。 仿真結果: 1、驗證在n的佔計誤差較大的情況下的收斂特性: 1)n=170;估計nt=20;m=100:2 0.2:N=1000 160 30040050060070080g001CC0 800 2)n=50;估計nt=180;m=1000=-1-02:N=80 結果說明 可以看出,當估計值與系統本身的積壓數據包數有很大差別的時候,無論是 大還是小,最終都可以趨于實際值,從而收斂特性得到驗證。 1)同時可以看到,改變的值:當λ增大的時候,收斂地更快; 2)當n不變的時候,改變m的值,如果n/m變大,那么發生碰撞的幾率 就變大,也會導致估計的n值更快地趨向理論n值 這些都是于課堂分析的理論情況相吻合的 6/8 2、驗證系統的穩定性 下圖分別為A=02:=10.1:=1:4=1+02:= 0.3 時候的情況。 可以看到,當λ<時,n都逐漸變小,這時系統是穩定的;相反,λ +02:元 0.3則使系統趨亍飽和。也即系統無法保證算法的穩定性, 400 、、A 250 200 wAH 150 100 50 01002003004005006007008009001000 7/8 附錄:題口3的程序:(題口1、2類似) amda=1/exp(1)-0.2; n=50 t=180: N=800 n1=n; n1 t=n t m=1000 ga=1-exp(-lamida/m) qr=min(1, 1/n1 t); n=n 1 n t=nl t %asimulation u(1n)=1:u(n+1:m)=0 I(1: n=0; I(n+1: m)=binornd (1, qa, m-n, 1); d=length(find(y-=O) depart=binornd(1, qr, d, 1) if sum(depart n1=d-1; else sum(depart)==0 n1=d: end 1()=n1 %theor if sum(depart)==sum(depart)==0 n1 t=max(amida, (amida+n t-1) else n1_t=n _t+amida+(exp(1)-2)(-1) end end plot(1: N, N1, b") hold on plot(1: N, N1 t, r ); hold on 8/8
代碼片段和文件信息
- 上一篇:基于16QAM的調制和解調
- 下一篇:微信小程序Demo:幫幫兼職
評論
共有 條評論