主要内容

带有光线跟踪的CDL通道模型自定义

这个例子展示了如何使用射线追踪分析的输出自定义CDL通道模型参数。这个例子展示了如何:

  • 指定发射机和接收机在三维环境中的位置。

  • 使用光线跟踪计算通道的几何方面:光线数量、角度、延迟和衰减。

  • 用射线追踪分析的结果配置CDL通道模型。

  • 使用相控阵系统工具箱™指定通道天线阵列。

  • 基于完美信道估计的奇异值分解可视化发射和接收阵列辐射模式。

基站和终端配置

该示例假设基站和UE都使用矩形阵列。阵列方向指定为一对表示方位角和仰角的值。两个角度都以度为单位。

fc = 6 e9;%载频(Hz)bposition = [22.287495, 114.140706];%纬度,经度bsAntSize=[8];%矩形阵列中的行数和列数(基站)bsArrayOrientation = [-30 0].';%方位角(0度为东,90度为北)和仰角(正点向上),单位为度uePosition=[22.287323114.140859];%纬度,经度ueAntSize = [2 2];%矩形阵列(UE)中的行数和列数。ueArrayOrientation = [180 45].';%方位角(0度为东,90度为北)和仰角(正点向上),单位为度reflectionsOrder = 1;%光线跟踪分析的反射次数(服务水平为0)%带宽配置,需要设置信道采样率和完美的信道估计SCS = 15;%副载波间距NRB = 52个;%资源块数,10mhz带宽

导入和可视化三维环境与建筑物的光线追踪

在香港的发射场观看建筑物。有关osm文件的更多信息,请参见[1].

如果存在(“观众”,“var”) & & isvalid(观众)%查看器句柄存在且查看器窗口打开viewer.clearMap();其他的观众= siteviewer (“底图”,“openstreetmap”,“建筑物”,“hongkong.osm”);终止

创建基站和UE

在地图上找到基站和UE。

bsSite = txsite (“名称”,“基站”,...“人肉搜索”bsPosition (1)“经度”bsPosition (2)...“AntennaAngle”bsArrayOrientation (1:2),...“AntennaHeight”4...在m %“TransmitterFrequency”、fc);ueSite = rxsite (“名称”,“UE”,...“人肉搜索”uePosition (1)“经度”uePosition (2)...“AntennaHeight”,1,...在m %“AntennaAngle”ueArrayOrientation (1:2));

可视化基站和终端的位置。基站在一幢建筑物的顶部。

bsSite.show ();ueSite.show ();

射线跟踪分析

使用发射和反弹光线(SBR)方法执行光线跟踪分析。SBR方法包括表面反射和衍射的影响,但不包括折射或散射的影响。

pm=传播模型(“射线”,“方法”,“sbr”,“MaxNumReflections”, reflectionsOrder);射线=光线跟踪(bsSite ueSite,点,“类型”,“pathloss”);

在Site Viewer中显示光线。

情节(射线{1})

从获得的光线,得到到达的时间,平均路径增益,以及出发和到达的角度。为简单起见,将传播延迟归一化,使第一条路径发生在时间0秒,对应于无延迟。使用路径损耗来获得平均路径增益。

pathToAs ={1}(射线.PropagationDelay] min([射线{1}.PropagationDelay]);每条射线到达的时间(归一化为0秒){1} avgPathGains = -[射线.PathLoss];%每条射线的平均路径增益pathAoDs ={1}(射线.AngleOfDeparture];每条射线的AoD %pathAoAs ={1}(射线.AngleOfArrival];每条射线的% AoA{1} isLOS =任何([射线.LineOfSight]);%视线旗

建立CDL信道模型

使用光线跟踪分析生成的信息配置CDL通道模型。设定DelayProfile财产“自定义”指定路径延迟、平均路径增益以及到达角和离开角(方位角和天顶角)。

