• 大小: 19KB
    文件类型: .zip
    金币: 2
    下载: 3 次
    发布日期: 2021-05-10
  • 语言: Matlab
  • 标签: D2D  

资源简介

D2D信道分配仿真,算法有启发式算法,最优算法等,仿真介入D2D对随干扰门限的变化等。

资源截图

代码片段和文件信息

N=33; %num of up_link channels
R=500; %celluar radius
center=[00]; %coorninate of celluar center
max_d2d_dist=50;
BW=10e7;     %10MHz
N0_spec=-174; % -174dBm/Hz
ce_snr_threshold=10; % snr 10dB;
Pmax=23; %max transmit 23dBm;
T0=-10;  %SNIR threshold 
I0=-160:4:-20; %interference threshold
LOOP=1000;

num_d2d_heu=zeros(size(I0));%启发式算法 不同干扰情况下的接入对数的和向量
num_d2d_opt=zeros(size(I0));% 最优化算法
num_d2d_random=zeros(size(I0));%随机算法
int_heu=0;
int_opt=0;
int_random=0;

%% generate and plot celluar users and D2D users
for L=1:LOOP
    fprintf(‘The %d calculate\n‘L);
    index=0;
for I=I0
    index=index+1;
ues=gen_user(centerMR);  %产生蜂窝用户 
[tr_d2drc_d2d]=gen_d2d(centermax_d2d_distKR); %产生D2D对

%% 画出整个蜂窝的撒点图
% rectangle(‘Position‘[center(1)-Rcenter(2)-R2*R2*R]‘Curvature‘[11])axis equal
% hold on;
% scatter(00‘filled‘‘d‘);
% hold on;
% scatter(real(ues)imag(ues)30‘r‘‘LineWidth‘1‘Marker‘‘*‘);
% hold on;
% scatter(real(tr_d2d)imag(tr_d2d)40‘b‘‘LineWidth‘2‘Marker‘‘o‘);
% hold on;
% scatter(real(rc_d2d)imag(rc_d2d)40‘g‘‘LineWidth‘2‘Marker‘‘o‘);

%% calculate N0
N0=10*log10(10^(N0_spec/10)*(BW/N));  % 噪声功率

%% calculate celluar users to basestation path loss and transmit power
pathloss_cb=cal_pathloss(ues);  %计算蜂窝用户到基站的链路增益
ce_power=ce_snr_threshold+N0-pathloss_cb;  %计算蜂窝用户的发送功率
ce_power=min(Pmaxce_power); % 不能超过蜂窝用户的最大发射功率

%% calculate Akm  Akm=Pm*Hkm
%Hkm
dist_km=bsxfun(@minusuesrc_d2d.‘);  %计算蜂窝用户与D2D接收端的距离矩阵
Hkm=cal_pathloss(dist_km);      %计算蜂窝用户与D2D接收端的增益矩阵
Amk=bsxfun(@plusce_powerHkm); % 计算蜂窝用户对D2D对的干扰 
Hdk=cal_pathloss_d2d(tr_d2drc_d2d); %D2D对之间的增益 
interf_noise=10*log10(10^(N0/10)+10.^(Amk./10));  %蜂窝用户对D2D对用的干扰与噪声之和
Pkm=bsxfun(@minusT0+interf_noiseHdk‘); %通过信干噪比的门限值,反过来算D2D的发射功率矩阵
Hsk=cal_pathloss(tr_d2d);  %D2D发射端到基站的链路增益
Ikm=bsxfun(@plusPkmHsk‘); %计算D2D对基站的干扰矩阵  

%% heuristic algorithm
theta_km=zeros(size(Ikm));  %准入矩阵
theta_km(IkmIk0m=get_Ik0m(Ikmtheta_kmINM); %根据空信道的个数与准入矩阵去除干扰较大的D2D用户对
K0=size(Ik0m1);  %拟接入的D2D用户对的个数 
[num_d2d_acc_heuint_heu]=heuristic(Ik0mK0INM); %启发式算法  计算接入D2D的个数  
num_d2d_heu(index)=num_d2d_heu(index)+num_d2d_acc_heu;

%% optimal algorithm
[num_d2d_acc_optint_opt]=optimal(Ik0mK0IN); %最优化 算法  
num_d2d_opt(index)=num_d2d_opt(index)+num_d2d_acc_opt;

%% random algorithm
[nun_d2d_acc_randint_random]=random_algorithm(IkmKMNI); %随机算法 
num_d2d_random(index)=num_d2d_random(index)+nun_d2d_acc_rand;

end
end

ave_int_heu=ave_int_heu/LOOP;
ave_int_opt=ave_int_opt/LOOP;
ave_int_random=ave_int_random/LOOP;

plot(I0ave_int_heu‘b:d‘I0ave_int_opt‘r-.p‘I0ave_int_random‘-g<‘);
xlabel(‘interference threshold of BS(dBm)‘);
ylabel(‘average interference caused by each D2D transmission(dBm)‘);
legend(‘proposed heuristic algorithm‘‘optimal algorithm‘‘random algorithm‘);




 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-06-10 23:21  D2D3\
     目录           0  2017-06-11 17:57  D2D3\D2D\
     文件        3182  2017-06-10 23:17  D2D3\D2D\ave_interference.m
     文件        3591  2017-06-11 12:12  D2D3\D2D\ave_int_distance.asv
     文件        3661  2017-06-11 17:45  D2D3\D2D\ave_int_distance.m
     文件         227  2017-06-10 14:35  D2D3\D2D\cal_pathloss.m
     文件         232  2017-06-10 14:35  D2D3\D2D\cal_pathloss_d2d.m
     目录           0  2017-06-10 14:33  D2D3\D2D\D2D\
     文件         240  2017-06-08 20:05  D2D3\D2D\D2D\cal_pathloss.m
     文件         268  2017-06-08 20:25  D2D3\D2D\D2D\cal_pathloss_d2d.m
     文件        1445  2017-06-08 15:12  D2D3\D2D\D2D\gen_d2d.m
     文件         588  2017-06-08 14:51  D2D3\D2D\D2D\gen_user.m
     文件         370  2017-06-09 11:13  D2D3\D2D\D2D\get_Ik0m.m
     文件         483  2017-06-09 14:09  D2D3\D2D\D2D\heuristic.m
     文件        1853  2017-06-09 16:11  D2D3\D2D\D2D\main.m
     文件        4325  2017-06-09 17:00  D2D3\D2D\Edmonds.m
     文件        1445  2017-06-08 15:12  D2D3\D2D\gen_d2d.m
     文件         588  2017-06-08 14:51  D2D3\D2D\gen_user.m
     文件         382  2017-06-10 14:36  D2D3\D2D\get_Ik0m.m
     文件         666  2017-06-11 17:37  D2D3\D2D\heuristic.m
     文件        3193  2017-06-10 20:56  D2D3\D2D\main.m
     文件         650  2017-06-11 13:44  D2D3\D2D\optimal.m
     文件        3259  2017-06-10 22:56  D2D3\D2D\pair_max_d2d.m
     文件         741  2017-06-11 17:41  D2D3\D2D\random_algorithm.asv
     文件         766  2017-06-11 17:42  D2D3\D2D\random_algorithm.m

评论

共有 条评论