lteSCFDMAModulate

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

Описание

пример

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

Функция вычисляет обратное быстрое преобразование Фурье (IFFT), сдвиги половинной поднесущей и циклические вставки префиксов. Функция также опционально выполняет оконцевание приподнятого косинуса и перекрытие смежных символов SC-FDMA в массиве ресурсов grid. Для получения блока схемы, которая иллюстрирует шаги в модуляции SC-FDMA, см. Алгоритмы.

пример

[waveform,info] = lteSCFDMAModulate(ue,grid,windowing) выполняет SC-FDMA модуляцию для выбранного количества оконных и перекрывающихся выборок, windowing, используемый в окнах временной области. Если вы задаете Windowing поле в ueфункция игнорирует его, и выход Windowing область info является таким, как указано в windowing. Этот синтаксис можно использовать для LTE и многотоновых строений NB-IoT.

пример

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

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

Примеры

свернуть все

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

Инициализируйте специфичные для UE настройки для заданного количества ресурсных блоков.

ue = struct('NULRB',50);

Получите размер массива ресурсов.

d = lteULResourceGridSize(ue);

Получите ресурсную сетку путем отображения случайным образом сгенерированного вектора бит на соответствующие символы модуляции, задавая QPSK модуляцию.

grid = reshape(lteSymbolModulate(randi([0,1],prod(d)*2,1),'QPSK'),d);

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

waveform = lteSCFDMAModulate(ue,grid);

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

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

ue.NBULSubcarrierSpacing = '15kHz';

Получите ресурсную сетку для заданного количества временных пазов.

NSlots = 10; % Number of slots in the generated waveform
dims = [12 7*NSlots];
grid = reshape(lteSymbolModulate(randi([0,1],prod(dims)*2,1),'QPSK'),dims);

Задайте значение окна 6.

windowing = 6;

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

waveform = lteSCFDMAModulate(ue,grid,windowing);
disp(waveform(1:5));
   0.0152 + 0.0178i
   0.0126 + 0.0159i
   0.0092 + 0.0130i
   0.0052 + 0.0092i
   0.0006 + 0.0047i

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

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

ue.NBULSubcarrierSpacing = '15kHz';

Получите ресурсную сетку для заданного количества временных пазов.

NSlots = 10; % Number of slots in the generated waveform
dims = [12 7*NSlots];
grid = reshape(lteSymbolModulate(randi([0,1],prod(dims)*2,1),'QPSK'),dims);

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

waveform = lteSCFDMAModulate(ue,grid);
disp(waveform(1:5));
   0.0152 + 0.0178i
   0.0126 + 0.0159i
   0.0092 + 0.0130i
   0.0052 + 0.0092i
   0.0006 + 0.0047i

Выполните модуляцию SC-FDMA для 20 временных пазов равномерно распределенного шума, задавая однотональное строение NB-IoT с интервалом поднесущих 15 кГц.

Инициализируйте пользовательские настройки, задавая строение NB-IoT с интервалом между поднесущими 15 кГц.

ue.NBULSubcarrierSpacing = '15kHz';

Установите строение передачи по каналу, задав поля, необходимые для выбранного строения NB-IoT.

chs = struct('NULSlots',16,'NRU',2,'NRep',4,'SlotIdx',120, ...
    'NBULSubcarrierSet',0,'Modulation','QPSK');

Получите узкополосную ресурсную сетку для 20 временных пазов.

NSlots =  20;
grid = repmat(lteNBResourceGrid(ue),1,NSlots);
grid(chs.NBULSubcarrierSet+1,:) = lteSymbolModulate(randi([0,1],size(grid,2)*2,1),'QPSK').';

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

waveform = lteSCFDMAModulate(ue,chs,grid);
disp(waveform(1:5));
   0.0074 + 0.0026i
   0.0078 + 0.0006i
   0.0077 - 0.0015i
   0.0070 - 0.0035i
   0.0058 - 0.0052i

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

свернуть все

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

Количество выборок во временной области, над которыми функция применяет оконцевание и перекрытие символов SC-FDMA, заданное в виде неотрицательного целого числа. Это поле является необязательным.

