1.算法仿真效果
matlab2022a仿真结果如下:
2.算法涉及理论知识概要
弹性网络是一种高度灵活的网络架构,可以根据网络流量和业务需求动态调整网络资源。相比传统网络,弹性网络能够更好地适应不断变化的业务需求和网络拓扑,从而提高网络的性能和可靠性。在弹性网络中,频谱利用率和业务阻塞率是两个重要的性能指标,本文将详细介绍它们的定义、计算方法以及影响因素。
一、频谱利用率
频谱利用率是指在一定时间内,网络所使用的频谱资源占总可用频谱资源的比例。在无线通信系统中,频谱资源是有限的,因此频谱利用率的提高可以提高网络的容量和效率,减少网络拥塞和业务阻塞。
其中,已使用的频谱资源指在一定时间内,网络中所有的信号所占用的频谱资源,总可用的频谱资源是指该频段内所有可用于通信的频率资源。通常情况下,频谱利用率的单位是百分比。在实际应用中,频谱利用率的计算可以根据不同的网络类型和技术进行调整。
对于移动通信网络,频谱利用率是一个非常重要的性能指标,它直接影响到网络的容量和质量。在移动通信网络中,频谱资源是非常有限的,因此需要合理规划和管理频谱资源,以提高频谱利用率和网络的容量。通常情况下,移动通信网络中的频谱资源是按照频段进行划分的,每个频段内包含多个信道,每个信道可以支持一定的数据传输速率。为了提高频谱利用率,移动通信网络通常采取以下措施:
频谱资源的动态分配和共享:在移动通信网络中,不同的用户和业务需要的频谱资源是不同的,因此可以通过动态分配和共享频谱资源来提高频谱利用率。例如,移动通信网络可以根据用户的需求和当前网络负载情况,动态地分配和共享频谱资源,以避免频谱资源的浪费和闲置。
频谱资源的重复利用:在移动通信网络中,频谱资源的重复利用可以提高频谱利用率。例如,移动通信网络可以通过使用跳频和扩频等技术,将同一频段内的频谱资源分配给不同的用户和业务,从而提高频谱资源的利用效率。
频谱资源的优化配置:移动通信网络可以通过合理的频谱资源配置和优化,提高频谱利用率。例如,可以采用多小区共享频率、小区间频率重叠等技术,以减少频率资源的浪费和提高频率资源的利用效率。
二、业务阻塞率
业务阻塞率是指在一定时间内,由于网络资源不足而无法满足用户请求的比例。在网络中,业务阻塞率是一个非常重要的性能指标,它直接影响到用户体验和网络的可靠性。当网络负载过高或网络资源不足时,业务阻塞率会增加,导致用户无法正常使用网络服务。因此,业务阻塞率的降低是提高网络性能和用户体验的重要手段。
其中,未能满足用户请求的业务量指在一定时间内,由于网络资源不足而无法满足用户请求的业务量,用户总请求业务量指在同一时间内,所有用户的请求业务量总和。业务阻塞率通常以百分比表示,其值越小说明网络性能越好。
业务阻塞率的影响因素非常多,包括网络拓扑结构、网络资源配置、网络负载等多个方面。下面将分别介绍这些因素对业务阻塞率的影响。
3.MATLAB核心程序
%数据传输 K_path = []; for kr=1:K_Nslot KL=size(Pathset{kr}); for kc=1:KL(2) K_path(kr,kc) = Pathset{kr}(kc); end end Path_cL = size(K_path); for kr=1:Path_cL(1) for kr2=1:Path_cL(2)-1 if K_path(kr,kr2+1)~=0 Path_cL0 = ONET_idx(K_path(kr,kr2),K_path(kr,kr2+1)); Arrreq_infor(kr,Path_cL0+8) = 1; end end end for ks=1:K_Nslot Req_L = size(Req_infor); for r1=1:Req_L(1) if Arrreq_infor(ks,3) >= Req_infor(r1,5)&&Req_infor(r1,1)~=0 for r2=10:LinksN+9 if Req_infor(r1,r2)==1 for r3=Req_infor(r1,9):Req_infor(r1,9)+Req_infor(r1,8)-1 link_infor(r2-9,r3) = 0; end end end for r2=1:Req_L(2) Req_infor(r1,r2)=0; end end end %确定到达请求的请求索引 for r1=1:Req_L(1) Ej=0; if Req_infor(r1,1)==0 Req_infor(r1,:)= [Req_idx,Arrreq_infor(ks,:)]; Ej = 1; Arrreq_idxx = r1; break end if r1==Req_L(1)&&Ej==0 Req_infor(r1+1,:) = [Req_idx,Arrreq_infor(ks,:)]; Arrreq_idxx = r1+1; end end Path_lens2 = Req_infor(Arrreq_idxx,7); Bws = Req_infor(Arrreq_idxx,6); islong=0; if Path_lens2<=Max_dist Slots_number=Bws/12.5; Req_infor(Arrreq_idxx,8)=ceil(Slots_number); else Num_bad=Num_bad+1; for Req_infor_row=1:LinksN+9 Req_infor(Arrreq_idxx,Req_infor_row)=0; end islong=1; break end Linkij2 = []; %这个模块不加入重构,那么假设由于频谱杂乱导致有效频率数量为: F = (1/Min_bw-1/Max_bw)*[1+sum(Req_infor(:,8))]/Max_Nslot; Max_Nslot2 = Max_Nslot*(1-F); if islong==0 Linkij=1; for r2=10:LinksN+9 if Req_infor(Arrreq_idxx,r2)==1 Linkij2(Linkij,:) = link_infor(r2-9,:); Linkij = Linkij + 1; end end Link_cL2=size(Linkij2); %可用的频谱时隙 SC = 0; for ijkl=1:Max_Nslot sum_linkr=0; for Linkij=1:Link_cL2(1) if ijkl+Req_infor(Arrreq_idxx,8)+2*CP_Nslot<=Max_Nslot2 SC = SC+1; for ip=ijkl:ijkl+Req_infor(Arrreq_idxx,8)+2*CP_Nslot sum_linkr = sum_linkr + Linkij2(Linkij,ip); end else sum_linkr=1; break end end if sum_linkr==0 for Linkij=1:Link_cL2(1) for ip=1:Req_infor(Arrreq_idxx,8) link_infor(Linkij2(Linkij,Max_Nslot+1),ijkl+ip+CP_Nslot-1)=1; end Req_infor(Arrreq_idxx,9)=ijkl+CP_Nslot; end break end end SC=SC/Link_cL2(1); %更新成功的请求号和被阻止的请求 if sum_linkr==0 Num_good=Num_good+1;%利用的数量 break else for Req_infor_column=1:LinksN+9 Req_infor(Arrreq_idxx,Req_infor_column)=0; end if ks==K_Nslot Num_bad=Num_bad+1;%阻塞的数量 end end end end Req_idx=Req_idx+1; end X1(jk,mk)= Lamda(jk,1)*Timehold; Y1(jk,mk)= 100*Num_bad/Max_Nreq/MTKL;%业务阻塞率 Y2(jk,mk)= 100*SC/Max_Nslot; end end