⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 evaluation_6_users_all_index.m

📁 TDM系统中的最优折中曲线搜索及调度算法性能评估
💻 M
字号:
% =========================================================================% Copyright (c)2006, 东南大学移动通信国家重点实验室% All rights reserved.%% 文件名称:Evaluation_6_users_all_index.m% function描述:6用户场景下的调度算法性能评估% 当前版本: 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 = 12;% 计算用户位置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=3K = 3;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=3K = 3;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_6_users_op_curve.matfigureplot(aimFair_gini,opTh_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('Optimal Curve','RR','Max C/I','PF','Hybrid N/A K=2','Hybrid N/A K=3','Hybrid A/N K=2','Hybrid A/N K=3', 'PBFS D=6', 'PBFS D=100', 'PBFS D=1000', 4)xlabel('Fairness');ylabel('Throughput (bps/Hz)');figureplot(aimFair_jain,opTh_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('Optimal Curve','RR','Max C/I','PF','Hybrid N/A K=2','Hybrid N/A K=3','Hybrid A/N K=2','Hybrid A/N K=3', 'PBFS D=6', 'PBFS D=100', 'PBFS D=1000', 3)xlabel('Fairness');ylabel('Throughput (bps/Hz)');figureplot(aimFair_log,opTh_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=3','Hybrid A/N K=2','Hybrid A/N K=3', 'PBFS D=6', 'PBFS D=100', 'PBFS D=1000', 3)xlabel('Fairness');ylabel('Throughput (bps/Hz)');

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -