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 блоков ресурса (RBS) в массиве ресурса несущей.

carrier = nrCarrierConfig('NSizeGrid',106);

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

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

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

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

Восстановите переданный массив ресурса, который содержит звучащие опорные сигналы (SRSs) и охватывает целую систему координат путем демодуляции формы волны 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 объект. Только эти свойства объектов важны для этой функции.

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

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

Расстояние между поднесущими в kHz, для всех каналов и опорных сигналов несущей в виде 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

Расстояние между поднесущими в kHz в виде 15, 30, 60, 120, или 240.

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

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

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

Аргументы name-value

Задайте дополнительные разделенные запятой пары 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 входной параметр.

Для получения дополнительной информации смотрите, Конфигурируют Частоту дискретизации OFDM и Размер БПФ.

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

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

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

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

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

Для получения дополнительной информации смотрите, Конфигурируют Частоту дискретизации OFDM и Размер БПФ.

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

Несущая частота в Гц в виде разделенной запятой пары, состоящей из 'CarrierFrequency' и вещественное число. Этот вход соответствует f 0, заданный в Разделе TS 38.211 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 Автономное”. Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group.

[2] 3GPP TS 38.101-2. “NR; передача радио Оборудования пользователя (UE) и прием; Часть 2: Область значений 2 Автономных”. Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group.

[3] 3GPP TS 38.104. “NR; передача радио Базовой станции (BS) и прием”. Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group.

[4] 3GPP TS 38.211. “NR; Физические каналы и модуляция”. Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group.

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

Введенный в R2020b