首页| JavaScript| HTML/CSS| Matlab| PHP| Python| Java| C/C++/VC++| C#| ASP| 其他|
购买积分 购买会员 激活码充值

您现在的位置是:虫虫源码 > 其他 > 时隙 Aloha 及伪贝叶斯算法性能仿真

时隙 Aloha 及伪贝叶斯算法性能仿真

  • 资源大小:0.10M
  • 上传时间:2021-09-03
  • 下载次数:0次
  • 浏览次数:0次
  • 资源积分:1积分
  • 标      签: 一般编程问题

资 源 简 介

设一个时隙 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.40.35*0.30.250.20.150.10.0550607080901001/曲线为理论曲线:Ps=G exp(-G)and G=(m-n)a+n gr2/仿真值基木与理论曲线吻合在仿真的过程中,合理选取个参数值对能否得到埋想的曲线起了重要的作用下图分别为qr=0.02,0.05,0.08s时的曲线。可以看到,随着qr的增加,曲线向左移,导致第二个交叉点也左移,这个时候重传的延时将会减小。反之,曲线右移。当q,增加到一定程度的时候,系统只有一个稳定点了。4/840.350.30.20.1501020304050607080901c03仿真时隙Aoha系统下的伪贝叶斯算法,通过仿真结果眼正在n的估计误差较大的情况下的收敛特性及到达率小于1/e下的稳定性。仿真思路:1、伪贝叶斯算法的主要思路是对新数据包和积压节点等同对待:当有新数据包到达的时候,暂不发送,下一时刻与以前的积压节点一起以4r发送。所以修改2中的仿真模型:1)依旧是一列表到达,一列表上一时隙的积压节点2)对两列加和,统计其中为1的个数,设为d3)以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:20.2:N=100016030040050060070080g001CC08002)n=50;估计nt=180;m=1000=-1-02:N=80结果说明可以看出,当估计值与系统本身的积压数据包数有很大差别的时候,无论是大还是小,最终都可以趋于实际值,从而收敛特性得到验证。1)同时可以看到,改变的值:当λ增大的时候,收敛地更快;2)当n不变的时候,改变m的值,如果n/m变大,那么发生碰撞的几率就变大,也会导致估计的n值更快地趋向理论n值这些都是于课堂分析的理论情况相吻合的6/82、验证系统的稳定性下图分别为A=02:=10.1:=1:4=1+02:=0.3时候的情况。可以看到,当λ<时,n都逐渐变小,这时系统是稳定的;相反,λ+02:元0.3则使系统趋亍饱和。也即系统无法保证算法的稳定性,400、、A250200wAH15010050010020030040050060070080090010007/8附录:题口3的程序:(题口1、2类似)amda=1/exp(1)-0.2;n=50t=180:N=800n1=n;n1 t=n tm=1000ga=1-exp(-lamida/m)qr=min(1, 1/n1 t);n=n 1n t=nl t%asimulationu(1n)=1:u(n+1:m)=0I(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(departn1=d-1;else sum(depart)==0n1=d:end1()=n1%theorif sum(depart)==sum(depart)==0n1 t=max(amida, (amida+n t-1)elsen1_t=n _t+amida+(exp(1)-2)(-1)endendplot(1: N, N1, b")hold onplot(1: N, N1 t, r );hold on8/8
VIP VIP
0.182920s