主要内容

NR小区间干扰建模

此示例显示由附近电池引起的InterCell下行链路(DL)干扰导致对网络性能的影响。示例模型在同一频带中操作的多个单元格的5G新型无线电(NR)网络。每个电池的GNB放置在电池的中心,该中心用于一种用户设备(UE)。节点上的NR堆栈包括无线电链路控制(RLC),媒体访问控制(MAC)和物理(PHY)层。

介绍

本示例考虑在gNB和UEs中方便DL传输和接收的以下操作。

完整的PDSCH包在其分配的符号集的第一个符号中传送。接收端在分配的符号集中的最后一个符号之后处理符号中的包。

这个示例模型:

  • 共同通道Intercell干扰。

  • 基于插槽的PDSCH资源的符号和符号的DL调度。

  • 可配置的子载波间距导致不同的槽位持续时间。

  • 在资源块组(RBG)方面的频率域资源的非连续分配。

  • PDSCH解调参考信号(DM-RS)。

  • 基于从GNB接收的CSI-RS,UE的DL信道质量测量。默认情况下,CSI-RS资源元素在DL带宽中的每个资源块(RB)的每个时隙中发送,用于所有UE。相同的CSI-RS配置适用于单元格中的所有UE。

  • 自由空间路径损耗(FSPL)和加性高斯白噪声(AWGN)。

  • 单输入单输出(SISO)天线配置。

  • 整个载体的单带宽部分。

控制包(如DL分配、PDSCH反馈、信道质量指示(CQI)报告)被假定发送到带外,即不需要传输资源和保证无错误接收。

共同渠道干扰

在蜂窝系统中,每个蜂窝在特定的载波频率上工作。在同一载波频率上工作的小区称为同信道小区。同通道细胞会干扰它们之间的传输。

考虑这个由3个单元格组成的示例网络拓扑。单元1和单元3工作在同一频带上。单元2在不同的频带上工作,不干扰单元1或单元3。

NR协议栈

除了RLC,媒体访问控制(MAC)和PHY之外,节点(GNB或UE)包括生成流量的应用程序。辅助类HNRGNB.M.hNRUE.m分别创建gNB和UE节点,包含RLC、MAC和PHY层。关于每一层的更多细节,请参阅NR细胞性能评估与物理层集成例子。

场景配置

对于仿真,请设置以下密钥配置参数。

  • 仿真时间

  • 细胞数量

  • 小区半径(所有连接到gNB的终端都在这个距离内)

  • GNBS的职位

  • 每个单元格中的UE数量

  • 信噪比(SINR)与CQI映射表为0.1块错误率(BLER)。将接收到的SINR映射到0.1 BLER的CQI索引的查找表。查找表对应于3GPP TS 38.214 table 5.2.2.1-3中的CQI表。有关生成此查找表的过程的更多信息,请参见5G NR下行CSI报告例子。

  • 传输GNB的力量

  • DL载波带宽在资源块数(RB)方面

  • 戴斯。莱纳姆:载波频率

  • 子载波间距

  • DL应用程序流量模型

rng (“默认”);%重置随机数发生器simParameters = [];%清除simParameters变量simParameters。NumFramesSim = 20;%以10毫秒帧数计算的模拟时间simparameters.schedulingtype = 0;%设置值为0(基于插槽调度)或1(基于符号调度)。

模拟中的单元数。假定单元格具有来自的顺序单元格标识符(ncelllid)0.NumCells-1.如果更改单元格数,请确保simParameters。GNBPosition等于NumCells

simParameters。NumCells = 3;%细胞数量Simparameters.cellradius = 500;每种细胞的%半径(以米为单位)

n除以2矩阵表示gnb在(X, Y)坐标中的位置,其中'N’表示模拟中细胞的数量。行号'P.'表示具有单元ID的单元格中GNB的x和y坐标p - 1'。例如,第二行中的值[3000,600]表示具有小区ID 1的小区中的GNB的(x,y)坐标。

simParameters。GNBPosition= [1700 600; 3000 600; 2500 2000];%单元内UEs的个数。每个单元包含相同数量的uesimParameters。NumUEsCell = 4; simParameters.GNBTxPower = 32;GNB的%TX功率(在DBM中)%将信道带宽设置为10 MHz和子载波间距(SCS)至30 kHz%定义见3GPP TS 38.104章节5.3.2。simparameters.numrbs = 24;simparameters.scs = 30;%kHz.simParameters。DLCarrierFreq = 2.635 e9;%Hz.simParameters。DLBandwidth = 10 e6;%Hz.%SINR到CQI映射表0.1 BLERSimparameters.sinr90pc = [-5.46 -0.46 4.54 9.05 11.54 14.04 15.54 18.04......20.04 22.43 24.93 25.43 27.43 30.43 33.43];对PDSCH分配的RB的最大限制%。传输限制是%适用于新的PDSCH分配,而不是用于重新定位simparameters.rballocationlimitdl = 15;PDSCH的百分比

日志记录和可视化配置。

%指定感兴趣的小区ID。所有可视化和度量标准都显示为此单元格simparameters.cellofInterest = 2;%将0从0设置为numcells-1% CQIVisualization和RBVisualization参数控制显示%这些可视化:(i) CQI可视化RBs (ii) RB赋值%可视化。默认情况下,“rbvisualization”绘图已禁用。你%可以通过设置为“true”来启用它simparameters.cqivisualization.= true; simParameters.RBVisualization = false;%输出指标绘图在周期性的NumMetricsSteps中更新%模拟持续时间simParameters。NumMetricsSteps = 20;要写入日志的% mat文件。它们用于后期仿真分析和可视化simparameters.ParametersLogfile =.'simparameters'用于记录模拟参数的%simparameters.simulationlogfile.=“simulationLogs”用于记录模拟日志的%

应用程序流量配置。

%设置终端定时DL应用流量模型。以下%配置适用于每个单元格simparameters.dlpacketperiodicitues = 10;%在gNB上终端生成DL包的周期性(毫秒)simparameters.dlpacketsize = 2e4;在GNB处为UE生成的DL数据包的%大小(以字节为单位)%验证模拟配置hNRIntercellInterferenceValidateConfig (simParameters);

导出参数

根据主要配置参数,计算导出参数。另外,设置一些特定于示例的常量。

