exponenta event banner

lteNPUSCHDRS

Создание символов DRS NPUSCH

Описание

[sym,stateOut] = lteNPUSCHDRS(ue,chs) производит symвектор столбца, содержащий узкополосные символы опорного сигнала демодуляции (DRS) узкополосного физического совместно используемого канала восходящей линии связи (NPUSCH). Функция генерирует sym в соответствии с разделом 10.1.4 [1] для настроек пользовательского оборудования (UE) ue и конфигурация передачи канала chs. Функция также возвращает stateOutструктура, содержащая состояние кодера для передачи пучка.

пример

[sym,stateOut] = lteNPUSCHDRS(ue,chs,stateIn) определяет stateInначальное состояние кодера.

Примеры

свернуть все

Формирование символов DRS NPUSCH для однотонного канала данных.

Настройка параметров, специфичных для UE.

ue = struct('NNCellID',0,'NBULSubcarrierSpacing','15kHz');

Укажите конфигурацию передачи канала.

chs = struct('NPUSCHFormat','Data','NRep',2,'NRU',1,'NRUsc',1, ...
    'NULSlots',16,'SeqGroupHopping','On','SeqGroup',0);

Укажите начальное состояние кодировщика как пустую структуру, указывающую начало пучка.

stateIn  = struct();

Создание символов DRS NPUSCH.

for SlotIdx = 0:(chs.NRep*chs.NRU*chs.NULSlots-1)
    ue.NSlot = SlotIdx;
    [sym,stateOut] = lteNPUSCHDRS(ue,chs,stateIn);
    stateIn = stateOut;
end

Подтверждение того, что передача достигает конца пучка.

disp(stateOut.EndOfTx)
   1

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

свернуть все

Параметры UE, определенные как структура, содержащая эти поля.

ОбластьЦенностиОписаниеТипы данных
NNCellIDЦелое число в интервале [0, 503]Идентификация ячеек узкополосного физического уровня (PCI)double
NFrame0 (по умолчанию), неотрицательное целое числоНомер кадраdouble
NBULSubcarrierSpacing'3.75kHz', '15kHz'

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

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

char, string
NSlotНеотрицательное целое число

Номер слота

double

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

Конфигурация передачи канала, заданная как структура, содержащая эти поля.

ОбластьЦенностиОписаниеТипы данных
NPUSCHFormat'Data', 'Control'

Формат NPUSCH

Чтобы указать, что NPUSCH несет данные узкополосного общего канала восходящей линии связи (UL-SCH), укажите это поле как 'Data'. Чтобы указать, что NPUSCH несет управляющую информацию восходящей линии связи, укажите это поле как 'Control'.

char, string
NRUsc1, 3, 6, 12

Количество последовательных поднесущих в блоке ресурсов (RU)

При указании NPUSCHFormat поле как 'Control' или NBULSubcarrierSpacing области ue ввод в качестве '3.75kHz', то необходимо указать это поле как 1 .

double
NRep1, 2, 4, 8, 16, 32, 64, 128Количество повторений для кодового словаdouble
NRU1, 2, 3, 4, 5, 6, 8, 10Количество RUdouble
NULSlots2, 4, 8, 16

Количество слотов на RU

При указании NPUSCHFormat поле как 'Control', то необходимо указать это поле как 4.

При указании NPUSCHFormat поле как 'Data', то необходимо указать это поле как:

  • 16 при указании NRUsc поле как 1

  • 8 при указании NRUsc поле как 3

  • 4 при указании NRUsc поле как 6

  • 2 при указании NRUsc поле как 12

double
BaseSeqIdx

Целое число в интервале [0, 29]

Значение по умолчанию зависит от значения NRUsc область

Индекс многокомпонентной базовой последовательности NPUSCH DRS

  • При указании NRUsc поле как 3, укажите это поле как целое число в интервале [0, 11]. Если это поле не указано, функция устанавливает для него значение mod(ue.NNCellID,12).

  • При указании NRUsc поле как 6, укажите это поле как целое число в интервале [0, 13]. Если это поле не указано, функция устанавливает для него значение mod(ue.NNCellID,14).

  • При указании NRUsc поле как 12, укажите это поле как целое число в интервале [0, 29]. Если это поле не указано, функция устанавливает для него значение mod(ue.NNCellID,30).

  • При указании NRUsc как и любое другое значение, функция не использует это поле.

Зависимости. Чтобы включить это поле, укажите NRUsc поле как 3, 6, или 12.

double
SeqGroupHopping'On' (по умолчанию), 'Off'Чтобы включить скачкообразную перестройку группы последовательностей, укажите это поле как 'On'. Чтобы отключить скачкообразную перестройку групп последовательностей, укажите это поле как 'Off'. Для получения дополнительной информации см. раздел 5.5.1.3 [1].char, string
SeqGroup0 (по умолчанию), целое число в интервале [0, 29]

