【软切换】WCDMA软切换技术的仿真

1.软件版本

matlab2013b

2.本算法理论知识

      切换是为保证移动用户通信的连续性,将用户当前的通信链路转移到其它小区的过程。切换是移动通信系统必须具备的最基本功能,也是移动通信系统中极为复杂和关键的技术。WCDMA系统中,根据切换发生时移动台与源基站和目标基站连接方式的不同,切换基本可以分为硬切换、软切换、更软切换。

·硬切换

       硬切换是指移动台在载波频率不同的基站覆盖小区之间信道的切换。硬切换过程中,移动用户仅与新旧基站的其中一个链接,任一时刻只有一个业务信道被激活,移动台一般先中断与原基站的链接,再建立与新基站之间的链接。在WCDMA系统中,硬切换的执行过程分为:测量、判决和执行阶段三个部分。从一个基站切换到另一个基站过程中,通信链路有短暂的中断时间,当切换时间较长时,将影响用户通话。一般来说,硬切换的切换区域非常狭窄,当用户在切换区域活动时很容易发生频繁的硬切换现象,这就是“乒乓效应”,而且信道衰落效应会使“乒乓效应”更严重,这会严重影响系统的通话质量,如图1所示为一个硬切换执行过程。

图1硬切换执行过程

·软切换

      在该切换过程中,当移动台开始与一个新的基站联系时,并不立即中断与原来基站之间的通信。软切换过程是先连后断,不管切换有多么频繁,都很少会出现硬切换中频繁掉话的现象;另外,软切换采用分集接收,所以不需提高发射功率就能保证或提高通话质量。图2所示为软切换执行过程。

图2软切换执行过程

·更软切换

      更软切换是软切换的一种特殊情况。这种切换方式发生在同一基站具有相同频率的不同扇区之间。更软切换是CDMA的特色,在基站扇区间同频工作时可以方便地进行。软切换和更软切换的区别在于:更软切换发生在同一个Node-B范围内,分集信号在Node-B中做最大的增益组合,而软切换发生在两个Node-B之间,分集信号在RNC中进行合并处理。图2.3为两种切换方法的比较。

图3软切换和更软切换

WCDMA系统中的软切换过程划分为以下三个步骤:

第一、无线测量(无线测量由UE和Node-B完成的);

      在切换测量阶段,移动台要测量下行链路的信号质量、该移动台所属的小区及临近小区的信号能量;基站需要测量上行链路的信号质量。

第二、网络判决(网络判决在RNC中进行);

      在切换判决阶段,测量结果与预定义的门限值进行比较,以决定是否执行切换,同时要进行接纳控制,防止新的小区由于新用户的加入而降低已有用户的通信质量。

第三、系统执行(系统执行在UE、Node-B和RNC共同协作下完成);

       在执行阶段,移动台进入软切换状态,RNC根据测量结果判决切换的目标小区,并信令通知移动台完成切换,一个新基站或小区被加入、释放或者替换。

软切换执行的阶段示意图如下:

图4软切换执行的步骤

3.部分源码

clc;
clear;
close all;
warning off


s = RandStream.create('mt19937ar','seed',14);
RandStream.setDefaultStream(s);

%定义小区1,小区2,小区3的状态
cell1_state = 1;%小区1处于连接状态
cell2_state = 0;%小区2处于非连接状态
cell3_state = 0;%小区3处于非连接状态
full        = 0;%激活集未满
Count       = 0;%定义激活集个数

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;

 

%定义平均激活数
ASUR        = 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:29
        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 cell1_state == 1%步骤1
           tmp2           = tmp2 + (1-f)*rand();

           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 full == 1
        MASN_tmp = MASN_tmp + 1;
        end
 
 
    end
        MM(k) = MASN_tmp;
    
    end
    
    ASUR(j) = 0.015 + mean(MM)/100;
end
end
figure;
plot(T_ADD,ASUR,'b-o','LineWidth',2);
xlabel('T ADD(DB)');
ylabel('ASUR');
hold on 
 

load UTRA/UTRA_ASUR.mat
plot(T_ADD,ASUR,'r-o','LineWidth',2);
xlabel('T ADD(DB)');
ylabel('ASUR');
hold on

legend('改进后的软切换算法','传统UTRA算法');

grid on

axis([1,6,0.01,0.08]);

4.仿真分析

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

·ASUR(激活集更新率)

·OP(中断概率)

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

图4.2软切换算法的平均激活集数

·ASUR(激活集更新率)

·OP(中断概率)

5.参考文献

[01]王学龙.WCDMA移动通信技术.清华大学出版社.2004.

[02]Jaana Laiho, AehimWacker,Tomas Novosad “Radio Network Planning and Optimization for UMTS”电子工业出版社.2004.

[03]V.Vanghi,C.Chevallier“WCDMA Handover parameters Optimization”IEEE Communications Society 2004.A01-41

猜你喜欢

转载自blog.csdn.net/ccsss22/article/details/124763274
今日推荐