主要内容

5G NR上行链路与PUCCH矢量波形生成

本示例展示如何为基带组件运营商配置和生成带有物理上行链路控制信道(PUCCH)的5G NR上行链路矢量波形nrWaveformGenerator函数。

简介

该示例展示了如何参数化和生成用于上行控制的多用户设备(UE)传输的5G新无线电(NR)波形nrWaveformGenerator函数。本例中的基带分量载波波形由多个子载波间距(SCS)载波和带宽部分(BWP)以及不同BWP上的多个PUCCH传输实例序列及其解调参考信号(DM-RS)构成。每个PUCCH序列模拟一个单独的UE传输。有关如何使用物理上行共享信道(PUSCH)和测深参考信号(SRS)生成5G上行波形的示例,包括Release 16 CG-UCI和用于定位的SRS,请参见5G NR上行矢量波形生成

该示例为几种格式配置多个PUCCH序列。该图显示了TS 38.211章节6.3.2中定义的每种PUCCH格式的特征。

波形与载波配置

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

  • 该UL运营商配置的标签

  • 资源块中的SCS载波带宽

  • 载波单元ID

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

  • 窗口

  • ofdm调制波形的采样率

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

可以控制SCS载波带宽和保护频带NStartGrid而且NSizeGrid的属性nrSCSCarrierConfig对象。

waveconfig = nrULCarrierConfig;创建上行运营商配置对象waveconfig。标签=“UL承运人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;

BWPs

BWP是由一组在给定的SCS载体上共享命理的连续资源组成的。您可以使用单元格数组定义多个bwp。的单元格数组中的每个元素nrWavegenBWPConfigobjects定义BWP。对于每个BWP,可以指定sc、CP (cyclic prefix)长度和带宽。的SubcarrierSpacing属性将BWP链接到前面定义的特定于scs的载体之一。的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 = 10;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 = 51;% PRBs中BWP的大小bwp{2}。NStartBWP = 40;BWP相对于A点在CRBs中的位置

PUCCH实例配置

PUCCH有五种不同的格式,每种格式用于不同的控制目的。使用这些特定于格式的配置对象来定义PUCCH实例序列。

本节通过使用单元阵列指定波形中的PUCCH传输实例集。cell数组中的每个元素都定义了一个PUCCH传输实例序列,并且必须是上面列出的对象之一。这个例子定义了三个模拟三种UE传输的PUCCH序列:一个PUCCH格式3、一个PUCCH格式2和一个PUCCH格式0。本节中分配的某些属性仅适用于某些PUCCH格式。有关特定格式的所有属性的列表,请参阅该格式的PUCCH配置对象的文档。

一般参数

为每个PUCCH序列设置这些通用于所有格式的参数。

  • 启用或禁用此PUCCH序列

  • 为这个PUCCH序列指定一个标签

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

  • 以dB为单位的功率缩放

pucch = {nrWavegenPUCCH3Config};为第一个终端创建PUCCH格式3配置对象pucch{1}。Enable = 1;%启用PUCCH序列pucch{1}。标签='UE 1 - PUCCH格式3 @ 15 kHz'%该PUCCH序列的标签pucch{1}。BandwidthPartID = 1;PUCCH传输BWP %pucch{1}。Power = 0;%功率缩放,单位为dB

为每个PUCCH序列设置这些特定于格式的参数。

  • 调制方案。

  • 跳频配置。

  • 第二跳资源块偏移量。

  • 配置组跳转。

  • 跳跃标识。该值用于格式0的序列生成,格式1的序列和DM-RS生成,仅用于格式3和4的DM-RS生成。

  • RNTI。

  • UCI(上行链路控制信息)位置乱的NID。

pucch{1}。调制=“正交相移编码”%的π/ 2-BPSK”、“正交相移编码”pucch{1}。FrequencyHopping =“intraSlot”%跳频配置pucch{1}。SecondHopStartPRB = 10;%第二跳资源块偏移量pucch{1}。GroupHopping =“启用”%组跳转配置pucch{1}。HoppingID = 1;%跳跃标识pucch{1}。Rnti = 11;% RNTI用于第一个UEpucch{1}。Nid = 0;%置乱标识

分配

该图显示了在PUCCH分配中使用的参数。

通过设置这些参数,可以控制PUCCH的分配。这些参数是相对BWP而言的。

  • 分配给每个PUCCH实例的槽中的符号。对于PUCCH格式0和2,只能分配1或2个符号。对于PUCCH格式1、3和4,必须在一个插槽中分配至少4个符号。

  • 帧中用于PUCCH序列的槽。

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

  • 相对于BWP分配的prb。对于格式0、1和4,只能分配一个PRB。

pucch{1}。SymbolAllocation = [3 11];第一个符号和长度pucch{1}。SlotAllocation = [3 4];为PUCCH序列分配槽索引pucch{1}。周期= 6;%插槽分配周期pucch{1}。PRBSet = 0:9;% PRB分配

PUCCH DM-RS配置

