exponenta event banner

nrWaveformGenerator

Произведите 5G НОМЕР формы волны

Описание

пример

[wave,info] = nrWaveformGenerator(cfg) производит 5G НОМЕР формы волны wave для указанной конфигурации cfg. Вход cfg определяет параметры конфигурации нисходящей линии связи или восходящей линии связи для одной или нескольких несущих с интервалом поднесущих (SCS) и частей полосы пропускания (BWP).

  • Если cfg является nrDLCarrierConfig объект, конфигурация также определяет пакет сигнала синхронизации (SS), наборы ресурсов управления (CORESET), пространства поиска, физические каналы управления нисходящей линии связи (PDCCH) и связанные опорные сигналы демодуляции (DM-RS), физические общие каналы нисходящей линии связи (PDSCH) и связанные опорные сигналы DM-RS и отслеживания фаз (PT-R), и

  • Если cfg является nrULCarrierConfig объект, конфигурация также определяет зондирующие опорные сигналы (SRS), физические совместно используемые восходящие каналы (PUSCH) и связанные PUSCH DM-RS и PUSCH PT-RS.

Функция также возвращает структуру, info, содержащий информацию о сетке ресурсов и ресурсах формы сигнала.

nrWaveformGenerator открывается 5G приложение для Генератора Формы волны.

Примеры

свернуть все

Создайте объект конфигурации несущей SCS с SCS по умолчанию 15 кГц и 100 блоками ресурсов.

carrier = nrSCSCarrierConfig('NSizeGrid',100);

Создайте настраиваемый объект конфигурации BWP для оператора SCS.

bwp = nrWavegenBWPConfig('NStartBWP',carrier.NStartGrid+10);

Создайте объект конфигурации пакета SS с шаблоном блока Case 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 с шаблоном блока Case 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 активизирован, а 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','RNTI',1,'NID',1,'SymbolAllocation',[0 13]), ...
    nrWavegenPUSCHConfig('BandwidthPartID',1,'Modulation','QPSK','RNTI',2,'NID',2,'PRBSet',50:59,'SymbolAllocation',[0 10])};

Создайте два объекта конфигурации SRS, по одному для каждого из операторов связи. По умолчанию SRS активизирован в обеих конфигурациях.

srs = {
    nrWavegenSRSConfig('BandwidthPartID',0,'NumSRSPorts',2), ... 
    nrWavegenSRSConfig('BandwidthPartID',1,'FrequencyStart',4)};

Создайте многопользовательское 5G объект конфигурации формы волны канала восходящей связи, определив ранее определенные конфигурации.

cfgUL = nrULCarrierConfig( ...
    'FrequencyRange','FR1', ...
    'ChannelBandwidth',40, ...
    'NumSubframes',20, ...
    'SCSCarriers',carriers, ...
    'BandwidthParts',bwp, ...
    'PUSCH',pusch, ...
    'SRS',srs);

Формирование 5G формы сигнала восходящей линии связи с использованием указанной конфигурации.

waveform = nrWaveformGenerator(cfgUL);

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

свернуть все

Параметры конфигурации для 5G НОМЕР поколения формы волны, определенного как nrDLCarrierConfig или nrULCarrierConfig объект.

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

свернуть все

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

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

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

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

ОбластьСтоимостьОписание
ResourceGridBWPСложный массив 2-D или 3-DСетка ресурсов BWP
ResourceGridInCarrierСложный массив 2-D или 3-DСетка ресурсов BWP в операторе
InfoСтруктурный массив

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

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

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

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

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

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

ОбластьСтоимостьОписание

PDCCH

(возвращается только для сигналов нисходящей линии связи)

1-by-NPDCCH структурный массив, где NPDCCH - количество настроенных PDCCH на входе cfg

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

ОбластьСтоимостьОписание
NameСимвольный массивИмя конфигурации PDCCH
CDMLengthsДвухэлементный вектор целых чиселКомпоновка CDM для опорных сигналов
Resources

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

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

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

PDSCH

(возвращается только для сигналов нисходящей линии связи)

1-by-NPDSCH структурный массив, где NPDSCH - количество сконфигурированных PDSCH в cfg

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

ОбластьСтоимостьОписание
NameСимвольный массивИмя конфигурации PDSCH
CDMLengthsДвухэлементный целочисленный векторКомпоновка CDM для опорных сигналов
Resources

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

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

ОбластиЦенности 
NSlotНеотрицательное целое числоНомер слота
TransportBlockSizeНеотрицательное целое числоРазмер транспортного блока PDSCH
TransportBlockВектор столбца с двоичным значениемТранспортный блок PDSCH
RVНеотрицательное целое числоВерсия избыточности
Codeword

Вектор столбца с двоичным значением

Массив ячеек двух векторов столбцов с двоичным значением

Кодовое слово (кодовые слова) из транспортного канала DL-SCH
GНеотрицательное целое числоБитовая емкость PDSCH. Это значение равно длине кодового слова из транспортного канала DL-SCH.
GdНеотрицательное целое число

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

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

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

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

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

PUSCH

(возвращается только для сигналов восходящей линии связи)

1-by-NPUSCH структурный массив, где NPUSCH - количество настроенных PUSCH в cfg

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

ОбластьСтоимостьОписание
NameСимвольный массивИмя конфигурации PUSCH
CDMLengthsДвухэлементный целочисленный векторКомпоновка CDM для опорных сигналов
Resources

1-by-MPUSCH структурный массив, где MPUSCH - количество выделенных слотов для указанного PUSCH

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

ОбластьСтоимость 
NSlotНеотрицательное целое числоНомер слота
TransportBlockSizeНеотрицательное целое числоРазмер транспортного блока PUSCH
TransportBlockВектор столбца с двоичным значениемТранспортный блок PUSCH
RVНеотрицательное целое числоВерсия избыточности
Codeword

Вектор столбца с двоичным значением

Кодовое слово из транспортного канала UL-SCH
GНеотрицательное целое числоБитовая емкость PUSCH. Это значение равно длине кодового слова из транспортного канала UL-SCH.
GdНеотрицательное целое число

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

ChannelIndicesСтолбчатый вектор положительных целых чиселИндексы PUSCH относительно связанного BWP
ChannelSymbolsСложный вектор столбцаСимволы PUSCH
DMRSIndicesСтолбчатый вектор положительных целых чиселИндексы PUSCH DM-RS относительно соответствующего BWP
DMRSSymbolsСложный вектор столбцаСимволы PUSCH DM-RS
DMRSSymbolSetВектор неотрицательных целых чисел

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

PTRSIndicesСтолбчатый вектор положительных целых чиселИндексы PUSCH PT-RS относительно соответствующего BWP
PTRSSymbolsСложный вектор столбцаСимволы PUSCH PT-RS
PTRSSymbolSetВектор неотрицательных целых чисел

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

SRS

(возвращается только для сигналов восходящей линии связи)

1-by-NSRS структурный массив, где NSRS - количество настроенных SRS в cfg

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

ОбластьСтоимостьОписание
NameСимвольный массивИмя конфигурации SRS
Resources

1-by-MSRS структурный массив, где MSRS - количество выделенных слотов для указанного SRS

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

ОбластьСтоимость 
NSlotНеотрицательное целое числоНомер слота
SignalIndicesСтолбчатый вектор положительных целых чиселИндексы SRS относительно соответствующего BWP
SignalSymbolsСложный вектор столбцаСимволы SRS

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

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

Расширенные возможности

.
Представлен в R2020b