主要内容

5 g NR上行矢量波形的一代

这个例子展示了如何配置和生成一个5 g NR上行矢量波形与物理上行共享通道(PUSCH)和探测参考信号的基带(SRS)组件航母使用nrWaveformGenerator函数。

介绍

这个例子展示了如何参数化并生成5 g的新收音机(NR)上行波形通过使用nrWaveformGenerator函数。生成的波形包含这些通道和信号。

  • PUSCH及其相关解调参考信号(DM-RS)和相位跟踪参考信号(PT-RS)

  • SRS

基带分量载波波形在这个例子的特点是多个副载波间距(SCS)运营商和带宽(BWP),部分和多个序列在不同BWPs PUSCH和SRS传输实例。示例还显示了如何参数化和产生上行控制信息(UCI) PUSCH CG-UCI和SRS定位。

例如如何生成一个5 g上行波形与物理上行控制信道(PUCCH),看到的5 g NR上行PUCCH矢量波形的一代

波形和载波配置

使用nrULCarrierConfig对象参数化基带波形的一代。这个对象包含一组额外的对象与波形通道和信号,使您能够设置这些上行载波配置参数。

  • 这个UL标签载体配置

  • SCS载波带宽资源块

  • 载体细胞ID

  • 生成的波形子帧的长度

  • 窗口

  • OFDM-modulated波形的采样率

  • 载波频率相位补偿的象征

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

waveconfig = nrULCarrierConfig;%创建一个上行载波配置对象waveconfig。标签=“UL载体1”;%这个上行波形配置标签waveconfig。NCellID = 0;%细胞身份waveconfig。ChannelBandwidth = 40;%通道带宽(MHz)waveconfig。FrequencyRange =“FR1”;%’FR1’或‘FR2”waveconfig。NumSubframes = 10;% 1毫秒数子帧中生成的波形(1、2、4、8槽每1毫秒子帧,取决于SCS)waveconfig。窗口Percent = 0;%的比例窗口相对FFT长度waveconfig。SampleRate = [];% OFDM-modulated波形的采样率waveconfig。CarrierFrequency = 0;%在赫兹载波频率。这一属性被用来象征阶段%赔偿之前OFDM调制%定义一组SCS-specific运营商使用的最大大小% 40 MHz NR通道。有关更多信息,请参见TS 38.101 - 1定义%带宽和guardband需求。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母舰。您可以定义多个BWPs使用单元阵列。单元阵列中的每个元素nrWavegenBWPConfig定义了一个BWP对象。对于每个BWP,您可以指定SCS,循环前缀(CP)长度和带宽。的SubcarrierSpacing属性链接BWP定义SCS特定的航空公司之一。的NStartBWP属性控制的位置BWP载体,相对于一个点。NStartBWP表达共同的资源块(CRB)的BWP数字命理学。不同的BWPs可以互相重叠。

% 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;%的大小BWP伪随机位序列bwp {1}。NStartBWP = 10;% BWP位置,相对于一个点,在crbbwp {2}。BandwidthPartID = 2;% BWP IDbwp {2}。标签=BWP 2 @ 30千赫的;%这个BWP标签bwp {2}。SubcarrierSpacing = 30;% BWP副载波间距bwp {2}。CyclicPrefix =“正常”;% BWP循环前缀30千赫bwp {2}。NSizeBWP = 51;%的大小BWP伪随机位序列bwp {2}。NStartBWP = 40;% BWP位置,相对于一个点,在crb

PUSCH实例配置

指定的集合PUSCH传输实例使用单元阵列的波形。单元阵列中的每个元素nrWavegenPUSCHConfig对象定义一个序列PUSCH传播的实例。这个例子定义了两个PUSCH序列,两个用户设备(UE)传输模型。