simparameters.duplexmode = 0;%FDD.simparameters.ulbandwidth = 10e6;%Hz.simParameters。ULCarrierFreq = 2.515 e9;%Hz.simParameters。NumUEs = simParameters.NumUEsCell;%单元内UEs的个数simparameters.ncellidlist = 0:SimParameters.Numcells-1;%物理单元id列表%CSI-RS资源配置。假设所有UE都在相同的CSI-RS资源上测量信道质量simParameters。CSIRSRowNumber = 2;%单个发射天线的可能行号为1和2simparameters.subbandsize = 8;%以RBs数量表示的CQI报告子频带的大小%将bsrperiodicity设置为“inf”,因为没有UL流量simParameters。BSRPeriodicity =正;百分比所选SCS的%插槽持续时间和10 ms帧中的插槽数slotDuration = 1 / (simParameters.SCS / 15);百分比numslotsframe = 10 / slotduration;10 ms帧中的次数数numslotssim = simparames.numframessim * numslotsframe;%模拟中的槽数指标可视化更新的时间间隔%插槽。由于一个插槽是模拟的最佳时间粒度,使%确定MetricsStepSize是一个整数simparameters.metricsstepsize = ceil(numslotssim / simparameters.nummetricssteps);如果mod(numSlotsSim, simParameters.NumMetricsSteps) ~= 0如果numslotssim不是,%更新nummetricssteps参数%完全被它整除simparameters.nummetricssteps =楼层(numslotssim / simparameterm.metricsstepsize);结束numLogicalChannels = 1;在此示例中,每个UE中仅在每个UE中假设1个逻辑信道%逻辑信道配置适用于模拟中的所有节点(UE和GNB)simParameters.LCHConfig.LCID = 4;%RLC实体方向。值0仅表示DL,1%只代表UL, 2代表UL和DL%的方向。设置实体方向同时具有UL和DLsimParameters.RLCConfig.EntityDir = 0;%创建RLC通道配置结构rlcchannelconfigstruct.lcgid = 1;%逻辑通道与逻辑通道组ID的映射关系rlcChannelConfigStruct。优先级= 1;每个逻辑信道的%优先级rlcchannelconfigstruct.pbr = 8;%每个逻辑通道的优先比特率(PBR),单位为千字节/秒rlcChannelConfigStruct。BSD = 10;%桶尺寸持续时间(BSD),在MS中,每个逻辑通道rlcChannelConfigStruct。EntityType = simParameters.RLCConfig.EntityDir;rlcChannelConfigStruct。LogicalChannelID = simParameters.LCHConfig.LCID;每3GPP TS 38.323,%最大RLC服务数据单元(SDU)长度(以字节为单位)simparameters.maxrlcsdulength = 9000;%在每个单元格中生成UE的位置simparameters.ueposition = generateuepositions(simparameters);模拟中的UE总数simParameters。MaxReceivers = simParameters。NumCells* simParameters.NumUEsCell;如果~ isfield (simParameters'schedulingtype')||simparameters.schedulingtype == 0.%不指定调度类型或指定基于槽位的调度rbAssignmentPlotPeriodicity = numSlotsFrame;%每帧更新RB分配可视化(10毫秒)Tickgranularity = 14;simparameters.puschmappeType ='一种';simparameters.pdschmapptype =.'一种'其他的基于%符号的调度rbAssignmentPlotPeriodicity = 1;%更新RB分配可视化每个插槽tickgranularity = 1;simparameters.puschmappeType ='B';simparameters.pdschmapptype =.'B'结束

多单元的设置

使用由一个gNB和多个终端组成的单个小区设置小区。对于每个单元,创建gNB和UE对象,初始化终端的通道质量信息,并在gNB和终端上建立逻辑通道。辅助类HNRGNB.M.hNRUE.m分别创建GNB和UE节点,包含RLC,MAC和PHY层。

