lteSCFDMADemodulate

Демодулируйте использование SC-FDMA

Описание

пример

grid = lteSCFDMADemodulate(ue,waveform) возвращает массив ресурса grid путем выполнения деления частоты одно несущей несколько получают доступ (SC-FDMA) к демодуляции waveform, форма волны временного интервала, для определенных для оборудования пользователя настроек ue (UE-specific). Можно использовать этот синтаксис для демодуляции LTE или NB-IoT многочастотная демодуляция, в зависимости от полей, которые вы задаете в ue.

Демодуляция вычисляет одну операцию быстрого преобразования Фурье (FFT) на полученный символ SC-FDMA. Это восстанавливает полученные значения поднесущей, которые затем используются, чтобы создать каждый столбец grid. БПФ расположен отчасти через циклический префикс, чтобы допускать степень распространения задержки канала при предотвращении перекрытия между смежными символами ортогонального мультиплексирования деления частоты (OFDM). Вход FFT также смещен наполовину поднесущая. Особое положение БПФ, выбранного здесь, избегает наложения символа SC-FDMA, используемого в lteSCFDMAModulate функция. Поскольку БПФ выполняется далеко от исходной точки нулевой фазы на переданных поднесущих, коррекция фазы применяется к каждой поднесущей после БПФ.

grid = lteSCFDMADemodulate(ue,waveform,cpfraction) выполняет демодуляцию SC-FDMA входной формы волны с заданным положением демодуляции относительно циклического префиксного cpfraction.

пример

grid = lteSCFDMADemodulate(ue,chs,waveform) выполняет демодуляцию SC-FDMA входной формы волны и узкополосной связи PUSCH (NPUSCH) информация, указанная chs. Можно использовать этот синтаксис для LTE, одно тон NB-IoT и многочастотные настройки NB-IoT. Когда вы используете этот синтаксис, не конфигурируя ue для NB-IoT функция игнорирует chs.

пример

grid = lteSCFDMADemodulate(ue,chs,waveform,cpfraction) выполняет демодуляцию SC-FDMA формы волны для заданной информации NPUSCH и положения демодуляции. Можно использовать этот синтаксис для LTE, одно тон NB-IoT и многочастотные настройки NB-IoT. Когда вы используете этот синтаксис, не конфигурируя ue для NB-IoT функция игнорирует chs.

Примеры

свернуть все

Выполните демодуляцию SC-FDMA восходящего фиксированного ссылочного канала (FRC) A3-2.

Инициализируйте настройки UE-specific как фиксированный ссылочный канал A3-2 путем определения соответствующей настройки в lteRMCUL функция.

ue = lteRMCUL('A3-2');

Задайте форму волны, которая будет демодулироваться при помощи lteRMCULTool функция. Получите массив ресурса путем выполнения демодуляции SC-FDMA.

waveform = lteRMCULTool(ue,randi([0,1],ue.PUSCH.TrBlkSizes(1),1));
grid = lteSCFDMADemodulate(ue,waveform);

Выполните одно тон восходящего канала NB-IoT демодуляция SC-FDMA с расстоянием между поднесущими на 3,75 кГц.

Задайте количество пазов для генерации сигналов.

NSlots = 10;

Инициализируйте необходимые настройки всей ячейки путем определения расстояния между поднесущими NB-IoT как поля в структуре ue.

ue.NBULSubcarrierSpacing = '3.75kHz';

Задайте основанное на нуле поле индексов поднесущей NB-IoT как скаляр, указав на одно тон демодуляция SC-FDMA. Эта настройка требует спецификации типа модуляции, количества пазов на модуль ресурса (RU), количества RU и количества повторений для кодовой комбинации.

chs.NBULSubcarrierSet = 41;    % Indicate single-tone demodulation
chs.Modulation = 'BPSK';       % Specify modulation type as BPSK
chs.NULSlots = 4;              % Set four slots per RU
chs.NRU = 1;                   % Specify one RU
chs.NRep = 4;                  % Repeat codeword four times