在配置渠道模型时,需要考虑以下几点:

  • 射线示踪器发现基站和UE之间的单个射线,而CDL信道模型射线簇,其属性由簇平均路径增益(平均路径增益),平均到达和离开的角度(AnglesAoA,AnglesZoA,AnglesAoD,AnglesZoD),以及星系团中光线的扩散(AngleSpreads)。从单个光线的光线跟踪分析中检索的信息配置CDL通道的群集平均值。

  • 射线追踪器执行静态分析,而CDL通道模拟UE运动。因此,CDL信道引入了小规模衰落。

  • 通过光线追踪获得的路径增益被认为是平均路径增益。因此,由于衰落,瞬时信道路径增益将不同于平均值,但在长时间的仿真中,当使用各向同性天线时,它们的平均值将匹配指定的平均路径增益。

  • CDL通道使用天顶角,而射线追踪分析返回仰角,因此您必须在两者之间进行转换。

  • 如果任何计算的光线是视线(LOS)光线(无反射),请设置HasLOSClusterCDL通道属性真正的. 对于服务水平情况,CDL模型将第一条路径分成两个部分,一个是服务水平,另一个具有瑞利衰落特性。这导致了组合Ricean衰落特性。因此,在服务水平情况下,当您指定N射线,CDL通道模型N+1.内部路径。

频道= nrCDLChannel;通道。DelayProfile =“自定义”;channel.PathDelays=pathToAs;channel.AveragePathGains=avgPathGains;channel.AnglesAoD=pathAoDs(1,:);离港方位角通道。: AnglesZoD = 90 - pathaods (2);%通道采用天顶角,射线采用仰角通道。: AnglesAoA = pathAoAs (1);%到达方位角channel.AnglesZoA=90pathaoas(2,:);%通道采用天顶角,射线采用仰角通道。HasLOSCluster = isLOS;通道。CarrierFrequency = fc;通道。NormalizeChannelOutputs = false;%不归一化接收天线的数量,这将改变接收功率channel.NormalizePathGains=false;%设置为false保留路径增益

使用相控阵系统工具箱阵列对象指定通道天线阵列。CDL信道模型的阵列方向属性使用方位角和下倾,而ueArrayOrientationbsArrayOrientation对象使用方位角和仰角。因此,通过更改标志将高程转换为向下倾斜。

