智能反射面RIS经典论文复现,主被动式波束赋形

这篇具有很好参考价值的文章主要介绍了智能反射面RIS经典论文复现,主被动式波束赋形。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

引言

本文主要复现IRS经典论文《Intelligent Reflecting Surface Enhanced Wireless Network via Joint Active and Passive Beamforming》中的单用户部分,给出相应的matlab代码,通过该论文可以了解IRS优化中的一个经典的优化方法,即半正定松弛(SDR)算法,并了解响应的对比算法,如IRS相位随机优化,无IRS以及AP-user最大比发送(MRT),AP-IRS MRT等等。对于多用户部分后续进行补充。具体解释部分可参考博文基于SDR的智能反射面波束成形设计。

该论文引用到1000多次,但是没有在网上找到相应的源码,因此复现以帮助自己理解,代码除高斯随机化部分参考相关网页,其他都是自己书写,该文主要关注复现,其他算法细节请仔细阅读该论文,文章不再详细描述,发出来希望对大家对做IRS相关的工作有用处。

本文主要内容

该论文主要是联合基站主动式和IRS被动式波束赋形优化,以最小化基站的发射功率,并以用户的QoS为约束,考虑了单用户和多用户的场景,本文首先复现单用户的场景,复现结果和论文的结果除数值有些差距,趋势基本吻合,可能某些参数没有对齐,也没有找到相应的参数,但是不影响对于算法的理解。其仿真场景如下

ris文献复现,无线通信仿真,5G,论文阅读
仿真场景

 场景中AP和IRS在同一水平线上,用户离AP-IRS水平线的距离为 ,AP到用户的水平距离为  ,AP和IRS的距离为 ,其他具体参数可以参考论文的实验部分,在此不在赘述。其优化问题如下

ris文献复现,无线通信仿真,5G,论文阅读
优化问题

为求解该问题,文中将其构造成一个齐次的二次约束二次规划问题(QCQP),然后转化为一个SDR问题,如下

ris文献复现,无线通信仿真,5G,论文阅读
求解优化问题

 有秩1约束,求解过程中先舍去该约束,该问题是一个标准的SDP问题,可以利用CVX求解,然后利用高斯随机化过程恢复,求得次优解,其恢复过程在该论文的GLOBECOM会议的版本中有详细描述,简述如下,首先对SDP得到的 V 进行特征值分解  ,然后令,其中ris文献复现,无线通信仿真,5G,论文阅读 ,随机产生多个  ,然后选取使得目标函数最大的 ,最后恢复ris文献复现,无线通信仿真,5G,论文阅读,详细解释可参考经典的SDR算法(下):SDR的具体使用细节与相关代码。

信道模型

在通信优化问题的仿真中,信道建模尤其关键,如果信道选择不好会极大地影响优化的性能,可能调试很久都没有出现较为理想的曲线都是因为信道模型选取的问题,主要是小尺度衰落模型的选取。该论文中路径损耗模型如下

其中  为单位距离的路径损耗,设置为-30 dB,  为单位距离1m, 为路径损耗因子,为两个设备之间的距离。

对于小尺度衰落部分,论文中考虑的是莱斯信道模型,AP-IRS之间的信道如下所示:

ris文献复现,无线通信仿真,5G,论文阅读

是莱斯因子,控制LOS分量和NLOS分量的大小关系, 和  分别是确定性的LoS分量和NLoS分量,其中NLoS分量满足瑞利衰落,对于LoS分量,由于论文中将基站和IRS分别建模为均匀线性阵列(ULA)和均匀面阵(UPA),由于论文中没有详述该部分的内容,在此进行简单的描述,一般ULA配置在x轴上,IRS在xz平面,需要利用UPA的导向矢量(水平和竖直方向导向矢量进行克罗内克积)乘以ULA的导向矢量,即

其中  为路径数,和为第n条路径的幅度和相位,和分别为发送和接收导向矢量,和分别为AoD和AoA的方位角和俯仰角。

对于水平沿着x轴的ULA,为入射波与y轴的方向,其导向矢量为

在3D信道模型中,UPA布置在xoz平面上,,其中为方位角,为俯仰角, ⊗ 为克罗内克积,导向矢量如下所示

其中为阵元之间的距离,通常设置为半波长,为波长。

为简化仿真,该论文中AP和IRS正对着,即实际上AoA和AoD都为0°,论文实验中设置,即AP和IRS之间只有一条LoS路径,没有NLoS部分,信道可简化为全一矩阵乘以路损,即使加上一个相位因素对优化结果没有影响,因此可以舍去信道延迟造成的相位偏转。而IRS和user以及AP和user之间是服从纯瑞利衰落信道。对于信道模型的选取,特别是否含有LoS路径也是通信优化中需要着重考虑的因素,会极大地影响优化的性能和调试过程。

