mTD-SCDMA与TD-LTE双网络垂直切换matlab仿真

简介: mTD-SCDMA与TD-LTE双网络垂直切换matlab仿真

1.算法描述
TD-SCDMA与TD-LTE共覆盖的范围内覆盖半径1000m;

TD-SCDMA中心坐标(0,0),覆盖半径1000m;

两个TD-LTE基站的中心坐标为(150,0)(-150,0)覆盖半径为170m;

   用户在这个范围内一以0-15m/s 的速度随机游走,行走路线可固定(必须要经过两个LTE基站重叠区域)也可随机无方向(这里,为了验证一般性验证,采用匀速运动和指定方向进行移动,但是用户始终在小区覆盖范围之内)

移动终端初始在场景中接入的网络为TD-SCDMA网络,相关的网络参数。

定义终端移动速度

定义3个网络的移入和移出门限功率门限

定义不同的类型的业务权重

   切换判决模块:切换判决模块主要是测量3个网络的接收信号迁都,判断是否满足硬性接入条件,在满足硬性接入条件后再调度其他判决参数。这里的判决策略采用二维收益加权法其他的判决参数包括:接收功率、切换时延、最大传输速率、价格。

   ·得到语音业务、数据业务在判决策略时的网络收益,以及在时间段该接入哪个网络,结果分析出来合理

   ·得到语音业务、数据业务在RSS判决的条件下和在加入了切换判决策略的条件下切换次数的对比图,结果分析出来合理

   在RSS两个网络的都满足的情况下,再根据切换判决网络参数(用接收功率、最大的传输速率、时延、费用价格),以及结合切换判决的网络参数的相对权重(相对权重的分析我想采用层次分析法出来不是固定不变的某个参数。最后根据不同的业务类型(语音业务/数据业务/视频业务)依据二维代价(或收益)函数加权法来判决接入哪一个网络最合适。

2.仿真效果预览

1.png
2.png
3.png
4.png

3.MATLAB部分代码预览

VP_ms  = [-600,300;   %A
          -290,105;   %B
           -20, 40;   %C
             0, 40;   %D
            20, 40;   %E
           250,120;   %F
           600,500]  ;%G
 
type   = 1;%业务类型:1:语音业务,2:数据业务,3:视频模型
 
%各个网络的接入,断开功率门限值
Rss_tds_in   = -55;%dbm
Rss_tds_out  = -70;%dbm
 
Rss_tdl1_in  = -50;%dbm
Rss_tdl1_out = -65;%dbm
 
Rss_tdl2_in  = -50;%dbm
Rss_tdl2_out = -65;%dbm
 
%定义用户运动的距离 
Xp           = 0;
Yp           = 0;
%定义仿真时间参数
delta        = 0.01;
Time         = 300;
t            = 0;
%数组计数器
Ind          = 0;
Ind2         = 0;
 
 
%接收功率、最大的传输速率、时延、费用价格
%其中接收功率为实测
POW_tds  = 0;
Rb_tds   = 1.28;
DLY_tds  = 20;
MNY_tds  = 0.3;
 
POW_tdl1 = 0;
Rb_tdl1  = 8;
DLY_tdl1 = 40;
MNY_tdl1 = 0.2;
 
POW_tdl2 = 0;
Rb_tdl2  = 8;
DLY_tdl2 = 45;
MNY_tdl2 = 0.1;
%接收功率、最大的传输速率、时延、费用价格 
% w1       = 0.2; 
% w2       = 0.3;
% w3       = 0.3;
% w4       = 0.2;
 
ViewS    = 20;%减小消耗内存,采样显示结果
 
%定义分层矩阵
C        = zeros(4,4);
 
 
%%
%场景的初始化
%X,Y为MB移动的路径,随着时间的变化而X,Y的变化值,用于循环仿真使用
[X,Y] = func_Simu_Scene(P_tds,P_tdl1,P_tdl2,VP_ms,R_tds,R_tdl);
save My_Result\Simu_Scene.mat 
 
%%
%主循环
%定义变量
Len       = min(Time/delta,floor((length(X)-Sp_ms)/Sp_ms));
%定义网络ID变量
ClK                       = zeros(Len,1); 
IDs                       = zeros(Len,3);
RSS_tdss                  = zeros(Len,1);
RSS_tdl1s                 = zeros(Len,1);
RSS_tdl2s                 = zeros(Len,1);
Networkcontribution_tdss  = zeros(Len,1);
Networkcontribution_tdl1s = zeros(Len,1);
Networkcontribution_tdl2s = zeros(Len,1);
IDs2                      = zeros(Len,1);
while (t < Time & Ind < length(X)-Sp_ms)
   %计算时间
   t
   t    = t    + delta;
   Ind  = Ind  + Sp_ms;
   Ind2 = Ind2 + 1;
   
   %根据坐标位置,得到MB的当前区域
   Xp  = X(Ind);
   Yp  = Y(Ind);
   %根据不同的区域,确定有几个网络
   ID = func_NET_ID(Xp,Yp,P_tds,P_tdl1,P_tdl2,R_tds,R_tdl);
   
   %计算RSS值
   RSS_tds  = func_Rss_cal(Xp,Yp,Sp_ms,P_tds ,F_tds,t,Pow_tds,ISFAST);
   RSS_tdl1 = func_Rss_cal(Xp,Yp,Sp_ms,P_tdl1,F_tdl,t,Pow_tdl,ISFAST);
   RSS_tdl2 = func_Rss_cal(Xp,Yp,Sp_ms,P_tdl2,F_tdl,t,Pow_tdl,ISFAST);
   
   
   %判断每一时刻的备选网络
   %进行分层计算,这个根据业务模型的不同,而不同
   %接收功率、最大的传输速率、时延、费用价格
   %正常情况下,我们假设接收功率时变,而其他三个参数固定,从而进行实时计算网络贡献值
   %这里,分层法的解W,我参考了另外一篇的做法,比较方便
   if type == 1%语音业务,我们认为时延最重要
       %接收功率、最大的传输速率、时延、费用价格
       C=[1      5       1/7   3;
          1/5    1       1/3   1/2;
          7      3       1     2;
          1/3    2       1/2   1];
   end 
   %计算权值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);
   
   %注意,这里矩阵C的建立,具有一定的主观性,所以我就不设置了,你改下,就可以换别的业务模型进行仿真了  
   %注意,这里矩阵C的建立,具有一定的主观性,所以我就不设置了,你改下,就可以换别的业务模型进行仿真了      
 
    %计算网络贡献权值由上面的分层法计算得到
    %接收功率、最大的传输速率、时延、费用价格 
    %将功率dbm转换为标准功率w
    PP_tds  = 10^(RSS_tds/20);
    PP_tdl1 = 10^(RSS_tdl1/20);
    PP_tdl2 = 10^(RSS_tdl2/20);
    
    %构成矩阵,并规划化
    Rs = [PP_tds ,Rb_tds ,DLY_tds ,MNY_tds;
          PP_tdl1,Rb_tdl1,DLY_tdl1,MNY_tdl1;
          PP_tdl2,Rb_tdl2,DLY_tdl2,MNY_tdl2];
    
    [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(2) == 0 & ID(3) == 0
       Networkcontribution_tds  = w1*R(1,1) +w2*R(1,2) +w3*R(1,3) +w4*R(1,4);
       Networkcontribution_tdl1 = 0;
       Networkcontribution_tdl2 = 0;
    end
    
    %表示2个网络
    if ID(2) == 0 & ID(3) > 0
       Networkcontribution_tds  = w1*R(1,1) +w2*R(1,2) +w3*R(1,3) +w4*R(1,4);
       Networkcontribution_tdl1 = 0;
       Networkcontribution_tdl2 = w1*R(3,1) +w2*R(3,2) +w3*R(3,3) +w4*R(3,4);
    end    
    if ID(3) == 0 & ID(2) > 0
       Networkcontribution_tds  = w1*R(1,1) +w2*R(1,2) +w3*R(1,3) +w4*R(1,4);
       Networkcontribution_tdl1 = w1*R(2,1) +w2*R(2,2) +w3*R(2,3) +w4*R(2,4);
       Networkcontribution_tdl2 = 0;
    end      
    
    %备选集为三个网络
    if ID(1) > 0 & ID(2) > 0 & ID(3) > 0
       Networkcontribution_tds  = w1*R(1,1) +w2*R(1,2) +w3*R(1,3) +w4*R(1,4);
       Networkcontribution_tdl1 = w1*R(2,1) +w2*R(2,2) +w3*R(2,3) +w4*R(2,4);
       Networkcontribution_tdl2 = w1*R(3,1) +w2*R(3,2) +w3*R(3,3) +w4*R(3,4);
    end        
 
    %根据网络贡献值,来选择网络
    [V,I] = max([Networkcontribution_tds,Networkcontribution_tdl1,Networkcontribution_tdl2]);
 
   %将每次循环的结果进行保存
   ClK(Ind2)       = t-delta;
   IDs(Ind2,1)     = ID(1);
   IDs(Ind2,2)     = ID(2);
   IDs(Ind2,3)     = ID(3);
   RSS_tdss(Ind2)  = RSS_tds;
   RSS_tdl1s(Ind2) = RSS_tdl1;
   RSS_tdl2s(Ind2) = RSS_tdl2;
   Networkcontribution_tdss(Ind2)  = Networkcontribution_tds;
   Networkcontribution_tdl1s(Ind2) = Networkcontribution_tdl1;
   Networkcontribution_tdl2s(Ind2) = Networkcontribution_tdl2;
   IDs2(Ind2)                      = I;
end
01_059_m
相关文章
|
1天前
|
机器学习/深度学习 数据采集 算法
基于GA遗传优化的CNN-GRU-SAM网络时间序列回归预测算法matlab仿真
本项目基于MATLAB2022a实现时间序列预测,采用CNN-GRU-SAM网络结构。卷积层提取局部特征,GRU层处理长期依赖,自注意力机制捕捉全局特征。完整代码含中文注释和操作视频,运行效果无水印展示。算法通过数据归一化、种群初始化、适应度计算、个体更新等步骤优化网络参数,最终输出预测结果。适用于金融市场、气象预报等领域。
基于GA遗传优化的CNN-GRU-SAM网络时间序列回归预测算法matlab仿真
|
1天前
|
机器学习/深度学习 算法 机器人
基于QLearning强化学习的较大规模栅格地图机器人路径规划matlab仿真
本项目基于MATLAB 2022a,通过强化学习算法实现机器人在栅格地图中的路径规划。仿真结果显示了机器人从初始位置到目标位置的行驶动作序列(如“下下下下右右...”),并生成了详细的路径图。智能体通过Q-Learning算法与环境交互,根据奖励信号优化行为策略,最终学会最优路径。核心程序实现了效用值排序、状态转换及动作选择,并输出机器人行驶的动作序列和路径可视化图。
110 85
|
1天前
|
算法
基于龙格库塔算法的锅炉单相受热管建模与matlab数值仿真
本设计基于龙格库塔算法对锅炉单相受热管进行建模与MATLAB数值仿真,简化为喷水减温器和末级过热器组合,考虑均匀传热及静态烟气处理。使用MATLAB2022A版本运行,展示自编与内置四阶龙格库塔法的精度对比及误差分析。模型涉及热传递和流体动力学原理,适用于优化锅炉效率。
|
3天前
|
传感器 算法
基于GA遗传优化的WSN网络最优节点部署算法matlab仿真
本项目基于遗传算法(GA)优化无线传感器网络(WSN)的节点部署,旨在通过最少的节点数量实现最大覆盖。使用MATLAB2022A进行仿真,展示了不同初始节点数量(15、25、40)下的优化结果。核心程序实现了最佳解获取、节点部署绘制及适应度变化曲线展示。遗传算法通过初始化、选择、交叉和变异步骤,逐步优化节点位置配置,最终达到最优覆盖率。
|
3天前
|
算法
基于RRT优化算法的机械臂路径规划和避障matlab仿真
本课题基于RRT优化算法实现机械臂路径规划与避障。通过MATLAB2022a进行仿真,先利用RRT算法计算避障路径,再将路径平滑处理,并转换为机械臂的关节角度序列,确保机械臂在复杂环境中无碰撞移动。系统原理包括随机生成树结构探索空间、直线扩展与障碍物检测等步骤,最终实现高效路径规划。
|
21天前
|
SQL 安全 网络安全
网络安全与信息安全:知识分享####
【10月更文挑战第21天】 随着数字化时代的快速发展,网络安全和信息安全已成为个人和企业不可忽视的关键问题。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的建议,帮助读者提高自身的网络安全防护能力。 ####
59 17
|
1月前
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将介绍网络安全的重要性,分析常见的网络安全漏洞及其危害,探讨加密技术在保障网络安全中的作用,并强调提高安全意识的必要性。通过本文的学习,读者将了解网络安全的基本概念和应对策略,提升个人和组织的网络安全防护能力。
|
1月前
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将从网络安全漏洞、加密技术和安全意识三个方面进行探讨,旨在提高读者对网络安全的认识和防范能力。通过分析常见的网络安全漏洞,介绍加密技术的基本原理和应用,以及强调安全意识的重要性,帮助读者更好地保护自己的网络信息安全。
49 10
|
1月前
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
在数字化时代,网络安全和信息安全已成为我们生活中不可或缺的一部分。本文将介绍网络安全漏洞、加密技术和安全意识等方面的内容,并提供一些实用的代码示例。通过阅读本文,您将了解到如何保护自己的网络安全,以及如何提高自己的信息安全意识。
61 10
|
1月前
|
存储 监控 安全
云计算与网络安全:云服务、网络安全、信息安全等技术领域的融合与挑战
本文将探讨云计算与网络安全之间的关系,以及它们在云服务、网络安全和信息安全等技术领域中的融合与挑战。我们将分析云计算的优势和风险,以及如何通过网络安全措施来保护数据和应用程序。我们还将讨论如何确保云服务的可用性和可靠性,以及如何处理网络攻击和数据泄露等问题。最后,我们将提供一些关于如何在云计算环境中实现网络安全的建议和最佳实践。