lteNPDSCH

Сгенерируйте закодированные символы NPDSCH

Описание

[sym,stateout] = lteNPDSCH(enb,chs,cw) возвращает sym, матрица, содержащая закодированный узкополосный физический нисходящий канал совместно использованный канал (NPDSCH) символы для настроек enb всей ячейки, настройка передачи канала chs, и кодовая комбинация cw. Процесс кодирования канала включает выбор подкадра, скремблирование, модуляцию символа, отображение слоя и предварительное кодирование в соответствии с Разделом 10.2.3 из [1]. Функция также возвращает stateout, структура, содержащая энкодер, утверждает для передачи пакета.

пример

[sym,stateout] = lteNPDSCH(___,statein) возвращает символы NPDSCH и состояние энкодера для начального состояния энкодера, заданного statein.

Примеры

свернуть все

Сгенерируйте подкадр символов NPDSCH подкадром для пакета 12 подкадров.

Задайте настройки всей ячейки и настройку передачи канала в структурах параметра enb и chs.

enb.NNCellID = 0;
enb.NBRefP = 1;
enb.NFrame = 1;
chs.NSF = 3;
chs.NRep = 4;
chs.RNTI = 0;
chs.NPDSCHDataType = 'NotBCCH';

Установите выходную длину кодовой комбинации до 960 и сгенерируйте биты кодовой комбинации. Не обеспечивайте состояние энкодера в начале пакета.

cwLen = 960;
cw = ones(cwLen,1);
statein = []; 

Сгенерируйте символы NPDSCH для каждого из этих 12 подкадров.

for subframeIdx = 0:(chs.NSF*chs.NRep-1)
    enb.NSubframe = subframeIdx;
    [txsym,stateout] = lteNPDSCH(enb,chs,cw,statein);
    statein = stateout;
end
disp(stateout.EndOfTx)
   1

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

свернуть все

Настройки всей ячейки, заданные как структура, содержащая эти поля:

ИмяТребуемый или дополнительныйЗначенияОписаниеТипы данных
NNCellIDНеобходимыйНеотрицательное целое числоУзкополосная идентичность ячейки физического уровня (PCI)double
NSubframeНеобходимыйНеотрицательное целое числоНомер подкадраdouble
NFrameДополнительный0 (значение по умолчанию), неотрицательное целое числоСтруктурируйте номерdouble
NBRefPНеобходимый1, 2Количество портов антенны узкополосного ссылочного сигнала (NRS). Чтобы указать на передачу на одном порте антенны (порт 0) и использовать эквализацию минимальной среднеквадратической ошибки (MMSE) в приеме, задайте это поле как 1. Чтобы указать на разнообразие передачи и использовать декодер ортогонального блочного кода частоты пробела (OSFBC) в deprecoding, задайте это поле как 2.double

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

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

ИмяТребуемый или дополнительныйЗначенияОписаниеЗависимостиТипы данных
NPDSCHDataTypeДополнительный'NotBCCH', 'SIB1NB', 'BCCHNotSIB1NB'

Тип данных несет NPDSCH, заданный как одно из этих значений:

  • 'NotBCCH' – NPDSCH не несет широковещательный канал управления (BCCH).

  • 'SIB1NB' – NPDSCH несет системный блок информации 1 узкополосная связь (SIB1-NB).

  • 'BCCHNotSIB1NB' – NPDSCH несет BCCH, но не SIB1-NB.

charСтрока
NSFСм. столбец ЗависимостейНеотрицательное целое числоКоличество подкадров, с которыми кодовая комбинация сопоставлена, не включая повторения

  • Это поле требуется, когда вы задаете NPDSCHDataType поле как значение кроме 'SIB1NB' и возвратите info вывод .

  • lteNPDSCH функционируйте устанавливает это поле на 8 когда вы задаете NPDSCHDataType поле как 'SIB1NB' и возвратите info вывод .

  • Если вы не возвращаете info выведите, lteNPDSCH функция игнорирует это поле.

double
NRepНеобходимыйНеотрицательное целое числоКоличество повторенийdouble
RNTIСм. столбец ЗависимостейНеотрицательное целое число16-битная радиосеть временный идентификатор (RNTI)

  • Это поле требуется, когда вы задаете NPDSCHDataType поле как значение кроме 'SIB1NB'.

  • lteNPDSCH функционируйте устанавливает это поле на информацию о системе RNTI (SI-RNTI) значение 65535 когда вы задаете NPDSCHDataType поле как 'SIB1NB'.

double
CSIДополнительный'On' (значение по умолчанию), 'Off'Информация о состоянии канала (CSI). Чтобы масштабировать мягкие биты CSI во время процесса эквализации, задайте это поле как 'On'. В противном случае задайте это поле как 'Off'.charСтрока

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

Кодовая комбинация, которая будет модулироваться, заданная как вектор столбца двоичных данных.

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

Начальное состояние энкодера для передачи пакета, заданного как структура, содержащая поля, перечислено в stateout вывод . Этот аргумент может быть пустым только, когда никакая информация не предоставляется, такой как в первом подкадре пакета.

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

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

свернуть все

Символы NPDSCH, возвращенные как N-by-P матрица с комплексным знаком, где N является количеством символов модуляции для одного порта антенны и P, являются количеством антенн передачи.

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

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

ИмяЗначенияОписаниеТипы данных
SubframeIdxцелое число в интервале [0, NSF x NRep – 1]Индекс подкадра в пакете, в основанной на нуле форме. lteNPDSCH функция возвращает это поле как SubframeIdx поле statein введите увеличенный на одного. Когда входное значение SubframeIdx в statein введите достигает ее максимального значения, функция возвращает это поле как 0. Если вы не задаете входное значение в statein введите, lteNPDSCH функция возвращает это поле как 0. Значение 0 указывает, что передача достигла конца пакета, на который функция также указывает путем установки EndOfTx поле к 1 TRUE).double
InitNFrameЦелое число Nonnnegative

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

  • Значение InitNFrame поле statein аргумент

  • 0 когда вы не задаете InitNFrame поле statein входной параметр

double
InitNSubrameЦелое число Nonnnegative

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

  • Значение InitNSubframe поле statein аргумент

  • NSubframe поле enb введите, когда вы не зададите InitNSubframe поле statein входной параметр

double
CWBufferN SF-1 бинарный векторБуфер, чтобы сохранить мягко объединенные биты отношения логарифмической правдоподобности (LLR) после дескремблирования кодовой комбинации. Длина этого поля совпадает с длиной кодовой комбинации, cw. В начале пакета, lteNPDSCH функционируйте сбрасывает это поле.double
CWSFCountN SF-1 вектор с целочисленным знакомСчетчик повторения. Длина этого поля совпадает с длиной кодовой комбинации, cw. Каждый элемент этого поля указывает сколько повторений соответствующего элемента cw CWBuffer поле восстановилось. В начале пакета, lteNPDSCH функционируйте сбрасывает это поле.double
EndOfCWЛогический 1 TRUE) или 0 ложь)Индикатор получения кодовой комбинации. lteNPDSCH функция возвращает это поле как 1 TRUE) когда целая кодовая комбинация была получена, то есть, когда каждый элемент CWSFCount поле как наименьшее количество 1. В начале пакета, lteNPDSCH функционируйте сбрасывает это поле.logical
EndOfTxЛогический 1 TRUE) или 0 ложь)Конец индикатора пакета. lteNPDSCH функция возвращает это поле как 1 TRUE) когда передача достигает конца пакета. В противном случае, lteNPDSCH функция возвращает это поле как 0 ложь). В начале пакета, lteNPDSCH функционируйте сбрасывает это поле.logical

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

Больше о

свернуть все

Пакет

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

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

Советы

Чтобы использовать эту функцию в передаче пакета, выполните эти шаги:

  1. Вызовите lteNPDSCH функция, опционально задавая начальное состояние энкодера использование statein входной параметр; stateout выведите представляет первую передачу транспортного блока.

  2. Вызовите lteNPDSCH функционируйте снова, задавая statein введите как stateout выведите возвращенный предыдущим вызовом функции.

  3. Повторите шаг 2 до lteNPDSCH функция возвращает EndOfTx поле stateout выведите как 1 TRUE), указывая на конец пакета.

Ссылки

[1] 3GPP TS 36.211. “Физические каналы и модуляция”. Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group; Развитый Универсальный Наземный Радио-доступ (к E-UTRA). URL: https://www.3gpp.org.

[2] 3GPP TS 36.321. “Спецификация протокола Среднего управления доступом (MAC)”. Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group; Развитый Универсальный Наземный Радио-доступ (к E-UTRA). URL: https://www.3gpp.org.

Смотрите также

| | |

Введенный в R2018a