Установите входную сетку запускаться с третьего временного интервала в пакете NPUSCH.

chs.SlotIdx = 2;

Задайте случайный массив битов и сопоставьте значения с модулируемыми BPSK символами при помощи lteSymbolModulate функция. Выполните предварительное кодирование восходящего канала на модулируемых символах при помощи lteULPrecode функция.

bits = randi([0,1],7*NSlots,1);
symbols =  lteSymbolModulate(bits,chs.Modulation);
precodedSymbols = lteULPrecode(symbols,1,'Subcarrier');

Инициализируйте сетку элемента ресурса (RE) с помощью предварительно закодированных символов.

reGrid = zeros(48,7*NSlots);
NSC = length(chs.NBULSubcarrierSet);
reGrid(chs.NBULSubcarrierSet+1,:) = reshape(precodedSymbols,NSC,[]);

Сгенерируйте форму волны временного интервала для демодуляции при помощи lteSCFDMAModulate функция.

[waveform,info] = lteSCFDMAModulate(ue,chs,reGrid);

Получите массив ресурса путем выполнения демодуляции SC-FDMA на форме волны.

grid = lteSCFDMADemodulate(ue,chs,waveform);

Выполните восходящий канал NB-IoT многочастотная демодуляция SC-FDMA с расстоянием между поднесущими на 15 кГц для выбранной циклической префиксной части.

Задайте количество пазов для генерации сигналов.

NSlots = 10;

Инициализируйте необходимые настройки всей ячейки путем определения расстояния между поднесущими NB-IoT как поля в структуре ue.

ue.NBULSubcarrierSpacing = '15kHz';

Задайте основанное на нуле поле индексов поднесущей NB-IoT как вектор, указав на многочастотную демодуляцию SC-FDMA и тип модуляции.

chs.NBULSubcarrierSet = 0:2;    % Indicate multitone demodulation
chs.Modulation = 'QPSK';         % Specify modulation type as QPSK

Задайте случайный массив битов и сопоставьте значения с модулируемыми QPSK символами при помощи lteSymbolModulate функция. Выполните предварительное кодирование восходящего канала на модулируемых символах при помощи lteULPrecode функция.

bits = randi([0,1],7*NSlots*2*length(chs.NBULSubcarrierSet),1);
symbols =  lteSymbolModulate(bits,chs.Modulation);
precodedSymbols = lteULPrecode(symbols,length(chs.NBULSubcarrierSet),'Subcarrier');

Инициализируйте сетку RE с помощью предварительно закодированных символов.

grid = repmat(lteNBResourceGrid(ue),1,NSlots);
NSC = length(chs.NBULSubcarrierSet);
grid(chs.NBULSubcarrierSet+1,:) = reshape(precodedSymbols,NSC,[]);

Сгенерируйте форму волны временного интервала для демодуляции при помощи lteSCFDMAModulate функция.

[waveform,info] = lteSCFDMAModulate(ue,chs,grid);

Задайте циклическую префиксную часть и получите массив ресурса путем выполнения демодуляции SC-FDMA на форме волны.

cpfraction = 0.3;
grid = lteSCFDMADemodulate(ue,chs,waveform,cpfraction);

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

свернуть все

Настройки UE-specific в виде структуры. Поля вы задаете в ue и chs определите, выполняет ли функция демодуляцию SC-FDMA для настройки NB-IoT или LTE. Чтобы выбрать настройку LTE, задайте NULRB поле . Чтобы выбрать настройку NB-IoT, задайте NBULSubcarrierSpacing поле . CyclicPrefixUL поле является дополнительным и является применимым только для настройки LTE.

Количество восходящих блоков ресурса, NRBULВ виде целого числа в интервале [6, 110]. Чтобы возвратить информацию о модуляции SC-FDMA для настройки LTE, необходимо задать это поле.

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

Длина циклического префикса в виде 'Normal' или 'Extended'. Это поле является дополнительным.

Зависимости

