在好例子网,分享、交流、成长!
您当前所在位置:首页MATLAB 开发实例MATLAB语言基础 → 多用户毫米波通信覆盖的算法优化

多用户毫米波通信覆盖的算法优化

MATLAB语言基础

下载此实例
  • 开发语言:MATLAB
  • 实例大小:1.79M
  • 下载次数:6
  • 浏览次数:70
  • 发布时间:2021-04-24
  • 实例类别:MATLAB语言基础
  • 发 布 人:Respect8
  • 文件格式:.zip
  • 所需积分:3
 相关标签: surface intel FACE mult User

实例介绍

【实例简介】一种分布式多用户毫米波系统,在基站与用户无法直接连接时,增强mmWave信号覆盖

【实例截图】

【源码目录】

intelligent-reflecting-surface-aided-swipt-joint-waveform-active-and-passive-beamforming-design-master

├── assets
│   ├── cdf_los.tex
│   ├── layout.pdf
│   ├── layout.pdf_tex
│   ├── layout.svg
│   ├── path_loss.tex
│   ├── re_csi.tex
│   ├── re_distance.tex
│   ├── re_irs_10mhz.tex
│   ├── re_irs_1mhz.tex
│   ├── re_los.tex
│   ├── re_noise.tex
│   ├── re_quantization.tex
│   ├── re_reflector.tex
│   ├── re_subband.tex
│   ├── re_tx.tex
│   ├── scaling_reflector.tex
│   ├── scaling_tx.tex
│   ├── splitting_ratio_noise.tex
│   ├── system.pdf
│   ├── system.pdf_tex
│   ├── system.svg
│   └── waveform_subband.tex
├── letter.pdf
├── letter.tex
├── library.bib
├── main.pdf
├── main.tex
├── response.pdf
├── response.tex
└── src
    ├── config
    │   ├── config_re_csi.m
    │   ├── config_re_distance.m
    │   ├── config_re_irs.m
    │   ├── config_re_lc.m
    │   ├── config_re_los.m
    │   ├── config_re_noise.m
    │   ├── config_re_quantization.m
    │   ├── config_re_reflector.m
    │   ├── config_re_subband.m
    │   ├── config_re_tx.m
    │   ├── config_scaling_reflector.m
    │   └── config_scaling_tx.m
    ├── data
    │   ├── re_csi
    │   ├── re_distance
    │   ├── re_irs
    │   ├── re_lc
    │   ├── re_los
    │   ├── re_noise
    │   ├── re_quantization
    │   ├── re_reflector
    │   ├── re_subband
    │   ├── re_tx
    │   ├── scaling_reflector
    │   └── scaling_tx
    ├── figures
    │   ├── cdf_los.fig
    │   ├── path_loss.fig
    │   ├── re_csi.fig
    │   ├── re_distance.fig
    │   ├── re_irs_10mhz.fig
    │   ├── re_irs_1mhz.fig
    │   ├── re_los.fig
    │   ├── re_noise.fig
    │   ├── re_quantization.fig
    │   ├── re_reflector.fig
    │   ├── re_subband.fig
    │   ├── re_tx.fig
    │   ├── scaling_reflector.fig
    │   ├── scaling_tx.fig
    │   ├── splitting_ratio_noise.fig
    │   └── waveform_subband.fig
    ├── lib
    │   ├── block_diagonal.m
    │   ├── cascaded_channel.m
    │   ├── channel_response.m
    │   ├── composite_channel.m
    │   ├── composite_channel_ideal.m
    │   ├── coordinate.m
    │   ├── current_gp.m
    │   ├── current_sdr.m
    │   ├── hermitianize.m
    │   ├── imperfect_csi.m
    │   ├── initialize_waveform.m
    │   ├── irs_linear.m
    │   ├── irs_sdr.m
    │   ├── multipath_fading.m
    │   ├── path_loss.m
    │   ├── precoder_mrt.m
    │   ├── quantized_irs.m
    │   ├── rate_gp.m
    │   ├── re_sample_swipt_gp.m
    │   ├── re_sample_swipt_gp_benchmark.m
    │   ├── re_sample_swipt_imperfect_csi.m
    │   ├── re_sample_swipt_low_complexity.m
    │   ├── re_sample_swipt_quantized_irs.m
    │   ├── re_sample_wit_wf.m
    │   ├── re_sample_wpt_ass.m
    │   ├── re_sample_wpt_sdr.m
    │   ├── re_sample_wpt_smf.m
    │   ├── scaled_matched_filter.m
    │   ├── spatial_correlation.m
    │   ├── subband_frequency.m
    │   ├── tap_tgn.m
    │   ├── water_filling.m
    │   ├── waveform_ass.m
    │   ├── waveform_gp.m
    │   └── waveform_sdr.m
    ├── plot
    │   ├── eval_eigenratio.m
    │   ├── plot_pathloss.m
    │   ├── plot_re_csi.m
    │   ├── plot_re_distance.m
    │   ├── plot_re_irs.m
    │   ├── plot_re_lc.m
    │   ├── plot_re_los.m
    │   ├── plot_re_noise.m
    │   ├── plot_re_quantization.m
    │   ├── plot_re_reflector.m
    │   ├── plot_re_subband.m
    │   ├── plot_re_tx.m
    │   ├── plot_scaling_reflector.m
    │   └── plot_scaling_tx.m
    ├── rcs
    │   ├── re_csi.pbs
    │   ├── re_distance.pbs
    │   ├── re_irs.pbs
    │   ├── re_lc.pbs
    │   ├── re_los.pbs
    │   ├── re_noise.pbs
    │   ├── re_quantization.pbs
    │   ├── re_reflector.pbs
    │   ├── re_subband.pbs
    │   ├── re_tx.pbs
    │   ├── scaling_reflector.pbs
    │   └── scaling_tx.pbs
    ├── re_csi.m
    ├── re_distance.m
    ├── re_irs.m
    ├── re_lc.m
    ├── re_los.m
    ├── re_noise.m
    ├── re_quantization.m
    ├── re_reflector.m
    ├── re_subband.m
    ├── re_tx.m
    ├── scaling_reflector.m
    ├── scaling_tx.m
    ├── setup.m
    └── tools
        ├── apply_group_style.m
        ├── apply_style.m
        ├── struct2variables.m
        └── variables2struct.m