Примечание

Если вы не задаете Windowing, lteSCFDMAModulate возвращает Windowing область info как значение по умолчанию, выбранное как функция NULRB (для строений восходящего канала LTE) или NBULSubcarrierSpacing (для строений восходящего канала NB-IoT). Это поведение ставит под угрозу эффективную длительность циклического префикса (и, следовательно, допуск на расширение задержки канала) и спектральные характеристики переданного сигнала (не принимая во внимание никакой дополнительной конечной импульсной характеристикой фильтрации). Если Windowing равен нулю, проблемы, обозначенные в описании grid относительно конкатенации пазов до того, как не применяется модуляция SC-FDMA.

Количество выборок, используемых для оконной обработки, зависит от длины циклического префикса (обычный или расширенный) и количества ресурсных блоков. Значение по умолчанию выбирается в соответствии с максимальными значениями, подразумеваемыми в TS 36.104, таблицах E.5.1-1 и E.5.1-2 [1]. Для большего значения Windowingэффективная длительность циклического префикса уменьшается, но спектр передаваемого сигнала имеет меньшие внеполосные выбросы.

Количество ресурсных блоков NRB

Оконные выборки для нормального циклического префикса

Оконные выборки для расширенного циклического префикса

6

4

4

15

6

6

25

4

4

50

6

6

75

8

8

100

8

8

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

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

Зависимости

Это поле применяется только при выборе строения LTE путем опущения NBULSubcarrierSpacing поле.

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

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

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

Примечание

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

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

Ресурсная сетка, заданная как числовой массив размера M -by- N -by- P, где:

  • M - количество поднесущих.

  • N - количество символов SC-FDMA.

  • P - количество передающих антенн.

Можно задать grid содержать RE для различных временных пазов во всех сконфигурированных портах антенны, как описано в разделе «Представление ресурсных сеток». Также можно задать grid содержать несколько таких матриц, конкатенированных по второму измерению, чтобы получить несколько пазы. Плоскости антенны в grid каждый OFDM модулируется, чтобы задать столбцы waveform выход.

Для строения восходящего канала LTE M должны быть кратны 12, поскольку количество ресурсных блоков составляет N RB = M/12, максимум до 2048. Для строения нисходящего канала NB-IoT или восходящего канала с NBULSubcarrierSpacing область ue установлено на '15kHz', M = 12. Для строения восходящего канала NB-IoT с NBULSubcarrierSpacing установлено на '3.75kHz', M = 48. Задайте N как кратное количеству символов в пазе L, где L = 14 для нормального циклического префикса и L = 12 для расширенного циклического префикса. Можно задать P как 1, 2 или 4.

Сетка может охватывать несколько временные пазы. Оконные и перекрытия применяются между всеми смежными символами SC-FDMA, включая последний из одного паза и первый из следующего. Поэтому получается другой результат, чем когда lteSCFDMAModulate вызывается в отдельных пазах, и эти формы волны во временной области объединяются. Получившаяся форма волны в последнем случае имеет разрывы в начале и конце каждого паза. Рекомендуется сначала объединить все пазы для модуляции SC-FDMA перед вызовом lteSCFDMAModulate на получившемся мультипазе. Однако можно выполнить модуляцию OFDM в отдельных пазах и создать полученную мультислотовую форму волны временной области путем ручного перекрытия.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Количество оконных и перекрывающихся выборок, заданное как неотрицательное целое число. Этот аргумент контролирует количество оконных и перекрывающихся выборок, используемых в окнах временной области. Если вы задаете этот вход, функция использует значение, заданное вами для модуляции SC-FMDA (вместо Windowing поле ue вход) и возвращает его как значение Windowing поле в info выход.

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

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

свернуть все

SC-FDMA-модулированная форма волны, возвращенная как комплексная матрица. Размерности waveform T -by - P, где T - количество выборок во временной области, а P - количество передающих антенн. Размерность T задается T = 15 K/ N FFT, где N FFT является размером IFFT, и K количество временных интервалов в grid вход. Когда M ≥ 72, N БПФ является функцией от количества ресурсных блоков (N RB) и N RB = M/12.

