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