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) декодер для амортизации, задайте это поле следующим 2.double

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

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

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

Тип данных, переносимых NPDSCH, заданный как одно из следующих значений:

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

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

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

char, string
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, string

Типы данных: 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Неотрицательное целое число

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

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

  • 0 если вы не задаете InitNFrame поле statein вход

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

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

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

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

double
CWBufferN SF-на-1 двоичный векторБуфер для хранения коэффициента мягкого комбинирования логарифмической правдоподобности (LLR) бит после дескремблирования кодового слова. Длина этого поля совпадает с длиной кодового слова, cw. В начале пучка, lteNPDSCH функция сбрасывает это поле.double
CWSFCountN вектор с целым числом SF на 1Счетчик повторения. Длина этого поля совпадает с длиной кодового слова, cw. Каждый элемент этого поля указывает, сколько повторений соответствующего элемента cw а CWBuffer месторождение восстановлено. В начале пучка, lteNPDSCH функция сбрасывает это поле.double
EndOfCWЛогический 1 (true) или 0 (false)Индикатор приема кодового слова. lteNPDSCH функция возвращает это поле следующим 1 (true), когда получено все кодовое слово, то есть когда каждый элемент CWSFCount поле как минимум 1. В начале пучка, lteNPDSCH функция сбрасывает это поле.logical
EndOfTxЛогический 1 (true) или 0 (false)Конец индикатора пучка. lteNPDSCH функция возвращает это поле следующим 1 (true), когда коробка передач достигает конца пучка. В противном случае lteNPDSCH функция возвращает это поле следующим 0 (false). В начале пучка, 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. «Физические каналы и модуляция». 3-ья Генерация проект партнерства; Группа технических спецификаций Radio Доступа Network; Evolved Universal Terrestrial Radio Access (E-UTRA). URL-адрес: https://www.3gpp.org.

[2] 3GPP TS 36.321. «Протокол управления средним доступом (MAC) спецификации». 3rd Генерация Partnership Project; Группа технических спецификаций Radio Доступа Network; Evolved Universal Terrestrial Radio Access (E-UTRA). URL-адрес: https://www.3gpp.org.

Введенный в R2018a