Это поле применяется только, когда вы выбираете настройку LTE путем определения NULRB поле .

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

Расстояние между поднесущими NB-IoT в виде '3.75kHz' или '15kHz'. Чтобы установить расстояние между поднесущими 3,75 кГц, задайте NBULSubcarrierSpacing как '3.75kHz'. Чтобы установить расстояние между поднесущими 15 кГц, задайте NBULSubcarrierSpacing как '15kHz'.

Использовать lteSCFDMADemodulate для демодуляции NB-IoT необходимо задать это поле. Чтобы указать на настройку LTE, не используйте это поле.

Примечание

Для расстояния между поднесущими 3,75 кГц, lteSCFDMADemodulate поддержки только одно тон настройки NB-IoT.

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

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

Информация о NPUSCH в виде структуры. Для настройки NB-IoT можно установить дополнительные восходящие специфичные параметры путем определения полей NB-IoT-specific в chs. За исключением NBULSubcarrierSet поле, поля в chs применимы также когда NBULSubcarrierSpacing '3.75kHz' или когда ue.NBULSubcarrierSpacing '15kHz' и длина (chs.NBULSubcarrierSet) 1.

Индексы поднесущей восходящего канала NB-IoT в виде вектора из неотрицательных целых чисел в интервале [0, 11] или неотрицательного целого числа в интервале [0, 47]. Индексы находятся в основанной на нуле форме. Использовать lteSCFDMADemodulate для одно тона демодуляция NB-IoT необходимо задать NBULSubcarrierSet как скаляр. Если вы не задаете NBULSubcarrierSet, lteSCFDMADemodulate выполняет многочастотную демодуляцию NB-IoT по умолчанию. Если вы задаете NBULSubcarrierSpacing поле как '15kHz', это поле требуется.

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

Тип модуляции в виде 'BPSK' или 'QPSK'. Для бинарного манипулирования сдвига фазы (BPSK) задайте Modulation как 'BPSK'. Для квадратурного манипулирования сдвига фазы (QPSK) задайте Modulation как 'QPSK'.

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

Количество пазов на модуль ресурса (RU) в виде положительного целого числа. Использовать lteSCFDMADemodulate для одно тона демодуляция NB-IoT необходимо задать это поле.

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

Количество RU в виде положительного целого числа. Использовать lteSCFDMADemodulate для одно тона демодуляция NB-IoT необходимо задать это поле.

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

Количество повторений для кодовой комбинации в виде неотрицательного целого числа. Использовать lteSCFDMADemodulate для одно тона демодуляция NB-IoT необходимо задать это поле.

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

Относительный индекс паза в NPUSCH связывается в виде неотрицательного целого числа. Это поле определяет основанный на нуле относительный индекс паза в пакете временных интервалов для передачи транспортного блока или бита управляющей информации.

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

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

Форма волны временного интервала в виде матрицы с комплексным знаком. Частота дискретизации waveform должен быть эквивалентным используемый в lteSCFDMAModulate функция модулятора для количества блоков ресурса задана в NULRB поле ue. Формой волны должен быть time-aligned, таким образом, что первая выборка является первой выборкой циклического префикса первого символа SC-FDMA в подкадре.

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

Циклическая префиксная часть в виде скаляра в интервале [0, 1]. Этот аргумент задает положение демодуляции относительно циклического префикса. Значение 0 представляет запуск циклического префикса. Значение 1 представляет конец циклического префикса.

  • Для демодуляции LTE значением по умолчанию является 0.55.

  • Для демодуляции NB-IoT с расстоянием между поднесущими на 3,75 кГц значением по умолчанию является 0.18.

  • Для демодуляции NB-IoT с расстоянием между поднесущими на 15 кГц значением по умолчанию является 0.22.

Значение по умолчанию допускает уровень по умолчанию работы с окнами в lteSCFDMAModulate функция.

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

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

свернуть все

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

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

Введенный в R2014a
Для просмотра документации необходимо авторизоваться на сайте