21 directories, 135 files



【核心代码】

% UPA_reflecting_surface
clear;close all;clc;
%% BS parameters settings
Nx = 8;    % TX antenna nums
Ny = 4;    % TX antenna nums
K = 2;     % user nums
L = 2;     % NLOS path nums
%SNR = 30; % SNR in dB
N = Nx*Ny;

d_BI = 50;
cord = [(2*rand(K,1)-1) 4, 2*rand(K,1)-1]*10;
for ii=1:K
    c_IU(ii,:) = cord(ii,:)-[40, 30];
end

d_IU = sqrt(sum(c_IU.^2, 2));


%% surface parameters
Mx = 5;                      % x-axis surface element nums
My = [1,2,3,4,5,6]*2;   % y-axis surface element nums
M  = Mx*My;


%% optimization parameters
P_max = 1; % W (30dBm)
sigma = 3.16e-12; % dBm-->W (-85dBm)

SR = zeros(length(My),1);
SR1 = zeros(length(My),1);
SR2 = zeros(length(My),1);
SR_rand = zeros(length(My),1);

%% plot
for mi=1:length(My)
for test = 1:1000

%% BS-IRS channel matrix
G = BS_IRS(Mx,My(mi),Nx,Ny,L,d_BI);

%% IRS-user channel matrix
H = FF_User(Mx,My(mi),K,d_IU);

%% AO algorithm
[ Sum_Rate, P, Theta ] = Opt_func( M(mi),N,K,P_max,sigma,H,G );

DisSumRate1 = DiscreteSum( 1,Theta,K,P,sigma,H,G );
DisSumRate2 = DiscreteSum( 2,Theta,K,P,sigma,H,G );

Sum_rand = RandSum( 0, M(mi),N,K,P_max,sigma,H,G );


SR(mi) = SR(mi) Sum_Rate;
SR1(mi) = SR1(mi) DisSumRate1;
SR2(mi) = SR2(mi) DisSumRate2;
SR_rand(mi) = SR_rand(mi) Sum_rand;
end

SR(mi) = SR(mi)/test;
SR1(mi) = SR1(mi)/test;
SR2(mi) = SR2(mi)/test;
SR_rand(mi) = SR_rand(mi)/test;
end


figure(1);
plot(M, SR, 'b-.o', 'LineWidth',1,'MarkerSize',8);
hold on;
plot(M, SR1, '--s', 'color', [0.13 0.55 0.13], 'LineWidth',1,'MarkerSize',10);
plot(M, SR2, 'r--^', 'LineWidth',1,'MarkerSize',8);
plot(M, SR_rand, 'm-*', 'LineWidth',1,'MarkerSize',10);
set(gca,'xtick',M);
xlim([M(1), M(end)]);
xlabel('M'),ylabel('Sum-rate'); %xlim([1, iter]);
grid on;
handle=legend('Proposed, $\mathcal{F}_{\rm c}$','Proposed, $\mathcal{F}_{\rm d}$, $b=1$',...
    'Proposed, $\mathcal{F}_{\rm d}$, $b=2$', 'ZF Random PBF');
set(handle, 'Interpreter', 'LaTex');
set(handle, 'FontSize', 13, 'Location', 'best');
set(gca, 'FontSize', 12);

标签: surface intel FACE mult User

实例下载地址

多用户毫米波通信覆盖的算法优化

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警