转载B417科研笔记deMatlab代码实现智能反射面的信道仿真

转载B417科研笔记deMatlab代码实现智能反射⾯的信道仿真
Matlab
代码实现智能反射⾯的信道仿真
主要存在三个信道:
到UE 的直达经: BS-UE信道
到IRS 的直达经:BS_IRS信道
IRS到⽤户的信道: IRS-UE信道
与传统 MIMO 系统不⼀样的是,BS-IRS与IRS-UE信道,这两个均可以看作是传统的MIMO信道。
考虑毫⽶波信道,毫⽶波信具有稀疏性,径数有限。
IRS是⼀个平⾯,所以其天线响应向量(array response vector)应该是⼀个UPA (uniform planar array)
因此其响应应该写作:
磁化净水器其中,  和  分别表⽰信号⼊射的⽅位⾓(azimuth angle)以及仰⾓(elevation angle),_N_表⽰天线数,⽽在IRS中表⽰其元素个数。
同样的,现在主流的的发送天线⼀般也以UPA形式为主。 因此, BS-IRS信道实际上就是两个UPA之间的MIMO信道仿真。 ⾸先先写⼀个函数, 来实现单侧UPA的天线响应向量的仿真:
function y =array_response(phi,theta,N)
for m =0:sqrt(N)-1
for n =0:sqrt(N)-1
y(m*sqrt(N)+n+1)=exp(1i*pi*(m*sin(phi)*sin(theta)+n*cos(theta))
end
end
y = y.'/sqrt(N)
end
实验室分析天平
这⾥假设了UPA是正⽅形UPA,即横向和纵向的阵⼦数相等。 如果想考虑长⽅形UPA的话可以⾃⾏修改。
所以仿真**BS-IRS **信道,即 定义AoA 以及AoD,路径数,以及不同路径上的增益:
三维激光扫描系统
function H=generate_channel(Nt,Nr,L)
AoD = pi*rand(L,2)- pi/2;%-pi/2~2/pi
AoA = pi*rand(L,2)- pi/2;%-pi/2~2/pi
alpha(1)=1;%gain of the Los
alpha(2:L)=10^(-0.5)*(randn(1,L-1)+1i*randn(1,L-1))/sqrt(2);
H=zeros(Nr ,Nt);
for l =1:L
ar =array_response(AoA(l,1),AoA(l,2),Nr)
反应容器at =array_response(AoD(l,1),AoD(l,2),Nt)
H=H+sqrt(Nr*Nt)*alpha(l)*ar*at';
end
这⾥需要指出, 实际中⽅位⾓和仰⾓的变化范围应该不同,仰⾓的变化范围会偏⼩, 因此更合理的仿真应该进⼀步限制其⽣成范围。矩阵的⽣成都是基于发送⾓和到达⾓分别⽣成ar和at然后相乘并乘上衰落因⼦的 。
关于BS-UE的信道, 有⼏种不同的建模:
直接假设BS-UE间被阻隔, 即不存在这个信道。 这样的话也就不⽤仿真了。 这个场景也是合理的,许多论⽂中都是这样假设的。
假设被阻隔, 即不存在LOS径, 但是有NLOS径。 那么就可以⽤上⾯的代码去仿真,只需要把LOS径去掉就⾏了。
假设为瑞利衰落信道。 这个是最容易仿真的, 也有许多论⽂采⽤这个建模。 瑞利的仿真代码⾮常容易, ⽹上也有很多,不再赘述了。智能反射⾯代码复现学习:PARAFAC-Based Channel Estimation for Intelligent Reflective Surface Assisted MIMO System
1. addpath
⽤addpath把⽂件加⼊它的⼯作路径后,就不会弹出提⽰。
2. global
global⽤来顶⼀个⼀个全局变量,对global的使⽤要慎重,⾸先需要先声明再使⽤;其次注意不要重名,可以⽤⼤写变量来区分;然后在⼦函数⾥⾯你⼜⽤到了n这个全局变量,你需要在⼦函数⾥⾯再次声明:最后是程序结束后要使⽤clear global来清除。
图中存在两个信道,即BS-IRS,以及IRS-UT,Z = XH^T
G=generate_channel_LOS(NI, Nr,P);
H=generate_channel_LOS(Nt,NI,P);
Z=H';
发送导频以及IRS的元素采⽤DFT⽣成
S= gen.DFTmatrix();
⽣成tensor 张量
Y = gen_tensor(G,H,Z)
估计信道
[G_est, H_est, diff, e]=BLAS(S,eye(Nt),Y);
Hc =G*H;
盐屋Hc_est = G_est * H_est;
mseG(n)=(norm(G- G_est,'fro')/norm(G,'fro'))^2;
mseH(n)=(norm(H- H_est,'fro')/norm(H,'fro'))^2;
mse(n)=(norm(Hc - Hc_est,'fro')/norm(Hc,'fro'))^2;

本文发布于:2024-09-22 12:31:52,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/163489.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:信道   智能   反射
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议