主要内容

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

本示例演示如何使用该方法为基带组件载波配置和生成5G NR下行矢量波形波形发生器函数。

介绍

这个示例演示了如何参数化并生成5G新无线电(NR)下行波形波形发生器函数。生成的波形包含这些通道和信号。

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

  • PDCCH及其相关DM-RS

  • PBCH及其相关DM-RS

  • PSS和瑞士

  • CSI-RS

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

波形和载波配置

使用nrDLCarrierConfig对象以参数化基带波形生成。此对象包含一组与波形通道和信号相关联的附加对象,使您能够设置这些下行链路载波配置参数。

  • DL运营商配置的标签

  • SCS以资源块为单位的载波带宽

  • 载体细胞ID

  • 在子帧中生成的波形的长度

  • 开窗

  • ofdm调制波形的采样率

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

您可以控制SCS载波带宽和保护带使用NStartGridNSizeGrid的属性NRSCarrierConfig对象。

waveconfig=nrDLCarrierConfig;%创建下行链路载波配置对象waveconfig.label =.“DL载波1”%此下行波形配置的标签waveconfig。NCellID = 0;%细胞身份waveconfig.ChannelBandwidth=40;%通道带宽(MHz)waveconfig.FrequencyRange=“FR1”% 'FR1'或'FR2'waveconfig.numsubframes = 10;%生成波形中1 ms子帧的数量(每1 ms子帧1、2、4、8个时隙,取决于SCS)waveconfig.WindowingPercent=0;%开窗相对FFT长度的百分比waveconfig.samplerve = [];OFDM调制波形的%采样率waveconfig。CarrierFrequency = 0;%载波频率,单位为Hz。此属性用于符号阶段% OFDM调制前的补偿定义一组SCS特定的载体,使用a的最大尺寸% 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突发的数字符号可以不同于波形的其他部分。这是通过块模式参数指定的,如TS 38.213第4.1节所述。位图指定在5毫秒半帧突发中传输的块。您还可以设置以毫秒为单位的周期和突发的功率。有关完整的con列表可计算的SS突发属性,请参阅nrWavegenSSBurstConfig

SS突发配置ssburst = nrWavegenSSBurstConfig;ssburst。使= 1;%启用SS突发ssburst。权力= 0;%以dB为单位的功率缩放ssburst。BlockPattern =“案例B”% Case B (30kHz)子载波间距ssburst。TransmittedBlocks = [1 1 1];%位图,指示在5ms半帧突发中传输的块ssburst。时间= 20;% SS突发设置周期毫秒(5,10,20,40,80,160)ssburst。NCRBSSB = [];% SS突发(CRB)频率偏移量,用[]为波形中心

BWPs

BWP由一组连续的资源形成,在给定SCS载波上共享数字。您可以使用单元格数组定义多个BWP。单元格数组中的每个元素nrWavegenBWPConfig对象定义BWP。对于每个BWP,可以指定SCS、循环前缀(CP)长度和带宽。的SubcarrierSpacing属性将BWP链接到前面定义的SCS特定载波之一。的NStartBWP属性控制BWP相对于A点在载体中的位置。NStartBWP根据BWP命理学,以公共资源块(CRB)表示。不同的bwp可以相互重叠。

% BWP配置BWP = {nrWavegenBWPConfig,nrWavegenBWPConfig};BWP {1} .BandWidthpartid = 1;% BWP IDbwp{1}.标签=“BWP 1 @ 15千赫”这个BWP的标签bwp{1}。SubcarrierSpacing = 15;%子载波间隔bwp{1}。CyclicPrefix =“正常”% BWP循环前缀15千赫bwp{1}.nsizebp=25;prb中BWP的大小%BWP {1} .nstartbwp = 12;在crb中BWP相对于A点的位置BWP {2} .BandWidthpartid = 2;% BWP IDbwp{2}。标签=“30 kHz时的BWP 2”这个BWP的标签bwp{2}。SubcarrierSpacing = 30;%子载波间隔BWP {2} .CYCLICPREFIX =“正常”% BWP循环前缀为30 kHzBWP {2} .nsizebwp = 50;prb中BWP的大小%bwp{2}。NStartBWP = 51;在crb中BWP相对于A点的位置

CORESET和搜索空间配置

指定核心集和PDCCH搜索空间配置。核心集和搜索空间指定给定命理的控制信道传输的可能位置(时间和频率)。的单元格数组中的每个元素nrCORESETConfig对象定义了一个CORESET和单元格数组中的每个元素nrSearchSpaceConfig对象定义搜索空间。

为每个Coreset和搜索空间设置这些参数。

  • 指定槽中每个CORESET监视机会的第一个符号的OFDM符号。

  • 块在一个周期内已分配槽位的持续时间。

  • 分配模式的周期性。

  • CORESET持续时间用符号表示,可以是1、2或3。

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

  • CCE-to-REG映射,可“交错”或“非交错”。

  • 基于核心集持续时间的资源元素组(REG)束大小(L)(2,6)或(3,6)。

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

  • 移位索引,范围为0…274的标量值。

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

CORESET和搜索空间配置coresets = {nrcoresetconfig};coresets {1} .corsetid = 1;%coreset id.核心集{1}。持续时间=3;% CORESET符号持续时间(1,2,3)coresets{1}.FrequencyResources=[1 10 1];%位图,表示CORESET的6个PRB块(RRC - frequencyDomainResources)Coresets {1} .cceregmapping =“noninterleaved”%映射:'interleaved'或'noninterleaved'coresets{1}。REGBundleSize = 3;%L(2,6)或(3,6)coresets {1} .Interleaversize = 2;% R(2、3、6)coresets{1}。ShiftIndex = waveconfig.NCellID;%设置为ncellidsearchspaces={nrSearchSpaceConfig};searchspaces{1}.SearchSpaceID=1;%搜索空间ID搜索空间{1}.CORESETID=1;与此搜索空间关联的% CORESETsearchspaces{1}。SearchSpaceType =“问题”%搜索空间类型,'UE'或'common'searchspaces{1}。SlotPeriodAndOffset = [5 0];%分配的插槽周期和Selare偏移的搜索空间模式searchspaces{1}。时间= 2;%模式周期内槽位块中的槽位数searchspaces{1}。StartSymbolWithinSlot = 0;%插槽中每个CORESET监视机会的第一个符号searchspaces{1}。NumCandidates = [8 8 4 2 0];%每个AL的候选人数(如果AL不适合CORESET,则设置为0)

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',seed}.如果不指定种子,则用所有种子初始化生成器。

pdcch={nRWAGENPDCCHCONFIG};pdcch{1}.Enable=1;%使能PDCCH序列pdcch{1}.标签=“UE 1-15 kHz时的PDCCH”%此PDCCH序列的标签pdcch{1}.BandwidthPartID=1;%PDCCH传输的带宽部分pdcch{1}。权力= 1.1;%以dB为单位的功率缩放pdcch{1}。编码= 1;%启用DCI编码pdcch{1}。SearchSpaceID = 1;%搜索空间pdcch{1}。SlotAllocation = 0;%为PDCCH序列分配的槽索引pdcch{1}。时间= 5;%槽位分配周期pdcch{1}。AggregationLevel = 8;%聚合级别(1、2、4、8、16个cce)pdcch{1}。所有ocatedCandidate = 1;% PDCCH候选搜索空间(基于1)pdcch{1}。RNTI = 11;% RNTIpdcch{1}。DMRSScramblingID = 1;% PDCCH和DM-RS干扰NIDpdcch{1}。DMRSPower = 0;%附加DM-RS功率提升(dB)pdcch{1}。DataBlockSize = 20;DCI有效载荷大小pdcch{1}。数据源=“PN9”% DCI数据源

PDSCH实例配置

使用单元阵列在波形中指定一组PDSCH传输实例。单元格数组中的每个元素nrWavegenPDSCHConfig对象定义了一系列PDSCH实例。此示例定义模拟两个用户设备(UE)传输的两个PDSCH序列。

一般参数

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

  • 启用或禁用此PDSCH序列。

  • 为此PDSCH序列指定标签。

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

  • 功率按dB缩放。

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

  • 传输块数据源。你可以使用一个比特数组或这些标准的PN序列:“PN9-ITU”“PN9”“PN11”“PN15”“PN23”.您可以在表单中将生成器的种子指定为单元格数组{'pn9',seed}.如果不指定种子,则用所有种子初始化生成器。

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

  • 开销参数。

  • 符号调制。

  • 层数。

  • 冗余版本(RV)序列。

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

  • 交错贴图的束大小,由更高的层参数vrb ToPRB Interleaver指定。

pdsch = {nrwavegenpdschconfig};%为第一个UE创建PDSCH配置对象pdsch{1}。使= 1;%开启PDSCH序列pdsch{1}.标签=' ue1 - PDSCH @ 15khz '%此PDSCH序列的标签pdsch{1}。BandwidthPartID = 1;% PDSCH传输的带宽部分pdsch{1}。权力= 0;%以dB为单位的功率缩放PDSCH {1} .coding = 1;%启用DL-SCH传输信道编码pdsch{1}。数据源=“PN9”%通道数据源pdsch{1}。TargetCodeRate = 0.4785;用于计算传输块大小的百分比代码率pdsch{1}。XOverhead = 0;比率匹配开销pdsch{1}.调制=“正交相移编码”% ' qpsk ', ' 16qam ', ' 64qam ', ' 256qam 'pdsch{1}。NumLayers = 2;%PDSCH层数pdsch{1}.RVSequence=[0 2 3 1];% RV序列将在PDSCH分配序列中循环应用pdsch{1}。VRBToPRBInterleaving = 0;%禁用交错资源映射pdsch{1}。VRBBundleSize = 2;%vrb ToPRB交织器参数

分配

此图显示了PDSCH分配的参数。

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

  • 分配给每个PDSCH实例的槽中的符号。

  • 用于PDSCH序列的帧中的插槽。

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

  • 分配的PRB相对于BWP。

  • RNTI。该值用于将PDSCH链接到PDCCH的实例。

  • 用于扰乱PDSCH比特。

pdsch{1}。SymbolAllocation = [2 9];%第一个符号和长度PDSCH {1} .slotallocation = 0:9;%为PDSCH序列分配的槽位索引pdsch{1}。时间= 15;%槽位分配周期pdsch{1}。[0:5, 10:20];%复审委员会分配pdsch{1}。RNTI = 11;% RNTI为第一个UEpdsch{1}。NID = 1;%数据部分置乱

如果需要,可以指定CORESETs和PRB的集合来进行速率匹配

  • PDSCH可以围绕一个或多个coreset进行速率匹配。

  • PDSCH可以与其他资源分配进行速率匹配。

pdsch{1}。ReservedCORESET = 1;%速率匹配模式,由CORESET ID定义pdsch{1}.ReservedPRB{1}.PRBSet=[];%速率匹配模式,由PRB定义(RRC 'bitmaps')PDSCH {1} .ReservedPRB {1} .SymbolSet = [];pdsch {1} .reservedprob {1} .period = [];

PDSCH DM-RS配置

设置DM-RS参数。

%天线接口和DM-RS配置(TS 38.211章节7.4.1.1)pdsch{1}。MappingType =“一个”% PDSCH映射类型('A'(slot-wise),'B'(non - slot-wise))pdsch{1}.DMRSPower=0;额外功率提升百分比,单位为dBpdsch {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功率提升,分贝pdsch {1} .PTRS。TimeDensity = 1;PT-RS(1,2,4)的时间密度(L_PT-RS) %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};%为第二个UE创建PDSCH配置对象PDSCH {2} .Enable = 1;PDSCH {2} .Label ='UE 2 - PDSCH @ 30 kHz';pdsch{2}。BandwidthPartID = 2;% PDSCH映射到第二个BWPpdsch{2}。RNTI = 12;%第二UE的RNTIpdsch{2}。SymbolAllocation = [0 12];pdsch{2}。[2:4, 6:20];pdsch{2}。PRBSet = [25:30, 35:38];PRB分配百分比,相对于BWP

CSI-RS实例配置

本节在波形中配置CSI-RS。单元格数组中的每个元素nrWavegenCSIRSConfig对象定义了一组与BWP关联的CSI-RS资源。定义两个已禁用的CSI-RS资源集。

一般参数

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

  • 启用或禁用这组CSI-RS资源。

  • 为这组CSI-RS资源指定一个标签。

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

  • 指定以dB为单位的功率缩放。提供标量定义单个scsi - rs资源或所有配置的scsi - rs资源的功率扩展。提供向量为每个CSI-RS资源定义一个单独的功率级别。

csir = {nrWavegenCSIRSConfig};csir{1}。使= 0;csir{1}。标签=“CSI-RS @ 15khz”;csir{1}。BandwidthPartID = 1;csir{1}。权力= 3;%以dB为单位的功率缩放

CSI-RS配置

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

  • CSI-RS资源的类型('nzp','zp')。

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

  • CSI-RS资源的频率密度。有可能“一个”'三'“dot5even”,或“dot5odd”

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

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

  • 启动相对于载波资源网格的scsi - rs资源分配的RB索引(0…274)。

  • 槽内CSI-RS资源的OFDM符号位置。

  • CSI-RS资源槽位的周期和偏移量(基于0)。该参数可以是向量或向量单元格数组。在后一种情况下,每个单元格对应一个单独的CSI-RS资源。对于向量,所有CSI-RS资源使用相同的槽集。

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

CSIRS {1} .csirstype = {“nzp”“zp”};csir{1}。RowNumber = [3 5];csir{1}。密度= {“一个”“一个”};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资源。

csir {2} = nrWavegenCSIRSConfig;csir{2}。使= 0;csir{2}。标签=“CSI-RS @ 30千赫”;csir{2}。BandwidthPartID = 2;csir{2}。权力= 3;%以dB为单位的功率缩放CSIRS {2} .csirstype = {“nzp”“nzp”};csir{2}。RowNumber = [1 1];csir{2}。密度= {'三''三'};csir{2}。SubcarrierLocations = {0 0};csir{2}。NumRB = 50;csir{2}。RBOffset = 50;csir{2}。SymbolLocations = {6 10};csir{2}。CSIRSPeriod = {[10 1], [10 1]}; csirs{2}.NID = 0;

波形的一代

将所有的信道和信号参数分配到主载波配置对象中nrDLCarrierConfig,然后生成波形并绘制。

waveconfig。SSBurst = SSBurst;waveconfig。SCSCarriers = SCSCarriers;waveconfig。BandwidthParts = bwp;waveconfig。CORESET = coresets;waveconfig。SearchSpaces = SearchSpaces; waveconfig.PDCCH = pdcch; waveconfig.PDSCH = pdsch; waveconfig.CSIRS = csirs;%产生复基带波形(波形信息]= nrWaveformGenerator (waveconfig);

绘制天线端口组基带波形的幅值。

图形绘图(abs(波形));头衔(“5G下行基带波形的幅度”);包含(“样本指数”);ylabel (“级”);

绘制第一个天线端口的波形谱图。

samplerve = info.resourcegrids(1).info.samplerate;nfft = info.resourcegrids(1).info.nfft;数字;频谱图(波形(:,1),那些(NFFT,1),0,NFFT,“中心”samplerate,“桠溪”'minthreshold', -130);标题(“5G下行基带波形谱图”);

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

资源网格Field是一个结构数组,它包含这些字段。

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

  • 包含每个BWP中的信道和信号的总带宽的资源网格。

  • 一种信息结构,其信息与每个BWP相对应。例如,显示第一个BWP的信息。

disp('与BWP 1相关的调制信息:') disp (info.ResourceGrids info) (1)
NFFT::4096 SAMPLERATE:与BWP 1相关联的调制信息61440000个CyclicPrefixLengths:[320 288 288 288 288 288 288 320 288 288 288 ...] SymbolLengths:[4416 4384 4384 4384 4384 4384 4384 4416 4384 ...]窗口化:0符号:[0 0 0 0 0 0 0 0 0 0 0 0 0] Symbolsperslot:14 slotspersubframe:1 slotsperframe:10 k0:0

生成的资源网格是一个三维矩阵。网格中的不同平面以端口号递增的顺序表示天线端口。

另请参阅

功能

对象

相关的话题