仿真代码

仿真参数设置

clc
clear
epsilon = 1e-4; % 收敛停止条件
d0 = 51; % AP到IRS之间的距离
dv = 2; % 两条竖线之间的距离
% d = 50; % User和AP之间的水平距离
% d1 = sqrt(d^2+dv^2); % AP到User之间的距离
% d2 = sqrt((d0-d)^2+dv^2); % User到IRS之间的距离
C0 = db2pow(-30); % 参考距离时的路损
D0 = 1; % 参考距离
sigmaK2 = db2pow(-80); % 噪声功率
gamma = db2pow(10); % 信干噪比约束10dB

L = @(d, alpha)C0*(d/D0)^(-alpha); % 路损模型

% 路损参数
alpha_AI = 2;
alpha_Iu = 2.8;
alpha_Au = 3.5; 
beta_IU = 0; % IRS到User考虑瑞利衰落信道,AP和IRS之间为纯LoS信道

% 天线数
M = 4; % AP天线数
N = 30; % IRS单元个数 

仿真主循环

需要说明的是在此对信道根据噪声功率进行了归一化操作,使得信道参数数量级不至于太小,如果信道参数的数量级很小,CVX也难以进行优化,最好使得信道参数的数据集在1e-2次方以上,归一化并不影响目标函数的大小,是通信优化中的小技巧,有时候根据信道模型产生的信道参数难以得到较好的优化结果时,可以考虑进行归一化操作。

需要注意的是,根据第三节B部分求解得到的v,求共轭转置的时候,只需要进行转置,不然相位没有进行对齐,这里容易出现错误。

d = 20:5:50; % User和AP之间的水平距离
frame = 500;

