lteULSCHDecode

Восходящий канал совместно использованное декодирование канала

Описание

пример

[trblkout,blkcrc,stateout] = lteULSCHDecode(ue,chs,trblklen,cwin,statein) возвращает информационные биты trblkout декодируемый от входа мягкие данные о кодовых комбинациях LLR cwin. Декодер UL-SCH включает канал deinterleaver, восстановление уровня, турбо декодирование, конкатенацию блока и вычисления CRC. Функция также возвращает транспортный результат декодирования блока CRC типа-24A в blkcrc и декодирование процесса HARQ утверждает в stateout. Начальное состояние процесса HARQ может быть введено через дополнительный statein параметр. Функция способна к обработке обоих одна кодовая комбинация или пары кодовых комбинаций, содержавшихся в массиве ячеек, для случая пространственных схем мультиплексирования, передающих две кодовых комбинации. Тип возвращаемой переменной trblkout совпадает с входом cwin. Если cwin массив ячеек, содержащий одну или две кодовых комбинации, trblkout возвращает массив ячеек одного или двух транспортных блоков. Если cwin вектор из мягких данных, trblkout возвращает вектор также. При декодировании пары кодовых комбинаций требуются, чтобы пары схем модуляции и индикаторов RV, заданы в связанных полях параметра ниже. Эта функция только декодирует информационные биты, но поддерживает присутствие данных UCI, CQI, RI и HARQ-ACK, во входной кодовой комбинации. UCI должен быть демультиплексирован затем декодируемый отдельно.

Строго говоря, потому что все поля в структуре ue являются дополнительными, законно для этого параметра быть пустой структурой.

Несколько кодовых комбинаций могут быть параметрированы двумя различными формами chs структура. Каждая кодовая комбинация может быть задана отдельными элементами массива 1 2 массив структур, или параметры кодовой комбинации могут быть объединены вместе в областях одного скаляра, или 1 на 1, структура. Любые значения скалярного поля применяются к обеим кодовым комбинациям и скалярному NLayers общее количество. Дополнительную информацию см. в Параметризации UL-SCH.

trblklen входной вектор (один или два элемента в длине) определение транспортных длин блока, к которым входные блоки кода должны быть уровнем, восстановленным и декодируемым.

cwin входной параметр, содержащий мягкие данные LLR с плавающей точкой кодовых комбинаций, которые будут декодироваться. Это может или быть один вектор или массив ячеек, содержащий один или два вектора. Если последний, то все вычисления соответствия уровня принимают, что пара передавала на одном PUSCH, распределенном на общем количестве слоев, заданных в chs, согласно TS 36.211 [1].

statein дополнительный входной массив структур (пустой или один или два элемента), который может ввести текущий декодер буферное государство для каждого транспортного блока в активном процессе HARQ. Если statein не пустой массив, и он содержит непустое поле CBSBuffers затем это поле должно содержать массив ячеек векторов, представляющих мягкие буферные государства LLR для набора блоков кода во входе к турбо декодеру т.е. после явного восстановления уровня. Обновленные буферные государства после декодирования возвращены в CBSBuffers поле в выходном параметре stateout. statein массив обычно генерировался бы и перерабатывался бы от stateout из предыдущих вызовов lteULSCHDecode как часть последовательности передач HARQ.

trblkout выходной параметр, содержащий декодируемые информационные биты. Это - или один вектор или массив ячеек, содержащий один или два вектора, в зависимости от класса и размерности cwin.

blkcrc выходной массив (один или два элемента) содержащий результат транспортного декодирования блока CRC типа-24A для транспортных блоков.

stateout, параметр окончательного результата, один массив структур элемента, содержащий внутреннее состояние каждого транспортного блочного декодера в полях CBSBuffers, CBSCRC, blkcrc.

stateout массив обычно повторно применялся бы через statein переменная последующих lteULSCHDecode вызовы функции как часть последовательности повторных передач HARQ.

Примеры

свернуть все

Сгенерируйте и декодируйте 2 передачи (RV=0 затем RV=2) как часть одной кодовой комбинации процесс HARQ для A3-3 FRC.

Инициализируйте один подкадр передачи FRC A3-3. Создайте кодовую комбинацию с RV = 0. Превратите логические биты в данные 'LLR'. Инициализируйте состояния декодера для первой передачи HARQ. Возвращенный decState содержит декодер буферное государство для каждого транспортного блока для активного процесса HARQ.

