您现在的位置:首页 >> 通信 >> 内容

m基于大规模MIMO技术的5G网络上下行功率优化算法matlab仿真

时间:2023/7/30 20:12:47 点击:

  核心提示:0X_015m,包括程序操作录像...

1.完整项目描述和程序获取

>面包多安全交易平台:https://mbd.pub/o/bread/ZJyUmpxp

>如果链接失效,可以直接打开本站店铺搜索相关店铺:

点击店铺

>如果链接失效,程序调试报错或者项目合作可以加微信或者QQ联系。

2.部分仿真图预览



3.算法概述

   基于大规模MIMO技术的5G网络上下行功率优化算法"是针对5G网络中的大规模多输入多输出(MIMO)系统进行功率优化的一种算法。该算法旨在通过优化上行和下行通信的功率分配,以实现网络资源的高效利用、提高系统容量和降低干扰。其中,注水法(Water Filling)和Dinkelbach法是两种常用的功率优化方法,它们在5G网络中广泛应用于功率控制和资源分配。

4.部分源码

.............................................................................

%%

%上行

 

K  = 20; % 用户数量

N  = 128; % 基站接收天线数量

Np = 1000; % 仿真尝试次数

 

 

l      = 300; % 区域大小(边长)

a      = l^2; % 区域面积

X_cell = [-l/2:1:l/2]; % 坐标格点集合

Y_cell = [-l/2:1:l/2];

 

 

Uxc = 0; % 基站中心横坐标

Uyc = 0; % 基站中心纵坐标

 

 

Ux = round(l.*rand(K,Np) - l/2); % 随机生成K个用户的横坐标,大小为(K x Np)

Uy = round(l.*rand(K,Np) - l/2); % 随机生成K个用户的纵坐标,大小为(K x Np)

 

 

D = zeros(K, Np); % 存储每个用户与基站之间的距离,大小为(K x Np)

for np=1:Np

    for k=1:K

        D(k, np) = sqrt((Ux(k, np) - Uxc)^2 + (Uy(k, np) - Uyc)^2); % 计算距离

    end

end

 

 

PLo    = 10^(-0.1 * 84); % 路径损耗的参考值

do     = 35; % 参考距离

No_dBm = -140; % 噪声功率的参考值(dBm)

No     = (1e-3) * 10^(0.1 * No_dBm); % 噪声功率(瓦特)

F      = 1; % 带宽单位修正因子

eta    = 3.75; % 路径损耗系数

.................................................................

for np=1:Np

    np

    for i=1:length(P_max)

        % 设置所有用户的发射功率为相同的最大功率

        P(:,i)                                                                                 = P_max(i) * ones(K,1); 

        % 计算总容量和信道容量(不考虑干扰)

        [Ctot(i,np), C(:,i,np), SNR(:,i,np), CSI(:,i,np)]                                      = SumCapacityCalc(h(:,:,np), Pn, P(:,i), B, false); 

        % 计算总容量和信道容量(考虑干扰)

        [Ctot_I(i,np), C_I(:,i,np), SINR(:,i,np), CSI_I(:,i,np)]                               = SumCapacityCalc(h(:,:,np), Pn, P(:,i), B, true); 

        % 计算能量效率

        [EE(i,np)]                                                                             = EnergyEfficiencyCalc(Ctot_I(i,np), Performance, P_max(i), P_c); 

        % 通过Dinkelbach算法计算能量效率最优的发射功率

        [EE_opt(i,np), P_opt_EE(:,i,np), Ctot_EE(i,np)]                                        = Dinkelbach1(B, CSI(:,i,np), Performance, P_c, Ctot(i,np), P_max(i), h(:,:,np), Pn, i, EE_opt(:,np), EE(i,np), P_opt_EE(:,:,np));

        % 计算通过Dinkelbach算法得到的总容量和信道容量(考虑干扰)

        [Ctot_EE_opt_I(i,np), C_EE_opt_I(:,i,np), SINR_EE_opt_I(:,i,np), CSI_EE_opt_I(:,i,np)] = SumCapacityCalc(h(:,:,np), Pn, P_opt_EE(:,i,np), B, true); 

        %计算通过Dinkelbach算法得到的能量效率(考虑干扰)

        [EE_opt_I(i, np)]                                                                      = EnergyEfficiencyCalc(Ctot_EE_opt_I(i,np), Performance, P_opt_EE(:,i,np), P_c); 

        

    end

end

 

.......................................................................

figure;

title(['注水法功率分配 Vs 总功率 = ', num2str(P_max(i))]);

hold on;

bar(P_opt(:,i,Np), 'r');

yline(WaterLevel(i,Np), '--');

xlim([0 K+1]);

xlabel ('Users');

ylabel ('1 / \nu');

grid on;

 

figure;

title('一次尝试的信道状态信息的倒数');

hold on;

bar(1./CSI_I(:,i,Np));

xlim([0 K+1]);

xlabel ('Users');

ylabel ('1 / CSI');

grid on;

 

figure;

title(['能量效率 Vs 天线数量 = ', num2str(N)]);

hold on;

% 没有干扰和Dinkelbach

semilogy(P_dB_max, EE_opt_av,'-bs',...

    'LineWidth',1,...

    'MarkerSize',6,...

    'MarkerEdgeColor','k',...

    'MarkerFaceColor',[0.9,0.0,0.0]);

% 带干扰和Dinkelbach

semilogy(P_dB_max, EE_opt_I_av,'-mo',...

    'LineWidth',1,...

    'MarkerSize',6,...

    'MarkerEdgeColor','k',...

    'MarkerFaceColor',[0.5,0.9,0.0]);

% 带干扰和均匀功率条件

semilogy(P_dB_max, EE_av,'-r>',...

    'LineWidth',1,...

    'MarkerSize',6,...

    'MarkerEdgeColor','k',...

    'MarkerFaceColor',[0.9,0.9,0.0]);

 

xlabel ('Power dB [dB W]');

ylabel ('能量效率 [Megabit / Joule]');

legend('无干扰和Dinkelbach', '带干扰和Dinkelbach', '带干扰和均匀功率条件', 'Location', 'northwest');

grid on;

0X_015m

---

作者:我爱C编程 来源:我爱C编程
本站最新成功开发工程项目案例
相关评论
发表我的评论
  • 大名:
  • 内容:
本类固顶
  • 没有
  • FPGA/MATLAB商业/科研类项目合作(www.store718.com) © 2025 版权所有 All Rights Reserved.
  • Email:1480526168@qq.com 站长QQ: 1480526168