您可以设置这些参数来控制每个PUCCH序列的PUCCH DM-RS。

  • 存在额外的DM-RS

  • DM-RS的额外功率增强

pucch{1}。AdditionalDMRS = 1;%额外的DM-RSpucch{1}。dmrpower = 1;% DM-RS的额外功率提升,单位为dB

UCI有效载荷配置

为UCI有效负载配置设置这些参数。

  • 启用或禁用UCI编码。

  • 当同时存在UCI第1部分和UCI第2部分时,用于计算传输块大小的目标码率。

  • UCI (HARQ-ACK、SR、CSI part 1)位数。

  • UCI part 2 (CSI part 2)比特数。

  • UCI和UCI第2部分的数据源。您可以使用比特数组或这些标准PN序列之一:'PN9- itu ', 'PN9', 'PN11', 'PN15', 'PN23'。您可以将生成器的种子指定为单元格数组,格式为{'PN9', seed}。如果没有指定种子,则会用所有种子初始化生成器。

pucch{1}。编码= 1;pucch{1}。TargetCodeRate = 0.15;pucch{1}。NumUCIBits = 20;pucch{1}。NumUCI2Bits = 10;pucch{1}。DataSourceUCI =“PN9”;pucch{1}。DataSourceUCI2 =“PN9”

指定多个PUCCH实例

为第二个BWP指定另外两个PUCCH序列。第一个是在第二个BWP的下端分配的PUCCH格式2,没有跳跃和重复。第二个序列是分配在第二个BWP上半部分的PUCCH格式0,其特征是槽间跳变,2个包含HARQ-ACK的UCI位和1个调度资源(SR)位。

pucch{2} = nrWavegenPUCCH2Config;为第二个终端创建PUCCH格式2配置对象pucch{2}。标签='UE 2 - PUCCH格式2 @ 30 kHz'%该PUCCH序列的标签pucch{2}。BandwidthPartID = 2;% PUCCH映射到第二个BWPpucch{2}。SymbolAllocation = [10 2];符号分配pucch{2}。SlotAllocation = 0:2;槽位分配pucch{2}。Period = [];指定此PUCCH的槽模式不重复pucch{2}。Rnti = 12;% RNTI用于第二个UEpucch{2}。Nid0 = 0;DM-RS加扰标识pucch{3} = nrWavegenPUCCH0Config;为第三个终端创建PUCCH格式0的配置对象pucch{3}。标签='UE 3 - PUCCH格式0 @ 30 kHz'%该PUCCH序列的标签pucch{3}。BandwidthPartID = 2;% PUCCH映射到第二个BWPpucch{3}。SymbolAllocation = [1 2];符号分配pucch{3}。PRBSet = 40;% PRB分配pucch{3}。FrequencyHopping =“interSlot”%跳频pucch{3}。SecondHopStartPRB = 30;%第二跳资源块偏移量pucch{3}。InitialCyclicShift = 3;初始循环位移pucch{3}。NumUCIBits = 2;%包含HARQ-ACK的UCI比特数pucch{3}。DataSourceSR = 1;% SR数据源

PUSCH实例配置

使用单元格数组指定波形中的PUSCH实例集。的单元格数组中的每个元素nrWavegenPUSCHConfigobjects定义了一个PUSCH实例序列。禁用第一个BWP中的PUSCH序列。

pusch = {nrWavegenPUSCHConfig};pusch{1}。Enable = 0;pusch{1}。标签=“PUSCH @ 15 kHz”;pusch{1}。BandwidthPartID = 1;

SRS实例配置

在波形中指定SRS。的单元格数组中的每个元素nrWavegenSRSConfigobjects定义了与BWP关联的SRS实例序列。禁用第一个BWP中的SRS序列。

srs = {nrWavegenSRSConfig};srs{1}。Enable = 0;srs{1}。标签=“SRS @ 15 kHz”;srs{1}。BandwidthPartID = 1;

波形的一代

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

waveconfig。SCSCarriers = SCSCarriers;waveconfig。BandwidthParts = bwp;waveconfig。皱=皱;waveconfig。PUSCH = PUSCH;waveconfig。SRS = SRS;生成复杂基带波形[波形,信息]= nrWaveformGenerator(waveconfig);

画出基带波形的幅值。

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

绘制基带波形的谱图。该图显示了三个PUCCH序列的资源分配情况。

  • 在第一个BWP中,PUCCH格式3位于频谱图的下部。图示显示了该PUCCH的槽内跳频。

  • 第二个BWP中的PUCCH格式2大约是-10 MHz。

  • 第二BWP中的PUCCH格式0是谱图的中心部分。图中显示了该PUCCH的槽间跳频。

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

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

例如,显示第一个PUCCH的高级信息。

disp (与第一个PUCCH相关的信息:) disp (info.WaveformResources.PUCCH (1))
与第一个PUCCH相关的信息:名称:'UE 1 - PUCCH格式3 @ 15 kHz'格式:3 cdmlength:[1 1]资源:[1x3 struct]

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

另请参阅

功能

相关的话题