c=物理常数(“光速”);λ= c / fc;% UE阵列(单面板)ueArray=相控.nRectangularPanelArray(“大小”[ueAntSize (1:2) 1 (1)“间距”, [0.5*lambda*[1 1] 1 1]);ueArray。ElementSet = {phased.IsotropicAntennaElement};%各向同性天线单元通道。ReceiveAntennaArray = ueArray;通道。ReceiveArrayOrientation = [ueArrayOrientation (1);(1) * ueArrayOrientation (2);0);%(-1)将俯仰转换为向下倾斜%基站阵列(单面板)bsArray =分阶段。NRRectangularPanelArray(“大小”[bsAntSize (1:2) 1 (1)“间距”,[0.5*λ*[1]1]);bsArray.ElementSet={phased.nAntennaElement(“PolarizationAngle”,-45)相控天线元件(“PolarizationAngle”,45)};%交叉极化元件通道。TransmitAntennaArray = bsArray;通道。TransmitArrayOrientation = [bsArrayOrientation (1);(1) * bsArrayOrientation (2);0);%(-1)将俯仰转换为向下倾斜

设置通道采样率

通过信道的信号决定信道采样率。考虑具有15 kHz和52个资源块(RBS)的子载波间隔的信号,相当于10 MHz的带宽。nrOFDMInfo作用

ofdmInfo = nrOFDMInfo (NRB, SCS);通道。SampleRate = ofdmInfo.SampleRate;

信道估计

为简单起见,本例假设信道估计是完美的。设置ChannelFiltering财产错误的允许您获得通道路径增益,而无需通过通道发送信号。

通道。ChannelFiltering = false;[pathGains, sampleTimes] =频道();

绘制信道返回的路径增益。将结果与由射线衰减值获得的指定平均路径增益进行比较。

  • 对于LOS情况,因为前两条路径对应于第一条射线,所以前两条路径必须相加。

  • CDL信道模型是一种考虑UE运动的统计信道模型。因此,返回路径增益就是瞬时增益。光线追踪分析的路径增益被解释为通道模型的平均路径增益。

  • 信道模型返回的瞬时路径增益包括天线单元在每条射线方向上的增益。从射线追踪分析中获得的自定义路径增益不包括天线单元增益。因此,平均而言,信道路径增益只与各向同性天线单元的平均增益匹配。

pg=permute(pathgain,[2 1 3 4]); / /切换路径%第一个维度是路径数如果伊斯洛斯%在视距情况下,将第一条路径相加,它们对应于视距光线pg =[总和(pg (1:2,::,:));pg (3:,::,:)];终止pg = abs (pg) ^ 2;情节(pow2db (pg (:, 1, 1, 1)),“啊——”。);绘图(avgPathGains,“x”。);传奇(“瞬时(1^{st} tx - 1^{st} rx天线)”,“平均(光线追踪)”)包含(“路径”);ylabel (“增益(dB)”)标题(“路径增益”)

为slot 0获得一个完美的信道估计。

pathFilters = getPathFilters(渠道);nSlot = 0;(抵消,~)= nrPerfectTimingEstimate (pathGains pathFilters);命令= nrPerfectChannelEstimate (pathGains pathFilters NRB, SCS, nSlot,抵消,sampleTimes);

绘制第一发射天线和第一接收天线之间的信道响应在时间和频率上的曲线。这张图显示了信道在时间和频率上的表现。对于低多普勒频移,信道在一个槽的观测周期内变化不大。

冲浪(pow2db(abs(hest(:,:,1,1))。^2));阴影(“平坦”);xlabel(OFDM符号的); ylabel (副载波的);兹拉贝尔(‘震级平方(dB)’);标题(“通道幅度响应(1^{st} tx - 1^{st} rx天线)”);

得到波束形成的权值

使用奇异值分解(SVD)计算波束形成权重。假设为1层。这个getBeamformingWeights函数从频带边缘(第一子载波)的偏移量开始,在多个资源块上平均信道条件,从而实现子频带波束形成。

nLayers = 1;scOffset = 0;%没有抵消noRBs = 1;%平均信道条件超过1 RB,以计算波束形成权重[wbs,wue,~]=获取波束形成权重(hest,nLayers,scOffset,noRBs);

绘制辐射图

绘制UE和基站的辐射图。

%绘制辐射图ueSite。天线=克隆(channel.ReceiveAntennaArray);%需要克隆,否则设置“缩减权重”将影响通道数组ueSite.Antenna.Taper = wue;模式(ueSite、fc、“大小”,4);绘制BS辐射图b站点天线=克隆(信道传输天线);%需要克隆,否则设置“缩减权重”将影响通道数组bsSite.Antenna.Taper = wbs;模式(bsSite、fc、“大小”,5);

参考文献

[1] osm文件从以下位置下载:https://www.openstreetmap.org,提供对全球众包地图数据的访问。该数据根据开放数据共享开放数据库许可证(ODbL)进行许可,https://opendatacommons.org/licenses/odbl/。

局部函数

函数[mtx的wrx D] = getBeamformingWeights(命令、nLayers scOffset, noRBs)得到给定信道矩阵hEst和个数的波束形成权值%层和层。为整个带宽提供一组权重。使用奇异值(SVD)计算波束形成权值%分解。%%只有部分信道估计用于获得权重,这是由偏移量SCOFFSET(从第一副载波的偏移量)和a%宽度在RBs (NORBS)。平均信道估计百分比(~, ~, R, P) =大小(命令);%H = permute(mean(重塑(hEst,[],R,P)),[2 3 1]);scNo = scOffset + 1;命令=命令(scNo: scNo + (12 * noRBs-1),:,:,:);H = permute(mean(重塑(hEst,[],R,P)),[2 3 1]);%计算分解[D U, V] =圣言(H);wtx = V (:, 1: nLayers)。”;wrx = U (: 1: nLayers) ';终止

另见

功能

物体