nrOFDMDemodulate

Демодулируйте форму волны OFDM

Описание

пример

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

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

пример

grid = nrOFDMDemodulate(waveform,nrb,scs,initNSlot,'CyclicPrefix',cpl) задает длину циклического префикса cpl в дополнение к входным параметрам от предыдущего синтаксиса.

пример

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, задав интервал поднесущей, начальный номер слота и длину циклического префикса.

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

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

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

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

nrb = carrier.NSizeGrid;
grid = nrOFDMDemodulate(waveform,nrb,scs,initNSlot,'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

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

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

Длина циклического префикса в виде одной из этих опций:

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

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

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

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

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

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

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

Если вы не задаете этот вход, или если вы задаете 'Nfft',[], функция устанавливает значение по умолчанию, удовлетворяющее этим условиям.

  • Значение этого входа является целочисленной степенью 2.

  • Максимальное заполнение составляет 85%.

  • Минимальным значением этого входа является 128.

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

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

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

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

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

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

Количество выборок временного интервала, по которым функция применяет повышенную работу с окнами косинуса и наложение символов OFDM в виде разделенной запятой пары, состоящей из 'Windowing' и или неотрицательное целое число или [].

Если вы не задаете этот вход, или если вы задаете 'Windowing',[], функция устанавливает этот вход на максимальное значение, которое не влияет на тесты величины вектора ошибок (EVM), как задано в [1], [2], и [3].

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

Несущая частота, в Гц в виде разделенной запятой пары, состоящей из 'CarrierFrequency' и неотрицательный скаляр. Этот вход соответствует f 0, заданный в Разделе 5.4 из [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