【可重构智能表面(RIS)】在RIS辅助MISO窃听信道下的统计QoS保障下的保密速率研究(Matlab代码实现)

 💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

摘要:可重构智能表面(RIS)辅助射频被视为第六代(6G)无线通信标准具有巨大潜力的一种技术。可实现的保密速率(ASR)是评估RIS辅助系统安全通信能力的最基本指标之一。然而,ASR的定义基于香农的信息理论,通常需要长码字,因此无法量化新兴延迟关键服务的保密性。受此启发,本文研究了在延迟受限的服务质量(QoS)约束下最大化保密速率的问题,称为有效保密速率(ESR),用于受到发射功率约束的RIS辅助多输入单输出(MISO)窃听信道。我们提出了一种迭代方法,使用块坐标上升法(BCAM)找到所制定的非凸优化问题的稳态解,其中发射机处的波束成形矢量以及RIS处的相位偏移在每次迭代中都以封闭形式获得。我们还提出了收敛证明、有效实施以及所提方法的相关复杂性分析。我们的数值结果表明,所提出的优化算法收敛速度明显快于现有解决方案。仿真结果还证实,具有严格延迟要求的系统的保密速率性能与没有延迟约束的系统相比显著降低,而适当放置大尺寸RIS可以显著减轻这种降低。随着可编程元表面技术的最新发展,可重构智能表面(RIS)正被视为第六代(6G)无线通信系统的重要候选者。实际上,RIS由多个低成本的被动反射元件组成,能够引导入射射频波朝着理想方向以优化系统性能。除了能够增强通信指标如可实现速率、误码率、中断概率和能量效率外,RIS也被认为是下一代通信系统中物理层安全(PLS)配置的最有前景的候选者之一。

为了发挥RIS在安全通信中的潜力,已经在不同场景下研究了先进的资源分配。例如,在[3]中,作者提出了在最大发射功率预算下,针对RIS辅助多输入单输出(MISO-RIS)系统与多个窃听者的情况下最大化可实现保密速率(ASR)的问题。更具体地,使用交替优化(AO)为基础的迭代算法联合优化了发射波束成形和RIS反射系数,并得出RIS有助于增强MISO系统保密性的结论。此外,在[4]中,研究了对于没有窃听者信道状态信息(CSI)的MISO-RIS系统的ASR最大化问题。为了获得潜在非凸优化问题的次优解,[4]中的作者采用了斜流形和最小化最大化算法,前者在高信噪比(SNR)情况下对于大量反射元件提供了更高的ASR。

📚2 运行结果

部分代码:

# System parameters
P = db2pow(15)                          # transmit power at Alice
N = 8                                   # number of antennas at Alice
Nris = 64                               # number of tiles at RIS
sigmaSquare = db2pow(-75)               # noise power at Bob/Eve
zetaAI = 2.2                            # pathloss exponent for Alice-RIS link
zetaIB = 2.5                            # pathloss exponent for RIS-Bob link
zetaIE = 2.5                            # pathloss exponent for RIS-Eve link
zetaAB = 3.5                            # pathloss exponent for Alice-Bob link
zetaAE = 3.5                            # pathloss exponent for Alice-Eve link
dAI = 50                                # distance between Alice and RIS
dAEh = 44                               # horizontal distance between Alice and Eve
dv = 2                                  # vertical distance between the line joining Alice-RIS and Bob-Eve
dABh = 50                               # horizontal distance between Alice and Bob
dAB = np.sqrt(dABh**2 + dv**2)          # distance between Alice and Bob
dAE = np.sqrt(dAEh**2 + dv**2)          # distance between Alice and Eve
dIE = np.sqrt((dAI-dAEh)**2 + dv**2)    # distance between RIS and Eve
dIB = np.sqrt((dAI-dABh)**2 + dv**2)    # distance between RIS and Eve 
rateSeq = np.array([])                  # empty list to store the rate sequence 
relChange = 1e3                         # arbitrary large number
epsilon = 1e-5                          # convergence tolerance