P1 = zeros(length(d),1);
P2 = zeros(length(d),1);
P3 = zeros(length(d),1);
P4 = zeros(length(d),1);
P5 = zeros(length(d),1);
P6 = zeros(length(d),1);
P7 = zeros(length(d),1);
for i = 1:length(d)
    i
    d1 = sqrt(d(i)^2+dv^2); % AP到User之间的距离
    d2 = sqrt((d0-d(i))^2+dv^2); % User到IRS之间的距离
    for j = 1:frame
        G = sqrt(L(d0,alpha_AI))*ones(N,M); % LoS信道,除以噪声功率是为了进行噪声功率归一化,因为G和hr是级联的,对一个信道进行归一化即可
        hr = sqrt(L(d2,alpha_Iu)/(2*sigmaK2))*(randn(1,N)+1i*randn(1,N)); % 瑞利信道, IRS-User
        hd = sqrt(L(d1,alpha_Au)/(2*sigmaK2))*(randn(1,M)+1i*randn(1,M)); % 瑞利信道, IRS-User
        
        % SDR优化方法,得到下界
        [v, lower_bound] = SDR_solving(hr, G, hd, N);
        P_opt = gamma/(norm(v'*(diag(hr)*G)+hd)^2);
        P1(i) = P1(i) + P_opt;
        P4(i) = P4(i) + gamma / lower_bound;
        
        % AP-User MRT
        [v_aumrt, w_aumrt] = AUMRT(hd,hr,G);
        P_aumrt = gamma/(norm((v_aumrt.'*(diag(hr)*G)+hd)*w_aumrt)^2); % 注意这里的相位对齐后,对v只需要转置即可,不需要共轭转置
        P2(i) = P2(i) + P_aumrt;

        % AP-IRS MRT
        [v_aimrt, w_aimrt] = AIMRT(hd,hr,G);
        P_aimrt = gamma/(norm((v_aimrt.'*(diag(hr)*G)+hd)*w_aimrt)^2);
        P3(i) = P3(i) + P_aimrt;

        % 交替迭代算法
        P_AO = AO(hd,hr,G,epsilon,gamma);
        P7(i) = P7(i) + P_AO;

        % IRS随机相位算法
        theta = 2*pi*rand(1,N); % 随机初始化IRS的相位
        Theta = diag(exp(1i*theta));
        P_rand = gamma / (norm(hr*Theta*G+hd)^2);
        P5(i) = P5(i) + P_rand;

        % 无IRS的场景
        P6(i) = P6(i) + gamma / (norm(hd)^2);
    end
end
P1 = pow2db(P1 / frame);
P2 = pow2db(P2 / frame);
P3 = pow2db(P3 / frame);
P4 = pow2db(P4 / frame);
P5 = pow2db(P5 / frame);
P6 = pow2db(P6 / frame);
P7 = pow2db(P7 / frame);
plot(d, P1, 'g-','LineWidth',2.5)
hold on
plot(d, P2, 'r^-.','LineWidth',2)
plot(d, P3, 'cv-.','LineWidth',2)
plot(d, P4, 'mo-','LineWidth',1)
plot(d, P5, 'kp:','LineWidth',2)
plot(d, P6, 'ks:','LineWidth',2)
plot(d, P7, 'b:','LineWidth',2)
xlabel('AP-user horizontal distance, d(m)')
ylabel('Transmit power at the AP (dBm)')
grid on
legend('SDR','AP-suer MRT','AP-IRS MRT','Lower bound','Random pahse shift','Without IRS','Alternating optimization','location','best')

SDR优化

function [v, lower_bound] = SDR_solving(hr, G, hd, N)
    L = 1000; % 高斯随机化过程次数
    Phi = diag(hr)*G;
    R = [Phi*Phi' Phi*hd'; hd*Phi' 0];
    cvx_begin sdp quiet
        variable V(N+1,N+1) hermitian
        maximize(real(trace(R*V))+norm(hd)^2);
        subject to
            diag(V) == 1;
            V ==  hermitian_semidefinite(N+1);
    cvx_end
    
    lower_bound = cvx_optval;
    % 高斯随机化过程
    %% method 1
    max_F = 0;
    max_v = 0;
    [U, Sigma] = eig(V);
    for l = 1 : L
        r = sqrt(2) / 2 * (randn(N+1, 1) + 1j * randn(N+1, 1));
        v = U * Sigma^(0.5) * r;
        if v' * R * v > max_F
            max_v = v;
            max_F = v' * R * v;
        end
    end
    
    v = exp(1j * angle(max_v / max_v(end)));
    v = v(1 : N);
end

AP-user MRT以及AP-IRS MRT

该部分算法是给定基站波束的发射方向,按直接链路进行最大比发送,或者按照与IRS信道中一行的信道做MRT,然后利用第三节B部分的相位对齐的算法求解IRS的相位,最后算出基站的发射功率P,其代码如下:

% AP-User MRT
function [v_aumrt, w_aumrt] = AUMRT(hd,hr,G)
    w_aumrt = hd'/norm(hd);
    varphi0 = angle(hd*w_aumrt);
    v_aumrt = exp(1j*(varphi0 - angle(diag(hr)*G*w_aumrt)));
end

% AP-IRS MRT
function [v_aimrt, w_aimrt] = AIMRT(hd,hr,G)
    w_aimrt = G(1,:)'/norm(G(1,:));
    varphi0 = angle(hd*w_aimrt);
    v_aimrt = exp(1j*(varphi0 - angle(diag(hr)*G*w_aimrt)));
end

交替迭代优化

第三节B部分的算法,给定基站波束方向,优化IRS的相位,计算得到发射功率然后更新基站波束方向,并进行得带,直至收敛,其代码如下:

function [P] = AO(hd,hr,G,epsilon,gamma)
    w = hd'/norm(hd); % 论文中说以Ap-user MRT进行初始化
    P_new = 0;
    P = 10;
    while (abs(P-P_new)>epsilon)
        varphi0 = angle(hd*w);
        v = exp(1j*(varphi0 - angle(diag(hr)*G*w)));
        P = P_new;
        P_new = gamma/(norm((v.'*(diag(hr)*G)+hd)*w)^2);
        w = (v.'*diag(hr)*G+hd)'/norm((v.'*diag(hr)*G+hd));
    end
end

实验结果

只对实验中单用户系统随着 d 变化的图进行了仿真,其他图可以简单修改主循环进行仿真,得到的仿真图如下

ris文献复现,无线通信仿真,5G,论文阅读
复现得到的
ris文献复现,无线通信仿真,5G,论文阅读
论文原图

可以看出每个算法的走势基本上相似,数值上有一些差距,一是不太清楚作者是如何产生信道G,二是可能有些参数没有对齐,如IRS单元的个数,不过不影响对于算法的理解。

总结 

本文对经典的RIS文献的单用户场景进行了复现,并给出了一系列对比方法的复现,结果与论文给出的结果基本相近,通过对该论文的复现,增加了对IRS的理解,以及对比算法的选取。

欢迎大家批评指正,有不清楚的地方欢迎留言或私信交流,希望可以尽快复现出多用户场景的部分。文章来源地址https://www.toymoban.com/news/detail-848726.html

到了这里,关于智能反射面RIS经典论文复现,主被动式波束赋形的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 经典神经网络论文超详细解读(五)——ResNet(残差网络)学习笔记(翻译+精读+代码复现)

    《Deep Residual Learning for Image Recognition》这篇论文是何恺明等大佬写的,在深度学习领域相当经典,在2016CVPR获得best paper。今天就让我们一起来学习一下吧! 论文原文:https://arxiv.org/abs/1512.03385 前情回顾: 经典神经网络论文超详细解读(一)——AlexNet学习笔记(翻译+精读)

    2024年02月08日
    浏览(47)
  • RIS 系列 Synchronizing Vision and Language: Bidirectional Token-Masking AutoEncoder for RIS 论文阅读笔记

    写在前面   又是一周周末,可惜今天运气不咋好,上午被小汽车撞自行车后座上了,手臂皮外伤,所幸人没事。下午继续淦论文吧。 论文地址:Synchronizing Vision and Language: Bidirectional Token-Masking AutoEncoder for Referring Image Segmentation 代码地址:原论文未提供 预计投稿于:CVPR 2

    2024年02月03日
    浏览(50)
  • 智能超表面(RIS)原理,具体实现,全向智能超表面(IOS)应用

    随着5G时代的快速崛起,物联网技术作为新一代的通信技术,通过智能感知、识别技术与普适计算等通信感知技术,广泛应用于网络的融合中,也因此被称为继计算机、互联网之后世界信息产业发展的第三次浪潮[1]。物联网将连接数十亿个嵌入在物体和环境中的小型计算设备

    2024年02月03日
    浏览(76)
  • RIS 系列 Mask Grounding for Referring Image Segmentation 论文阅读笔记

    写在前面   一篇 Arxiv 上面的新文章,看看清华大佬们的研究。 论文地址:Mask Grounding for Referring Image Segmentation 代码地址:原论文说将会开源,静待佳音~ 预计提交于:CVPR 2024 Ps:2023 年每周一篇博文阅读笔记,主页 更多干货,欢迎关注呀,期待 6 千粉丝有你的参与呦~   

    2024年02月03日
    浏览(55)
  • 《天池精准医疗大赛-人工智能辅助糖尿病遗传风险预测》模型复现和数据挖掘-论文_企业

    进入21世纪,生命科学特别是基因科技已经广泛而且深刻影响到每个人的健康生活,于此同时,科学家们借助基因科技史无前例的用一种全新的视角解读生命和探究疾病本质。人工智能(AI)能够处理分析海量医疗健康数据,通过认知分析获取洞察,服务于政府、健康医疗机构

    2023年04月09日
    浏览(62)
  • RIS 系列 See-Through-Text Grouping for Referring Image Segmentation 论文阅读笔记

    写在前面   最近 Arxiv 没啥新东西了,找篇老的文章读读,看看它们之间的区别在哪里。 论文地址:See-Through-Text Grouping for Referring Image Segmentation 代码地址:源文未提供 收录于:ICCV 2019 Ps:2023 年的最后一篇博文阅读笔记,我今年的 flag 也实现啦。主页 更多干货,欢迎关注

    2024年02月03日
    浏览(50)
  • RIS 系列 Beyond One-to-One: Rethinking the Referring Image Segmentation 论文阅读笔记

    写在前面   又是一周,没思路调代码囧么办?当然是继续淦论文了,(┬_┬) 论文地址:Beyond One-to-One: Rethinking the Referring Image Segmentation 代码地址:https://github.com/toggle1995/RIS-DMMI 收录于:ICCV2023 Ps:2023 年每周一篇博文阅读笔记,主页 更多干货,欢迎关注呀,期待 6 千粉丝

    2024年02月20日
    浏览(44)
  • 新质生产力人工智能+系列4:6G时代AI研究-智慧海港天线与智能超表面(RIS)规划(含任务、数据、代码、仿真资源)

     在新质生产力高质量发展的要求下,中国移动在“人工智能+”和 “数据要素X”方面不断发力,持续发布高质量电信数据集。围绕网元智能、运维智能、服务智能三大方向建设,涵盖无线信道、基站、云网、核心网、哑资源等多领域,支持感知、诊断、预测、决策、大模型

    2024年04月23日
    浏览(76)
  • 主动式和被动式电容笔哪个好用?苹果平板平替笔排行

    被动式电容笔与主动式电容笔最大的不同在于主动式电容笔具有更广泛的应用领域,可以与不同种类的电容屏幕进行匹配。随着人们对其了解的不断深入,其应用也日益广泛。除此之外,平替电容笔的技术,也在不断的改进和提高,逐渐走向了更加实用性。下面,我就给大家

    2024年02月11日
    浏览(54)
  • C#中的反射(Reflection)使用经典案例

    C#中的反射(Reflection)是.NET框架提供的一种强大的运行时元编程机制,它允许程序在运行时获取类型信息、创建对象实例、调用方法、访问字段和属性等,而这些操作在编译时可能是未知的。以下是几个使用反射的典型场景: 1. 动态加载和调用类的方法 假设有一个库包含多

    2024年02月02日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包