主要内容

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

本示例演示如何使用物理上行控制信道(PUCCH)为基带组件载波配置和生成5G NR上行矢量波形nrWaveformGenerator函数。

介绍

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

本示例为几种格式配置了多个PUCCH序列。该图显示了每一种PUCCH格式的特征,如TS 38.211第6.3.2节所定义。

波形和载波配置

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

  • UL运营商配置的标签

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

  • 载体细胞ID

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

  • 窗口

  • ofdm调制波形的采样率

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

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

waveconfig = nrULCarrierConfig;%创建上行链路运营商配置对象waveconfig.label =“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.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;

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子载波间距bwp{1}。CyclicPrefix =“正常”% BWP循环前缀15千赫bwp{1}。NSizeBWP = 25;prb中BWP的大小%bwp{1}。NStartBWP = 10;在crb中BWP相对于A点的位置bwp{2}。BandwidthPartID = 2;% BWP IDbwp{2}。标签=“BWP 2 @ 30khz”这个BWP的标签bwp{2}。SubcarrierSpacing = 30;% BWP子载波间距bwp{2}。CyclicPrefix =“正常”% BWP循环前缀为30 kHzbwp{2}。NSizeBWP = 51;prb中BWP的大小%bwp{2}。NStartBWP = 40;在crb中BWP相对于A点的位置

PUCCH实例配置

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

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

一般参数

为每个PUCCH序列设置这些参数,对所有格式都通用。

  • 启用或禁用此PUCCH序列

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

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

  • 分贝功率缩放

pucch = {nrWavegenPUCCH3Config};%为第一个UE创建一个PUCCH格式3配置对象pucch{1}。使= 1;%开启PUCCH序列pucch{1}。标签=' ue1 - PUCCH Format 3 @ 15khz '%该PUCCH序列的标签pucch{1}。BandwidthPartID = 1;PUCCH传播的BWP %pucch{1}。权力= 0;%以dB为单位的功率缩放

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

  • 调制方案。

  • 跳频配置。

  • 第二跳的资源块偏移量。

  • 组跳配置。

  • 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;%复审委员会分配

PUCCH DM-RS配置

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

  • 增加DM-RS

  • DM-RS的额外功率增强

pucch{1}。AdditionalDMRS = 1;%的额外DM-RSpucch{1}。DMRSPower = 1;DM-RS的额外功率提升,分贝

UCI负载配置

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

  • 启用或禁用UCI编码。

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

  • UCI (HARQ-ACK、SR、CSI第1部分)位数。

  • UCI第2部分(CSI第2部分)的位数。

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

PUCCH {1} .coding = 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序列。第一个是PUCCH格式2,分配在第二个BWP的低端,没有跳和没有重复。第二个序列为PUCCH格式0,分配在第二个BWP的上半部分,其特征是槽间跳变、2个包含HARQ-ACK的UCI位和1个调度资源(SR)位。

pucch {2} = nrWavegenPUCCH2Config;%为第二个UE创建一个PUCCH格式2配置对象pucch{2}。标签=' ue2 - PUCCH Format 2 @ 30 kHz'%该PUCCH序列的标签pucch{2}。BandwidthPartID = 2;% PUCCH映射到第二个BWPpucch{2}。SymbolAllocation = [10 2];%符号分配pucch{2}。SlotAllocation = 0:2;%槽分配pucch{2}。时间= [];%指定这个PUCCH不重复插槽模式pucch{2}。RNTI = 12;% RNTI用于第二个UEpucch{2}。NID0 = 0;DM-RS置乱标识pucch {3} = nrWavegenPUCCH0Config;%为第三个终端创建一个PUCCH格式0配置对象pucch{3}。标签=' uue 3 - PUCCH Format 0 @ 30 kHz'%该PUCCH序列的标签pucch{3}。BandwidthPartID = 2;% PUCCH映射到第二个BWPpucch{3}。SymbolAllocation = [1 2];%符号分配pucch{3}。PRBSet = 40;%复审委员会分配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实例集。单元格数组中的每个元素nrWavegenPUSCHConfig对象定义了一个PUSCH实例序列。在第一个BWP中禁用PUSCH序列。

pusch = {nrWavegenPUSCHConfig};pusch{1}。使= 0;pusch{1}。标签=“push @ 15khz”;pusch{1}。BandwidthPartID = 1;

SRS实例配置

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

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

波形的一代

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

waveconfig。SCSCarriers = SCSCarriers;waveconfig。BandwidthParts = bwp;waveconfig。PUCCH = PUCCH;waveconfig。PUSCH = PUSCH;waveconfig。SRS = SRS;%产生复基带波形(波形信息]= nrWaveformGenerator (waveconfig);

绘制基带波形的幅度。

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

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

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

  • PUCCH格式2,在第二个BWP中,大约为-10 MHz。

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

samplerve = info.resourcegrids(1).info.sampleate;nfft = info.resourcegrids(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 Format 3 @ 15khz ' Format: 3 cdmlength: [1 1] Resources: [1x3 struct]

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

  • 对应于每个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

另请参阅

功能

相关的话题