智能反射平面(intelligent reflecting surfaces)是一种被动反射表面,其具有的特性是可控制反射信号的相位,而且该反射表面无需任何的能量辅助,与传统高能耗的中继系统相比,引用反射表面可大大降低能耗。所以,智能反射表面被应用于多个邻域。
物理层安全分为有密钥的物理层安全和无密钥的物理层安全,有密钥的物理层安全是由香农最先提出,他认为只要实现传输中的信号是无法被辨认的就可以完全保证通信的安全,最安全的就是一次一密算法,但是这个算法耗费成本过大,至今没办法真正应用到加密通信方案中,方案很好,下次不要了。没有密钥的物理层安全是由Wyner首先提出的,其核心理念就是让合法信道的信道质量比窃听信道的信道质量好,就可以实现通信的绝对安全,但是这个说法已经被证明是错误的,即便如此,无密钥的物理层安全依旧被广泛研究着,人工噪声,波束成形,中继辅助等一系列的物理层方案被提出。无密钥的物理层安全不依赖于计算的复杂性就可实现物理层安全,这个和密码实现物理层安全有本质的区别和绝对的优势,所以无密钥的物理层安全的研究一直蓬勃发展。
智能反射表面被应用于物理层安全的研究也为物理层安全注入了新鲜的活力,本文主要是想分享一下智能反射单元在物理层应用的代码实现,由于之前本人经历过找参考代码的痛苦,所以想分享一下,方便大家使用。可能语言叙述能力有待加强,如有疑问可直接向我咨询,欢迎大家交流讨论。
首先明确IRS是可控制反射信号的相位,所以以单个智能反射单元为例,该单元可调信号的参数可表示为![\beta e^{j\theta }](https://latex.codecogs.com/gif.latex?%5Cbeta%20e%5E%7Bj%5Ctheta%20%7D),由于智能反射单元是被动反射的,所以准确来说![\beta](https://latex.codecogs.com/gif.latex?%5Cbeta)是无法控制的,在控制信号大小方面,智能反射单元是鸡肋,它顶多充当一面反射墙,![\beta \in [0,1]](https://latex.codecogs.com/gif.latex?%5Cbeta%20%5Cin%20%5B0%2C1%5D),也就是说信号经过反射之后可能100%反射出去,也可能有损耗,最差的情况是一点都没反射出去。所以一般考虑最美好的状况就是![\beta =1](https://latex.codecogs.com/gif.latex?%5Cbeta%20%3D1),如此智能反射单元的系数就是![e^{j\theta }](https://latex.codecogs.com/gif.latex?e%5E%7Bj%5Ctheta%20%7D)。
其次需要明确信号的性质,信号可以用向量表示,正是因为信号有大小和方向,大小即为信号的强度大小,方向即为信号的相位,也就是延迟。这也就是为什么只能反射面可应用于物理层的原因了吧。
说这么多,来分享一下IRS在物理层两跳反射路径的应用。所用软件为MATLAB。
应用场景:
step1:信号的生成,生成可以被计算机识别的01序列。
%场景是一个发射机,一个接收机和智能反射表面。
data = round(rand(1, N)); %产生N个随机二进制原始数据0,1
step2:信号调制
s=pskmod(data,4);%调用matlab自带的psk调制函数
step3:设置信道状态信息CSI
hAI = (randn(unit_n,1)+1i*randn(unit_n,1))/sqrt(2); %发射机和智能反射面之间的信道衰落系数
hIB = (randn(unit_n,1)+1i*randn(unit_n,1))/sqrt(2); %智能反射面和接收机之间的信道衰落系数
step4:设置智能反射单元反射系数
IRS_Phase = exp(1i.*theta_IRS); %IRS的相位控制
step5:设置接收端的噪声
sigma_noise = sqrt(1/2);
n = (sigma_noise).*(randn(1,length(s))+1i*randn(1,length(s))); %接收端的噪声模拟
step6:接收机收到感知信号
rB = sum(hAI.*IRS_Phase.*hIB)*s + n; %接收端接收经过衰落的已调信号s
以上就是最基础的借助IRS实现信号传输的模型,希望给刚入门的同学一些参考。
版权归原作者 IT IS OK 所有, 如有侵权,请联系我们删除。