📄 evaluation_10_users_all_index.asv
字号:
% =========================================================================% Copyright (c)2006, 东南大学移动通信国家重点实验室% All rights reserved.%% 文件名称:Evaluation_12_users_all_index.m% function描述:12用户场景下的调度算法性能评估% 当前版本: 1.0% 作 者:梁浩% 完成日期: 2007年6月%==========================================================================clearclc%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 初始化% 设置系统参数alpha = 3.52249;L0 = 140.4193;sigma_original = 8;mean_m = -2.5;var_m = 31;Pt = 10.^(40./10)./1000;N0 = 10.^(-100./10)./1000;beta = 10 ./ log(10);% 设置用户数目N = 10;% 计算用户位置for i = 1:N d(i) = 2 ./ (N+1) .* i;end% 计算用户接收SNR的均值和标准差mean = - 10 .* alpha .* log10(d) - L0 + mean_m + 10 .* log10(Pt./N0);sigma = ones(1,N) .* sqrt(sigma_original.^2 + var_m);'8888888888888888888888'meansigma% 计算信噪比平均值的dB值aveSNR_dB = 10 .* log10(exp(mean./beta + sigma.^2./2./beta.^2));% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 性能评估% RRrrFair_gini = RRFair_Gini(N, mean, sigma)rrFair_jain = RRFair_Jain(N, mean, sigma)rrFair_log = RRFair_Log(N, mean, sigma)rrTh = RRTh(N, mean, sigma)% Max C/ImaxCIFair_gini = MaxCIFair_Gini(N, mean, sigma)maxCIFair_jain = MaxCIFair_Jain(N, mean, sigma)maxCIFair_log = MaxCIFair_Log(N, mean, sigma)maxCITh = MaxCITh(N, mean, sigma)% PFpfFair_gini = PFFair_Gini(N, mean, sigma, aveSNR_dB)pfFair_jain = PFFair_Jain(N, mean, sigma, aveSNR_dB)pfFair_log = PFFair_Log(N, mean, sigma, aveSNR_dB)pfTh = PFTh(N, mean, sigma, aveSNR_dB)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 分组#1(折中分组,多取一个转置),Hybird N/A K=2K = 2;clear user_per_group;clear vecN;clear mean_grouped;clear sigma_grouped;clear aveSNRn;user_per_group = N ./ K;vecN = user_per_group .* ones(1, K);for k = 1:K for u = 1:user_per_group mean_grouped(k, u) = mean(k + (u-1).*K); % 对均值和标准差进行分组,使其更为均匀 sigma_grouped(k, u) = sigma(k + (u-1).*K); aveSNR_dB_grouped(k, u) = aveSNR_dB(k + (u-1).*K); % 信噪比平均值的dB表达同样需要分组 end end% % % mean_grouped% % % sigma_groupedfor i = 1:K for j= 1:vecN(i) Th_1(i,j) = Hy_NA_Th(10^(-3),'x_hi', 10^(-3), 10^4, K, vecN, mean_grouped, sigma_grouped, aveSNR_dB_grouped, i, j) endendhyNAFair_1_gini = Fairness_Gini(N, Th_1)hyNAFair_1_jain = Fairness_Jain(N, Th_1)hyNAFair_1_log = Fairness_Log(N, Th_1)hyNATh_1 = sum(sum(Th_1))%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 分组#2(折中分组,多取一个转置),Hybird N/A K=5K = 5;clear user_per_group;clear vecN;clear mean_grouped;clear sigma_grouped;clear aveSNRn;user_per_group = N ./ K;vecN = user_per_group .* ones(1, K);for k = 1:K for u = 1:user_per_group mean_grouped(k, u) = mean(k + (u-1).*K); % 对均值和标准差进行分组,使其更为均匀 sigma_grouped(k, u) = sigma(k + (u-1).*K); aveSNR_dB_grouped(k, u) = aveSNR_dB(k + (u-1).*K); % 信噪比平均值的dB表达同样需要分组 end end% % % mean_grouped% % % sigma_groupedfor i = 1:K for j= 1:vecN(i) Th_2(i,j) = Hy_NA_Th(10^(-3),'x_hi', 10^(-3), 10^4, K, vecN, mean_grouped, sigma_grouped, aveSNR_dB_grouped, i, j) endendhyNAFair_2_gini = Fairness_Gini(N, Th_2)hyNAFair_2_jain = Fairness_Jain(N, Th_2)hyNAFair_2_log = Fairness_Log(N, Th_2)hyNATh_2 = sum(sum(Th_2))%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 分组#3(折中分组,多取一个转置),Hybird A/N K=2K = 2;clear user_per_group;clear vecN;clear mean_grouped;clear sigma_grouped;clear aveSNRn;user_per_group = N ./ K;vecN = user_per_group .* ones(1, K);for k = 1:K for u = 1:user_per_group mean_grouped(k, u) = mean(k + (u-1).*K); % 对均值和标准差进行分组,使其更为均匀 sigma_grouped(k, u) = sigma(k + (u-1).*K); endend% % % mean_grouped% % % sigma_grouped% 计算Hybrid A/N方法中用到的中间参数aveSNRnfor n = 1:K aveSNRn(n) = quadl(@Hy_AN_modpdf, 10^(-4), 10^8, 10^(-12), [], vecN, mean_grouped, sigma_grouped, n);endaveSNRnfor i = 1:K for j= 1:vecN(i) Th_3(i,j) = Hy_AN_Th(10^(-3),'x_hi', 10^(-3), 10^4, K, vecN, mean_grouped, sigma_grouped, aveSNRn, i, j) endendhyANFair_3_gini = Fairness_Gini(N, Th_3)hyANFair_3_jain = Fairness_Jain(N, Th_3)hyANFair_3_log = Fairness_Log(N, Th_3)hyANTh_3 = sum(sum(Th_3))%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 分组#4(折中分组,多取一个转置),Hybird A/N K=5K = 5;clear user_per_group;clear vecN;clear mean_grouped;clear sigma_grouped;clear aveSNRn;user_per_group = N ./ K;vecN = user_per_group .* ones(1, K);for k = 1:K for u = 1:user_per_group mean_grouped(k, u) = mean(k + (u-1).*K); % 对均值和标准差进行分组,使其更为均匀 sigma_grouped(k, u) = sigma(k + (u-1).*K); endend% % % mean_grouped% % % sigma_grouped% 计算Hybrid A/N方法中用到的中间参数aveSNRnfor n = 1:K aveSNRn(n) = quadl(@Hy_AN_modpdf, 10^(-4), 10^8, 10^(-12), [], vecN, mean_grouped, sigma_grouped, n);endaveSNRnfor i = 1:K for j= 1:vecN(i) Th_4(i,j) = Hy_AN_Th(10^(-3),'x_hi', 10^(-3), 10^4, K, vecN, mean_grouped, sigma_grouped, aveSNRn, i, j) endendhyANFair_4_gini = Fairness_Gini(N, Th_4)hyANFair_4_jain = Fairness_Jain(N, Th_4)hyANFair_4_log = Fairness_Log(N, Th_4)hyANTh_4 = sum(sum(Th_4))% rand('state', 0)% % [PBFS_Th_gini_100, PBFS_Fair_gini_100] = PBFS_Gini(N, mean, sigma, ones(1, N), 5000, 3)% [PBFS_Th_gini_500, PBFS_Fair_gini_500] = PBFS_Gini(N, mean, sigma, ones(1, N), 5000, 50)% [PBFS_Th_gini_3000, PBFS_Fair_gini_3000] = PBFS_Gini(N, mean, sigma, ones(1, N), 5000, 500)% % [PBFS_Th_jain_100, PBFS_Fair_jain_100] = PBFS_Jain(N, mean, sigma, ones(1, N), 5000, 3)% [PBFS_Th_jain_500, PBFS_Fair_jain_500] = PBFS_Jain(N, mean, sigma, ones(1, N), 5000, 50)% [PBFS_Th_jain_3000, PBFS_Fair_jain_3000] = PBFS_Jain(N, mean, sigma, ones(1, N), 5000, 500)% % [PBFS_Th_log_100, PBFS_Fair_log_100] = PBFS_Log(N, mean, sigma, ones(1, N), 5000, 3)% [PBFS_Th_log_500, PBFS_Fair_log_500] = PBFS_Log(N, mean, sigma, ones(1, N), 5000, 50)% [PBFS_Th_log_3000, PBFS_Fair_log_3000] = PBFS_Log(N, mean, sigma, ones(1, N), 5000, 500)% [S_PBFS_Th, S_PBFS_Fair] = S_PBFS_Gini(N, mean, sigma, ones(1, N), 1000)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 读入最优曲线% load mat_12_users_op_curve.matfigureplot(op_fair_gini,op_th_gini,'k.-')hold on;plot(rrFair_gini,rrTh,'kh')hold on;plot(maxCIFair_gini,maxCITh , 'ks');hold on;plot(pfFair_gini,pfTh , 'kd');hold on;plot(hyNAFair_1_gini, hyNATh_1, 'k<')hold on;plot(hyNAFair_2_gini, hyNATh_2, 'k>')hold on;plot(hyANFair_3_gini, hyANTh_3, 'k^')hold on;plot(hyANFair_4_gini, hyANTh_4, 'kv')hold on;% plot(PBFS_Fair_gini_100,PBFS_Th_gini_100, 'k*')% hold on;% plot(PBFS_Fair_gini_500,PBFS_Th_gini_500, 'k+')% hold on;% plot(PBFS_Fair_gini_3000,PBFS_Th_gini_3000, 'kp')% hold on;% plot(S_PBFS_Fair,S_PBFS_Th, 'k+')% hold on;grid on;legend('Framework','RR','Max C/I','PF','Hybrid N/A K=2','Hybrid N/A K=5','Hybrid A/N K=2','Hybrid A/N K=5', 4)xlabel('Fairness');ylabel('Throughput (bps/Hz)');figureplot(op_fair_jain,op_th_jain,'k.-')hold on;plot(rrFair_jain,rrTh,'kh')hold on;plot(maxCIFair_jain,maxCITh , 'ks');hold on;plot(pfFair_jain,pfTh , 'kd');hold on;plot(hyNAFair_1_jain, hyNATh_1, 'k<')hold on;plot(hyNAFair_2_jain, hyNATh_2, 'k>')hold on;plot(hyANFair_3_jain, hyANTh_3, 'k^')hold on;plot(hyANFair_4_jain, hyANTh_4, 'kv')hold on;% plot(PBFS_Fair_jain_100,PBFS_Th_jain_100, 'k*')% hold on;% plot(PBFS_Fair_jain_500,PBFS_Th_jain_500, 'k+')% hold on;% plot(PBFS_Fair_jain_3000,PBFS_Th_jain_3000, 'kp')% hold on;% plot(S_PBFS_Fair,S_PBFS_Th, 'k+')% hold on;grid on;legend('Framework','RR','Max C/I','PF','Hybrid N/A K=2','Hybrid N/A K=5','Hybrid A/N K=2','Hybrid A/N K=5', 3)xlabel('Fairness');ylabel('Throughput (bps/Hz)');figureplot(op_fair_log,op_th_log,'k.-')hold on;plot(rrFair_log,rrTh,'kh')hold on;plot(maxCIFair_log,maxCITh , 'ks');hold on;plot(pfFair_log,pfTh , 'kd');hold on;plot(hyNAFair_1_log, hyNATh_1, 'k<')hold on;plot(hyNAFair_2_log, hyNATh_2, 'k>')hold on;plot(hyANFair_3_log, hyANTh_3, 'k^')hold on;plot(hyANFair_4_log, hyANTh_4, 'kv')hold on;% plot(PBFS_Fair_log_100,PBFS_Th_log_100, 'k*')% hold on;% plot(PBFS_Fair_log_500,PBFS_Th_log_500, 'k+')% hold on;% plot(PBFS_Fair_log_3000,PBFS_Th_log_3000, 'kp')% hold on;% plot(S_PBFS_Fair,S_PBFS_Th, 'k+')% hold on;grid on;legend('Optimal Curve','RR','Max C/I','PF','Hybrid N/A K=2','Hybrid N/A K=5','Hybrid A/N K=2','Hybrid A/N K=5',3)xlabel('Fairness');ylabel('Throughput (bps/Hz)');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -