主要内容

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)并搜索空间监视机会以映射pdchs。本例没有对物理通道和信号应用预编码。

波形与载波配置

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

  • 此DL载波配置的标签

  • 资源块中的SCS载波带宽

  • 载波单元ID

  • 以子帧表示的生成波形的长度

  • 窗口

  • ofdm调制波形的采样率

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

可以控制SCS载波带宽和保护频带NStartGridNSizeGrid的属性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个插槽,取决于SCS)waveconfig。窗口Percent = 0;相对于FFT长度的窗口百分比waveconfig。SampleRate = [];OFDM调制波形的采样率waveconfig。载波频率= 0;%载波频率,单位为Hz。此属性用于符号相位%补偿前OFDM调制定义一组SCS特定的载体,使用a的最大尺寸% 40 MHz NR信道。有关defined的更多信息,请参阅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毫秒半帧突发中传输的块。您还可以设置以毫秒为单位的周期和爆发的功率。有关可配置SS突发属性的完整列表,请参见nrWavegenSSBurstConfig

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

BWPs

BWP是由一组在给定的SCS载体上共享命理的连续资源组成的。您可以使用单元格数组定义多个bwp。的单元格数组中的每个元素nrWavegenBWPConfigobjects定义BWP。对于每个BWP,可以指定sc、CP (cyclic prefix)长度和带宽。的SubcarrierSpacing属性将BWP与之前定义的南海特定载体之一联系起来。的NStartBWP属性控制BWP在载体中相对于点A的位置。NStartBWP根据BWP的命理学,以公共资源块(CRB)表示。不同的bwp可以相互重叠。

% BWP配置bwp = {nrWavegenBWPConfig,nrWavegenBWPConfig};bwp{1}。BandwidthPartID = 1;% BWP idbwp{1}。标签=“BWP 1 @ 15 kHz”%此BWP标签bwp{1}。SubcarrierSpacing = 15;% BWP子载波间距bwp{1}。CyclicPrefix =“正常”% BWP循环前缀为15 kHzbwp{1}。NSizeBWP = 25;% PRBs中BWP的大小bwp{1}。NStartBWP = 12;BWP相对于A点在CRBs中的位置bwp{2}。BandwidthPartID = 2;% BWP idbwp{2}。标签=“BWP 2 @ 30 kHz”%此BWP标签bwp{2}。SubcarrierSpacing = 30;% BWP子载波间距bwp{2}。CyclicPrefix =“正常”% BWP循环前缀为30 kHzbwp{2}。NSizeBWP = 50;% PRBs中BWP的大小bwp{2}。NStartBWP = 51;BWP相对于A点在CRBs中的位置

CORESET和搜索空间配置

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

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

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

  • 一段时间内已分配槽位块的持续时间。

  • 分配模式的周期性。

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

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

  • CCE-to-REG映射可以是“交错的”或“非交错的”。

  • 资源元素组(REG)束大小(L),根据CORESET持续时间(2,6)或(3,6)。

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

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

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

% CORESET和搜索空间配置coresets = {nrCORESETConfig};coresets{1}。Coresetid = 1;% coreset idcoresets{1}。持续时间= 3;% CORESET符号持续时间(1,2,3)coresets{1}。FrequencyResources = [1 1 0 1];%位图表示CORESET的6个PRB块(RRC - frequencyDomainResources)coresets{1}。CCEREGMapping =“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;%搜索空间IDsearchspaces{1}。Coresetid = 1;与此搜索空间关联的CORESETsearchspaces{1}。SearchSpaceType =“问题”搜索空格类型,“ue”或“common”searchspaces{1}。SlotPeriodAndOffset = [5 0];搜索空间模式的已分配槽周期和槽偏移量searchspaces{1}。持续时间= 2;模式周期内槽块中的槽数%searchspaces{1}。StartSymbolWithinSlot = 0;插槽中每个CORESET监视机会的第一个符号searchspaces{1}。numcandidate = [8 8 4 2 0];%每个AL的候选人数(如果AL不符合CORESET则设为0)

PDCCH实例配置

使用单元阵列指定波形中的PDCCH传输实例集。的单元格数组中的每个元素nrWavegenPDCCHConfigobjects定义了PDCCH实例的序列。

每个PDCCH序列都需要设置这些参数。

  • 启用或禁用PDCCH序列。

  • 为这个PDCCH序列指定一个标签。

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

  • 以dB为单位的功率缩放。

  • 启用或禁用DCI信道编码。

  • 在CORESET监视场合序列中分配搜索空间。

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

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

  • PDCCH (control channel element, cce)的聚合级(AL)。

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

  • RNTI。

  • 这个PDCCH及其相关DM-RS的置乱NID。

  • DM-RS功率提升dB。

  • DCI消息有效负载大小。

  • DCI消息数据源。您可以使用比特数组或以下标准PN序列之一:“PN9-ITU”“PN9”“PN11”“PN15”“PN23”.可以将生成器的种子指定为窗体中的单元格数组{PN9,种子}.如果没有指定种子,则会用所有种子初始化生成器。

pdch = {nrWavegenPDCCHConfig};pdcch{1}。Enable = 1;%启用PDCCH序列pdcch{1}。标签='UE 1 - PDCCH @ 15 kHz'%该PDCCH序列的标签pdcch{1}。BandwidthPartID = 1;PDCCH传输的带宽部分pdcch{1}。功率= 1.1;%功率缩放,单位为dBpdcch{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}。AllocatedCandidate = 1;搜索空间中PDCCH候选百分比(以1为基数)pdcch{1}。Rnti = 11;% RNTIpdcch{1}。DMRSScramblingID = 1;% PDCCH和DM-RS加扰NIDpdcch{1}。dmrpower = 0;%额外的DM-RS功率提升dBpdcch{1}。DataBlockSize = 20;% DCI有效载荷大小pdcch{1}。数据源=“PN9”% DCI数据源

PDSCH实例配置

使用单元阵列指定波形中的PDSCH传输实例集。的单元格数组中的每个元素nrWavegenPDSCHConfigobjects定义了一个PDSCH实例序列。本例定义了两个PDSCH序列,用于模拟两个用户设备(UE)传输。

一般参数

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

  • 启用或禁用此PDSCH序列。

  • 为这个PDSCH序列指定一个标签。

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

  • 以dB为单位的功率缩放。

  • 启用/禁用DL-SCH传输通道编码。

  • 传输块数据源。您可以使用比特数组或以下标准PN序列之一:“PN9-ITU”“PN9”“PN11”“PN15”“PN23”.可以将生成器的种子指定为窗体中的单元格数组{PN9,种子}.如果没有指定种子,则会用所有种子初始化生成器。

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

  • 开销参数。

  • 灯象征。

  • 层数。

  • RV (Redundancy version)序列。

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

  • 交错映射的束大小,由上层参数vrb-ToPRB-Interleaver指定。

pdsch = {nrWavegenPDSCHConfig};为第一个终端创建PDSCH配置对象pdsch{1}。Enable = 1;%启用PDSCH序列pdsch{1}。标签='UE 1 - PDSCH @ 15 kHz'%该PDSCH序列的标签pdsch{1}。BandwidthPartID = 1;PDSCH传输的带宽部分pdsch{1}。Power = 0;%功率缩放,单位为dBpdsch{1}。编码= 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-Interleaver参数

分配

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

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

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

  • 帧中用于PDSCH序列的槽。

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

  • 相对于BWP分配的prb。

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

  • 置乱PDSCH位的NID。

pdsch{1}。SymbolAllocation = [2 9];第一个符号和长度pdsch{1}。SlotAllocation = 0:9;为PDSCH序列分配的槽索引pdsch{1}。周期= 15;%插槽分配周期pdsch{1}。PRBSet = [0:5, 10:20];% PRB分配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} .ReservedPRB{1}。Period = [];

PDSCH DM-RS配置

2 .设置DM-RS参数。

天线端口和DM-RS配置(TS 38.211节7.4.1.1)pdsch{1}。MappingType =“一个”% PDSCH映射类型('A'(插槽),'B'(非插槽))pdsch{1}。dmrpower = 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。dmrstypeposition = 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}。ptrpower = 0;%额外PT-RS功率提升dBpdsch {1} .PTRS。时间密度= 1;PT-RS(1,2,4)的%时间密度(L_PT-RS)pdsch {1} .PTRS。频率密度= 2;PT-RS的频率密度(K_PT-RS) (2,4)pdsch {1} .PTRS。REOffset =“00”% PT-RS资源元素偏移量('00','01','10','11')pdsch {1} .PTRS。PTRSPortSet = 0;PT-RS天线端口必须是DM-RS端口的子集

当PT-RS使能时,DM-RS配置类型1的端口范围为0 ~ 3,DM-RS配置类型2的端口范围为0 ~ 5。PT-RS的天线端口号名义上是DM-RS中最低的端口号。

指定多个PDSCH实例

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

Pdsch {2} = Pdsch {1};为第二台终端创建PDSCH配置对象pdsch{2}。Enable = 1;pdsch{2}。标签=“UE 2 - PDSCH @ 30 kHz”;pdsch{2}。BandwidthPartID = 2;% PDSCH映射到第二个BWPpdsch{2}。Rnti = 12;% RNTI用于第二个UEpdsch{2}。SymbolAllocation = [0 12];pdsch{2}。SlotAllocation = [2:4, 6:20];pdsch{2}。PRBSet = [25:30, 35:38];% PRB分配,相对于BWP

配置CSI-RS实例

本节在波形中配置CSI-RS。的单元格数组中的每个元素nrWavegenCSIRSConfigobjects定义了一组与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 = {nrWavegenCSIRSConfig};csir{1}。Enable = 0;csir{1}。标签=“CSI-RS @ 15 kHz”;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”

  • 资源块(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”};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资源。

csirs{2} = nrWavegenCSIRSConfig;csir{2}。Enable = 0;csir{2}。标签=“CSI-RS @ 30 kHz”;csir{2}。BandwidthPartID = 2;csir{2}。幂= 3;%功率缩放,单位为dBcsir{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 =搜索空间; waveconfig.PDCCH = pdcch; waveconfig.PDSCH = pdsch; waveconfig.CSIRS = csirs;生成复杂基带波形[波形,信息]= nrWaveformGenerator(waveconfig);

为所定义的天线端口集绘制基带波形的幅值。

图;情节(abs(波形));标题(“5G下行基带波形的幅度”);包含(“样本指数”);ylabel (“级”);

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

samplerate = info.ResourceGrids(1).Info.SampleRate;nfft = info. resourcegrid (1).Info.Nfft;图;光谱图(波形(:1)的(nfft, 1), 0, nfft,“中心”samplerate,“桠溪”“MinThreshold”, -130);标题(5G下行基带波形谱图);

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

ResourceGridsField是一个结构数组,它包含这些字段。

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

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

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

disp (与BWP 1相关的调制信息:) disp (info.ResourceGrids info) (1)
与BWP 1相关的调制信息:Nfft: 4096 SampleRate: 61440000 cyclicprefixlength:[320 288 288 288 288 288 288 288 288 288 320 288 288 288…[4416 4384 4384 4384 4384 4384 4384 4384 4384 4416 4384…][0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] SymbolsPerSlot: 14 SlotsPerSubframe: 1 SlotsPerFrame: 10 k0: 0

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

另请参阅

功能

对象

相关的话题

Baidu
map