基于matlab的拥塞概率的仿真Word格式.doc
- 文档编号:15407704
- 上传时间:2022-10-30
- 格式:DOC
- 页数:6
- 大小:324.50KB
基于matlab的拥塞概率的仿真Word格式.doc
《基于matlab的拥塞概率的仿真Word格式.doc》由会员分享,可在线阅读,更多相关《基于matlab的拥塞概率的仿真Word格式.doc(6页珍藏版)》请在冰豆网上搜索。
Service
User
C
图1:
M/M/C/∞排队模型
基于ErlangB的模型根据丢失呼叫清除设计,当用户发起呼叫时发现任何一个信道是空闲的,既可获得服务,否则被拥塞。
Markov链的性质可以用来导出Erlang公式。
考虑一个离散时间随机过程,从正整数集中取值,这样该过程状态是。
如果该过程从当前状态i转移到下一状态i+1,并只依赖状态i而与前面状态无关,则该过程称为Markov链。
利用离散时间Markov链,我们可以在持定业务条件下,在分离观察点观察业务情况。
一个实际中继系统的运作在时间上是连续的,但可以在小时间间隔内分析,是一个很小的正数。
如是时间内系统中的呼叫(占用信道)数目,可以表示为:
其中,N是一个离散随机过程,表示在离散时间上被占用信道的数量。
转移概率为:
让,可得:
Markov链的状态转移图由图2表示。
图2:
ErlangB中用Markov链状态图表示的转移概率
图2中具有C个信道的中继系统可表示为一个Markov链。
在该Markov链状态图中,假定系统中0个信道被占用,即无用户。
在一个小的时间间隔后,系统继续保持0信道占用的概率为。
从占用0信道变为占用1信道的概率为。
另一方面,从占用一个信道变成占用0信道的概率为。
类似的,系统保持为占用1信道状态的概率为。
所有从一个状态转出的概率和为1。
在一段长时间后,系统到达平稳状态,具有n信道占用。
在平稳状态,占用n信道的概率与占用n-1信道的概率相等,并且是转移概率的倍数。
这样在平稳状态条件下,
,
对不同的n值可得:
,
利用不同n值对上面的方程式求值:
且
可得C中继信道拥塞率为:
总负荷。
代入方程式拥塞率为:
即为ErlangB公式。
二、M/M/C模型的仿真
此仿真是在MATLAB(R2009b)的平台下进行的。
利用MATLAB仿真呼叫接入信道过程,得出在不同呼叫速率下的拥塞率,然后用画出仿真得到的拥塞率数据和ErlangB公式理论拥塞率曲线进行对比。
仿真步骤如下:
1)业务请求是Poisson分布,即到达间隔时间是指数分布。
程序设计产生以为均值的指数分布的随机数,作为一个服务的顾客到达间隔。
2)顾客服务时间是指数分布。
程序设计产生以为均值的指数分布的随机数,作为一个顾客的服务时间。
3)以0为起点,由顾客的到达间隔可以求出到达时刻arrive,从而进一步求出顾客离开时刻leave。
4)检查是否有空闲信道,若有则接入并占用信道,若无则拥塞
5)统计总共被拥塞掉的顾客数,并除以到达的顾客数,即为拥塞率。
6)增大呼叫到达率,转至步骤1)
三、仿真结果
仿真参数:
信道数为20,平均服务时间为20分钟,用户数为2000,总共进行了1000次仿真,呼叫到达率lamda从0开始每次增加0.01。
拥塞概率曲线和理论拥塞概率曲线如下图所示:
图3:
呼叫过程拥塞概率曲线
四、结果分析
从图3中可以看出,仿真曲线和理论曲线整体趋势基本吻合。
所以所建立的模型是正确的。
同时随着用户到达率的增加,而用户的服务率不变和信道的总数不变的情况下,呼叫的拥塞率逐渐增加,并且逐渐趋于平稳。
附程序
%M/M/C模型的呼叫过程阻塞概率的仿真
clc
N=2000;
%用户数
H=30;
%平均服务时间为30分,平均服务时间
lamda=0;
%泊松到达过程的参数,到达速率
mu=1/H;
%指数分布的参数
C=30;
%信道数
fori=1:
1:
C%channel记录接入的呼叫的离开时间
leave(i)=0;
end
%%%%%%%%%%%%%%%以话务量为变量进行呼叫过程阻塞概率的仿真%%%%%%%%%%%%%%%%%%%%%%
LOSS
(1)=0;
fork=1:
N;
lamda=lamda+0.01;
fori=1:
1:
C
leave(i)=0;
end
n=0;
%被阻塞的用户数
%产生服从Poisson到达过程的用户到达时间
U1=rand(N,1);
%产生N个均匀分布的随机数
temp=0;
fori=1:
1:
N
arrive(i)=temp-log(U1(i))/lamda;
temp=arrive(i);
%产生服从指数分布的用户服务时间
U2=rand(N,1);
fori=1:
service(i)=-log(U2(i))/mu;
%产生用户离开时间
fori=1:
depart(i)=arrive(i)+service(i);
%计算阻塞概率
N
flag=0;
%标志信道是否被阻塞
forj=1:
ifleave(j)<
arrive(i)%若果第i个用户到达的时间小于某一个用户在j个信道中离开的时间,则说明该信道空闲,可接入第i个用户。
leave(j)=depart(i);
%则此时第j个信道中用户的离开时间记为depart(i)。
flag=1;
break;
end
end
ifflag==0%阻塞
n=n+1;
LOSS(k)=n/N;
lamda_temp=0.01:
0.01:
N*0.01;
A=lamda_temp*H;
%呼叫强度*保持时间=业务量
plot(A,LOSS,'
g'
);
%绘制呼损率的图形
holdon;
%计算阻塞概率的理论值
forj=1:
length(A)
sum=0.0;
fori=1:
temp=(A(j)^i)/factorial(i);
sum=sum+temp;
Pr(j)=(A(j)^C)/(factorial(C)*sum);
%呼损率公式
plot(A,Pr,'
r'
title('
呼叫过程拥塞概率的仿真结果'
)
xlabel('
话务量(Elangs)'
ylabel('
拥塞概率'
legend('
仿真曲线'
'
理论曲线'
gridon
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 matlab 拥塞 概率 仿真