Назначение групп последовательностей для расчета шаблона смены последовательностей

Для получения дополнительной информации см. раздел 10.1.4.1.3 [1].

Зависимости. Чтобы включить это поле, укажите SeqGroupHopping поле как 'On'.

double
CyclicShift0 (по умолчанию), целое число в интервале [0, 3]

Циклический сдвиг

  • При указании NRUsc поле как 3, укажите это поле как целое число в интервале [0, 2].

  • При указании NRUsc поле как 6, укажите это поле как целое число в интервале [0, 3].

Зависимости. Чтобы включить это поле, укажите NRUsc поле как 3 или 6.

double

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

Начальное состояние кодера для передачи пучка, указанное как структура, содержащая эти поля.

ОбластьЦенностиОписаниеТипы данных
SlotIdxЦелое число в интервале [0, (chs.NRU x chs.NULSlots x chs.NRep) – 1]Индекс слота в пучке в форме на основе нуляdouble
InitNSlotНеотрицательное целое числоНомер слота для инициализации последовательности скремблированияdouble
InitNFrameНеотрицательное целое числоНомер кадра для инициализации последовательности скремблированияdouble
EndOfBlk1 или true, 0 или falseИндикатор конца транспортного блокаlogical
EndOfTx1 или true, 0 или falseИндикатор конца пучкаlogical
GhpNSlotНеотрицательное целое числоНомер слота для первого слота в RUdouble

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

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

свернуть все

NPUSCH DRS-символы, возвращаемые как вектор столбца с комплексным значением.

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

Состояние выходного кодера, возвращаемое в виде структуры. Эти выходные данные содержат внутреннее состояние каждого транспортного блока в этих полях.

ОбластьЦенностиОписаниеТипы данных
SlotIdxЦелое число в интервале [0, (chs.NRU x chs.NULSlots x chs.NRep) – 1]

Индекс слота в пучке в форме на основе нуля

Функция возвращает это поле как SlotIdx области stateIn ввод увеличен на единицу. Когда SlotIdx области stateIn достигает максимального значения, функция возвращает это поле как 0. Если не указать SlotIdx области stateIn input, функция возвращает это поле как 0. Значение 0 указывает, что передача достигла конца пучка, который также указывается функцией путем установки EndOfTx поле в 1.

double
InitNSlotНеотрицательное целое число

Номер слота для инициализации последовательности скремблирования

Когда обрабатываемый слот находится в точке инициализации, это поле равно NSlot области ue вход. В противном случае функция возвращает это поле в качестве одного из этих значений.

  • Значение InitNSlot области stateIn вход

  • Значение NSlot области ue если не указан параметр InitNSlot области stateIn вход

double
InitNFrameНеотрицательное целое число

Номер кадра для инициализации последовательности скремблирования

Когда обрабатываемый кадр находится в точке инициализации, это поле равно NFrame области ue вход. В противном случае функция возвращает это поле в качестве одного из этих значений.

  • Значение InitNFrame области stateIn вход

  • 0 когда вы не указываете InitNFrame области stateIn вход

double
EndOfBlk1, 0

Индикатор конца транспортного блока

Когда передача достигает конца транспортного блока, функция возвращает это поле как 1.

В начале пакета функция сбрасывает это поле.

logical
EndOfTx1, 0

Индикатор конца пучка

Когда передача достигает конца пучка, функция возвращает это поле как 1. В противном случае функция возвращает это поле как 0.

В начале пакета функция сбрасывает это поле.

logical
GhpNSLotНеотрицательное целое число

Номер слота для первого слота в RU

Функция использует это поле только при указании NPUSCHFormat поле как 'Data' и NRUsc поле как 1 в chs вход.

double

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

Подробнее

свернуть все

Связка

Пучок на уровне управления доступом к среде передачи (MAC) относится к повторным передачам транспортного блока.

Для получения дополнительной информации см. раздел 5.3.2.1 [2].

Совет

Чтобы использовать эту функцию для передачи пучка, выполните следующие действия.

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

  2. Вызовите функцию еще раз, указав stateIn ввод в качестве stateOut вывод, возвращенный предыдущим вызовом функции.

  3. Повторяйте шаг 2, пока функция не вернет EndOfTx области stateOut вывод в виде 1 (true), указывая конец пучка.

Ссылки

[1] 3GPP TS 36.211. «Физические каналы и модуляция». Проект партнерства 3-го поколения; техническая спецификация на сеть радиодоступа группы; Усовершенствованный универсальный наземный радиодоступа (E-UTRA). https://www.3gpp.org.

[2] 3GPP TS 36.321. «Спецификация протокола управления доступом к среде (MAC)». Проект партнерства 3-го поколения; техническая спецификация на сеть радиодоступа группы; Усовершенствованный универсальный наземный радиодоступа (E-UTRA). https://www.3gpp.org.

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