智能反射面(IRS)在无线通信安全领域应用的论文复现

这篇具有很好参考价值的文章主要介绍了智能反射面(IRS)在无线通信安全领域应用的论文复现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

引言

Zhang Rui老师的将IRS引入无线通信安全的论文《Secure Wireless Communication via Intelligent Reflecting Surface》有较高的引用量,在此给出要论文的复现及代码。

主要问题

该论文的目的是引入IRS并联合优化基站的主动式波束和IRS的被动式波束,使得抑制窃听者信噪比的同时最大化合法用户处的信噪比。其场景如下:

智能反射面(IRS)在无线通信安全领域应用的论文复现
系统模型图

 因此可以构造出以下的优化问题:

智能反射面(IRS)在无线通信安全领域应用的论文复现
优化问题

 即在基站发射功率的约束下,优化基站和IRS的波束使得保密速率最大化。

给定IRS相位矩阵时,优化基站波束

可简单地将求绝对值的平方进行简单展开,令

智能反射面(IRS)在无线通信安全领域应用的论文复现

将对数相减变换为真数相除,对数是单调递增函数,因此最大化对数,即是最大化真数即可。因此,可简化为以下的问题: 

智能反射面(IRS)在无线通信安全领域应用的论文复现

该结构可以参考文献[1]直接给出解的形式如下: 

 其中对应于矩阵智能反射面(IRS)在无线通信安全领域应用的论文复现的最大特征值对于的归一化特征向量。

给定基站波束,优化IRS相位矩阵

该部分推导较为复杂,可以详细阅读论文,如果有不懂的地方,可以评论或私信交流。主要是利用了分式规划将其转化为一个半正定松弛问题,求解该问题然后利用高斯随机化过程进行求解,转化后的问题如下所示:

智能反射面(IRS)在无线通信安全领域应用的论文复现

 仿真复现

仿真参数设置

clc;clear;

epsilon = 1e-3; % 收敛停止条件

% 天线数
M = 4; % AP天线数
Nx = 8;
Nz = 8;
N = Nx*Nz; % IRS单元个数 

% 用户位置
APloc = [0;0]; % AP位置
userloc = [150;0]; % user位置
edloc= [145;0]; % 窃听者位置
IRSloc = [145;5]; % IRS位置

C0 = db2pow(-30); % 参考距离时的路损
D0 = 1; % 参考距离
sigmaK2 = db2pow(-80); % 噪声功率,-80dBm

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

% 路损参数
alpha_AU = 3;
alpha_AE = 3;
alpha_AI = 2.2;
alpha_IU = 3;
alpha_IE = 3;

% 莱斯因子
K_AU = db2pow(1);
K_AE = db2pow(1);

K_AI = db2pow(1);
K_IU = db2pow(1);
K_IE = db2pow(1);


R = 1000; % 信道实现数

P_AP = db2pow(25); % 发射功率15dBm

 产生信道

论文中说明信道都为独立的莱斯信道,论文中有些信道考虑的是具有空间相关性的莱斯信道,需要在NLoS部分前后乘以一个相关系数矩阵,具体内容可以参考论文[1],为简化,在此没有考虑相关系数矩阵,则可以产生如下信道:

dAE = norm(APloc-edloc);
hAE = sqrt(L(dAE,alpha_AE)/sigmaK2)*(sqrt(1/(1+K_AE))*ones(M,1)'+sqrt(K_AE/(1+K_AE))*(randn(1,M)+1i*randn(1,M))/sqrt(2));

dAU = norm(APloc-userloc);
hAU = sqrt(L(dAU,alpha_AU)/sigmaK2)*(sqrt(1/(1+K_AU))*ones(M,1)'+sqrt(K_AU/(1+K_AU))*(randn(1,M)+1i*randn(1,M))/sqrt(2)); 

dAI = norm(APloc-IRSloc);
thetaIRS = atan(145/5);phi = 0; thetaAP = atan(5/145);
HAI = sqrt(L(dAI,alpha_AI)/sigmaK2)*(sqrt(K_AI/(1+K_AI))*URA_sv(thetaIRS, phi,Nx,Nz)*ULA_sv(thetaAP,M)'+sqrt(1/(1+K_AI))*(randn(N,M)+1i*randn(N,M))/sqrt(2));

dIU = norm(IRSloc-userloc);
thetaIRS = -pi/4; phi = 0;
hIU = sqrt(L(dIU,alpha_IU))*(sqrt(K_IU/(1+K_IU))*URA_sv(thetaIRS, phi,Nx,Nz)'+sqrt(1/(1+K_IU))*(randn(1,N)+1i*randn(1,N))/sqrt(2));

dIE = norm(IRSloc-edloc);
thetaIRS = 0; phi = 0;
hIE = sqrt(L(dIE,alpha_IE))*(sqrt(K_IE/(1+K_IE))*URA_sv(thetaIRS, phi,Nx,Nz)'+sqrt(1/(1+K_IE))*(randn(1,N)+1i*randn(1,N))/sqrt(2));

 迭代优化

q = 2*pi*rand(1,N); % 随机初始化IRS的相位
Q = diag(exp(1i*q));

% 给定q优化W
A = (hIU*Q*HAI+hAU)'*(hIU*Q*HAI+hAU); % 公式(9)
B = (hIE*Q*HAI+hAE)'*(hIE*Q*HAI+hAE); % 公式(10)

I_M = eye(M);
C = (B+1/P_AP*I_M)\(A+1/P_AP*I_M);
[V,D] = eig(C); % 特征值分解
[d,ind] = sort(diag(D));
u_max = V(:,ind(end))/norm(V(:,ind(end)));
w_opt = sqrt(P_AP) * u_max;

% 给定W优化q
hU = conj(hAU)*conj(w_opt)*(w_opt.')*(hAU.');
hE = conj(hAE)*conj(w_opt)*(w_opt.')*(hAE.');
GU = [diag(conj(hIU))*conj(HAI)*conj(w_opt)*(w_opt.')*(HAI.')*diag(hIU)  diag(conj(hIU))*conj(HAI)*conj(w_opt)*(w_opt.')*(hAU.');...
    conj(hAU)*conj(w_opt)*(w_opt.')*(HAI.')*diag(hIU) 0];
GE = [diag(conj(hIE))*conj(HAI)*conj(w_opt)*(w_opt.')*(HAI.')*diag(hIE)  diag(conj(hIE))*conj(HAI)*conj(w_opt)*(w_opt.')*(hAE.');...
    conj(hAE)*conj(w_opt)*(w_opt.')*(HAI.')*diag(hIE) 0]; % 公式(18)
q = SDR(hU,hE,GU,GE,N);

Q = diag(q);
R = max(0, log2(1+abs((hIU*Q*HAI+hAU)*w_opt)^2)- log2(1+abs((hIE*Q*HAI+hAE)*w_opt)^2))

 URA导向矢量函数

function ura_sv = URA_sv(theta, phi,Nx,Ny)
    m = 0:Nx-1;
    a_az = exp(1i*pi*m*sin(theta)*cos(phi)).';
    n = 0:Ny-1;
    a_el = exp(1i*pi*n*sin(phi)).';
    ura_sv = kron(a_az,a_el);
end

ULA导向矢量函数

function ula_sv = ULA_sv(theta, M)
    m = 0:M-1;
    ula_sv = exp(1i*pi*m*sin(theta)).';
end

半正定松弛优化函数

SDR求解问题(22a)

function [q,cvx_optval] = SDR(hU,hE,GU,GE,N)
    L = 1000; % 高斯随随机化次数
    cvx_begin sdp quiet
        variable X(N+1,N+1) hermitian
        variable mu1(1,1)
        maximize(real(trace(GU*X)+mu1*(hU+1)))
        subject to
            real(trace(GE*X))+mu1*(hE+1)==1;
            for i=1:N+1
                En = zeros(N+1,N+1);
                En(i,i)=1;
                real(trace(En*X)) == mu1;
            end
            X ==  hermitian_semidefinite(N+1);
            mu1 >= 0;
    cvx_end

   % 高斯随机化过程
    %% method 1
    max_F = 0;
    max_q = 0;
    S = X / mu1;
    [U, Sigma] = eig(S);
    for l = 1 : L
        r = sqrt(2) / 2 * (randn(N+1, 1) + 1j * randn(N+1, 1));
        q = U * Sigma^(0.5) * r;
        if q' * GU * q > max_F
            max_q = q;
            max_F = q' * GU * q;
        end
    end
    
    q = exp(1j * angle(max_q / max_q(end)));
    q = q(1 : N);
end

以上程序是给定发射功率的单点优化程序,仿真随着发射功率变化的完整程序以及对比算法如下:

clc;clear;

epsilon = 1e-3; % 收敛停止条件

% 天线数
M = 4; % AP天线数
Nx = 8;
Nz = 8;
N = Nx*Nz; % IRS单元个数 

% 用户位置
APloc = [0;0]; % AP位置
userloc = [150;0]; % user位置
edloc= [145;0]; % 窃听者位置
IRSloc = [145;5]; % IRS位置

C0 = db2pow(-30); % 参考距离时的路损
D0 = 1; % 参考距离
sigmaK2 = db2pow(-80); % 噪声功率,-80dBm

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

% 路损参数
alpha_AU = 3;
alpha_AE = 3;
alpha_AI = 2.2;
% alpha_IU = 3;
alpha_IU = 2.3;
% alpha_IE = 3;
alpha_IE = 2.5;

% 莱斯因子
K_AU = db2pow(1);
K_AE = db2pow(1);

% K_AI = db2pow(1);
K_AI = db2pow(10);
% K_IU = db2pow(1);
K_IU = db2pow(10);
% K_IE = db2pow(1);
K_IE = db2pow(10);


P = db2pow(-5:5:25); % 发射功率15dBm
frame = 10;
maxIter = 20;
RSDR = zeros(length(P),1);
RMRT = zeros(length(P),1);
RWIRS = zeros(length(P),1);
RUB = zeros(length(P),1);
for p=1:length(P)
    p
    P_AP = P(p);
    for fr = 1:frame
        dAE = norm(APloc-edloc);
        hAE = sqrt(L(dAE,alpha_AE)/sigmaK2)*(sqrt(K_AE/(1+K_AE))*ones(M,1)'+sqrt(K_AE/(1+K_AE))*(randn(1,M)+1i*randn(1,M))/sqrt(2));
        
        dAU = norm(APloc-userloc);
        hAU = sqrt(L(dAU,alpha_AU)/sigmaK2)*(sqrt(K_AU/(1+K_AU))*ones(M,1)'+sqrt(K_AU/(1+K_AU))*(randn(1,M)+1i*randn(1,M))/sqrt(2)); 
        
        dAI = norm(APloc-IRSloc);
        thetaIRS = atan(145/5);phi = 0; thetaAP = atan(5/145);
        HAI = sqrt(L(dAI,alpha_AI)/sigmaK2)*(sqrt(K_AI/(1+K_AI))*URA_sv(thetaIRS, phi,Nx,Nz)*ULA_sv(thetaAP,M)'+sqrt(K_AI/(1+K_AI))*(randn(N,M)+1i*randn(N,M))/sqrt(2));
        
        dIU = norm(IRSloc-userloc);
        thetaIRS = -pi/4; phi = 0;
        hIU = sqrt(L(dIU,alpha_IU))*(sqrt(K_IU/(1+K_IU))*URA_sv(thetaIRS, phi,Nx,Nz)'+sqrt(K_IU/(1+K_IU))*(randn(1,N)+1i*randn(1,N))/sqrt(2));
        
        dIE = norm(IRSloc-edloc);
        thetaIRS = 0; phi = 0;
        hIE = sqrt(L(dIE,alpha_IE))*(sqrt(K_IE/(1+K_IE))*URA_sv(thetaIRS, phi,Nx,Nz)'+sqrt(K_IE/(1+K_IE))*(randn(1,N)+1i*randn(1,N))/sqrt(2));

        q = 2*pi*rand(1,N); % 随机初始化IRS的相位
        Q = diag(exp(1i*q));
        
        R_old = 0;
        R_new = 10;
        count = 0;
        while(abs(R_old-R_new)/R_new > epsilon && count < maxIter)
            count = count + 1;
            % 给定q优化W
            A = (hIU*Q*HAI+hAU)'*(hIU*Q*HAI+hAU); % 公式(9)
            B = (hIE*Q*HAI+hAE)'*(hIE*Q*HAI+hAE); % 公式(10)
            
            I_M = eye(M);
            C = (B+1/P_AP*I_M)\(A+1/P_AP*I_M);
            [V,D] = eig(C); % 特征值分解
            [d,ind] = sort(diag(D));
            u_max = V(:,ind(end))/norm(V(:,ind(end)));
            w_opt = sqrt(P_AP) * u_max;
            
            % 给定W优化q, SDR
            hU = conj(hAU)*conj(w_opt)*(w_opt.')*(hAU.');
            hE = conj(hAE)*conj(w_opt)*(w_opt.')*(hAE.');
            GU = [diag(conj(hIU))*conj(HAI)*conj(w_opt)*(w_opt.')*(HAI.')*diag(hIU)  diag(conj(hIU))*conj(HAI)*conj(w_opt)*(w_opt.')*(hAU.');...
                conj(hAU)*conj(w_opt)*(w_opt.')*(HAI.')*diag(hIU) 0];
            GE = [diag(conj(hIE))*conj(HAI)*conj(w_opt)*(w_opt.')*(HAI.')*diag(hIE)  diag(conj(hIE))*conj(HAI)*conj(w_opt)*(w_opt.')*(hAE.');...
                conj(hAE)*conj(w_opt)*(w_opt.')*(HAI.')*diag(hIE) 0]; % 公式(18)
            [q,upper_bound] = SDR(hU,hE,GU,GE,N);
            
            Q = diag(q);
            R_old = R_new;
            R = max(0, log2(1+abs((hIU*Q*HAI+hAU)*w_opt)^2)- log2(1+abs((hIE*Q*HAI+hAE)*w_opt)^2));
            R_new = R;
        end
        RSDR(p) = RSDR(p) + R;
        RUB(p) = RUB(p) + log2(upper_bound);

        % AP MRT with IRS
        R_old = 0;
        R_new = 10;
        count = 0;
        while(abs(R_old-R_new)/R_new > epsilon && count < maxIter)
            count = count + 1;
            % 给定q优化W
            w_opt = sqrt(P_AP)*HAI(1,:)'/norm(HAI(1,:));
            
            % 给定W优化q, SDR
            hU = conj(hAU)*conj(w_opt)*(w_opt.')*(hAU.');
            hE = conj(hAE)*conj(w_opt)*(w_opt.')*(hAE.');
            GU = [diag(conj(hIU))*conj(HAI)*conj(w_opt)*(w_opt.')*(HAI.')*diag(hIU)  diag(conj(hIU))*conj(HAI)*conj(w_opt)*(w_opt.')*(hAU.');...
                conj(hAU)*conj(w_opt)*(w_opt.')*(HAI.')*diag(hIU) 0];
            GE = [diag(conj(hIE))*conj(HAI)*conj(w_opt)*(w_opt.')*(HAI.')*diag(hIE)  diag(conj(hIE))*conj(HAI)*conj(w_opt)*(w_opt.')*(hAE.');...
                conj(hAE)*conj(w_opt)*(w_opt.')*(HAI.')*diag(hIE) 0]; % 公式(18)
            [q,~] = SDR(hU,hE,GU,GE,N);
            
            Q = diag(q);
            R_old = R_new;
            R = max(0, log2(1+abs((hIU*Q*HAI+hAU)*w_opt)^2)- log2(1+abs((hIE*Q*HAI+hAE)*w_opt)^2));
            R_new = R;
        end
        RMRT(p) = RMRT(p) + R;

        % without IRS
        A = (hAU)'*(hAU); % 公式(9)
        B = (hAE)'*(hAE); % 公式(10)
        
        I_M = eye(M);
        C = (B+1/P_AP*I_M)\(A+1/P_AP*I_M);
        [V,D] = eig(C); % 特征值分解
        [d,ind] = sort(diag(D));
        u_max = V(:,ind(end))/norm(V(:,ind(end)));
        w_opt = sqrt(P_AP) * u_max;
        R = max(0, log2(1+abs((hAU)*w_opt)^2)- log2(1+abs((hAE)*w_opt)^2));
        RWIRS(p) =RWIRS(p) +R;

        
    end
end

plot(pow2db(P), RSDR/frame,'b-o','LineWidth',2)
hold on
plot(pow2db(P), RMRT/frame,'k-o','LineWidth',2)
plot(pow2db(P), RWIRS/frame,'r-.d','LineWidth',2)
plot(pow2db(P), RUB/frame,'m-.+','LineWidth',2)
grid on
xlabel('P_{AP} (dBm)')
ylabel('Average Secrecy Rate (bps/Hz)')
legend('Alternating Optimization with IRS','AP MRT with IRS','Optimal AP without IRS','Upper bound','Location','northwest')

 仿真结果

智能反射面(IRS)在无线通信安全领域应用的论文复现
复现的结果图
智能反射面(IRS)在无线通信安全领域应用的论文复现
论文原图

可以看出不同算法的趋势基本复现,数值上可能有些不同,可能还是信道建模部分以及反射面个数的问题,不影响对于算法整体的理解。


看到评论区和私信很多人问关于随着RIS单元数N变化的图,自己改写的程序始终出问题,因为没有具体调试的代码,不清楚具体错在哪里了,我自己改写了重新跑了1000frame也没有出现错误,图像也比较平滑,下面是我跑出来的结果:

智能反射面(IRS)在无线通信安全领域应用的论文复现
复现的结果图

 

智能反射面(IRS)在无线通信安全领域应用的论文复现
论文原图

这里可以看出随N变化的趋势是一致的,不太一致的地方是我跑的图随着N变化MRT和AO的方法性能会接近,而原论文的图性能差距会变大,这里不是太清楚是不是由于参数设置的问题,或者是没有采用空间相关性信道。

代码链接为: 随N变化部分代码链接

参考文献

[1] A. Khisti and G. W. Wornell, “Secure transmission with multiple antennas I: the MISOME wiretap channel,”IEEE Trans. Inf. Theory, vol. 56, no. 7, pp. 3088-3104, Jul. 2010.

有任何不清楚的写错或程序有误的地方,欢迎在评论区留言或私信交流!文章来源地址https://www.toymoban.com/news/detail-414060.html

到了这里,关于智能反射面(IRS)在无线通信安全领域应用的论文复现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 无线通信发展历程分析

    摘要: 当前,移动、无线技术领域正处在一个高速发展的时期,各种创新移动、无线技术不断涌现并快速步入商用,移动、无线应用市场异常活跃,移动、无线技术自身也在快速演进中不断革新。无线通信未来的发展趋势表现为:从大范围公众移动通信来看,3G或超3G技术将是

    2024年02月05日
    浏览(56)
  • 熵 | 无线通信知识

    熵定义: H ( X ) = E [ − l o g 2 p ( x ) ] = − ∑ x ∈ X p ( x ) l o g 2 p ( x ) H(X)=E[-log_2p(x)]=-sum_{xin X}p(x)log_2p(x) H ( X ) = E [ − l o g 2 ​ p ( x )] = − x ∈ X ∑ ​ p ( x ) l o g 2 ​ p ( x ) note H(X)是X的平均香农信息内容 H(X)是每个符号的平均信息量 二元问题(抛硬币),H(X)取值为[H(X),H(X)+1] 为

    2024年02月09日
    浏览(54)
  • 商用无线通信:信道带宽

    GSM: 200 kHz WCDMA: 5 MHz cdma2000 1X: 1.25 MHz TD-SCDMA: 1.6 MHz LTE: 1.4 MHz /3 MHz /5 MHz /10 MHz / 15 MHz /20 MHz 5G(Rangel 频段):5 MHz/15 MHz/ 20 MHz/30 MHz/40 MHz/50 MHz/60 MHz/ 70 MHz/80 MHz/90 MHz/100 MHz 5G (Range2 Hif): 50 MHz/100 MHz/ 200 MHz/400 MHz Wi-Fi: 22 MHz/20 MHz/40 MHz/80 MHz/ 80 MHz +80 MHz /160 MHz ZigBee: 2 MHz NB-IoT: 200 kHz

    2024年04月17日
    浏览(48)
  • 无线通信安全作业4

    1.请分析WEP协议中IV的作用和由于IV引发的安全缺陷。 首先我们来看WEP协议中IV的作用。 WEP基于RC4算法,而RC4算法作为流密码加密算法,用RC4加密的数据丢失会导致加解密失步从而导致后面的数据丢失,WEP需要在每帧重新初始化密钥流,所以引入初始向量IⅣ。WEP使用IV和密钥级

    2024年02月03日
    浏览(85)
  • 5G | 无线通信基础知识

    eMBB:增强性移动带宽 uRLLC:超高可靠低时延 mMTC:大规模机器通信 1 10 100 1ms时延、10Gbps数据速率、100万每平方公里连接数 增强覆盖:提升手机功率和上下行频谱共享 提高效率:Massive MIMO、调制编码、多址、双工、全双工 降低时延:优化无线覆盖 优点:分集增益、复用增益

    2024年02月09日
    浏览(50)
  • 【物联网无线通信技术】802.11无线安全认证

    本文由简入繁介绍了IEEE802.11i无线局域网安全技术的前世今生,帮助路由器开发者对WLAN的加密安全策略有一个概念上的认知,能够更好地分析STA掉线以及漫游等问题。 目录 WEP WPA WPA/WPA2-PSK认证过程 802.11i WEP是Wired Equivalent Privacy的简称,有线等效保密(WEP)协议对在两台设备间

    2024年02月11日
    浏览(52)
  • 无线通信安全:防止窃取与侵入

    无线通信安全是现代社会中的一个重要问题,随着无线通信技术的发展,我们的生活中越来越多的设备都需要通过无线方式进行通信。这种无线通信技术的广泛应用带来了很多的好处,但同时也带来了一系列的安全问题。无线通信安全的核心在于保护通信的机密性、完整性和

    2024年02月20日
    浏览(37)
  • 通信行业无线基本概念

    fast roaming(快速漫游) :使用户在不同的基站(access point)间可以平滑的切换,在802.11r协议标准中定义。 band steering(波段转向) :在双频段(2.4G和5G)都可用的情况下,使终端设备优先连接5G信号。 beacon帧: 链路层传输wifi信息的管理帧,beacon帧传输内容可包含ssid name(

    2024年01月18日
    浏览(36)
  • 无线通信--波束赋形(附MATLAB代码)

    1)用处 Sub6G 频段,作为当前 5G 容量的主力军,载波带宽可达 100MHz,一般采用采用数字波束赋形,通过 64 通道发射来实现小区内时频资源的多用户复用,下行最大可同时发射 24 路独立信号,上行独立接收 12 路数据。 在毫米波 mmWave 频段中,一般采用混合波束赋形: 图中第

    2024年02月04日
    浏览(42)
  • ATK-LORA 无线通信模块

    ATK-LORA 是 正点原子 推出的一款小体积、微功率、低功耗、高性能的远距离 LoRa 无线串口模块,该模块采用高效的 ISM 频段射频 SX1278 扩频芯片,其工作频率为 410MHz~441MHz,信道以 1MHz 频率为步进,共有 32 个信道,可在线修改模块的串口速率、发射功率、空中速率、工作模式和

    2024年02月07日
    浏览(42)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包