您现在的位置:首页 >> 网络协议 >> 内容

m基于MATLAB的弹性网络性能仿真与分析,包括频谱利用率和业务阻塞率

时间:2023/5/22 23:50:29 点击:

  核心提示:12_074_m,包括程序操作录像+参考文献...

1.完整项目描述和程序获取

>面包多安全交易平台:https://mbd.pub/o/bread/ZJmWl55w

>如果链接失效,可以直接打开本站店铺搜索相关店铺:

点击店铺

>如果链接失效,程序调试报错或者项目合作可以加微信或者QQ联系。

2.部分仿真图预览



3.算法概述

   弹性网络是一种高度灵活的网络架构,可以根据网络流量和业务需求动态调整网络资源。相比传统网络,弹性网络能够更好地适应不断变化的业务需求和网络拓扑,从而提高网络的性能和可靠性。在弹性网络中,频谱利用率和业务阻塞率是两个重要的性能指标,本文将详细介绍它们的定义、计算方法以及影响因素。

4.部分源码

..................................................................

        %数据传输

        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

12_074_m

作者:我爱C编程 来源:我爱C编程
本站最新成功开发工程项目案例
相关文章
  • 没有相关文章
相关评论
发表我的评论
  • 大名:
  • 内容:
本类固顶
  • 没有
  • FPGA/MATLAB商业/科研类项目合作(www.store718.com) © 2025 版权所有 All Rights Reserved.
  • Email:1480526168@qq.com 站长QQ: 1480526168