gNB =细胞(simParameters。NumCells, 1);问题=细胞(simParameters。NumCells那simParameters。NumUEsCell);%创建DL数据包分发对象dlpacketdistributionobj = hnrpacketdistribution(simparameters,0);%0对于DL%创建UL数据包分发对象ulPacketDistributionObj = hNRPacketDistribution(simParameters, 1);UL的%1cellIdx = 1: simParameters。NumCells每个单元格%simparameters.ncellid = simparameters.ncellidlist(cellidx);%单元IDsimparameters.position = [simparameters.gnbposition(cellidx,:) 0];% gNB在(x,y,z)坐标中的位置gnb {cellidx} = hnrgnb(simparameters);%创建gNB节点Scheduler = HNRSchedulerProportionalFair(SimParameters);%创建比例公平调度程序Addscheduler(GNB {CellidX},调度程序);%为GNB添加调度程序gnb {cellidx} .phyentity = hnrgnbphy(simparameters);%创建PHY图层实例configurephy(gnb {cellidx},simparameters);%配置PHY层setphyInterface(gnb {cellidx});%设置接口到PHY层每个单元格的百分比,创建一组UE节点并随机将它们放在小区半径内UEIDX = 1:SimParameters.Numuescell SimParameters.Position = [SimParameters.ueposition {CellidX}(UEIDX,:) 0];UE中的%位置(x,y,z)坐标UES {CellidX,UEIDX} = HNRUE(SIMPParameters,UEIDX);UES {CellidX,UEIDX} .Phyentity = HNRuephy(SimParameters,UEIDX);%创建PHY图层实例configurePhy(问题{cellIdx, ueIdx}, simParameters);%配置PHY层setphyInterface(UE {cellidx,UEIDX});%设置接口到PHY%为终端在gNB设置逻辑通道configurelogicalChannel(GNB {CellidX},UEIDX,RLCChannelConfigstruct);UE的%设置逻辑通道configurelogicalChannel(UE {Cellidx,UEIDX},UEIDX,RLCChannelConfigstruct);%向gNB节点添加数据流量模式生成器packetsize = simparameters.dlpacketsize;%使用命令计算开-关流量模式的数据速率(kbps)%数据包大小(以字节为单位)和数据包间隔(在MS中)dataRate = cell (1000/simParameters.DLPacketPeriodicityUEs) * packetSize * 8e-3;%将生成的应用程序包的大小限制为最大值%RLC SDU大小。最大支持的RLC SDU万博1manbetx大小为9000字节如果数据包> SimParameters.maxrlcsdulength packetsize = simparameters.maxrlcsdulength;结束%为指定的开关网络流量模式创建一个对象%UE并将其添加到GNB中。该对象生成下行链路数据为UE的GNB上的%流量app = networktrafficonoff('包裹'packetSize,“GeneratePacket”, 真的,......“定时”, simParameters。NumFramesSim/100,'反转'0,“DataRate”, 数据速率);gnb {cellidx} .addapplication(ueidx,simparameters.lchconfig.lcid,app);结束%设置UL和DL分组分发机制hNRSetUpPacketDistribution(simParameters, gNB{cellIdx}, UEs(cellIdx,:), dlPacketDistributionObj, ulPacketDistributionObj);结束

处理循环

模拟逐槽运行。对于每个槽中的每个单元,执行以下操作:

  • 运行gNB的MAC层和PHY层

  • 运行终端的MAC层和PHY层

  • 特定于层的日志记录和可视化

  • 提前节点的计时器。每1毫秒它还向应用程序和RLC层发送触发器。应用层和RLC层基于1ms定时器触发器执行预定的操作。

%显示网络拓扑plotNetwork (simParameters);

图网络拓扑可视化包含一个轴。标题为“网络拓扑可视化”的轴包含线、散点类型的18个对象。这些对象代表干扰单元、感兴趣单元、gNodeB、UE。

