Сгенерируйте 5G форма волны NR
[
генерирует 5G форма волны NR wave
,info
] = nrWaveformGenerator(cfg
)wave
для заданной настройки cfg
. Вход cfg
задает или нисходящие или восходящие параметры конфигурации для сингла или нескольких расстояния между поднесущими (SCS) несущие и части полосы пропускания (BWPs).
Если 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).
Функция также возвращает структуру, info
, содержа информацию о сетке ресурса и ресурсах формы волны.
nrWaveformGenerator
открывает приложение 5G Waveform Generator.
Создайте объект настройки несущей SCS с SCS по умолчанию 15 кГц и 100 блоками ресурса.
carrier = nrSCSCarrierConfig('NSizeGrid',100);
Создайте индивидуально настраиваемый объект настройки BWP для несущей SCS.
bwp = nrWavegenBWPConfig('NStartBWP',carrier.NStartGrid+10);
Создайте пакетный объект настройки SS со Случаем состава блока A.
ssb = nrWavegenSSBurstConfig('BlockPattern','Case A');
Создайте объект настройки PDCCH, задав агрегацию размера два и четвертый кандидат на экземпляр PDCCH.
pdcch = nrWavegenPDCCHConfig('AggregationLevel',2,'AllocatedCandidate',4);
Создайте объект настройки CORESET, задав четыре ресурса частоты и длительность трех символов OFDM.
coreset = nrCORESETConfig; coreset.FrequencyResources = [1 1 1 1]; coreset.Duration = 3;
Создайте объект настройки набора пространства поиска, задав два уровня агрегации.
ss = nrSearchSpaceConfig; ss.NumCandidates = [8 4 0 0 0];
Создайте объект настройки PDSCH, задав схему модуляции и целевую скорость кода. Включите PDSCH PT-RS.
pdsch = nrWavegenPDSCHConfig( ... 'Modulation','16QAM','TargetCodeRate',658/1024,'EnablePTRS',true);
Создайте PDSCH DM-RS и объект настройки PDSCH PT-RS с заданными значениями свойств.
dmrs = nrPDSCHDMRSConfig('DMRSTypeAPosition',3); pdsch.DMRS = dmrs; ptrs = nrPDSCHPTRSConfig('TimeDensity',2); pdsch.PTRS = ptrs;
Создайте объект настройки CSI-RS с заданными значениями свойств.
csirs = nrWavegenCSIRSConfig('RowNumber',4,'RBOffset',10);
Создайте однопользовательский объект настройки формы волны нисходящего канала 5G, задав ранее заданные настройки.
cfgDL = nrDLCarrierConfig( ... 'FrequencyRange','FR1', ... 'ChannelBandwidth',40, ... 'NumSubframes',20, ... 'SCSCarriers',{carrier}, ... 'BandwidthParts',{bwp}, ... 'SSBurst',ssb, ... 'CORESET',{coreset}, ... 'SearchSpaces',{ss}, ... 'PDCCH',{pdcch}, ... 'PDSCH',{pdsch}, ... 'CSIRS',{csirs});
Сгенерируйте форму волны нисходящего канала 5G с помощью заданной настройки.
waveform = nrWaveformGenerator(cfgDL);
Создайте два объекта настройки несущей SCS со смешанной нумерологией и пользовательскими количествами блоков ресурса.
carriers = { 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)};
Создайте пакетный объект настройки SS со Случаем состава блока A, соответствуя SCS 15 кГц.
ssb = nrWavegenSSBurstConfig('BlockPattern','Case A');
Создайте два объекта настройки PDCCH.
pdcch = { nrWavegenPDCCHConfig('SearchSpaceID',1,'BandwidthPartID',1,'RNTI',1,'DMRSScramblingID',1), ... nrWavegenPDCCHConfig('SearchSpaceID',2,'BandwidthPartID',2,'RNTI',2,'DMRSScramblingID',2, ... 'AggregationLevel',4)};
Создайте два объекта настройки CORESET и два объекта настройки набора пространства поиска для двух PDCCH.
coreset = { nrCORESETConfig('CORESETID',1,'FrequencyResources',[1 1 1 1 1 0 0 0 0 0 1],'Duration',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,'Modulation','16QAM','RNTI',1,'NID',1), ... nrWavegenPDSCHConfig('BandwidthPartID',2,'Modulation','QPSK','RNTI',2,'NID',2, ... 'PRBSet', 50:59)};
Создайте два объекта настройки CSI-RS.
csirs = { nrWavegenCSIRSConfig('BandwidthPartID',1,'RowNumber',2,'RBOffset',10), ... nrWavegenCSIRSConfig('BandwidthPartID',2,'Density','three','RowNumber',4)};
Создайте многопользовательский объект настройки формы волны нисходящего канала 5G, задав ранее заданные настройки.
cfgDL = nrDLCarrierConfig( ... 'FrequencyRange','FR1', ... 'ChannelBandwidth',40, ... 'NumSubframes',20, ... 'SCSCarriers',carriers, ... 'BandwidthParts',bwp, ... 'SSBurst',ssb, ... 'CORESET',coreset, ... 'SearchSpaces',ss, ... 'PDCCH',pdcch, ... 'PDSCH',pdsch, ... 'CSIRS',csirs);
Сгенерируйте форму волны нисходящего канала 5G с помощью заданной настройки.
waveform = nrWaveformGenerator(cfgDL);
Создайте объект настройки несущей SCS с SCS по умолчанию 15 кГц и 100 блоками ресурса.
carrier = nrSCSCarrierConfig('NSizeGrid',100);
Создайте индивидуально настраиваемый объект настройки BWP для несущей SCS.
bwp = nrWavegenBWPConfig('NStartBWP',carrier.NStartGrid+10);
Создайте однопользовательский объект настройки формы волны восходящего канала 5G, задав ранее заданные настройки. В восходящем объекте настройки, по умолчанию, включен PUSCH, в то время как PUCCH и SRS отключены.
cfgUL = nrULCarrierConfig( ... 'FrequencyRange','FR1', ... 'ChannelBandwidth',40, ... 'NumSubframes',20, ... 'SCSCarriers',{carrier}, ... 'BandwidthParts',{bwp});
Сгенерируйте форму волны восходящего канала 5G с помощью заданной настройки.
waveform = nrWaveformGenerator(cfgUL);
Создайте два объекта настройки несущей SCS со смешанной нумерологией и пользовательскими количествами блоков ресурса.
carriers = { 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,'Modulation','16QAM','SlotAllocation',0:2:9,'PRBSet',0:19,'RNTI',1,'NID',1), ... nrWavegenPUSCHConfig('BandwidthPartID',1,'Modulation','QPSK','RNTI',2,'NID',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',carriers, ... 'BandwidthParts',bwp, ... 'PUSCH',pusch, ... 'PUCCH',pucch, ... 'SRS',srs);
Сгенерируйте форму волны восходящего канала 5G с помощью заданной настройки.
waveform = nrWaveformGenerator(cfgUL);
cfg
— Параметры конфигурации для 5G генерация сигналов NRnrDLCarrierConfig
возразите | nrULCarrierConfig
объектПараметры конфигурации для 5G генерация сигналов NR в виде nrDLCarrierConfig
или nrULCarrierConfig
объект.
wave
— 5G временного интервала форма волны NR5G временного интервала форма волны NR, возвращенная как комплексная матрица. Количество столбцов матрицы соответствует количеству передающих антенн.
Типы данных: double
Поддержка комплексного числа: Да
info
— Метаданные формы волны 5GМетаданные формы волны 5G, возвращенной как структура с этими полями.
ResourceGrids
— Информация о BWPИнформация о BWP, возвращенная как структура с этими полями.
Поле | Значение | Описание | |||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ResourceGridBWP | Объедините 2D или трехмерный массив | Сетка ресурса BWP | |||||||||||||||||||||||||||||||||
ResourceGridInCarrier | Объедините 2D или трехмерный массив | Сетка ресурса BWP в несущей | |||||||||||||||||||||||||||||||||
Info | Массив структур | Каждая структура в массиве содержит эти поля.
|
Типы данных: struct
WaveformResources
— Информация о ресурсах формы волныИнформация о ресурсах формы волны, возвращенных как структура с этими полями.
Поле | Значение | Описание | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
(возвращенный для только передают в нисходящем направлении формы волны), | 1 NPDCCH массивом структур, где N PDCCH является количеством сконфигурированного PDCCH во входе | Каждая структура в массиве содержит эти поля.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(возвращенный для только передают в нисходящем направлении формы волны), | 1 NPDSCH массивом структур, где N PDSCH является количеством сконфигурированного PDSCH в | Каждая структура в массиве содержит эти поля.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(возвращенный только для восходящих форм волны) | 1 NPUSCH массивом структур, где N PUSCH является количеством сконфигурированного PUSCH в | Каждая структура в массиве содержит эти поля.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(возвращенный только для восходящих форм волны) | 1 NPUCCH массивом структур, где N PUCCH является количеством сконфигурированного PUCCH в | Каждая структура в массиве содержит эти поля.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(возвращенный только для восходящих форм волны) | 1 NSRS массивом структур, где N SRS является количеством сконфигурированного SRS в | Каждая структура в массиве содержит эти поля.
|
Типы данных: struct
Типы данных: struct
Указания и ограничения по применению:
Когда cfg
входом является nrDLCarrierConfig
объект, эти ограничения применяются.
cfg.
WindowingPercent
свойство должно быть установлено в 0
или []
.
cfg.
CarrierFrequency
свойство должно быть установлено в 0
.
cfg.
SampleRate
свойство должно быть установлено в []
или значение равняется cfg.BWP.
SubcarrierSpacing
времена размер БПФ. Размер БПФ должен быть степенью двойки в диапазоне от 128 до FFTMAX, где:
FFTMAX = 4 096 × 60 ÷ SubcarrierSpacing
для FR1
FFTMAX = 4 096 × 240 ÷ SubcarrierSpacing
для FR2
cfg.PDCCH.
DataSource
, cfg.PDSCH.
DataSource
, и cfg.SSBurst.
DataSource
свойства не могут быть установлены с помощью случайного seed. Установите эти свойства при помощи бинарного векторного формата или при помощи одного из предопределенных векторов символов.
info.WaveformResources.PDSCH.Resources.Codeword
выход всегда является массивом ячеек. Когда только одна кодовая комбинация существует, второй элемент ячеек является пустым массивом (например, {[1 0 ...],[]}
).
Когда cfg
входом является nrULCarrierConfig
объект, эти ограничения применяются.
cfg.
WindowingPercent
свойство должно быть установлено в 0
или []
.
cfg.
CarrierFrequency
свойство должно быть установлено в 0
.
cfg.
SampleRate
свойство должно быть установлено в []
или значение равняется cfg.BWP.
SubcarrierSpacing
времена размер БПФ. Размер БПФ должен быть степенью двойки в диапазоне от 128 до FFTMAX, где:
FFTMAX = 4 096 × 60 ÷ SubcarrierSpacing
для FR1
FFTMAX = 4 096 × 240 ÷ SubcarrierSpacing
для FR2
Следующие свойства не могут быть установлены с помощью случайного seed. Установите эти свойства при помощи бинарного векторного формата или при помощи одного из предопределенных векторов символов.
cfg.PUSCH.
DataSource
cfg.PUSCH.
DataSourceACK
cfg.PUSCH.
DataSourceCSI1
cfg.PUSCH.
DataSourceCSI2
cfg.PUSCH.
DataSourceCGUCI
cfg.PUCCH.
DataSourceSR
(применяется только к формату 0 PUCCH),
cfg.PUCCH.
DataSourceUCI
(применяется ко всем форматам PUCCH),
cfg.PUCCH.
DataSourceUCI2
(применяется только к форматам 3 и 4 PUCCH),
info.WaveformResources.PUSCH.Resources.Codeword
и info.WaveformResources.PUCCH.Resources.Codeword
(для форматов 1, 2, 3, и 4) выходные параметры всегда возвращаются как массив ячеек, где второй элемент ячеек является пустым массивом (например, {[1 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.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.