exponenta event banner

lteSCFDMADemodulate

Демодуляция с использованием SC-FDMA

Описание

пример

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

Демодуляция вычисляет одну операцию быстрого преобразования Фурье (FFT) на принятый символ SC-FDMA. Он восстанавливает принятые значения поднесущих, которые затем используются для построения каждого столбца grid. БПФ располагается частично через циклический префикс, чтобы обеспечить степень расширения задержки канала, избегая при этом перекрытия между соседними символами мультиплексирования с ортогональным частотным разделением (OFDM). Входной БПФ также сдвигается на половину поднесущей. Конкретное положение БПФ, выбранное здесь, позволяет избежать перекрытия символов 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 демодуляцию A3-2 фиксированного опорного канала (FRC) восходящей линии связи.

Инициализация настроек UE в качестве 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-kHz интервалом между поднесущими.

Укажите количество слотов для генерации формы сигнала.

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, заданные как структура. Поля, указанные в ue и chs определить, выполняет ли функция демодуляцию SC-FDMA для конфигурации LTE или NB-IoT. Чтобы выбрать конфигурацию 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 в 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 | string

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

свернуть все

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

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

Представлен в R2014a