1.軟體版本
matlab2013b
2.本算法理論知識
TD-SCDMA與TD-LTE共覆寫的範圍内覆寫半徑1000m;
TD-SCDMA中心坐标(0,0),覆寫半徑1000m;
兩個TD-LTE基站的中心坐标為(150,0)(-150,0)覆寫半徑為170m;
使用者在這個範圍内一以0-15m/s 的速度随機遊走,行走路線可固定(必須要經過兩個LTE基站重疊區域)也可随機無方向。
切換判決子產品:切換判決子產品主要是測量3個網絡的接收信号遷都,判斷是否滿足硬性接入條件,在滿足硬性接入條件後再排程其他判決參數。這裡的判決政策采用二維收益權重法其他的判決參數包括:接收功率、切換時延、最大傳輸速率、價格。
·得到語音業務、資料業務在判決政策時的網絡收益,以及在時間段該接入哪個網絡,結果分析出來合理。
·得到語音業務、資料業務在RSS判決的條件下和在加入了切換判決政策的條件下切換次數的對比圖,結果分析出來合理。
我們的整個算法的流程圖如下所示:
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI0gTMx81dsQWZ4lmZf1GLlpXazVmcvwFciV2dsQXYtJ3bm9CX9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCMy81dvRWYoNHLwEzX5xCMx8FesU2cfdGLwMzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5CO2kDN4UDZyQWZxIjNjNDNzYzX3MzMxUTMwEzLcBTMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)
3.部分源碼
%%
%參數初始化
R_tds = 1000; %TDSCDMA範圍
R_tdl = 170; %TDLTE覆寫範圍
P_tds = [0,500]; %TDSCDMA基站坐标
P_tdl1 = [-150,0]; %TDLTE1基站坐标
P_tdl2 = [150,0]; %TDLTE2基站坐标
F_tds = 2020*10^6; %TDSCDMA的頻率,根據國内名額,均為B頻段:2010M~2025M之間
F_tdl = 2600*10^6; %TDLTE的頻率,假設是中移動的38号TDLTE頻段:2570M~2620M之間
Sp_ms = [5]; %移動裝置速度,由于記憶體限制,這裡将速度涉及為整數形式
Pow_tds= 70; %功率
Pow_tdl= 65; %功率
ISFAST = 1; %是否要考慮快衰落情況
%移動裝置必須經過的關鍵點
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);
........................