主要内容

5G NR下行链路矢量波形生成

此示例显示如何通过使用该示例如何配置和生成用于基带分量载波的5G NR下行链路向量波形nrwaveformgenerator功能。

介绍

此示例显示如何通过使用介绍和生成5G新的无线电(NR)下行链路波形nrwaveformgenerator功能。生成的波形包含这些通道和信号:

  • PDSCH及其相关的DM-RS和PT-RS

  • PDCCH及其相关DM-RS

  • PBCH及其相关的DM-RS

  • PSS和SSS.

  • CSI-Rs.

该示例演示了如何参数化和生成由多个子载波间隔(SCS)载波和带宽部分(BWP)的基带分量载波波形。您可以通过不同的BWP生成物理下行链路共享信道(PDSCH),物理下行链路控制信道(PDCCH)和信道状态信息参考信号(CSI-RS)的多个实例。您可以配置控制资源集(Coresets)和搜索空间监控机会,以映射PDCCH。此示例不将预编码应用于物理信道和信号。

波形和载波配置

基带波形由参数化nrdlcarrierconfig对象和与波形信道和信号相关联的一组附加对象。

与之nrdlcarrierconfig对象中,可以设置这些下行运营商配置参数。

  • 此DL载波配置的标签

  • 资源块中的SCS载波带宽

  • 载体单元ID

  • 子帧中生成波形的长度

  • 窗口

  • OFDM调制波形的采样率

  • 符号相位补偿的载波频率

您可以使用备受控制器控制SCS载波带宽和保护带nstartgrid.nsizegrid.属性nrscscarrierconfig目的。

waveconfig = nrDLCarrierConfig ();%创建波形的参数对象的实例waveconfig。标签='DL载体1';该下行链路波形配置的%标签waveconfig.ncellid = 0;%细胞标识waveconfig.channelbandwidth = 40;%通道带宽(MHz)waveconfig.frequencyRange ='fr1';%'fr1'或'fr2'waveconfig。NumSubframes = 10;在生成的波形中的1ms子帧数(每个1ms子帧的1,2,4,8个时隙,具体取决于SC)waveconfig.windowingpercent = 0;相对于FFT长度的窗口百分比waveconfig。SampleRate = [];% OFDM调制波形的采样率waveconfig.carierfrequency = 0;Hz中的%载波频率。此属性用于符号阶段在OFDM调制之前的%补偿,不适合上转换%使用最大尺寸定义一组SCS特定载波%40 MHz NR通道。有关定义的更多信息,请参阅TS 38.101-1%带宽和保护带要求scscarriers = {nrscscarrierconfig(),nrscscarrierconfig()};scscarriers {1} .subcarrierspacing = 15;scscarriers {1} .nsizegrid = 216;scscarriers {1} .nstartgrid = 0;scscarriers {2} .subcarrierspacing = 30;scscarriers {2} .nsizegrid = 106;scscarriers {2} .nstartgrid = 1;

ss爆发

在本节中,您可以设置SS (signal synchronization)猝发的参数。SS爆发的数字学可能与波形的其他部分不同。这是通过块模式参数指定的,如TS 38.213节4.1所述。位图指定在5ms半帧突发中要传输的块。您还可以设置以毫秒为单位的周期和爆发的功率。有关可配置SS burst属性的完整列表,请参见nrwavenenssburstconfig

%SS突发配置ssburst = nrwavenenssburstconfig();ssburst.Enable = 1;%启用ss突发ssburst.power = 0;DB中的%功率缩放ssburst.blockpattern =.“案例B”;%案例B(30kHz)子载波间距ssburst.transmittedblocks = [1 1 1 1];%位图指示在5ms半帧突发中传输的块ssburst.period = 20;%SS突发在MS(5,10,20,40,80,160)中的周期性ssburst.ncrbssb = [];SS突发(CRB)的%频率偏移,使用[]为波形中心

带宽零件

BWP由在给定的载体上共享数字命数的一组连续资源组成。可以使用单元格数组定义多个bwp。单元格数组中的每个元素nrwaveNbwpconfig对象定义了BWP。对于每个BWP,您可以指定SCS,循环前缀(CP)长度和带宽。这子载波间隔属性将BWP映射到前面定义的某个SCS特定载波。这nstartbwp.属性控制载波中BWP的位置,相对于Point A.这在BWP数字中以公共资源块(CRB)表示。不同的BWP可以彼此重叠。

%带宽部件配置bwp = {nrwavegenbwpconfig(),nrwavegenbwpconfig()};BWP {1} .BandWidthpartid = 1;%带宽部分IDBWP {1} .label ='BWP @ 15 khz';此BWP的%标签BWP {1} .subcarrierspacing = 15;%BWP子载波间距BWP {1} .CYCLICPREFIX ='普通的';15 kHz的%BWP循环前缀BWP {1} .nsizebwp = 25;PRB中BWP的%大小bwp{1}。NStartBWP = 12;BWP的%位置,相对于点A(即CRB)bwp{2}。BandwidthPartID = 2;%带宽部分IDBWP {2} .Label =“BWP @ 30khz”;此BWP的%标签BWP {2} .subcarrierspacing = 30;%BWP子载波间距bwp{2}。CyclicPrefix ='普通的';30 kHz的%BWP循环前缀bwp{2}。NSizeBWP = 50;PRB中BWP的%大小BWP {2} .nstartbwp = 51;BWP的%位置,相对于点A(即CRB)

Coreset和搜索空间配置

本节指定Coreset和PDCCH搜索空间配置。Coreset和搜索空间指定给定数字物理学的控制信道传输的可能位置(处于时间和频率)。单元格数组中的每个元素nrcoresetconfig对象在单元格数组中定义Coreset和每个元素nrsearchspaceconfig对象定义搜索空间。

为每个CORESET和搜索空间设置以下参数:

  • OFDM符号,其在插槽中指定每个Coreset监视机会的第一个符号

  • 在一段时间内分配插槽块的持续时间

  • 分配模式的周期性

  • 符号中的刻度持续时间,1,2或3

  • 定义Coreset的分配物理资源块(PRB)的位图。Corese频率分配在6个PRB的块中定义,在CRB编号中对齐,相对于点A对齐。位图中的每个位选择包含它的CRB对齐块中的所有6个PRB。

  • CCE-to-reg映射,可以是“交错”或“非交织物”

  • 资源元素组(REG)捆绑大小(L),(2,6)或(3,6),基于Coreset持续时间

  • 交织器大小,2,3或6

  • 换档索引,范围0 ... 274的标量值

下图显示了一些Coreset参数的含义。

%coreset和搜索空间配置coresets = {nrcoresetconfig()};coresets {1} .corsetid = 1;% CORESET IDcoresets {1} .duration = 3;%coreset符号持续时间(1,2,3)coresets {1} .frequencyResources = [1 1 0 1];%位图指示Coreset 6 PRB的块(RRC  - 频率域仪)coresets{1}。CCEREGMapping ='非互联网';%映射:“交错”或“非交织物”coresets {1} .regbundlesize = 3;%l(2,6)或(3,6)coresets{1}。InterleaverSize = 2;%r(2,3,6)coresets {1} .shiftindex = waveconfig.ncellid;%设置为“NCellID”searchspaces = {nrsearchspaceConfig()};Searchspaces {1} .searchssssspaceid = 1;%搜索空间IDsearchspaces {1} .coresetid = 1;%coreset与此搜索空间相关联Searchspace {1} .searchspacetype ='UE';%搜索空间类型“ue”或“common”searchspaces {1} .slotperiodandOffset = [5,0];%搜索空间模式分配的槽期和槽偏移量Searchspace {1} .duration = 2;模式时段中的插槽块中的次数数searchspaces {1} .startsymbolwithinslot = 0;每个Coreset监控时隙中的每个Coreset监控机会的符号%searchspace {1} .numcandidates = [8 8 4 2 0];%AL的候选人数量(如果AL不适合Coreset)

PDCCH实例配置

本节指定通过使用单元格数组来指定波形中的PDCCH实例集。单元格数组中的每个元素nrwavegenpdcchconfig对象定义了一个PDCCH实例序列。

为每个PDCCH序列设置这些参数:

  • 启用或禁用此PDCCH序列

  • 为此PDCCH序列指定标签

  • 指定携带PDCCH的BWP。PDCCH使用为此BWP指定的SCS

  • DB中的电力缩放

  • 启用或禁用下行链路控制信息(DCI)信道编码

  • 分配Coreset监控场合序列中的搜索空间

  • 携带PDCCH实例的搜索空间(和coreset)

  • 槽位分配的周期。空周期表示没有重复

  • PDCCH的聚合级别(AL)(控制信道元素(CCE)的数量)

  • 指定用于传输PDCCH的CCE的已分配候选项

  • rnti.

  • 此PDCCH及其相关的DM-RS争抢NID

  • DM-RS功率放大分贝

  • DCI消息有效载荷大小

  • DCI消息数据源。您可以使用一系列比特或其中一个标准PN序列:'pn9-ITU''pn9''pn11''pn15''pn23'.可以使用形式的单元阵列指定发电机的种子{PN9,种子}.如果没有指定种子,则用所有种子初始化生成器

pdcch = {nrwavegenpdcchconfig()};pdcch {1} .Enable = 1;%启用PDCCH序列pdcch{1}。标签='pdcch @ 15 khz';此PDCCH序列的%标签pdcch {1} .BandWidthpartid = 1;PDCCH传输的%带宽部分pdcch {1} .power = 1.1;DB中的%功率缩放pdcch {1} .coding = 1;%启用DCI编码pdcch {1} .searchspspaceid = 1;%的搜索空间pdcch {1} .slotallocation = 0;用于PDCCH序列的%分配的槽索引pdcch {1} .period = 5;插槽中的%分配期pdcch {1} .aggregationLevel = 8;%聚合水平(1,2,4,8,16 CCES)pdcch {1} .Allocatedcandidatid = 1;搜索空间中%PDCCH候选者(基于1)pdcch {1} .rnti = 0;%RNTI.pdcch {1} .dmrsscramblingid = 1;%PDCCH和DM-RS加扰NIDpdcch {1} .dmrspower = 0;在DB中增加DM-RS功率升高pdcch {1} .datablocksize = 20;%DCI有效载荷大小pdcch {1} .datasource ='pn9';%DCI数据源

PDSCH实例配置

本节指定通过使用单元格数组来指定波形中的PDSCH实例集。单元格数组中的每个元素nrwavegenpdschconfig对象定义了一系列PDSCH实例。此示例定义了两个PDSCH序列。

一般参数

为每个PDSCH序列设置这些参数:

  • 启用或禁用此PDSCH序列

  • 为此PDSCH序列指定标签

  • 指定携带PDSCH的BWP。PDSCH使用为此BWP指定的SCS

  • DB中的电力缩放

  • 启用或禁用DL-SCH传输信道编码

  • 传输块数据源。您可以使用一系列比特或其中一个标准PN序列:'pn9-ITU''pn9''pn11''pn15''pn23'.可以使用形式的单元阵列指定发电机的种子{PN9,种子}.如果没有指定种子,则用所有种子初始化生成器

  • 用于计算传输块大小的目标代码率

  • 开销参数

  • 符号调制

  • 层数

  • 冗余版本(RV)序列

  • 启用或禁用虚拟物理资源块映射的交错

  • 由更高层参数VRB-TOPRB-Interleaver指定的交错地图的捆绑尺寸

pdsch = {nrwavegenpdschconfig()};pdsch {1} .Enable = 1;%启用PDSCH序列PDSCH {1} .Label ='PDSCH @ 15 khz';此PDSCH序列的%标签pdsch {1} .BandWidthpartid = 1;PDSCH传输的%带宽部分PDSCH {1} .Power = 0;DB中的%功率缩放pdsch{1}。编码= 1;%启用DL-SCH传输信道编码PDSCH {1} .datasource ='pn9';%通道数据源PDSCH {1} .targetCoderate = 0.4785;%用于计算传输块大小的码率pdsch {1} .xoverhead = 0;百分比匹配开销pdsch{1}。调制='QPSK';%'QPSK','16QAM','64QAM','256QAM'pdsch {1} .numlayers = 2;%PDSCH层数pdsch {1} .rvsequence = [0,2,3,1];%RV序列循环地应用于PDSCH分配序列PDSCH {1} .vrbtopbinterleavent = 0;%禁用交错资源映射pdsch {1} .vrbbundlesize = 2;%VRB-TOPRB-INTERLEAVER参数

分配

该图表表示PDSCH分配中使用的一些参数。

您可以设置以下参数来控制PDSCH分配。这些参数相对于BWP。指定的PDSCH分配将避免用于SS突发的位置。

  • 在每个PDSCH实例分配的插槽中的符号

  • 用于PDSCH序列的帧中的槽

  • 槽位分配的周期。空周期表示没有重复

  • 分配的prbs相对于bwp

  • rnti。此值用于将PDSCH链接到PDCCH的实例

  • 用于扰乱PDSCH比特

pdsch {1} .symbolallocation = [2,9];%首先符号和长度pdsch{1}。SlotAllocation = 0:9;PDSCH序列的%分配的插槽索引pdsch {1} .period = 15;插槽中的%分配期pdsch {1} .prset = [0:5,10:20];%PRB分配PDSCH {1} .rnti = 0;%RNTI.pdsch {1} .nid = 1;数据部分的%争抢

如果需要,可以指定匹配的速率的速率和PRB集

  • PDSCH可以是围绕一个或多个刻板匹配的速率

  • PDSCH可以围绕其他资源分配匹配

pdsch {1} .reservedcoresetet = 1;%速率匹配模式,由Coreset ID定义pdsch {1} .reservedprob {1} .prset = [];%速率匹配模式,由Set定义PRB(RRC'Bitmaps')pdsch {1} .ReservedPRB{1}。SymbolSet = [];pdsch {1} .ReservedPRB{1}。时间= [];

PDSCH DM-RS配置

配置DM-RS参数。

%天线端口和DM-RS配置(TS 38.211第7.4.1.1节)PDSCH {1} .mappingtype ='一种';%PDSCH映射类型('a'(插槽),'b'(非插槽))PDSCH {1} .dmrspower = 0;%额外的功率升高在DB中pdsch {1} .dmrs.dmrsconfigurationtype = 2;%DM-RS配置类型(1,2)pdsch {1} .DMRS。NumCDMGroupsWithoutData = 1;%没有数据的DM-RS CDM组的数量。该值可以是集合{1,2,3}之一pdsch {1} .dmrs.dmrsportset = [];使用%DM-RS天线端口([]给出端口号0:Numlayers-1)pdsch {1} .dmrs.dmrstypeaposition = 2;%映射类型a。第一个DM-RS符号位置(2,3)pdsch {1} .dmrs.dmrslength = 1;%加载的DM-RS符号数(1(单个符号),2(双符号))PDSCH {1} .dmrs.dmrsadditionalposition = 0;%额外的DM-RS符号位置(最大范围0 ... 3)pdsch {1} .dmrs.nidnscid = 1;%加扰标识(0 ... 65535)pdsch {1} .dmrs.nscid = 0;%加扰初始化(0,1)

PDSCH PT-RS配置

设置PT-RS参数。

%PT-RS配置(TS 38.211第7.4.1.2节)pdsch {1} .enableptrs = 0;%启用或禁用PT-RS(1或0)pdsch{1}。PTRSPower = 0;%额外的PT-RS功率在DB中提升PDSCH {1} .ptrs.timeditys = 1;PT-RS的%时间密度(L_PT-RS)(1,2,4)PDSCH {1} .ptrs.frequencydensity = 2;PT-RS(2,4)的频率密度(K_PT-RS)pdsch {1} .ptrs.reoffset ='00';%Pt-RS资源元素偏移('00','01','10','11')pdsch {1} .ptrs.ptrsportset = 0;%Pt-RS天线端口必须是DM-RS端口的子集

启用PT-RS时,DM-RS端口必须在0到3的范围内为DM-RS配置类型1,并且在0到5的范围内,对于DM-RS配置类型2.名义上,天线端口pt-rs是最低的DM-RS端口号。

指定多个PDSCH实例

指定第二个BWP的第二个PDSCH序列。

PDSCH {2} = PDSCH {1};PDSCH {2} .Enable = 1;PDSCH {2} .Label ='PDSCH @ 30 kHz';pdsch {2} .BandWidthpartid = 2;%PDSCH映射到2nd BWPpdsch {2} .symbolallocation = [0,12];pdsch {2} .slotallocation = [2:4,6:20];pdsch {2} .prset = [25:30,35:38];%PRB分配,相对于BWP

CSI-RS实例配置

本节介绍了波形中scsi - rs的配置。单元格数组中的每个元素nrwavecencsirsconfig对象定义了一组与BWP关联的CSI-RS资源。此示例定义了两组禁用的CSI-RS资源。

一般参数

为一组CSI-RS资源设置这些参数:

  • 启用或禁用此CSI-RS资源集

  • 为此集合CSI-RS资源指定标签

  • 指定携带这组CSI-RS资源的BWP。CSI-RS资源配置使用为此BWP指定的SCS

  • 指定DB中的电源缩放。提供标量为单个CSI-RS资源或所有已配置的CSI-RS资源定义电源缩放。提供矢量为每个CSI-RS资源定义单独的功率电平。

CSIRS = {nrwaveCencsirsconfig();CSIRS {1} .Enable = 0;CSIRS {1} .Label ='CSI-RS @ 15 khz';CSIRS {1} .BandWidthpartid = 1;CSIRS {1} .Power = 3;DB中的%功率缩放

CSI-RS配置

您可以为一个或多个零功率(ZP)或非零功率(NZP) CSI-RS资源配置配置这些参数。

  • CSI-RS资源的类型('NZP','ZP')

  • 行号对应于TS 38.211中定义的CSI-RS资源表7.4.1.5.3-1(1 ... 18)

  • CSI-RS资源的频率密度。它可以'一'“三”'dot5even', 要么'dot5odd'

  • 资源块(RB)内的CSI-RS资源的子载波位置

  • 分配给CSI-RS资源的RBs数量(1…275)

  • 相对于运营商资源网格的CSI-RS资源分配的启动RB索引(0 ... 274)

  • 插槽中CSI-RS资源的OFDM符号位置

  • CSI-RS资源的时隙(基于0)的时期和偏移。该参数可以是矢量或电池数组。在后一种情况下,每个单元对应于单个CSI-RS资源。在向量的情况下,相同组的插槽用于所有CSI-RS资源

  • 加扰标识对应于伪随机序列生成的CSI-RS资源(0 ... 1023)

csir{1}。CSIRSType = {“nzp”'ZP'};csirs {1} .rownumber = [3 5];CSIRS {1} .density = {'一''一'};csir{1}。SubcarrierLocations = {6 4};csir{1}。NumRB = 25;csir{1}。RBOffset = 12;csir{1}。SymbolLocations ={13日9};csir{1}。CSIRSPeriod = {[5 0],[5 0]}; csirs{1}.NID = 5;

指定多个CSI-RS实例

为第二个BWP指定第二组CSI-RS资源。

csirs {2} = nrwavegencsirsconfig();CSIRS {2} .Enable = 0;CSIRS {2} .Label ='csi-rs @ 30 khz';CSIRS {2} .BANDWIDTHPARTID = 2;CSIRS {2} .Power = 3;DB中的%功率缩放csir{2}。CSIRSType = {“nzp”“nzp”};CSIRS {2} .rownumber = [1 1];CSIRS {2} .density = {“三”“三”};CSIRS {2} .subcarrierlocations = {0,0};CSIRS {2} .numrb = 50;CSIRS {2} .rboffset = 50;csirs {2} .symbollocations = {6,10};CSIRS {2} .csirsperiod = {[10,1],[10,1]};CSIRS {2} .nid = 0;

波形生成

本节将所有通道和信号参数分配到主载体配置对象中nrdlcarrierconfig然后生成并绘制波形。

waveconfig.ssburst = ssburst;waveconfig.scscarriers = scscarriers;waveconfig.bandwidthparts = bwp;waveconfig.coreet = coresets;waveconfig.searchspace = searchspaces;waveconfig.pdcch = pdcch;waveconfig.pdsch = pdsch;waveconfig.csirs = csirs;%生成复杂基带波形[波形,信息] = nrwaveformgenerator(Waveconfig);

绘制所定义的一组天线端口的基带波形的大小。

图;绘图(ABS(波形));标题('5g下行链路基带波形的幅度');Xlabel('样本索引');ylabel('震级');

第一个天线端口波形的绘图阶段。

samplerate = info.ResourceGrids (1) .Info.SampleRate;nfft = info.ResourceGrids (1) .Info.Nfft;图;光谱图(波形(:1)的(nfft, 1), 0, nfft,'中心',采样率,'yaxis'“MinThreshold”,-130);标题('5G下行链路基带波形的频谱图');

波形发生器功能返回时域波形和结构信息,其中包含底层资源元素网格和波形中所有PDSCH和PDCCH实例使用的资源的细分。

资源格栅字段是结构阵列,其中包含这些字段:

  • 对应于每个BWP的资源网格

  • 包含每个BWP中的通道和信号的整体带宽的资源网格

  • 一种信息结构,其信息与每个BWP相对应。第一个BWP的信息结构的内容如下所示。

disp ('与BWP 1相关的调制信息:')disp(info.resourcegrids(1).info)
调制信息与BWP 1:NFFT:4096 SampleRe:61440000 CyclicPrefixLength:[1x14双] Symbollengths:[1x14双]窗口:0符号:[0 0 0 0 0 0 0 0 0 0 0 0 0 0]符号架:14 Slotspersubframe:1 Slotsperframe:10 K0:0

注意,所生成的资源网格是3D矩阵,其中不同的平面表示天线端口。对于不同的物理信道和信号,最低端口被映射到网格的第一平面。

也可以看看

功能

对象

相关话题