一般参数

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

  • 启用或禁用这PUSCH序列。

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

  • 指定PUSCH BWP载着。BWP PUSCH使用SCS指定。

  • 权力在dB扩展。

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

  • RNTI。

  • NID匆忙PUSCH比特。

  • 改变预编码。当改变预编码真正的预编码,变换是启用和DFT-s-OFDM合成波形。当改变预编码,CP-OFDM合成波形。

  • 目标代码用来计算传输块大小。

  • 开销参数。

  • 传输方案。当传输方案“码”启用了MIMO预编码和预编码矩阵选择基于层的数量,数量的天线端口和传输预编码矩阵指示。当设置为传播“nonCodebook”,使用一个单位矩阵,导致没有MIMO预编码。

  • 灯象征。

  • 层数。层的数量被限制为最多4在上行只有一个码字的传播。名义上,层数设置为1时将启用预编码。这个值将被忽略,当DMRS.PortSet属性指定。

  • 天线端口的数量。码传输时使用的是启用。天线端口的数量必须大于或等于DM-RS端口配置。

  • 传输预编码矩阵指示。

  • 冗余版本(RV)序列。

  • 跳频。

  • 资源块抵消第二跳。

  • 交通阻塞数据源。您可以使用数组部分或其中一个标准PN序列:“PN9-ITU”,“PN9”,“PN11”,“PN15”,“PN23”。您可以指定生成器的种子细胞阵列形式{PN9,种子}。如果你不指定一个种子,发电机与所有的初始化。

pusch = {nrWavegenPUSCHConfig};%为第一个问题创建一个PUSCH配置对象pusch {1}。使= 1;%启用PUSCH序列pusch {1}。标签=“问题1 - 15 kHz PUSCH @”;%这个PUSCH序列标签pusch {1}。BandwidthPartID = 1;% BWP PUSCH传播pusch {1}。权力= 0;%的力量在dB扩展pusch {1}。编码= 1;%启用UL-SCH传输信道编码pusch {1}。NID = 1;%争夺数据部分pusch {1}。RNTI = 11;% RNTI第一问题pusch {1}。TransformPrecoding = false;%变换预编码pusch {1}。TargetCodeRate = 0.47;%编码速率用于计算传输块大小pusch {1}。XOverhead = 0;%的速度匹配开销%传输设置pusch {1}。TransmissionScheme =“码”;%的电报密码本,“nonCodebook”pusch {1}。调制=“正交相移编码”;%的π/ 2-BPSK, QPSK, 16 qam,‘64 qam’,‘256 qam’pusch {1}。NumLayers = 2;%的PUSCH层pusch {1}。NumAntennaPorts = 4;%的天线端口pusch {1}。TPMI = 0;%传输预编码矩阵指示(0…27)pusch {1}。RVSequence = [0 2 3 1];%房车序列应用周期性PUSCH分配序列pusch {1}。FrequencyHopping =“interSlot”;%跳频配置pusch {1}。SecondHopStartPRB = 10;%的资源块抵消第二跳%的数据源pusch {1}。数据源=“PN9”;%通道数据源

分配

这个图显示的参数PUSCH分配。

你可以设置这些参数来控制PUSCH分配。BWP这些参数是相对的。

  • PUSCH映射类型。

  • 符号的位置分配给每个PUSCH实例。PUSCH映射类型“一个”槽内,开始符号必须是零和长度可以从4到14(正常CP)和12(长CP)。PUSCH映射类型“B”,一开始可以从任何象征符号的插槽

  • 槽用于PUSCH的顺序在一个框架。

  • 在插槽的分配。空的时间表示没有槽的重复模式。

  • 伪随机位序列相对于BWP分配。

pusch {1}。MappingType =“一个”;% PUSCH映射类型(“A”(slot-wise),“B”(非slot-wise))pusch {1}。SymbolAllocation = [0 14];%符号和长度pusch {1}。SlotAllocation = [0 1];%分配槽指数PUSCH序列pusch {1}。时间= 5;%分配时间槽pusch {1}。PRBSet = 0:10;%复审委员会分配

PUSCH DM-RS配置

设置DM-RS参数。

