nrOFDMDemodulate

Демодулируйте сигнал OFDM

Описание

пример

grid = nrOFDMDemodulate(carrier,waveform) восстанавливает массив ресурсов поставщика услуг путем демодуляции waveformмодулированный сигнал OFDM для параметров конфигурации несущей carrier.

grid = nrOFDMDemodulate(waveform,nrb,scs,initialNSlot) демодулирует waveform для nrb, заданное количество ресурсных блоков, интервалы между поднесущими scs, и начальный номер паза initialNSlot.

пример

grid = nrOFDMDemodulate(___,Name,Value) задает опции с помощью одного или нескольких аргументов пары "имя-значение" в дополнение к входным параметрам в любом из предыдущих синтаксисов.

Примеры

свернуть все

Восстановите переданный ресурсный массив несущей путем демодуляции формы волны OFDM.

Установите параметры конфигурации поставщика услуг, задав 106 ресурсных блоков (RB) в массиве ресурсов поставщика услуг.

carrier = nrCarrierConfig('NSizeGrid',106);

Сгенерируйте символы и индексы опорного сигнала демодуляции (DM-RS) физического нисходящего общего канала (PDSCH).

p = 2;
pdsch = nrPDSCHConfig('NumLayers',p);
sym = nrPDSCHDMRS(carrier,pdsch);
ind = nrPDSCHDMRSIndices(carrier,pdsch);

Создайте массив ресурсов поставщика услуг связи, содержащий символы PDSCH DM-RS.

txGrid = nrResourceGrid(carrier,p);
txGrid(ind) = sym;

Сгенерируйте OFDM модулированную форму волны.

[txWaveform,~] = nrOFDMModulate(carrier,txGrid);

Передайте форму волны через простой канал 2 на 1.

H = [0.6; 0.4];
waveform = txWaveform*H;

Восстановите массив ресурсов несущей путем демодуляции принятой формы волны OFDM.

grid = nrOFDMDemodulate(carrier,waveform);

Восстановите массив ресурсов, который содержит символы PDSCH DM-RS путем демодуляции формы волны OFDM.

Установите параметры конфигурации несущей, задав интервал между поднесущими 60 кГц.

scs = 60;
carrier = nrCarrierConfig('SubcarrierSpacing',scs);

Сгенерируйте символы и индексы DM-RS PDSCH.

p = 2;
pdsch = nrPDSCHConfig('NumLayers',p);
sym = nrPDSCHDMRS(carrier,pdsch);
ind = nrPDSCHDMRSIndices(carrier,pdsch);

Создайте массив ресурсов поставщика услуг связи, содержащий символы PDSCH DM-RS.

txGrid = nrResourceGrid(carrier,p);
txGrid(ind) = sym;

Сгенерируйте модулированный сигнал OFDM, задавая интервал между поднесущими, начальный номер паза и длину циклического префикса.

initialNSlot = carrier.NSlot;
cpl = 'extended';
[txWaveform,info] = nrOFDMModulate(txGrid,scs,initialNSlot,'CyclicPrefix',cpl);

Передайте форму волны через простой канал 2 на 1.

H = [0.9; 0.95];
waveform = txWaveform*H;

Восстановите массив ресурсов несущей путем демодуляции принятой формы волны OFDM.

nrb = carrier.NSizeGrid;
grid = nrOFDMDemodulate(waveform,nrb,scs,initialNSlot,'CyclicPrefix',cpl);

Восстановите переданный ресурсный массив, который содержит зондирующие опорные сигналы (SRS) и охватывает всюсь систему координат путем демодуляции формы волны OFDM.

Установите параметры конфигурации поставщика услуг, задав интервал между поднесущими 30 кГц и 24 ресурсных блока в массиве ресурсов поставщика услуг.

carrier = nrCarrierConfig('SubcarrierSpacing',30,'NSizeGrid',24);

Сконфигурируйте параметры SRS, задав периодичность паза и смещение.

srs = nrSRSConfig('SRSPeriod',[4 0]);

Получите информацию OFDM для указанного строения поставщика услуг.

info = nrOFDMInfo(carrier);

Создайте массив ресурсов системы координат путем создания и конкатенации массивов ресурсов паза.

frameGrid = [];
for nslot = 0:(info.SlotsPerFrame - 1)
    carrier.NSlot = nslot;
    slotGrid = nrResourceGrid(carrier);
    ind = nrSRSIndices(carrier,srs);
    sym = nrSRS(carrier,srs);
    slotGrid(ind) = sym;
    frameGrid = [frameGrid slotGrid];
end

Сгенерируйте модулированную форму волны OFDM.

[txWaveform,~] = nrOFDMModulate(carrier,frameGrid);

Передайте форму волны через простой канал.

H = 0.86;
waveform = txWaveform*H;

Восстановите массив ресурсов несущей путем демодуляции принятого сигнала OFDM, задавая частоту дискретизации.

sr = info.SampleRate;
grid = nrOFDMDemodulate(carrier,waveform,'SampleRate',sr);

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

свернуть все

Параметры конфигурации несущей для определенной нумерологии OFDM, заданные как nrCarrierConfig объект. Только эти свойства объекта релевантны для этой функции.

Количество RB в ресурсной сетке поставщика услуг, заданное в виде целого числа от 1 до 275. Значение по умолчанию 52 соответствует максимальному количеству RB несущей 10 МГц с 15 кГц SCS.

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

Интервалы между поднесущими в кГц, для всех каналов и опорных сигналов несущей, заданные как 15, 30, 60, 120, или 240.

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