# Generating the channel coefficients
normFact = 1/np.sqrt(sigmaSquare)           # normalization factor
Hai = chanGen(zetaAI,dAI,Nris,N)            # Alice-RIS channel                                        
hib = normFact*chanGen(zetaIB,dIB,1,Nris)   # RIS-Bob channel
hie = normFact*chanGen(zetaIE,dIE,1,Nris)   # RIS-Eve channel
hab = normFact*chanGen(zetaAB,dAB,1,N)      # Alice-Bob channel
hae = normFact*chanGen(zetaAE,dAE,1,N)      # Alice-Eve channel

# Random initialization
thetaCurrent = np.ones((Nris,),dtype=complex)

# Algorithm 1: Block-Coordinate Ascent Method
while relChange > epsilon:  
    # update transmit beamformer 
    wCurrent = updateW(thetaCurrent) 
    # update RIS phase shifts
    thetaCurrent = updateTheta(wCurrent,thetaCurrent) 
    # calculate rate
    rateSeq = np.append(rateSeq,rateCalc(wCurrent,thetaCurrent))
    # check for convergence
    if len(rateSeq) > 3:
        relChange = (rateSeq[-1] - rateSeq[-2])/rateSeq[-2]

# Plot the iterates 
plt.plot(rateSeq)
plt.xlabel('Iteration number')
plt.ylabel('Secrecy rate (bps/Hz)')
plt.show()

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

🌈4 Matlab代码实现

  • 20
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在三维坐标下,可以考虑将源和接收机放置在坐标系的正方形边缘上,并将RIS放置在坐标系的中心。 对于有源RIS,可以在RIS上放置发射天线,使其能够向接收机传输信号。对于无源RIS,可以通过改变RIS上的相位来调制信号。 在MATLAB中进行仿真实验时,可以使用MIMO信道模型,将源、RIS和接收机的位置、天线RIS元素等作为参输入。通过改变RIS的位置和相位,可以得到不同的信道增益。然后,可以计算出每个位置和相位下的传输速率,并找到可实现最大速率的位置和相位组合。 下面是一个简单的MATLAB代码示例: ```matlab % 设置参 numTx = 2; % 源天线 numRx = 2; % 接收机天线 numRIS = 64; % RIS元素 Ptx = 1; % 发射功率 noiseVar = 0.1; % 噪声方差 % 设置坐标系 x = linspace(-1,1,5); y = linspace(-1,1,5); z = linspace(-1,1,5); % 设置RIS位置 [xRIS,yRIS,zRIS] = meshgrid(x,y,z); RISpos = [xRIS(:),yRIS(:),zRIS(:)]; % 设置源和接收机位置 Txpos = [repmat([-1,0,0],numTx,1);repmat([1,0,0],numTx,1)]; Rxpos = [repmat([0,-1,0],numRx,1);repmat([0,1,0],numRx,1)]; % 计算信道增益 H = zeros(numRx*numTx,numRIS); for i = 1:numRIS d = sqrt(sum((Txpos - repmat(RISpos(i,:),numTx,1)).^2,2)); Gtx = exp(-1j*2*pi*d); d = sqrt(sum((Rxpos - repmat(RISpos(i,:),numRx,1)).^2,2)); Grx = exp(-1j*2*pi*d); H(:,i) = kron(Grx,Gtx); end G = sqrt(Ptx)*H; % 计算信道容量 C = zeros(size(RISpos,1),1); for i = 1:size(RISpos,1) Gtilde = diag(exp(1j*angle(G(:,i)))); C(i) = log2(det(eye(numRx) + Gtilde*Gtilde'/(noiseVar*numRx))); end % 找到最大速率位置 [maxC,idx] = max(C); maxRISpos = RISpos(idx,:); disp(['最大速率:',num2str(maxC),',最大速率位置:',num2str(maxRISpos)]); ``` 该代码示例中,假设有两个源天线和两个接收机天线。RIS位置在一个正方体网格中,源和接收机分别位于坐标系的正方形边缘上。通过计算每个位置下的信道增益,然后计算每个位置下的最大速率。最后输出最大速率和对应的RIS位置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值