N RB

N БПФ

6

128

15

256

25

512

50

1024

75

2048

100

2048

Когда M = 12 или NBULSubcarrierSpacing поле '15kHz'(нисходящий канал NB-IoT или восходящий канал NB-IoT с 15-kHz интервалом поднесущих), N БПФ = 128. Когда NBULSubcarrierSpacing поле '3.75kHz' (NB-IoT восходящий канал с 3.75-kHz интервалом поднесущих), NFFT = 512. Когда M ≥ 72, NFFT является наименьшей степенью 2, большей или равной 12 NRB/0,85. Это значение является наименьшим БПФ, которая охватывает все поднесущие и приводит к заполнению полосы пропускания (12 NRB/ NFFT) не более 85%.

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

Информация о модулированной форме волны SC-FDMA, возвращенная как структура, содержащая эти поля.

Количество заполненных выборок зазора в конце каждого временного паза, возвращаемое как положительное целое число. Когда NBULSubcarrierSpacing поле '3.75kHz', NBULGapSamples является 144. В противном случае NBULGapSamples является 0.

Зависимости

Этот аргумент возвращается только когда NBULSubcarrierSpacing область ue задан.

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

Длина циклического префикса, в количестве выборок во временной области, возвращается как вектор положительных целых чисел. Каждая запись представляет длине циклического префикса соответствующего символа ортогонального частотного мультиплексирования (OFDM) за определенный паз времени. Функция возвращается CyclicPrefixLengths в соответствии с указанными входными полями, показанными в этих таблицах.

Строение LTE

NfftCyclicPrefixLengths когда CyclicPrefixUL установлено в 'Normal'CyclicPrefixLengths когда CyclicPrefixUL установлено в 'Extended')
128[10 9 9 9 9 9 9 10 9 9 9 9 9 9][32 32 32 32 32 32 32 32 32 32 32 32]
256[20 18 18 18 18 18 18 20 18 18 18 18 18 18][64 64 64 64 64 64 64 64 64 64 64 64]
512[40 36 36 36 36 36 36 40 36 36 36 36 36 36][128 128 128 128 128 128 128 128 128 128 128 128]
1024[80 72 72 72 72 72 72 80 72 72 72 72 72 72][256 256 256 256 256 256 256 256 256 256 256 256]
2048[160 144 144 144 144 144 144 160 144 144 144 144 144 144][512 512 512 512 512 512 512 512 512 512 512 512]

NB-IoT Строения

NfftNBULSubcarrierSpacingCyclicPrefixLengths
128'15kHz'[10 9 9 9 9 9 9 10 9 9 9 9 9 9]
512'3.75kHz'[16 16 16 16 16 16 16 16 16 16 16 16 16 16]

Примечание

Как показано в таблицах, для значений Nfft менее 2048, записи CyclicPrefixLengths задаются путем умножения длин циклического префикса при Nfft 2048 по Nfft/2048.

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

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

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

Количество точек БПФ, N БПФ, возвращается как положительное целое число.

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

Частота дискретизации сигнала временной области, возвращенная как положительная скалярная величина. Когда NBULSubcarrierSpacing поле '15kHz' или не определено, частота дискретизации формы волны составляет (30,72 МГц/2048) × N БПФ, где N БПФ является количеством точек быстрого преобразования Фурье (FFT). Когда вы указываете строение NB-IoT путем определения ue.NBULSubcarrierSpacing, частота дискретизации составляет 1,92 МГц.

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

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

Алгоритмы

свернуть все

Обработка модуляции SC-FDMA

Эта схема показывает обработку, выполняемую модуляцией SC-FDMA.

Ссылки

[1] 3GPP TS 36.104. «Base Station (BS) radio transmission and reception». 3rd Генерация Partnership Project; Группа технических спецификаций Radio Доступа Network; Evolved Universal Terrestrial Radio Access (E-UTRA). URL-адрес: https://www.3gpp.org.

Введенный в R2014a