您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 北邮-通信网实验报告
北京邮电大学实验报告通信网理论基础实验报告学院:信息与通信工程学院班级:2013211124学号:姓名:实验一ErlangB公式计算器一实验内容编写ErlangB公式的图形界面计算器,实现给定任意两个变量求解第三个变量的功能:1)给定到达的呼叫量a和中继线的数目s,求解系统的时间阻塞率B;2)给定系统的时间阻塞率的要求B和到达的呼叫量a,求解中继线的数目s,以实现网络规划;3)给定系统的时间阻塞率要求B以及中继线的数目s,判断该系统能支持的最大的呼叫量a。二实验描述1实验思路使用MATLABGUITOOL设计图形界面,通过单选按钮确定计算的变量,同时通过可编辑文本框输入其他两个已知变量的值,对于不同的变量,通过调用相应的函数进行求解并显示最终的结果。2程序界面3流程图4主要的函数符号规定如下:b(Blocking):阻塞率;a(BHT):到达呼叫量;s(Lines):中继线数量。1)已知到达呼叫量a及中继线数量s求阻塞率b使用迭代算法提高程序效率𝐵(𝑠,𝑎)=𝑎∙𝐵(𝑠−1,𝑎)𝑠+𝑎∙𝐵(𝑠−1,𝑎)代码如下:functionb=ErlangB_b(a,s)b=1;fori=1:sb=a*b/(i+a*b);endend2)已知到达呼叫量a及阻塞率b求中继线数量s考虑到s为正整数,因此采用数值逼近的方法。采用循环的方式,在每次循环中增加s的值,同时调用𝐵(𝑠,𝑎)函数计算阻塞率并与已知阻塞率比较,当本次误差小于上次误差时,结束循环,得到s值。代码如下:functions=ErlangB_s(a,b)s=1;Bs=ErlangB_b(a,s);err=abs(b-Bs);err_s=err;while(err_s=err)err=err_s;s=s+1;Bs=ErlangB_b(a,s);err_s=abs(b-Bs);ends=s-1;end3)已知阻塞率b及中继线数量s求到达呼叫量a考虑到a为有理数,因此采用变步长逼近的方法。采用循环的方式,在每次循环中增加a的值(步长为s/2),同时调用𝐵(𝑠,𝑎)函数计算阻塞率并与已知阻塞率比较,当本次误差小于预设阈值时,结束循环,得到a值。代码如下:functiona=ErlangB_a(b,s)a=0;step=s/2;b_temp=ErlangB_b(a,s);b_temps=ErlangB_b(a+step,s);while(abs(b-b_temp)0.000001)if((b-b_temp)*(b-b_temps)0)step=step/2;elsea=a+step;endb_temp=ErlangB_b(a,s);b_temps=ErlangB_b(a+step,s);endend三结果分析1)已知到达呼叫量a及中继线数量s求阻塞率ba100100100100100100100s125102050100b0.99010.98020.95050.90110.80240.50930.0757a5102050100s1010101010b0.01840.21460.53800.80470.90112)已知到达呼叫量a及阻塞率b求中继线数量sa125102050100b0.50.50.50.50.50.50.5s1236112651a1010101010b0.10.20.50.81.0s13106213)已知阻塞率b及中继线数量s求到达呼叫量ab0.50.50.50.50.50.50.5s125102050100a12.73208.436918.272638.159298.0719198.0377b0.10.20.50.60.8s1010101010a7.51069.685018.272623.479848.78634)分析将程序结果与在线ErlangB公式计算器结果进行比较,结果基本一致,说明程序的正确性。实验二M/M/1排队系统一实验内容实现M/M/1单窗口无限排队系统的系统仿真,利用事件调度法实现离散事件系统仿真,并统计平均队列长度以及平均等待时间等值,以与理论分析结果进行对比。二实验原理1顾客到达模式设到达过程是一个参数为𝜆的Poisson过程,则长度为𝑡的时间内到达𝑘个呼叫的概率𝑃𝑘(𝑡)服从Poisson分布,即𝑃𝑘(𝑡)=(𝜆𝑡)𝑘𝑘!∙𝑒𝜆𝑡2服务模式设每个呼叫的持续时间为𝑡,则服从参数为𝜇𝑡的负指数分布,即𝑃(𝑋𝑡)=1−𝑒−𝜇𝑡,𝑡≥03服务规则服务规则为:FIFO4理论分析设系统到达率为𝜆,服务率为𝜇,则理论分析如下:理论平均等待时间:E[w]=1𝜇−𝜆理论平均排队时间:E[q]=λ𝜇∙(𝜇−𝜆)理论系统中平均顾客数:E[N]=λ𝜇−𝜆理论系统中平均等待队长:E[Nq]=λ∙λ𝜇∙(𝜇−𝜆)三实验描述1实验思路仿真时序图示例时序关系图如下:各参数含义如下:bi:第i个事件(到达或离开)发生的时间ti:第i个到达事件发生的时间ci:第i个离开事件发生的时间Ai:第(i-1)个顾客与第i个顾客到达时间间隔Di:第i个顾客排队等待时间间隔Si:第i个顾客服务时间长度仿真设计算法1)利用负指数分布与泊松过程的关系,产生符合泊松过程的顾客流;2)分别构建一个顾客到达队列和一个顾客等待队列。顾客到达后,首先进入到达的队尾排队,并检测是否有顾客等待以及是否有服务台空闲,如果无人等待并且有服务员空闲则进入服务状态,否则顾客将进入等待队列的队尾等待;3)产生符合负指数分布的随机变量作为每个顾客的服务时间;4)当服务员结束一次服务后,就取出等待队列中位于对头的顾客进入服务状态,如果迭代队列为空则服务台空闲等待下一位顾客到来;5)在系统到达稳态时,计算系统的平均等待时间以及平均等待队长等数据。2流程图3主要的函数1)产生符合泊松过程的顾客流Interval_Arrive=-log(rand(1,SimTotal))/Lambda;%ArrivalTimeInterval2)产生符合负指数分布的服务时间Interval_Serve=-log(rand(1,SimTotal))/Mu;%ServiceTime3)计算顾客到达时间%******ArriveTimeforeachCustomer*****t_Arrive(1)=Interval_Arrive(1);ArriveNum(1)=1;fori=2:SimTotalt_Arrive(i)=t_Arrive(i-1)+Interval_Arrive(i);ArriveNum(i)=i;end4)计算顾客离开时间%%LeaveTimeforeachCustomert_Leave(1)=t_Arrive(1)+Interval_Serve(1);LeaveNum(1)=1;fori=2:SimTotalift_Leave(i-1)t_Arrive(i)%Newcustomerarrivesaftertheformerhasbeenserved.t_Leave(i)=t_Arrive(i)+Interval_Serve(i);else%Newcustomerarriveswhiletheformerisbeingserved.t_Leave(i)=t_Leave(i-1)+Interval_Serve(i);endLeaveNum(i)=i;end5)计算平均等待时间t_Wait=t_Leave-t_Arrive;%WaitingTimeforeachCustomert_Wait_avg=mean(t_Wait);%AverageWaitingTime6)计算平均排队时间t_Queue=t_Wait-Interval_Serve;%QueueingTimeforeachCustomert_Queue_avg=mean(t_Queue);%AverageQueueingTime7)计算平均顾客数%%TimelineTimepoint=[t_Arrive,t_Leave];%RecordArrivalTime&LeavingTimeforeachCustomer.Timepoint=sort(Timepoint);%SortallTimepoints.ArriveFlag=zeros(size(Timepoint));%FlagofArrivalCusNum=zeros(size(Timepoint));temp=2;CusNum(1)=1;fori=2:length(Timepoint)if(temp=length(t_Arrive))&&(Timepoint(i)==t_Arrive(temp))%ifthetimepointisaboutArrivalCusNum(i)=CusNum(i-1)+1;%addNumberofCustomerstemp=temp+1;ArriveFlag(i)=1;else%ifthetimepointisaboutLeavingCusNum(i)=CusNum(i-1)-1;%reduceNumberofCustomersendend%%AverageNumberofCustomersTime_interval=zeros(size(Timepoint));Time_interval(1)=t_Arrive(1);fori=2:length(Timepoint)Time_interval(i)=Timepoint(i)-Timepoint(i-1);%TimepointIntervalendCusNum_fromStart=[0CusNum];%AverageNumberofCustomersCusNum_avg=sum(CusNum_fromStart.*[Time_interval0])/Timepoint(end);8)计算平均队长%%LengthofQueue(ExcludingCustomerbeingServiced)QueLength=zeros(size(CusNum));fori=1:length(CusNum)ifCusNum(i)=2QueLength(i)=CusNum(i)-1;%ExcludingCustomerbeingServicedelseQueLength(i)=0;endend%AverageWaitingLengthofQueueQueLength_avg=sum([0QueLength].*[Time_interval0])/Timepoint(end);9)仿真图:各顾客到达时间与离去时间subplot(2,2,1);stairs([0ArriveNum],[0t_Arrive],'b');holdon;stairs([0LeaveNum],[0t_Leave],'r');legend('ArriveTime','LeaveTime');title('ArriveTimeandLeaveTimeforeachcustomer');xlabel('CustomerID');ylabel('Arrive/LeaveTime(Accumulated)');10)仿真图:系统等待队长分布subplot(2,2,2);stairs(Timepoint,CusNum,'b')axis([0Timepoint(end)0max(CusNum)])title('DistributionofSystemCustomerNumber');xlabel('Time(Accumulated)');ylabel('CustomerNumber');11)仿真图:各顾客在系统中的排队时间和等待时间subplot(2,2,3);stairs([0ArriveNum],[0t_Queue],'b');holdon;stairs([0LeaveNum],[0t_Wait],'r');holdoff;axis([0max(max(ArriveNum),m
本文标题:北邮-通信网实验报告
链接地址:https://www.777doc.com/doc-1347236 .html