simSchedulingLogger =细胞(simParameters。NumCells, 1);simPhyLogger =细胞(simParameters。NumCells, 1);cellIdx = 1: simParameters。NumCells%创建用于MAC DL调度信息可视化和日志记录的对象simparameters.ncellid = simparameters.ncellidlist(cellidx);simschedulinglogger {cellidx} = hnrschedulinglogger(simparameters,0);%0对于DL为PHY层度量日志创建一个对象simPhyLogger{cellIdx} = hNRPhyLogger(simParameters, 0);%0对于DL结束存储感兴趣的单元格ID的索引cellOfInterestIdx =找到(simParameters。CellOfInterest = = simParameters.NCellIDList);%为MAC和PHY指标创建指标可视化对象(DL方向表示为0)视觉型的人= hNRMetricsVisualizer (simParameters,“MACLogger”, simSchedulingLogger {cellOfInterestIdx},“PhyLogger”, simPhyLogger {cellOfInterestIdx},'VisualizationFlag',0);%运行处理循环slotnum = 0;numsymbolssim = numslotssim * 14;以符号持续时间为单位的仿真时间%执行模拟中的所有符号symbolnum = 1:划分:numsymbolssim如果mod(symbolNum - 1,14) == 0 slotNum = slotNum + 1;结束%SCS在相同SC上操作的所有单元都相同cellIdx = 1: simParameters。NumCells每个单元格%%运行gNB的MAC和PHY层运行(gnb {cellidx});%运行ue的MAC层和PHY层UEIDX = 1:SimParameters.Numuescell Run(UE {CellidX,UEIDX});结束% MAC日志logcellschedulingstats(simschedulinglogger {cellidx},symbornum,gnb {cellidx},ues(cellidx,:),0);%0对于DL%phy logging.logcellphystats(simphylogger {cellidx},symbornum,gnb {cellidx},UE(cellidx,:));结束%的可视化%检查插槽边界如果symbolnum> 1 &&((simparameters.schedulingtype == 1 && mod(symbolnum,14)== 0)||(simparameters.schedulingtype == 0 && mod(symbolnum-1,14)== 0))% RB赋值可视化(如果启用)如果simParameters。RBVisualization如果mod(slotNum, rbAssignmentPlotPeriodicity) == 0%如果达到更新周期,在插槽边界绘制plotrbgrids(simschedulinglogger {cellofInterestidx});结束结束% CQI网格可视化(如果启用)如果simparameters.cqivisualization.如果mod(slotnum,numslotsframe)== 0帧边界的%绘图plotcqirbrids(simschedulinglogger {cellofInterestidx});结束结束%如果达到更新周期,绘制调度器指标和PHY指标可视化槽边%如果mod(slotnum,simparameters.metricsstepsize)== 0 plotmetrics(可视化器,slotnum);结束结束cellIdx = 1: simParameters。NumCells%autain定时器为gnb和ues的刻度按每个插槽的符号数advanceTimer (gNB {cellIdx}, tickGranularity);ueIdx = 1: simParameters。NumUEsCell advanceTimer(UEs{cellIdx, ueIdx}, tickGranularity);结束结束结束

图通道质量可视化包含一个轴和其他类型的uicontrol对象。标题为“单元格ID - 2的通道质量可视化”的轴包含80个矩形类型的对象。

仿真可视化

显示的五种运行时可视化类型是:

  • 显示网络拓扑:如图所示。对于每个单元,它显示gNB和连接的终端的位置。

  • 显示PDSCH带宽上的终端的CQI值:有关详细信息,请参阅“通道质量可视化”图描述NR PUSCH FDD调度例子。

  • 资源网格分配到终端的显示:二维时频网格显示终端的资源分配情况。您可以在日志和可视化配置部分。详情请参见中“资源网格分配”图的描述NR PUSCH FDD调度例子。

  • DL调度指标图的显示:有关详细信息,请参阅中“下行调度器性能指标”图形描述NR FDD调度性能评估例子。

  • 显示DL阻止错误率:详情请参见“块错误率(BLER)可视化”图形描述NR细胞性能评估与物理层集成例子。

仿真日志

仿真使用的参数和仿真日志保存在mat -文件中,用于仿真后的分析和可视化。仿真参数保存在mat -文件中,文件名作为配置参数的值simparameters.parameterslogfile..每个时间步骤日志,调度分配日志和BLER日志将捕获模拟中的每个单元格,并保存在MAT文件中simparameters.simulationlogfile..模拟完成后,打开文件进行加载NCellIDdltimesteplogs.SchedulingAssignmentLogs,BLERLogs在工作区。

NCellID:这存储了小区ID,表示仿真日志所属的单元格。

DL时间步长日志:将模拟的每个槽的每个槽日志存储为模拟中的一行。有关日志格式的详细信息,请参见NR PUSCH FDD调度例子。

调度分配日志:此文件中记录了所有调度分配和相关信息的信息。有关日志格式的详细信息,请参阅“模拟日志”部分NR FDD调度性能评估例子。

阻止错误率日志:此文件中记录了所有调度分配和相关信息的信息。有关日志格式的详细信息,请参阅“模拟日志”部分NR细胞性能评估与物理层集成例子。

您可以运行脚本nrpostsimvisualization获取日志的仿真后可视化。有关运行此脚本的选项的详细信息,请参见NR FDD调度性能评估例子。

