nrWaveformGenerator
生成5G NR波形
描述
[
生成5G NR波形波
,信息
] = nrWaveformGenerator(cfg
)波
对于指定的配置cfg
.输入cfg
指定单个或多个子载波间距(SCS)载波和带宽部件(bwp)的下行或上行配置参数。
如果
cfg
是一个nrDLCarrierConfig
对象,配置还指定同步信号(SS)脉冲、控制资源集(CORESETs)、搜索空间、物理下行控制通道(PDCCH)和相关的解调参考信号(DM-RS)、物理下行共享通道(PDSCH)和相关的DM-RS和相位跟踪参考信号(PT-RS)以及信道状态信息参考信号(CSI-RS)。如果
cfg
是一个nrULCarrierConfig
对象,配置还指定了物理上行共享通道(PUSCH)和关联的DM-RS和PT-RS,物理上行控制通道(PUCCH)和关联的DM-RS,以及探测参考信号(SRS)。
该函数还返回一个结构,信息
,包含资源网格和波形资源信息。
nrWaveformGenerator
打开5G波形发生器应用程序。
例子
配置并生成单用户5G下行波形
创建一个SCS运营商配置对象,默认SCS为15 kHz和100个资源块。
carrier = nrSCSCarrierConfig(“NSizeGrid”, 100);
创建sc运营商BWP自定义配置对象。
bwp = nrWavegenBWPConfig(“NStartBWP”, carrier.NStartGrid + 10);
用块模式Case A创建SS突发配置对象。
ssb = nrWavegenSSBurstConfig(“BlockPattern”,的情况下);
创建一个PDCCH配置对象,为PDCCH实例指定大小为2的聚合和第四个候选。
pdch = nrWavegenPDCCHConfig(“AggregationLevel”2,“AllocatedCandidate”4);
创建一个CORESET配置对象,指定四个频率资源和三个OFDM符号的持续时间。
coreset = nrCORESETConfig;coreset。FrequencyResources = [1 1 1 1];coreset。持续时间= 3;
创建一个搜索空间集配置对象,指定两个聚合级别。
ss = nrSearchSpaceConfig;ss. numcandidate = [8 4 0 0 0];
创建PDSCH配置对象,指定调制方案和目标码率。启用PDSCH PT-RS。
pdsch = nrWavegenPDSCHConfig(...“调制”,16 qam的,“TargetCodeRate”, 658/1024,“EnablePTRS”,真正的);
使用指定的属性值创建PDSCH DM-RS和PDSCH PT-RS配置对象。
dmrs = nrPDSCHDMRSConfig(“DMRSTypeAPosition”3);pdsch。DMRS = DMRS;pts = nrPDSCHPTRSConfig(“TimeDensity”2);pdsch。PTRS = PTRS;
使用指定的属性值创建一个CSI-RS配置对象。
csirs = nrWavegenCSIRSConfig(“RowNumber”4“RBOffset”10“NumRB”10“SymbolLocations”5);
创建一个单用户5G下行波形配置对象,指定前面定义的配置。
cfgDL = nrDLCarrierConfig(...“FrequencyRange”,“FR1”,...“ChannelBandwidth”现年40岁的...“NumSubframes”, 20岁,...“SCSCarriers”{航母},...“BandwidthParts”{bwp},...“SSBurst”单边带,...“CORESET”{coreset},...“SearchSpaces”{党卫军},...“PDCCH”{pdcch},...“PDSCH”{pdsch},...csir的, {csir});
使用指定的配置生成5G下行波形。
波形= nrWaveformGenerator(cfgDL);
配置和生成多用户5G下行波形
创建两个混合数字命理和自定义资源块数量的SCS载波配置对象。
运营商= {nrSCSCarrierConfig(“SubcarrierSpacing”15岁的“NStartGrid”10“NSizeGrid”, 100),...nrSCSCarrierConfig (“SubcarrierSpacing”30岁的“NStartGrid”0,“NSizeGrid”, 70)};
创建两个自定义BWP配置对象,每个运营商一个。
bwp = {nrWavegenBWPConfig(“BandwidthPartID”,1,“SubcarrierSpacing”15岁的“NStartBWP”10“NSizeBWP”, 80),...nrWavegenBWPConfig (“BandwidthPartID”2,“SubcarrierSpacing”30岁的“NStartBWP”0,“NSizeBWP”、60)};
用块模式Case A创建SS突发配置对象,对应于15 kHz的SCS。
ssb = nrWavegenSSBurstConfig(“BlockPattern”,的情况下);
创建两个PDCCH配置对象。
pdch = {nrWavegenPDCCHConfig(“SearchSpaceID”,1,“BandwidthPartID”,1,“RNTI”,1,“DMRSScramblingID”1),...nrWavegenPDCCHConfig (“SearchSpaceID”2,“BandwidthPartID”2,“RNTI”2,“DMRSScramblingID”2,...“AggregationLevel”4)};
为两个PDCCH创建两个CORESET配置对象和两个搜索空间集配置对象。
coreset = {nrCORESETConfig(“CORESETID”,1,“FrequencyResources”,[1 1 1 1 1 1 0 0 0 0 0 1],,“持续时间”3),...nrCORESETConfig (“CORESETID”2,“FrequencyResources”,[0 0 0 0 0 0 0 0 1 1])};ss = {nrSearchSpaceConfig(“SearchSpaceID”,1,“CORESETID”,1,“StartSymbolWithinSlot”4),...nrSearchSpaceConfig (“SearchSpaceID”2,“CORESETID”2,“NumCandidates”,[8 8 4 0 0])};
创建两个混合调制方案的PDSCH配置对象。
pdsch = {nrWavegenPDSCHConfig(“BandwidthPartID”,1,“调制”,16 qam的,“RNTI”,1,”“国家免疫日,1,“PRBSet”10:51),...nrWavegenPDSCHConfig (“BandwidthPartID”2,“调制”,“正交相移编码”,“RNTI”2,”“国家免疫日2,...“PRBSet”, 50:59)};
创建两个CSI-RS配置对象。
csirs = {nrWavegenCSIRSConfig(“BandwidthPartID”,1,“RowNumber”2,“RBOffset”20),...nrWavegenCSIRSConfig (“BandwidthPartID”2,“密度”,“一个”,“RowNumber”4“NumRB”10)};
创建一个多用户5G下行波形配置对象,指定前面定义的配置。
cfgDL = nrDLCarrierConfig(...“FrequencyRange”,“FR1”,...“ChannelBandwidth”现年40岁的...“NumSubframes”, 20岁,...“SCSCarriers”航空公司,...“BandwidthParts”bwp,...“SSBurst”单边带,...“CORESET”coreset,...“SearchSpaces”党卫军,...“PDCCH”pdcch,...“PDSCH”pdsch,...csir的csir);
使用指定的配置生成5G下行波形。
波形= nrWaveformGenerator(cfgDL);
配置并生成单用户5G上行波形
创建一个SCS运营商配置对象,默认SCS为15 kHz和100个资源块。
carrier = nrSCSCarrierConfig(“NSizeGrid”, 100);
创建sc运营商BWP自定义配置对象。
bwp = nrWavegenBWPConfig(“NStartBWP”, carrier.NStartGrid + 10);
创建一个单用户5G上行波形配置对象,指定前面定义的配置。上行链路配置对象中,缺省情况下,PUSCH为开启状态,PUCCH和SRS为关闭状态。
cfgUL = nrULCarrierConfig(...“FrequencyRange”,“FR1”,...“ChannelBandwidth”现年40岁的...“NumSubframes”, 20岁,...“SCSCarriers”{航母},...“BandwidthParts”, {bwp});
使用指定的配置生成5G上行链路波形。
波形= nrWaveformGenerator(cfgUL);
配置并生成多用户5G上行波形
创建两个混合数字命理和自定义资源块数量的SCS载波配置对象。
运营商= {nrSCSCarrierConfig(“SubcarrierSpacing”15岁的“NStartGrid”10“NSizeGrid”, 100),...nrSCSCarrierConfig (“SubcarrierSpacing”30岁的“NStartGrid”0,“NSizeGrid”, 70)};
创建两个自定义BWP配置对象,每个运营商一个。
bwp = {nrWavegenBWPConfig(“BandwidthPartID”0,“SubcarrierSpacing”15岁的“NStartBWP”30岁的“NSizeBWP”, 80),...nrWavegenBWPConfig (“BandwidthPartID”,1,“SubcarrierSpacing”30岁的“NStartBWP”0,“NSizeBWP”、60)};
创建两个PUSCH配置对象,每个运营商一个,使用混合调制方案。
pusch = {nrWavegenPUSCHConfig(“BandwidthPartID”0,“调制”,16 qam的,“SlotAllocation”0:2:9,“PRBSet”台网,“RNTI”,1,”“国家免疫日1),...nrWavegenPUSCHConfig (“BandwidthPartID”,1,“调制”,“正交相移编码”,“RNTI”2,”“国家免疫日2,“PRBSet”, 50:59)};
仅为第二个运营商创建一个PUCCH配置对象。缺省情况下,该配置开启PUCCH功能。
pucch = {nrWavegenPUCCH0Config(“BandwidthPartID”,1,“SlotAllocation”0:9,“PRBSet”2,“DataSourceUCI”,“PN9”)};
创建两个SRS配置对象,每个运营商一个。缺省情况下,两种配置都使能SRS。
srs = {nrWavegenSRSConfig(“BandwidthPartID”0,“SlotAllocation”1:2:9,“NumSRSPorts”,2),...nrWavegenSRSConfig (“BandwidthPartID”,1,“FrequencyStart”4)};
创建一个多用户5G上行波形配置对象,指定前面定义的配置。
cfgUL = nrULCarrierConfig(...“FrequencyRange”,“FR1”,...“ChannelBandwidth”现年40岁的...“NumSubframes”, 20岁,...“SCSCarriers”航空公司,...“BandwidthParts”bwp,...“PUSCH”pusch,...“PUCCH”pucch,...SRS的srs);
使用指定的配置生成5G上行链路波形。
波形= nrWaveformGenerator(cfgUL);
输入参数
cfg
- - - - - -5G NR波形生成配置参数
nrDLCarrierConfig
对象|nrULCarrierConfig
对象
5G NR波形生成的配置参数,指定为nrDLCarrierConfig
或nrULCarrierConfig
对象。
输出参数
波
- 5G NR时域波形
复杂的矩阵
时域5G NR波形,返回为复杂矩阵。矩阵列数对应发射天线数。
数据类型:双
复数支持:金宝app是的
信息
—5G波形元数据
结构
5G波形的元数据,作为具有这些字段的结构返回。
ResourceGrids
- BWP信息
结构
BWP信息,作为带有这些字段的结构返回。
场 | 价值 | 描述 | |||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ResourceGridBWP |
复杂的2-D或3-D阵列 | BWP资源网格 | |||||||||||||||||||||||||||||||||
ResourceGridInCarrier |
复杂的2-D或3-D阵列 | 运营商BWP资源网格 | |||||||||||||||||||||||||||||||||
信息 |
结构数组 | 数组中的每个结构都包含这些字段。
|
数据类型:结构体
WaveformResources
—波形资源信息
结构
有关波形资源的信息,作为带有这些字段的结构返回。
场 | 价值 | 描述 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
(仅为下行波形返回) |
1 -NPDCCH结构数组,其中NPDCCH输入中配置的PDCCH个数是多少 |
数组中的每个结构都包含这些字段。
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(仅为下行波形返回) |
1 -NPDSCH结构数组,其中NPDSCH配置的PDSCH数量在 |
数组中的每个结构都包含这些字段。
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(仅对上行波形返回) |
1 -NPUSCH结构数组,其中NPUSCH配置的PUSCH数量在吗 |
数组中的每个结构都包含这些字段。
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(仅对上行波形返回) |
1 -NPUCCH结构数组,其中NPUCCH配置的PUCCH个数在吗 |
数组中的每个结构都包含这些字段。
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(仅对上行波形返回) |
1 -NSRS结构数组,其中NSRS配置的SRS数量在 |
数组中的每个结构都包含这些字段。
|
数据类型:结构体
数据类型:结构体
扩展功能
C/ c++代码生成
使用MATLAB®Coder™生成C和c++代码。
使用注意事项和限制:
当cfg
Input是一个nrDLCarrierConfig
对象时,应用这些限制。
的
cfg。
WindowingPercent
属性必须设置为0
或[]
.的
cfg。
CarrierFrequency
属性必须设置为0
.的
cfg。
SampleRate
属性必须设置为[]
或者等于cfg.BWP。
SubcarrierSpacing
乘以FFT大小。FFT大小必须为2的幂,范围为128到FFT马克斯,地点:FFT马克斯= 4096 × 60 ÷
SubcarrierSpacing
对于FR1FFT马克斯= 4096 × 240 ÷
SubcarrierSpacing
对于FR2
的
cfg.PDCCH。
数据源
,cfg.PDSCH。
数据源
,cfg.SSBurst。
数据源
属性不能使用随机种子设置。通过使用二进制向量格式或使用预定义的字符向量之一来设置这些属性。的
info.WaveformResources.PDSCH.Resources.Codeword
输出总是一个单元格数组。当只有一个码字存在时,第二个单元格元素是空数组(例如,{[10 0…],[]}
).
当cfg
Input是一个nrULCarrierConfig
对象时,应用这些限制。
的
cfg。
WindowingPercent
属性必须设置为0
或[]
.的
cfg。
CarrierFrequency
属性必须设置为0
.的
cfg。
SampleRate
属性必须设置为[]
或者等于cfg.BWP。
SubcarrierSpacing
乘以FFT大小。FFT大小必须为2的幂,范围为128到FFT马克斯,地点:FFT马克斯= 4096 × 60 ÷
SubcarrierSpacing
对于FR1FFT马克斯= 4096 × 240 ÷
SubcarrierSpacing
对于FR2
不能使用随机种子设置以下属性。通过使用二进制向量格式或使用预定义的字符向量之一来设置这些属性。
cfg.PUSCH。
数据源
cfg.PUSCH。
DataSourceACK
cfg.PUSCH。
DataSourceCSI1
cfg.PUSCH。
DataSourceCSI2
cfg.PUSCH。
DataSourceCGUCI
cfg.PUCCH。
DataSourceSR
(仅适用于PUCCH格式0)cfg.PUCCH。
DataSourceUCI
(适用于所有PUCCH格式)cfg.PUCCH。
DataSourceUCI2
(仅适用于PUCCH格式3和4)
的
info.WaveformResources.PUSCH.Resources.Codeword
而且info.WaveformResources.PUCCH.Resources.Codeword
(对于格式1、2、3和4)输出总是作为单元格数组返回,其中第二个单元格元素是空数组(例如,{[10 0…],[]}
).的
info.WaveformResources.PUCCH.Resources.SRBit
对于格式1、2、3和4,输出总是作为空数组返回。的
info.WaveformResources.PUCCH.Resources.UCI2Bits
对于格式0、1和2,输出总是作为空数组返回。的
info.WaveformResources.PUCCH.Resources.DMRSIndices
而且info.WaveformResources.PUCCH.Resources.DMRSSymbols
输出总是作为格式为0的空数组返回。
版本历史
R2020b中介绍
Abrir比如
Tiene una versión modificada de este ejemplo。¿Desea abrir este ejemplo con sus modificaciones?
MATLAB突击队
Ha hecho clic en unenlace que对应一个este commando de MATLAB:
弹射突击队introduciéndolo en la ventana de commandos de MATLAB。Los navegadores web no permission comandos de MATLAB。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。