时隙Aloha及伪贝叶斯算法性能仿真Word文档下载推荐.docx

上传人:b****6 文档编号:18239953 上传时间:2022-12-14 格式:DOCX 页数:12 大小:110.89KB
下载 相关 举报
时隙Aloha及伪贝叶斯算法性能仿真Word文档下载推荐.docx_第1页
第1页 / 共12页
时隙Aloha及伪贝叶斯算法性能仿真Word文档下载推荐.docx_第2页
第2页 / 共12页
时隙Aloha及伪贝叶斯算法性能仿真Word文档下载推荐.docx_第3页
第3页 / 共12页
时隙Aloha及伪贝叶斯算法性能仿真Word文档下载推荐.docx_第4页
第4页 / 共12页
时隙Aloha及伪贝叶斯算法性能仿真Word文档下载推荐.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

时隙Aloha及伪贝叶斯算法性能仿真Word文档下载推荐.docx

《时隙Aloha及伪贝叶斯算法性能仿真Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《时隙Aloha及伪贝叶斯算法性能仿真Word文档下载推荐.docx(12页珍藏版)》请在冰豆网上搜索。

时隙Aloha及伪贝叶斯算法性能仿真Word文档下载推荐.docx

,由此,对每个节点生成一组随机数,当此随机数小于等于p,则表示有一个数据包到达,把此随机数用1代替,反之则没有数据包到达,把此随机数用0代替,这样可以得到每个节点在某个时刻是否有数据包到达的矩阵,然后把每组矩阵相加,得到某一时刻总的到达的数据包,当某一时刻为1时,总共只有一个数据包到达,则可以成功传送,对于每个给定的λ,取多个时隙作多次重复试验,则可以得到这多次重复试验中成功传送的次数,用成功传送的次数除以总的重复试验次数,就是成功传送的概率。

对不同λ值,用上述方法,就可以得到不同λ值对应的成功传送的概率。

此外,对于给定的λ,理论成功传送的概率为

,对于时隙长度1有

下面是m=3000,取5000个时隙点,λ在[0,3]间对应的成功传送的概率:

图1不同λ下成功传送的概率

程序:

clc

clear

closeall

m=3000;

t=5000;

z=[];

lilun=[];

fork=0:

0.1:

3

p=k/m;

x=rand(m,t);

fori=1:

m

forj=1:

t

ifx(i,j)<

=p

x(i,j)=1;

else

x(i,j)=0;

end

y=(sum(x));

z=[z,sum(y==1)/t];

lilun=[lilun,k*exp(-k)];

k=0:

3;