Номер слота, заданный как неотрицательное целое число. Можно задать NSlot значение, больше, чем количество пазов на систему координат. Для примера можно задать это значение с помощью счетчиков цикла передачи в MATLAB® симуляция. В этом случае, возможно, вам придется убедиться, что значение свойства по модулю является количеством пазов на систему координат в коде вызова.

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

Длина циклического префикса, заданная как один из следующих опций.

  • 'normal' - Используйте это значение, чтобы задать нормальный циклический префикс. Эта опция соответствует 14 символам OFDM в пазе.

  • 'extended' - Используйте это значение для задания расширенного циклического префикса. Эта опция соответствует 12 символам OFDM в пазе. Для нумераций, указанных в TS 38.211 Раздел 4.2, удлиненная длина циклического префикса применяется только для интервалов между поднесущими 60 кГц.

Типы данных: char | string

Модулированная OFDM форма волны, заданная как комплексная матрица размера T -by- R.

  • T - количество выборок во временной области в форме волны.

  • R - количество приемных антенн.

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

Количество ресурсных блоков в виде целого числа от 1 до 275.

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

Интервалы между поднесущими в кГц, заданные как 15, 30, 60, 120, или 240.

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

Начальное число паза, в основанной на 0 форме, задается как неотрицательное целое число. Функция выбирает соответствующие длины циклического префикса для демодуляции OFDM с помощью значения initialNSlot mod S, где S количество пазов на подрамник.

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

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: 'CyclicPrefixFraction',0.75 задает начальное местоположение для демодуляции относительно длины циклического префикса.

Длина циклического префикса, заданная как разделенная разделенными запятой парами, состоящая из 'CyclicPrefix' и одно из следующих значений:

  • 'normal' - Используйте это значение, чтобы задать нормальный циклический префикс. Эта опция соответствует 14 символам OFDM в пазе.

  • 'extended' - Используйте это значение для задания расширенного циклического префикса. Эта опция соответствует 12 символам OFDM в пазе. Для нумераций, указанных в TS 38.211 Раздел 4.2, расширенная длина циклического префикса применяется только к интервалу между поднесущими 60 кГц.

Примечание

Если вы задаете carrier введите, используйте CyclicPrefix свойство carrier вход для задания длины циклического префикса. Вы не можете использовать этот аргумент пары "имя-значение" вместе со carrier вход.

Типы данных: char | string

Количество точек быстрого преобразования Фурье (FFT), заданное как разделенная разделенными запятой парами, состоящая из 'Nfft' и неотрицательное целое число, больше 127 или []. Заданное значение должно привести к целочисленным длинам циклического префикса и максимальной заполненности 100%. Заполнение определяется как значение (12 × N RB )/ Nfft, где N RB - количество ресурсных блоков.

Если вы не задаете этот вход, или если вы задаете 'Nfft',[], функция устанавливает целочисленное значение, больше 127, как значение по умолчанию для этого входа. Фактическое значение по умолчанию зависит от других входных значений.

  • Если вы не задаете SampleRate вход, или если вы задаете 'SampleRate',[], функция устанавливает Nfft удовлетворение этих условий.

    • Nfft - целочисленная степень 2.

    • Nfft обеспечивает максимальное заполнение 85%.

  • Если вы задаете SampleRate вход, функция устанавливает Nfft удовлетворение этих условий.

    • Nfft Результаты в целочисленных длинах циклического префикса.

    • Nfft максимизирует значение gcd (Nfft × SCS, SampleRate), где SCS задается carrier.SubcarrierSpacing свойство или scs вход.

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

Частота выборки формы волны, заданная как разделенная разделенными запятой парами, состоящая из 'SampleRate' и либо положительная скалярная величина, либо [].

Если вы не задаете этот вход, или если вы задаете 'SampleRate',[], затем функция устанавливает этот вход в значение N fft × SCS.

  • N fft является значением 'Nfft' вход.

  • SCS - интервал между поднесущими. В зависимости от синтаксиса функции, SCS задается carrier.SubcarrierSpacing свойство или scs вход.

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

Несущая частота в Гц, заданная как разделенная разделенными запятой парами, состоящая из 'CarrierFrequency' и действительное число. Этот вход соответствует f 0, определенному в TS 38,211 Section 5,4.

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

Положение окна быстрого преобразования Фурье (FFT) в циклическом префиксе, заданное как разделенная разделенными запятой парами, состоящая из 'CyclicPrefixFraction' и скаляром в интервале [0, 1].

Заданное значение указывает начальное местоположение для демодуляции OFDM относительно начала циклического префикса.

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

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

свернуть все

Массив ресурсов поставщика услуг, возвращенный как комплексный массив размера K -by- L -by- R.

  • K - количество поднесущих.

  • L - количество символов OFDM.

  • R - количество приемных антенн.

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

Ссылки

[1] 3GPP TS 38.101-1. "NR; радиопередача и прием пользовательского оборудования (UE); Часть 1: Область значений 1 Standalone ". 3rd Генерация Partnership Project; Группа технических спецификаций Радиосеть доступ.

[2] 3GPP TS 38.101-2. "NR; радиопередача и прием пользовательского оборудования (UE); Часть 2: Область значений 2 Standalone ". 3rd Генерация Partnership Project; Группа технических спецификаций Радиосеть доступ.

[3] 3GPP TS 38.104. "NR; радиопередача и прием базовой станции (BS). "3-ья Генерация партнерский проект; Группа технических спецификаций Радиосеть доступ.

[4] 3GPP TS 38.211. "NR; Физические каналы и модуляция ". 3rd Генерация Partnership Project; Группа технических спецификаций Радиосеть доступ.

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

.

См. также

Функции

Объекты

Введенный в R2020b