LTE和Wimax异构网络垂直切换matlab仿真

1.算法描述

       随着通信产业的迅猛发展,用户对通信有了更高的期望,不仅要求有 稳定的语音通信,而且要求能够进行数据和多媒体的通信,这使得异构网络之间的融合成为一个非常重要的发展趋势.TD-LXE作为TD-SCDMA的长期演 进版本,凭借"OFDM+MIMO+IP技术+TD-SCDMA成熟技术"的先进技术模式成为下一代移动通信技术的发展方向.但其在市场方面仍面临巨大挑 战:其关键技术大规模应用的条件尚未成熟;其设备特别是终端在短期内很难达到商用要求.WiMAX可以提供高达75Mbps的数据传输速率,满足热点地区 的高速数据业务的需求,但现阶段WiMAX并不支持高速移动下的无缝漫游.

 

        随着无线网络技术的高速发展,越来越多的接入技术应运而生,但是目前还没有一种网络能够完全满足用户高带宽、低时延、大覆盖范围等要求,不同的网络在性能、覆盖范围、数据速率和移动性支持等方面各具特点,仅靠单一网络根本无法满足未来移动通信中业务个性化和多样性的需求,异构网络间的融合必将是大势所趋。而终端在异构网络环境中移动必然涉及网络间的切换问题。当前现有的垂直切换算法主要包括基于接收信号强度( Received Signal StrengthRSS)的切换算法及一系列的改进算法、简单加权法( Simple Weighted AlgorithmSAW)、灰色关联度分析法(Grey RelaTIon AnalysisGRA)、逼近理想解排序法( Techniquefor order Preference by Similarity to Ideal SoluTIonTOPSIS)。

 

  现有垂直切换算法的切换判决指标大多为网络侧参数,较少考虑用户业务对网络的实际需求。为此,以业务为切换单元,提出一种基于模糊层次分析法的切换判决算法。通过分析影响业务的参数因子,采用模糊层次分析法为不同业务选取最优网络进行切换。仿真结果显示,该算法能够及时合理地做出切换判决,保障业务QoS需求,提高切换判决的稳定性,减少错误切换次数,降低网络阻塞率,提高用户的通信满足度。

 

        目前,蜂窝通信网、WLANWiMAX等无线网络在世界范围内广泛使用,这些无线通信技术相互共存、相互补充形成融合是未来的发展趋势。对于异构业务网络融合和业务平台开放,学术界和标准化组织已经较好解决,但如何解决异构无线融合网络的移动性管理,特别是跨网络的垂直切换问题,已成为下一代无线通信系统迫切需要解决的一个重要课题。  

 

        异构网络的垂直切换是一个多属性决策问题,不仅需要考虑切换目标网络的信号强度,带宽,延时,网络吞吐量等网络QoS因素,还需要考虑网络移动终端移动速度,位置,能耗,用户偏好等信息。论文改进了一种基于环境感知的垂直切换策略,使移动终端能实时自适应地快速选择目标切换网络。该策略首先以检测模块检测到的候选网络信号强度作为切换触发先决条件,根据终端移动速度和剩余电量判断是否继续切换,然后利用层次分析法建立层次决策模型,对传输带宽、时延、丢包率等决策因素利用直线型模糊隶属度函数进行归一化处理,通过判断矩阵计算决策因子的权重,采用线性加权法和乘法指数法结合的方法作为评价函数计算网络综合评分,最后对每个候选网络的分值进行排序,最终切换到分值最大的网络。 

 

2.仿真效果预览

matlab2022a仿真结果如下:

 

3.MATLAB核心程序

 

clc;
clear;
close all;
warning off;
addpath(genpath(pwd));
 
 
global fc_LTE fc_Wimax LTE_BS_coordinate Wimax_BS_coordinate ...
    Wimax_BS_coordinate LTE_BS_coordinate
service_type=0;                %the subscriber type of service
                               %0 refers to real time service,on the
                               % contrary,1 refers to nonreal-time service
