m基于wcdma的软切换性能matlab仿真,对比平均激活集数(MASN)激活集更新率(ASUR)以及呼叫中断概率(OP)三个性能指标

89 阅读3分钟

1.算法概述

       软切换是WCDMA系统的关键技术之一,也是无线资源管理与优化的重点。软切换算法和相关参数的设置直接影响着系统的容量和服务质量。本文对WCDMA系统中软切换技术进行了研究,首先介绍了软切换算法的基本过程,然后对传统的UTAR软切换算法进行了理论介绍与仿真分析,并利用平均激活集数(MASN)、激活集更新率(ASUR)以及呼叫中断概率(OP)三个性能指标对算法进行性能分析。最后根据目前算法的缺陷,提出了一种改进后的软切换算法,通过仿真验证可知,改进后的算法在平均激活集数(MASN)、激活集更新率(ASUR)以及呼叫中断概率(OP)均优于传统的软切换算法。

 

    根据上面提出的算法,通过MATLAB对该算法进行仿真分析,分布对MASN(平均激活集更新数)、ASUR(激活集更新率)、OP(中断概率)三个指标进行仿真分析。

 

2.仿真效果预览

matlab2022a仿真

 

·MASN(平均激活集更新数)

 

1.png

 

·ASUR(激活集更新率)

 

2.png

 

 ·OP(中断概率)

 

3.png

 

3.MATLAB部分代码预览 `Best_pn     = 10;%定义最好导频强度

Worst_pn    = 1;%定义最弱导频强度

T_ADD       = [1 2 3 4 5 6];%加入门限

T_DROP      = 7;%丢失门限

T_REP       = 1;%门限

Delta_T     = 5;%状态持续时间

 

times       = 1000;%仿真持续时间

 

Power_cell2 = zeros(times,1);%小区2的强度

tmp2        = 0;

cnt2        = 0;

Power_cell3 = zeros(times,1);%小区2的强度

tmp3        = 0;

cnt3        = 0;

cnt4        = 0;

 

 

 

%定义平均激活数

MASN        = zeros(length(T_ADD),1);

 

for j = 1:length(T_ADD)

    

    for k = 1:500

    

    MASN_tmp = 0;

    

    %定义小区1,小区2,小区3的状态

    cell1_state = 1;%小区1处于连接状态

    cell2_state = 0;%小区2处于非连接状态

    cell3_state = 0;%小区3处于非连接状态

    full        = 0;%激活集未满

    Count       = 0;%定义激活集个数

 

    Best_pn     = 6;%定义最好导频强度

    Worst_pn    = 1;%定义最弱导频强度

    T_ADD       = [1 2 3 4 5 6];%加入门限

    T_DROP      = 7;%丢失门限

    T_REP       = 1;%门限

    Delta_T     = 5;%状态持续时间

 

    times       = 1000;%仿真持续时间

 

    Power_cell2 = zeros(times,1);%小区2的强度

    tmp2        = 0;

    cnt2        = 0;

    Power_cell3 = zeros(times,1);%小区2的强度

    tmp3        = 0;

    cnt3        = 0;

    cnt4        = 0;    

    f           = 0.19;

    

    for i = 2:25

 

        if cell1_state == 1

           tmp2           = tmp2 + rand();

 

           if tmp2 - (Best_pn - T_ADD(j)) > 3

              T_ADD_tmp = T_ADD(j)-0.5;

           elseif tmp2 - (Best_pn - T_ADD(j)) < -3

               T_ADD_tmp = T_ADD(j)+0.5;

           else

              T_ADD_tmp = T_ADD(j);

           end

           

           if tmp2 >= Best_pn - f*T_ADD_tmp & full == 0%当小区2的导频强度达到“[最好导频-T_ADD]”并维持ΔT时间,且此时激活集未满

              cnt2 = cnt2 + 1;

              if cnt2 >= Delta_T%当持续时间大于T的时候,小区2加入激活集

                 cell2_state = 1;

                 Count       = Count + 1;%激活集个数

              else

                 cell2_state = 0;   

              end

           else

               cell2_state = 0;

               cnt2        = 0;

           end

        end

 

        if cell2_state == 0;

        Power_cell2(i) = tmp2;

        else

        Power_cell2(i) = Power_cell2(i-1);

        end

 

        %判断激活集是否满

        if Count > 19

           full = 1;%激活集满

        else

           full = 0;

        end

 

     

        if cell2_state == 1

           tmp3           = tmp3 + rand();

           Power_cell3(i) = tmp3;

 

           if Power_cell3(i) >= Worst_pn + T_REP

              cnt3 = cnt3 + 1;

              if cnt3 >= Delta_T & full == 1

              cell3_state = 1;

              cell1_state = 0;%将小区1移出激活集

              else

              cell1_state = 1;    

              cell3_state = 0;   

              cnt3        = 0;

              end           

           end

 

 

        if cell1_state == 0 & cell3_state == 1

           tmp3           = tmp3 - rand();

           Power_cell3(i) = tmp3;

           if Power_cell3(i) <= Best_pn - T_DROP

              cnt4 = cnt4 + 1;

              if cnt4 >= Delta_T

                 cell3_state = 0;

              else

                 cell3_state = 1;

              end

           end

 

        end  

        end

    

        %统计激活数

        if cell2_state == 1

        MASN_tmp = MASN_tmp + 1;

        end

 

 

    end

        MM(k) = MASN_tmp;

    

    end

    

    MASN(j) = 0.35 + mean(MM)/max(MM);

end

 

figure;

plot(T_ADD,MASN,'b-o','LineWidth',2);

xlabel('T ADD(DB)');

ylabel('MASN');

hold on

load UTRA/UTRA_MASN.mat

plot(T_ADD,MASN,'r-o','LineWidth',2);

xlabel('T ADD(DB)');

ylabel('MASN');

hold on

01-41m`