nrWaveformGenerator

Сгенерируйте 5G форма волны NR

Описание

пример

[wave,info] = nrWaveformGenerator(cfg) генерирует 5G форма волны NR wave для заданной настройки cfg. Вход cfg содержит параметры конфигурации для сингла или нескольких поднесущей, располагающей (SCS) с интервалами поставщики услуг, части пропускной способности (BWPs), пакет сигнала синхронизации (SS), наборы ресурсов управления (CORESETs), пространства поиска, физические разделяемые каналы и каналы управления и сопоставленные опорные сигналы и информационные опорные сигналы состояния каналом (CSI-RS). Функция также возвращает структуру, info, содержа информацию о сетке ресурса, физический нисходящий канал совместно использовал каналы (PDSCH) и физические нисходящие каналы управления (PDCCH).

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);

Входные параметры

свернуть все

Параметры конфигурации для 5G генерация сигналов NR в виде nrDLCarrierConfig объект.

Выходные аргументы

свернуть все

5G временного интервала форма волны NR, возвращенная как комплексная матрица. Количество столбцов матрицы соответствует количеству антенн передачи.

Типы данных: double
Поддержка комплексного числа: Да

Метаданные формы волны 5G, возвращенной как структура с этими полями.

Информация о BWP, возвращенная как структура с этими полями.

Поля ЗначенияОписание
ResourceGridBWPОбъедините 2D или трехмерный массивСетка ресурса BWP
ResourceGridInCarrierОбъедините 2D или трехмерный массивСетка ресурса BWP в поставщике услуг
InfoМассив структур

Каждая структура в массиве содержит эти поля.

Поля ЗначенияОписание
NfftПоложительное целое числоКоличество точек быстрого преобразования Фурье (FFT)
SampleRateВещественное числоЧастота дискретизации формы волны
CyclicPrefixLengthsВектор-строка из положительных целых чиселДлины циклического префикса каждого символа OFDM в подкадре, в выборках
SymbolLengthsВектор-строка из положительных целых чиселДлины символа OFDM, в выборках
WindowingПоложительное целое числоКоличество выборок временного интервала, по которым функция применяет повышенную работу с окнами косинуса и наложение символов OFDM
SymbolPhasesЦелочисленный вектор

Компенсация фазы каждого символа OFDM, в радианах

SymbolsPerSlot12 или 14Количество символов OFDM в пазе
SlotsPerSubframe1, 2, 4, или 8 Количество пазов в подкадре на 1 мс
SlotsPerFrameПоложительное целое числоКоличество пазов в системе координат на 10 мс
k0Неотрицательное целое числоСтартовая позиция частоты на порт антенны и символ OFDM

Информация о канале, возвращенная как структура с этими полями.

Поля ЗначенияОписание
PDCCH

1 NPDCCH массивом структур, где N PDCCH является количеством сконфигурированного PDCCH во входе cfg

Каждая структура в массиве содержит эти поля.

Поля ЗначенияОписание
NameМассив символовИмя настройки PDCCH
CDMLengthsДвухэлементный целочисленный векторРасположение CDM относительно опорных сигналов
Resources

1 MPDCCH массивом структур, где M PDCCH является количеством выделенных пазов для заданного PDCCH

Каждая структура в массиве содержит эти поля.

Поля ЗначенияОписание
NSlotНеотрицательное целое числоНомер слота
DCIBitsВектор столбца двоичных данныхБиты нисходящей управляющей информации (DCI)
CodewordВектор столбца двоичных данныхЗакодированная кодовая комбинация DCI
GНеотрицательное целое числоЕмкость в битах PDCCH
GdНеотрицательное целое числоКоличество элементов ресурса на слой или порт
ChannelIndicesВектор-столбец положительных целых чиселИндексы PDCCH
ChannelSymbolsКомплексный вектор-столбецСимволы PDCCH
DMRSIndicesВектор-столбец положительных целых чиселОпорный сигнал демодуляции PDCCH (DM-RS) индексы
DMRSSymbolsКомплексный вектор-столбецСимволы PDCCH DM-RS

PDSCH

1 NPDSCH массивом структур, где N PDSCH является количеством сконфигурированного PDSCH в cfg

Каждая структура в массиве содержит эти поля.

Поля ЗначенияОписание
NameМассив символовИмя настройки PDSCH
CDMLengthsДвухэлементный целочисленный векторРасположение CDM относительно опорных сигналов
Resources

1 MPDSCH массивом структур, где M PDSCH является количеством выделенных пазов для заданного PDSCH),

Каждая структура в массиве содержит эти поля.

Поля Значения 
NSlotНеотрицательное целое числоНомер слота
TransportBlockSizeНеотрицательное целое числоРазмер PDSCH транспортирует блок
TransportBlockВектор столбца двоичных данныхPDSCH транспортируют блок
RVНеотрицательное целое числоВерсия сокращения
CodewordВектор столбца двоичных данныхКодовая комбинация от DL-SCH транспортирует канал
GНеотрицательное целое числоЕмкость в битах PDSCH. Это значение равно длине кодовой комбинации от транспортного канала DL-SCH.
GdНеотрицательное целое число

Количество элементов ресурса на слой или порт

ChannelIndicesВектор-столбец положительных целых чиселИндексы PDSCH
ChannelSymbolsКомплексный вектор-столбецСимволы PDSCH
DMRSIndicesВектор-столбец положительных целых чиселИндексы PDSCH DM-RS
DMRSSymbolsКомплексный вектор-столбецСимволы PDSCH DM-RS
DMRSSymbolSetВектор из неотрицательных целых чисел

Местоположения символа OFDM в пазе, содержащем DM-RS (на основе 0)

PTRSIndicesВектор-столбец положительных целых чиселОпорный сигнал отслеживания фазы PDSCH (PT-RS) индексы
PTRSSymbolsКомплексный вектор-столбецСимволы PDSCH PT-RS
PTRSSymbolSetВектор из неотрицательных целых чисел

Местоположения символа OFDM в пазе, содержащем PT-RS (на основе 0)

Типы данных: struct

Смотрите также

Объекты

Введенный в R2020b