%天线端口和DM-RS配置(TS 38.211节6.4.1.1)pusch {1}。DMRSPower = 0;%额外权力提高分贝pusch {1} .DMRS。DMRSConfigurationType = 1;% DM-RS配置类型(1、2)pusch {1} .DMRS。NumCDMGroupsWithoutData = 2;%的DM-RS CDM组没有数据。的值可以是一个集合{1,2,3}pusch {1} .DMRS。DMRSPortSet = [0 2];% DM-RS天线使用的端口([]给出了端口号0:NumLayers-1)pusch {1} .DMRS。DMRSTypeAPosition = 2;%映射类型。第一个DM-RS符号位置(2、3)pusch {1} .DMRS。DMRSLength = 1;%的前置DM-RS符号(1(单符号),2(双符号))pusch {1} .DMRS。DMRSAdditionalPosition = 2;%额外DM-RS标志位置(最大范围0…3)pusch {1} .DMRS。NIDNSCID = 1;%匆忙身份CP-OFDM (0。65535)。使用空([])使用物理层细胞的身份pusch {1} .DMRS。NSCID = 0;CP-OFDM %地初始化(0,1)pusch {1} .DMRS。NRSID = 0;%匆忙身份DFT-s-OFDM DM-RS (0。1007)。使用空([])使用物理层细胞的身份pusch {1} .DMRS。GroupHopping= true;%组跳配置。此属性仅启用预编码转换时使用pusch {1} .DMRS。SequenceHopping = false;%序列跳配置。此属性仅启用预编码转换时使用

GroupHopping属性用于DM-RS序列生成变换预编码时启用。你可以设置GroupHopping:

  • “启用”表明集团跳跃的存在。它是由更高级别的配置参数sequenceGroupHopping

  • “禁用”表示序列跳跃的存在。它是由更高级别的配置参数sequenceHopping

  • “没有”表明两组跳跃和序列不存在跳跃。

DM-RS CDM组织没有数据的数量取决于配置类型。DM-RS CDM组的最大数量可以为DM-RS配置类型1和2可以3 DM-RS配置2型。

PUSCH PT-RS配置

设置PT-RS参数。

6.4.1.2 % PT-RS配置(TS 38.211部分)pusch {1}。EnablePTRS = 0;%启用或禁用PT-RS(1或0)pusch {1}。PTRSPower = 0;%的额外PT-RS CP-OFDM权力提高分贝pusch {1} .PTRS。TimeDensity = 1;%的时间密度(L_PT-RS) PT-RS (1、2、4)pusch {1} .PTRS。FrequencyDensity = 2;%频率密度(K_PT-RS) PT-RS CP-OFDM (2、4)pusch {1} .PTRS。NumPTRSSamples = 2;%的PT-RS样本(NGroupSamp) DFT-s-OFDM (2、4)pusch {1} .PTRS。NumPTRSGroups = 2;%的PT-RS组(NPTRSGroup) DFT-s-OFDM (2、4、8)pusch {1} .PTRS。REOffset =“00”;% PT-RS资源元素为CP-OFDM抵消(“00”,“01”,“10”,“11”)pusch {1} .PTRS。PTRSPortSet = 0;% PT-RS天线端口必须CP-OFDM DM-RS港口的一个子集pusch {1} .PTRS。NID = 0;% PT-RS匆忙身份DFT-s-OFDM (0。1007)

当启用PT-RS CP-OFDM, DM-RS端口必须在范围从0到3 DM-RS配置1型和范围从0到5 DM-RS配置2型。当启用PT-RS DFT-s-OFDM和PT-RS团体的数量设置为8,PT-RS样本的数量必须设置为4。

在UCI PUSCH

你可以设置这些参数配置PUSCH UCI的传播。

  • 启用或禁用HARQ-ACK的传播,第1部分CSI, CSI part2, CG-UCI

  • HARQ-ACK, CSI第1部分、第2部分CSI,和CG-UCI碎片。

  • BetaOffsetACK,BetaOffsetCSI1,BetaOffsetCSI2,BetaOffsetCGUCI可以设置表9.3 - 1和9.3 - 2的TS 38.213。

  • 数据源HARQ-ACK, CSI第1部分、第2部分CSI,和CG-UCI。您可以使用数组部分或其中一个标准PN序列:“PN9-ITU”,“PN9”,“PN11”,“PN15”,“PN23”。您可以指定生成器的种子细胞阵列形式{PN9,种子}。如果你不指定一个种子,发电机与所有的初始化。

  • 通过UCI启用UL-SCH传输。

  • UCIScaling提供了更高的层参数扩展6.3.2.4 / TS 38.212,部分。

pusch {1}。EnableACK = true;%启用或禁用HARQ-ACKpusch {1}。NumACKBits = 5;% HARQ-ACK位的数量pusch {1}。BetaOffsetACK = 1;% HARQ-ACK的功率因数pusch {1}。DataSourceACK =“PN9”;% HARQ-ACK数据源pusch {1}。EnableCSI1 = true;%启用或禁用CSI第1部分pusch {1}。NumCSI1Bits = 10;%的CSI第1部分碎片pusch {1}。BetaOffsetCSI1 = 2;% CSI第1部分的功率因数pusch {1}。DataSourceCSI1 =“PN9”;% CSI第1部分数据源pusch {1}。EnableCSI2 = true;%启用或禁用CSI第2部分pusch {1}。NumCSI2Bits = 10;%的CSI第2部分pusch {1}。BetaOffsetCSI2 = 2;% CSI第2部分的功率因数pusch {1}。DataSourceCSI2 =“PN9”;% CSI第2部分数据源pusch {1}。EnableCGUCI = false;%启用或禁用CG-UCIpusch {1}。NumCGUCIBits = 10;% CG-UCI位的数量pusch {1}。BetaOffsetCGUCI = 2;% CG-UCI的功率因数pusch {1}。DataSourceCGUCI =“PN9”;% CG-UCI数据源pusch {1}。EnableULSCH = true;%时启用或禁用UL-SCH UCI PUSCH传输pusch {1}。UCIScaling = 1;%比例因子(0.5,0.65,0.8,1)

当HARQ-ACK和CG-UCI都启用,6.3.2.1.4 TS 38.212节指定了UCI比特序列的联盟CG-UCI位和HARQ-ACK位。因此,处理UCI PUSCH认为任何活动CG-UCI源作为一个扩展HARQ-ACK和唯一的价值BetaOffsetACK在这种情况下使用。

指定多个PUSCH序列

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

pusch {2} = pusch {1};%为第二个问题创建一个PUSCH配置对象pusch {2}。使= 1;pusch {2}。标签=问题2 - 30千赫PUSCH @的;pusch {2}。BandwidthPartID = 2;BWP % PUSCH映射到第二pusch {2}。RNTI = 12;% RNTI为第二个问题pusch {2}。SymbolAllocation = [0 12];pusch {2}。SlotAllocation = (5 6 7 8);pusch {2}。PRBSet = 5:10;相对于BWP %分配,pusch {2}。时间= 10;pusch {2}。TransformPrecoding = 1;pusch {2}。FrequencyHopping =“interSlot”;pusch {2}。NumLayers = 1;pusch {2}。RNTI = 1;pusch {2} .DMRS。GroupHopping= false; pusch{2}.DMRS.DMRSPortSet = 1;

SRS实例配置

指定SRS的波形。单元阵列中的每个元素nrWavegenSRSConfigSRS实例的对象定义一个序列与BWP有关。定义两个残疾SRS序列。

一般参数

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

  • 启用或禁用这SRS序列。

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

  • 指定BWP携带这SRS序列。SRS序列配置使用指定的SCS BWP。

  • 指定的权力在dB扩展。

srs = {nrWavegenSRSConfig};srs {1}。使= 0;srs {1}。标签=SRS @ 15 kHz的;srs {1}。BandwidthPartID = 1;srs {1}。权力= 3;%的力量在dB扩展

SRS配置