nsf = 1;
frc = lteRMCUL('A3-3');
trBlkLen = frc.PUSCH.TrBlkSizes(nsf);
trBlkData = randi([0,1],trBlkLen,1);
frc.PUSCH.RV = 0;
cw = lteULSCH(frc,frc.PUSCH,trBlkData);
cw(cw == 0) = -1;
decState = [];
[rxTrBlk,~,decState] = lteULSCHDecode(frc,frc.PUSCH,trBlkLen,cw,decState);

Создайте вторую ретранслируемую кодовую комбинацию с RV = 2. Превратите логические биты в данные 'LLR'. Предыдущий декодер передачи буферное государство, decState, используется в качестве части последовательности активных передач HARQ.

frc.PUSCH.RV = 2;
cWord = lteULSCH(frc,frc.PUSCH,trBlkData);
cWord(cWord == 0) = -1;
rxTrBlk = lteULSCHDecode(frc,frc.PUSCH,trBlkLen,cWord,decState);

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

свернуть все

Настройки UE-specific в виде скалярной структуры со следующими полями. Поскольку все поля в структуре ue являются дополнительными, этот параметр может быть пустой структурой.

Поле параметраТребуемый или дополнительныйЗначенияОписание
CyclicPrefixULДополнительный

'Normal' (значение по умолчанию), 'Extended'

Длина циклического префикса.

ShortenedДополнительный

0 (значение по умолчанию), 1

Опция, чтобы сократить подкадр путем исключения последнего символа в виде 0 или 1. Если 1, последний символ подкадра не используется. Для подкадров с возможной передачей SRS, набор Shortened к 1, чтобы обеспечить стандартную совместимую настройку.

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

UL-SCH связал параметры в виде скалярной структуры со следующими полями.

Поле параметраТребуемый или дополнительныйЗначенияОписание
ModulationНеобходимый

'QPSK', '16QAM', '64QAM', '256QAM'

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

NLayersДополнительный

1 (значение по умолчанию), 2, 3, 4

Количество слоев передачи.

(общее количество или на кодовую комбинацию)

RVНеобходимый

0, 1, 2, 3

Индикаторы версии сокращения в виде вектора из 1 или 2 индикаторов.

QdCQIДополнительный

неотрицательное скалярное целое число

Количество закодированных символов информации о качестве канала (CQI) (Q’_CQI)

QdRIДополнительный

Неотрицательное скалярное целое число

0 (значение по умолчанию)

Количество закодированных символов для RI (Q’_RI)

QdACKДополнительный

неотрицательное скалярное целое число

0 (значение по умолчанию)

Количество закодированных символов ACK (Q'_ACK)

NTurboDecItsДополнительный

Скалярное целое число

5 (значение по умолчанию)

Количество турбо циклов итерации декодера

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

Транспортная длина блока в виде числового вектора (один или два элемента в длине) определение транспортных длин блока, к которым входные блоки кода должны быть уровнем, восстановленным и декодируемым.

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

Мягкие данные о кодовой комбинации LLR в виде числового вектор-столбца или массива ячеек одного или двух вектор-столбцов. Этот аргумент содержит мягкие данные LLR с плавающей точкой кодовой комбинации или кодовых комбинаций, которые будут декодироваться. Это может или быть один вектор или массив ячеек, содержащий один или два вектора. Если массив ячеек, все вычисления соответствия уровня принимают, что пара передавала на одном PUSCH, распределенном на общем количестве слоев, заданных в chs, как задано в [1].

Типы данных: int8 | cell

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

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

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

свернуть все

Декодируемые информационные биты, возвращенные как числовой векторный массив или массив ячеек. trblkout содержит декодируемые транспортные блоки данных. Это - или один вектор или массив ячеек, содержащий один или два вектора, в зависимости от класса и размерности cwin.

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

Транспортный результат декодирования блока CRC типа 24A, возвращенный как 0 или 1.

Типы данных: логический

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

Поле параметраОписаниеЗначенияТип данных
CBSBuffers

LLR мягкие буферные государства для набора блоков кода сопоставлен с одним транспортным блоком. Буферы расположены во вход к турбо декодеру, или после явного восстановления уровня.

Массив ячеек числовых векторов

cell
CBSCRS

Введите-24B результаты декодирования CRC набора блока кода

Числовой вектор

int8
BLKCRC

Введите-24A транспортную ошибку декодирования блока CRC

Один - или двухэлементный числовой вектор

logical

Ссылки

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

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

| | |

Введенный в R2014a