lteSCFDMADemodulate

Демодуляция SC-FDMA

Синтаксис

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

Описание

пример

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

Демодуляция вычисляет одну операцию быстрого преобразования Фурье (FFT) на полученный символ SC-FDMA. Это восстанавливает полученные значения поднесущей, которые затем используются, чтобы создать каждый столбец grid. БПФ расположен отчасти через циклический префикс, чтобы допускать степень распространения задержки канала при предотвращении перекрытия между смежными символами мультиплексирования деления частоты orthongal (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), количества РУССКИХ, и количества повторений для кодовой комбинации.

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.SlotInd = 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 с помощью предварительно закодированных символов.

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

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

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

Задайте циклическую префиксную часть и получите массив ресурса путем выполнения демодуляции 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

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

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

Примечание

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

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

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

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

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

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

Количество РУССКИХ, заданных как положительное целое число. Чтобы использовать 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