您可以配置这些参数为每个SRS序列。

  • SRS天线端口的数量。

  • 分配给每个SRS序列符号在一个槽。

  • 槽内一段用于SRS传播。

  • 在插槽的分配。空的时间表示没有槽的重复模式。

  • BWP SRS序列的起始位置在苏格兰皇家银行。

  • 额外的频率偏移4-PRB起始位置的块。

  • 带宽和跳频配置。占用的带宽取决于属性csr,建筑,BHop。集BHop <建筑使跳频。

  • 传输梳子指定SRS副载波的频率密度。

  • 抵消副载波的传输的梳子。

  • 循环移位旋转low-PAPR碱基序列。的最大循环数变化,8或12,取决于传输梳数,2或4。4 SRS天线端口,SRS的副载波集分配给第一个和第三个天线端口取决于循环移位。

  • 一些重复的SRS的象征,在槽内。它在块禁用跳频重复符号。集重复= 1没有重复。

  • 组或跳跃序列。它可以“没有”,“groupHopping”“sequenceHopping”

  • 匆忙的身份。它初始化时的伪随机二进制序列组或序列跳跃启用。

srs {1}。NumSRSPorts = 1;%的SRS端口(1、2、4)srs {1}。NumSRSSymbols = 4;%的SRS符号数槽(1、2、4)srs {1}。SymbolStart = 10;%时域的SRS槽的位置。(8…13)正常CP和CP(6…11)扩展srs {1}。SlotAllocation = 2;%分配名额指标srs {1}。时间= 5;%分配时间槽srs {1}。FrequencyStart = 0;%的频率位置SRS BWP苏格兰皇家银行srs {1}。NRRC = 0;%额外抵消FreqStart 4块规定的伪随机位序列(0。67)srs {1}。csr= 13;%的带宽配置C_SRS (0。63)。它控制分配带宽SRSsrs {1}。建筑= 2;%的带宽配置B_SRS (0。3)。它控制分配带宽SRSsrs {1}。BHop= 1;%跳频配置(0。3)。设置BHop <建筑实现跳频srs {1}。KTC = 2;%梳数(2、4)。它表明SRS的分配每个KTC副载波srs {1}。KBarTC = 0;%的副载波偏移SRS序列(0…KTC-1)srs {1}。CyclicShift = 0;%循环移位数(0…NCSmax-1)。NCSmax = 8 KTC = 2和NCSmax = 12 KTC = 4。srs {1}。重复= 1;%(1、2、4)重复因素。它表明连续的数量等于SRS符号在一个插槽srs {1}。GroupSeqHopping =“没有”;%组或序列跳跃(‘都’,‘groupHopping’,‘sequenceHopping’)srs {1}。NSRSID = 0;%匆忙身份(0。1023)srs {1}。SRSPositioning = false;%为用户启用SRS定位

指定多个SRS序列

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

srs {2} = srs {1};srs {2}。使= 0;srs {2}。标签=SRS @ 30千赫的;srs {2}。BandwidthPartID = 2;srs {2}。NumSRSSymbols = 2;srs {2}。SymbolStart = 12;srs {2}。SlotAllocation = (5 6 7 8);srs {2}。Period = 10; srs{2}.BSRS = 0; srs{2}.BHop = 0;

波形的一代

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

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

情节的大小的基带波形组天线端口定义。

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

情节的spectogram波形第一天线端口。

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

波形发生器函数返回时域波形和结构信息。的信息结构包含底层资源元素网格和崩溃的资源,所有的PUSCH波形和SRS实例使用。

ResourceGrids字段是一个结构数组,其中包含这些字段。

  • 每个BWP资源网格对应。

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

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

disp (“调制与BWP 1:相关信息”)disp (info.ResourceGrids info) (1)
调制信息与BWP 1: Nfft: 4096 SampleRate: 61440000 CyclicPrefixLengths:(320 288 288 288 288 288 288 320 288 288 288…]SymbolLengths:(4416 4384 4384 4384 4384 4384 4384 4416 4384…窗口:0 SymbolPhases: [0 0 0 0 0 0 0 0 0 0 0 0 0 0] SymbolsPerSlot: 14 SlotsPerSubframe: 1 SlotsPerFrame: 10 k0: 0

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

另请参阅

功能

对象

相关的话题