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

m基于多属性决策判决算法的异构网络垂直切换matlab性能仿真,对比网络吞吐量,网络负载,平均切换次

时间:2023/5/1 21:33:43 点击:

  核心提示:12_051_m,,包括程序操作录像...

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

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

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

点击店铺

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

2.部分仿真图预览




3.算法概述

   异构网络垂直切换是指在不同的移动通信网络之间进行快速自适应切换的技术。在异构网络中,不同类型的网络可能具有不同的带宽、延迟、信号强度等性能指标,因此在不同的应用场景下,需要采用不同的网络来实现最佳的通信效果。异构网络垂直切换技术可以通过多属性决策判决算法来实现。多属性决策判决算法是一种能够将多个属性的权重考虑进来,从而得出一个最优的决策结果的决策分析方法。在异构网络垂直切换中,多属性决策判决算法可以用来确定何时进行网络切换以及切换到哪个网络。

4.部分源码

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

for iii = 1:length(Sp_ms)

    for iii2 = 1:STime%各种速度仿真STime次,计算平均

        [iii,iii2]

        t            = 0;

        %数组计数器

        Ind          = 0;

        Ind2         = 0;

        tmp1         = 1;

        tmp2         = 1;  

        Q1           = [];

        while (t < Time-delta )

           %计算时间

           t    = t    + delta*Sp_ms(iii);

           Ind  = Ind  + Sp_ms(iii);

           Ind2 = Ind2 + 1;

           for Nj = 1:NUE

               %根据坐标位置,得到MB的当前区域,在一个小范围内,进行仿真,

               if Ind2 == 1

                  Xp  = 200*randn(1,1)+220;

                  Yp  = 0;

               else

                  Xp = Xp + Sp_ms(iii);

                  Yp = 0;

               end

                  ddd = sqrt((Xp - P_wla(1))^2 + (Yp - P_wla(2))^2);

               if ddd >= 400

                  Xp  = 200*randn(1,1)+220;

                  Yp  = 0;

               else

                  Xp  = Xp;

                  Yp  = 0;        

               end

               %根据不同的区域,确定有几个网络

               ID(:,Nj)     = func_NET_ID(Xp,Yp,P_wla,P_lte,R_wla,R_lte);

 

               %计算RSRP值

               RSRP_wla(Nj)  = func_Rsrp_cal(Xp,Yp,Sp_ms(iii),P_wla,F_wla,t,Pow_wla,ISFAST);

               RSRP_lte(Nj)  = func_Rsrp_cal(Xp,Yp,Sp_ms(iii),P_lte,F_lte,t,Pow_lte,ISFAST);

           end

           %===========================================================================

           %定义一个业务矩阵,我们认为时延最重要

               %接收功率、最大的传输速率、时延、费用价格

            C=[1      5       1/7   3;

               1/5    1       1/3   1/2;

               7      3       1     2;

               1/3    2       1/2   1];

           %计算权值W

           for i = 1:4

               w2(i) = (C(i,1)*C(i,2)* C(i,3)* C(i,4))^0.25;  

           end

           for i = 1:4

               w(i)  = w2(i)/sum(w2);  

           end   

           w1 = w(1);

           w2 = w(2);

           w3 = w(3);

           w4 = w(4);

           %计算网络贡献权值由上面的分层法计算得到

           %接收功率、最大的传输速率、时延、费用价格 

           for Nj = 1:NUE

                %将功率dbm转换为标准功率w

                PP_wla(Nj)  = 10^(RSRP_wla(Nj)/20);

                PP_lte(Nj)  = 10^(RSRP_lte(Nj)/20);

                %构成矩阵,并规划化

                Rs = [PP_wla(Nj),Rb_wla,DLY_wla,MNY_wla;

                      PP_lte(Nj),Rb_lte,DLY_lte,MNY_lte];

 

                [r,c] = size(Rs);

                for j = 1:c

                    Mins = min(Rs(:,j));   

                    Maxs = max(Rs(:,j)); 

                    for i = 1:r

                        R(i,j) = (Rs(i,j)-Mins)/(Maxs); 

                    end

                end

 

                if ID(:,Nj) == [1,0]'

                   Networkcontribution_wla(Nj) = w1*R(1,1) + w2*R(1,2) + w3*R(1,3) + w4*R(1,4);

                   Networkcontribution_lte(Nj) = 0;

                elseif ID(:,Nj) == [0,2]'

                   Networkcontribution_wla(Nj) = 0; 

                   Networkcontribution_lte(Nj) = w1*R(2,1) + w2*R(2,2) + w3*R(2,3) + w4*R(2,4);            

                elseif ID(:,Nj) == [1,2]'    

                   Networkcontribution_wla(Nj) = w1*R(1,1) + w2*R(1,2) + w3*R(1,3) + w4*R(1,4);

                   Networkcontribution_lte(Nj) = w1*R(2,1) + w2*R(2,2) + w3*R(2,3) + w4*R(2,4);

                else

                   Networkcontribution_wla(Nj) = 0;

                   Networkcontribution_lte(Nj) = 0;

                end

            end

            %初始化UE驻留网络,根据RSRP值,来初始化驻留小区网络

            if  Ind2 <= 1

                for Nj = 1:NUE

                    [V,I] = max([Networkcontribution_wla(Nj),Networkcontribution_lte(Nj)]);

                    USER_SPACE(Ind2,Nj) = I;

                end

                UE_Spec_NET(Ind2) = USER_SPACE(Ind2,UE_Spec);

            else

                %STEP1:检查当前网络是否处于重负载状态

                %计算各个网络中用户个数

                tmps    = USER_SPACE(Ind2-1,:);

                Num_wla = length(find(tmps == 1));

                Num_lte = length(find(tmps == 2));

                %指定分析用户将要切入的网络

                UE_Spec_ID = USER_SPACE(Ind2,UE_Spec);

                isfull     = 0;%初始,小区没有饱和

                %判断该小区是否满负荷

                if UE_Spec_ID == 1

                   if Num_wla >= Nfull_wla;isfull = 1;else;isfull = 0; end;

                end

                if UE_Spec_ID == 2

                   if Num_lte >= Nfull_lte;isfull = 1;else;isfull = 0; end;

                end    

                %如果否,则接纳该用户,即可以进行接纳其接入,即可以垂直切换

                if isfull == 0

                   [V2,I2]           = max([Networkcontribution_wla(UE_Spec),Networkcontribution_lte(UE_Spec)]);

                   UE_Spec_NET(Ind2) = I2;

                else

                    %如果是,系统检查当前网络是否有可用容量

                    UE_Spec_ID = USER_SPACE(Ind2-1,UE_Spec);

                    isfull2    = 0;%初始,小区没有饱和

                    %判断该小区是否满负荷

                    if UE_Spec_ID == 1

                       if Num_wla >= Nfull_wla;isfull2 = 1;else;isfull2 = 0; end;

                    end

                    if UE_Spec_ID == 2

                       if Num_lte >= Nfull_lte;isfull2 = 1;else;isfull2 = 0; end;

                    end    

                    if isfull2 == 1%如果没有,则拒绝该用户的接入请求

                       UE_Spec_NET(Ind2) = -inf;%负无穷,表示拒绝接入

                    else

                       UE_Spec_NET(Ind2) = UE_Spec_NET(Ind2-1);

                    end

                end        

            end

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

        end

    end

    N1(iii) = mean(Q1);

end

figure;

plot(Sp_ms,N1,'-bs',...

    'LineWidth',1,...

    'MarkerSize',6,...

    'MarkerEdgeColor','k',...

    'MarkerFaceColor',[0.9,0.0,0.0]);

xlabel('Speed');

ylabel('网络吞吐量');

grid on;

legend('RSRP切换算法');

save R1b.mat Sp_ms N1

12_051_m

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