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使用NStartGrid
和NSizeGrid
的属性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的波形。单元阵列中的每个元素nrWavegenSRSConfig
SRS实例的对象定义一个序列与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
生成的网格资源是一个三维矩阵。网格中的不同平面表示天线端口增加端口号。