MS_coordinate=[100,0];    
LTE_BS_coordinate=[0,0]; %the coordinate of LTE BS
Wimax_BS_coordinate=[600,0];   %the coordinate of wimaxE BS
MS_speed=10;                   %the speed of mobile station
 
fc_LTE=2000*10^6;              %the frequency of the carrier for LTE
fc_Wimax=2500*10^6;            %the frequency of the carrier for Wimax
Net_state=0;                   %0 refers to LTE;1 refers to Wimax
handoff_drop=1;
handoff_clock=0;
count_handoff_number=0;
Tc=0.5;                      %time of measure interval
record_time=0;                %record the number of interval time of system
countinue_run=true;
 
while countinue_run
    
    %#################  measure the receieved signal strength  ############ 
    %if the mobile station is in the LTE network
    if is_in_LTE_coverage(MS_coordinate)
        RSS_LTE=calculate_RSS(MS_coordinate,'LTE');
    else
        RSS_LTE=-inf;
    end
    
    %if the mobile station is in the LTE network
    if is_in_Wimax_coverage(MS_coordinate)
        RSS_Wimax=calculate_RSS(MS_coordinate,'Wimax');
    else
        RSS_Wimax=-inf;
    end
    
    %###############  decide whether to handoff according to RSS  #########
    if Net_state==0&&RSS_LTE<RSS_Wimax
        if handoff_clock>handoff_drop
            if is_network_performance_meet(service_type)==1||(...
                    ~is_in_LTE_coverage(MS_coordinate)&&...
                    is_in_Wimax_coverage(MS_coordinate))
                                             %compare the performance of 
                                             %new network with the past
                                             %network
                count_handoff_number=count_handoff_number+1;
                Net_state=1;
                handoff_clock=0;             %reset the counter
            else
               handoff_clock=0;              %stay in the past network
            end
        else
            handoff_clock=handoff_clock+Tc;
        end
    elseif Net_state==1&&RSS_LTE>RSS_Wimax
        if handoff_clock>handoff_drop
            if is_network_performance_meet(service_type)==0||(...
                    is_in_LTE_coverage(MS_coordinate)&&...
                    ~is_in_Wimax_coverage(MS_coordinate))
                                             %compare the performance of 
                                             %new network with the past
                                             %network
                count_handoff_number=count_handoff_number+1;
                Net_state=0;
                handoff_clock=0;             %reset the counter
            else
               handoff_clock=0;              %stay in the past network
            end
        else
            handoff_clock=handoff_clock+Tc;
        end
    else
        handoff_clock=0;
    end
    
    %#####################  decide whether to continue run ################
    if is_in_LTE_coverage(MS_coordinate)||...
            is_in_Wimax_coverage(MS_coordinate)  
        
        %########################  record the data ########################
        record_time=record_time+1;
        record_RSS_LTE(record_time)=RSS_LTE;
        record_RSS_Wimax(record_time)=RSS_Wimax;
        record_Net_state(record_time)=Net_state; 
        MS_coordinate(1)=MS_coordinate(1)+MS_speed*Tc;
    else
        countinue_run=false;
    end 
end
 
%######################## plot the simulation results  ####################
t=[1:record_time]*Tc;
plot(t,record_RSS_LTE,'--ro','MarkerEdgeColor','g','MarkerFaceColor','y',...
    'MarkerSize',2);
hold on
plot(t,record_RSS_Wimax,'-.ks','MarkerEdgeColor','b',...
    'MarkerFaceColor','c','MarkerSize',2);
hold off
grid on
xlabel('time(s)');
ylabel('RSS(dBm)');
legend('LTE','Wimax');
title('the received signal strength about two networks');
figure
plot(t,record_Net_state,'--ro','MarkerEdgeColor','g','MarkerFaceColor','y',...
    'MarkerSize',2)
grid on
xlabel('time(s)');
ylabel('mark of network');
text(0,0,'\leftarrow LTE','FontSize',10)
text(0,1,'\leftarrow Wimax','FontSize',10)
title('the state of mobile station in LTE and Wimax network')
a75

 

  

 

posted @ 2023-01-24 22:42  我爱C编程  阅读(66)  评论(0编辑  收藏  举报