dlStats = getPerformanceIndicators (simSchedulingLogger {simParameters。CellOfInterest + 1});[~, avgBLERLogs] = getBLERLogs(simPhyLogger;CellOfInterest + 1});fprintf('\nPeak DL吞吐量:%0.2f Mbps。达到的平均DL吞吐量:%0.2f Mbps', dlStats(1,1), dlStats(2,1);
峰值DL吞吐量:59.72 Mbps。实现平均DL吞吐量:9.07 Mbps
fprintf('\nAchieved average DL Goodput: %0.2f Mbps',dlstats(5,1));
达到平均DL Goodput: 8.98 Mbps
fprintf('\nPeak DL频谱效率:%0.2f bits/s/Hz。达到平均DL频谱效率:%0.2f bits/s/Hz',dlstats(3,1),dlstats(4,1));
峰值DL频谱效率:5.97 bits/s/Hz。达到平均DL频谱效率:0.91位/秒/赫兹
DISP(['下行链路方向上每个UE的阻止错误率:['num2str(round(avgblerlogs(:, 1)',2)))“]”]);
在下行链路方向上阻止每个UE的错误率:[0.01 0 0.04 0.03]
%获取日志如果(simParameters。DuplexMode = = 0)%FDD.loginfo = struct(“NCellID”[],“DLTimeStepLogs”[],'schedulingassignmentlogs'[],“BLERLogs”[],“AvgBLERLogs”,[]);其他的loginfo = struct(“NCellID”[],'timesteplogs'[],'schedulingassignmentlogs'[],“BLERLogs”[],“AvgBLERLogs”,[]);结束simulationlogs = cell(simparameters.numcells,1);cellidx = 1:simparameters.numcells loginfo.ncellid = simparameters.ncellidlist(cellidx);如果(simParameters。DuplexMode = = 0)%FDD.logInfo。DLTimeStepLogs = getSchedulingLogs (simSchedulingLogger {cellIdx});其他的%TDD.loginfo.timesteplogs = getschedulinglogs(simschedulinglogger {cellidx});结束loginfo.schedulingassignmentlogs = getgrantlogs(simschedulinglogger {cellidx});计划分配日志loginfo.blerlogs = getBlerlogs(SimphyLogger {Cellidx});%块错误率日志simulationLogs{cellIdx, 1} = logInfo;结束保存(simParameters。ParametersLogFile,'simparameters');%在MAT文件中保存模拟参数保存(SimParameters.simulationLogfile,“simulationLogs”);%将模拟日志保存到mat -文件中

进一步的探索

您可以使用此示例来进一步探索这些选项。

  • 通过配置上行链路相关配置,对节点之间的上行链路干扰进行建模。具体操作请参见NR细胞性能评估与物理层集成例子。

  • 模型侵略者 - 受害者情景:侵略者是干扰的来源,受害者因干扰而受到影响。考虑下图中的DL方案。宏UE远离宏基站(BS),靠近小小区。小电池BS干扰DL中的宏UE的宏BS传输。由于宏观UE受到小小区BS的干扰。小电池BS被称为攻击者,宏UE被称为受害者。

  • 对多个集群进行建模,每个集群由不同频率的小区组成,分析干扰对小区边缘用户的影响。

基于所描述的模拟参数,该示例评估了根据各种度量测量的系统的性能。不同的可视化显示系统的运行时间性能。使用保存的日志更全面的仿真分析,提供了每个插槽发生的操作的详细图片。

附录

该示例使用这些辅助功能和类:

本地函数

函数Plotnetwork(SimParameters)%创建数字图('名称''网络拓扑可视化'“单位”'标准化''offormosition',[0 0 1 1],'可见的'“在”);标题('网络拓扑可视化');持有cellIdx = 1: simParameters。NumCells%绘制圆圈th = 0:π/ 60:2 *π;xunit = simParameters。CellRadius * cos(th) + simParameters。GNBPosition (cellIdx, 1);yunit = simParameters。CellRadius * sin(th) + simParameters。GNBPosition (cellIdx 2);如果simparameters.cellofinterest == simparameters.ncellidlist(cellidx)h1 = plot(xunit,yunit,'颜色'“绿色”);感兴趣细胞%其他的H2 = plot(xunit, yunit,)'颜色''红色的');结束Xlabel('X位置(米)') ylabel (的坐标(米)%为gnb添加刀尖数据S1 =分散(SimParameters.gnboposition(cellidx,1),simparameters.gnboposition(cellidx,2),“^”'markeredgecolor''品红');cellIdRow = dataTipTextRow (“细胞- - - - - -”,{num2str(simpparameters.ncellidlist(cellidx))});s1.datatiptemplate.datatiprows(1)= cellidrow;posRow = dataTipTextRow ('位置[x,y]:',{[“(”num2str(simparameters.gnbposition(cellidx,:))“]”]});s1.datatiptemplate.datatiprows(2)= posrow;%为终端添加工具提示数据Ueposition = simparameters.ueposition {cellidx};UEIDX = 1:尺寸(UEPOSINE,1)S2 =分散(UEEDX,1),UEEPORION(UEIDX,2),'。''markeredgecolor''蓝色的');ueIdRow = dataTipTextRow (“问题- - - - - -”{num2str (ueIdx)});s2.DataTipTemplate.DataTipRows (1) = ueIdRow;posRow = dataTipTextRow ('位置[x,y]:',{[“(”num2str (uePosition (ueIdx:))“]”]});s2.DataTipTemplate.DataTipRows (2) = posRow;结束结束%创造了传说如果Simparameters.numcells> 1个图例([H1 H2 S1 S2],“感兴趣的细胞”干扰细胞的“gNodeB”“问题”“位置”“northeastoutside”其他的图例([H1 S1 S2],“感兴趣的细胞”“gNodeB”“问题”“位置”“northeastoutside”结束轴([0 4000 0 3000]);设置轴限持有;daspect([1000、1000、1]);%设置数据宽高比结束函数uePositions = generateUEPositions (simParameters)%返回每个单元中UE的位置Uepositions = cell(simparameters.numcells,1);cellidx = 1:simparameters.numcells gnbxco = simparameters.gnbposition(cellidx,1);% gNB坐标gnbyco = simparameters.gnbosition(cellidx,2);% gNB坐标Theta = Rand(SimParameters.numuescell,1)*(2 * Pi);%表达以计算细胞中UE的位置。默认情况下,%它将在单元格中随机放置uer =√兰德(simParameters。NumUEsCell, 1))*simParameters.CellRadius; x = round(gnbXCo + r.*cos(theta)); y = round(gnbYCo + r.*sin(theta)); uePositions{cellIdx} = [x y];结束结束

参考文献

[1]3 gpp TS 38.104。“NR;基站(BS)无线电发射和接收。”第三代合作伙伴项目;技术规范无线电接入网

[2]3 gpp TS 38.214。“NR;数据的物理层程序。”第三代合作伙伴项目;技术规范无线电接入网

[3]3 gpp TS 38.321。“NR;介质访问控制(MAC)协议规范。第三代合作伙伴项目;技术规范无线电接入网

[4]3GPP TS 38.322。“NR;无线电链路控制(RLC)协议规范。“第三代合作伙伴项目;技术规范无线电接入网

[5]3 gpp TS 38.323。“NR;包数据汇聚协议(PDCP)规范。第三代合作伙伴项目;技术规范无线电接入网

[6]3GPP TS 38.331。“NR;无线电资源控制(RRC)协议规范。“第三代合作伙伴项目;技术规范无线电接入网

[7]3 gpp TR 37.910。“对提交IMT-2020的自我评价研究”第三代合作伙伴项目;技术规范无线电接入网

相关的话题