plot(k,z,'

r*'

holdon

plot(k,lilun)

2、绘制到达率和离开率随n的分布情况,和理论值进行对照。

为了方便叙述,作如下假设:

qr:

等待重传的节点在每一时刻内重传数据包的概率;

m:

系统内总的节点数;

n:

每个时隙开始时等待重传的节点数;

qa:

每个发送节点有数据包到达的概率。

实验思路:

(1)为了简化程序,使用matlab自带的二项分布生成函数binornd来模拟数据包的到达和离开。

由于题目说明使用延时的下界,则无缓冲,每个节点最多容纳一个数据包,多则丢弃。

实验中要用到两个矩阵,一个是u,用来模拟n个等待重传的数据包以概率qr重传,所以这个矩阵的前n项可以用binornd(1,qr,1,n)来表示,即u(1:

n)=binornd(1,qr,1,n),后面m-n项为0,即u(n+1:

m)=0,这就可以模拟有n个等待重传的节点以概率qr重新发送。

同理,用矩阵l来模拟m-n个空闲节点新数据包到达的情况,容易得到l(1:

n)=0和l(n+1:

m)=binornd(1,qa,1,m-n),D(n)=sum(l)得到的则是新到达数据包的个数。

(2)将矩阵u和l相加得到矩阵y,则y表示的是每个节点是否有数据包发送,如果y只有一项为1,即sum(y)==1,则表示有数据发送成功,此时可以用Ns来计数发送成功的次数,否则则是空闲或者碰撞。

(3)对每一个等待重传的节点数n,我们做M次试验,每次试验,对新到达的数据包求和,即:

D(n)=D(n)+sum(l),对发送成功的次数记数,即:

Ns(n)=Ns(n)+1。

最后则有一个时隙内新到达的数据包的平均值为D=D/M,一个时隙内平均传输数据包的个数为Ps=Ns/M。

此外,为了使统计值与理论值比较接近,M的取值要比较大。

(4)理论值:

D=(m-n)qa,Ps=G(n)exp(-G(n)),其中G(n)=(m-n)qa+n*qr=D+n*qr。

(5)本实验过程中qa和qr的选择对实验的效果影响较大,为了使传送成功的概率最大,总的到达强度取1/e,通过实验,qr在[0.01,0.1]可以看到比较好的效果,在这个区别里,改变qr,可以较清楚地看到qr的改变对到达率和离开率的影响。

下面是qr=0.06、qr=0.08和qr=0.04的实验结果:

图2qr=0.06时不同等待重传节点数n下的到达率和离开率

图3qr=0.08时不同等待重传节点数n下的到达率和离开率

图4qr=0.04时不同等待重传节点数n下的到达率和离开率

图中直线为到达率,曲线为离开率,星形为实验值,连续线为理论值,首先可以看到实验值和理论值的吻合程度很好,这需要重复实验的次数M较大;

第二,我们可以看到重传概率qr增加,曲线会向左压缩,导致到达率和离开率的第二个交叉点向左移,这样很小的n值都可能使系统进入不稳定区域,到达不稳定平衡点的可能性增加;

第三,如果qr减小,曲线向右扩张,从而导致第二个交叉点向右移,扩张到一定程度后,实际系统将仅有一个稳定点,如图4所示。

closeall

lamida=1/exp

(1);

m=100;

qa=lamida/m;

qr=0.04;

Ns=zeros(1,m+1);

D=zeros(1,m+1);

D1=zeros(1,m+1);

Ps1=zeros(1,m+1);

M=20000;

forn=0:

fori=1:

M

u(1:

n)=binornd(1,qr,1,n);

u(n+1:

m)=0;

%n¸

ö

µ

È

´

ý

Ö

Ø

«

Ä

½

Ú

ã

l(1:

n)=0;

l(n+1:

m)=binornd(1,qa,1,m-n);

%m-n¸

¿

Õ

Ï

Ð

D(n+1)=D(n+1)+sum(l);

É

Ó

¾

ó

Ã

»

î

£

¬

×

÷

û

y=u+l;

ù

Ê

Ç

·

ñ

Ý

°

ü

±

í

ifsum(y)==1%´

Ë

Í

³

¹

¦

Ns(n+1)=Ns(n+1)+1;

Ns(n+1)=Ns(n+1);

%¿

ò

ß

Å

²

D1(n+1)=(m-n)*qa;

G(n+1)=D1(n+1)+n*qr;

Ps1(n+1)=G(n+1)*exp(-G(n+1));

Ps=Ns/M;

D=D/M;

t=0:

m;

plot(t,Ps,'

holdon

plot(t,Ps1,'

r'

plot(t,D,'

*'

plot(t,D1)

由于伪贝叶斯算法中,当节点有新数据包到达时,不是立刻发送,而是仿照有数据包等待重传的节点一样,先对该数据包进行缓存,在下一时隙也是以概率qr进行传输,可以将实验过程2中的思路稍做修改即可:

(1)对于矩阵u,如果等待重传的节点数为n,则将矩阵u的前n项置为1,后m-n项置为0,而对于矩阵l则和实验过程2一样,前n项置为0,后m-n项用二项分布生成函数来模拟,到达的概率为qa。

(2)将u和l相加得到矩阵y,则表示的是下一时隙每个节点是否有数据发送的矩阵,y中1的个数就是下一时隙等待重传的节点的个数total,这些等待重传的节点将分别以概率qr发送,此时可以用二项分布生成函数来模拟其发送,即leave=binornd(1,qr,1,total),此时,如果leave矩阵只有一个为1,其他都为0,则可以成功发送,从而将下一时隙等待重传的节点数减1。

(3)根据leave矩阵,可以得到等待重传的节点发送情况,只有一个1则发送成功,全是0则空闲,多于一个1则是碰撞,从而可以根据伪贝叶斯算法做下一次等待重传节点数的预测,其表达式为:

下面是实验结果:

a)验证在n的估计误差大情况下的收敛特性

i.初始等待重传的节点数n=50,初始估计的等待重传的节点数n_t=200,m=2000,

,时隙数为N=2000。

图5初始估计值比实际值大的收敛情况

ii.初始等待重传的节点数n=350,初始估计的等待重传的节点数n_t=200,m=2000,

图6初始估计值比实际值小的收敛情况

iii.初始等待重传的节点数n=50,初始估计的等待重传的节点数n_t=200,m=2000,

图7到达强度变大,初始估计值比实际值小的收敛情况

从图中可以看到,不管估计的初始等待重传的节点数比实际值大还是小,估计值都将收敛于实际值,当估计值远大于实际值时,重传的概率qr较小,故系统空闲的概率较大,成功传输的概率较大,故估计值会迅速减小,从而趋于实际值;

当估计值比实际值小时,重传的概率qr较大,故系统碰撞的概率较大,故估计值会迅速增大,从而趋于实际值。

此外,对比图5和图7,可以看出,当到达强度增大时,收敛速度变慢,分析原因为,如果估计值和实际值相等,则qr=1/n,G(n)=1,达到最大成功传输的概率1/e,此时D(n)=λ-1/e,当λ<

1/e时,D(n)<

0,而且λ越小,D(n)负的越大,故收敛越快。

b)稳定性验证

初始等待重传的节点数n=50,初始估计的等待重传的节点数n_t=200,m=2000,时隙数为N=2000,图8是

时的稳定性对比图。

从图8中可以看到,当

时,系统的稳定性就无法保证,只有

时,伪贝叶斯算法才是稳定的。

图8稳定性验证

lamida=1/exp

(1)*0.6;

n=50;

n_t=200;

N=2000;

n1=n;

n1_t=n_t;

m=2000;

qa=lamida/m;

N

qr=min(1,1/n1_t);

n=n1;

n_t=n1_t;

%n_tº

n1_t·

ð

j+1Ê

Ô

¤

â

Â

æ

u(1:

n)=1;

total=length(find(y==1));

leave=binornd(1,qr,1,total);

¸

Ò

qr´

ifsum(leave)==1%´

n1=total-1;

n1=total;

N1(j)=n1;

¼

ifsum(leave)==1||sum(leave)==0

n1_t=max(lamida,(lamida+n_t-1));

n1_t=n_t+lamida+(exp

(1)-2)^(-1);

N1_t(j)=n1_t;

plot(1:

N,N1,'

b'

);

holdon;

N,N1_t,'

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 城乡园林规划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1