lteACKDecode

Декодирование канала HARQ-ACK

Синтаксис

Описание

пример

out = lteACKDecode(chs,in) выполняет блоковое декодирование на мягких входных данных in, принятый, чтобы быть закодированным с помощью процедуры задал для HARQ-ACK в Разделе 5.2.2.6 из [1], для настройки передачи канала PUSCH chs. Декодируемый выход, out, вектор из длины OACK, количество незакодированных битов HARQ-ACK передается.

Примечание

Если NBundled 0, TDD, дескремблирование ACK-NACK отключено.

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

Блоковое декодирование выполняется отдельно на каждой мягкой кодовой комбинации входных данных с помощью подхода наибольшего правдоподобия (ML), принимая тот in демодулировался и компенсировался, чтобы лучше всего восстановить первоначально переданные значения.

Декодер HARQ-ACK выполняет другой тип блокового декодирования в зависимости от количества незакодированных битов HARQ-ACK, которые будут восстановлены (OACK). Для OACK меньше чем 3 бита, декодер принимает, что биты закодированы с помощью процедуры, заданной в TS 36.212 [1], Раздел 5.2.2.6.

Для декодирования между 3 и 11 битами HARQ-ACK декодер принимает, что биты являются закодированным использованием блока процедуры, заданной в TS 36.212 [1], Раздел 5.2.2.6.4. Для большего, чем 11 битов декодер выполняет обратную процедуру, описанную в TS 36.212 [1], Раздел 5.2.2.6.5.

Примеры

свернуть все

Покажите блоковое декодирование 3 закодированных битов информации о HARQ-ACK.

Создайте вход и инициализируйте структуру канала. Закодируйте биты и превратите логические биты в мягкие данные, совместимые с проверкой отношения логарифмической правдоподобности. Используйте pskmod со смещением начальной фазы π выровнять отображение с книгой шифров LTE.

Выполните кодирование бита HARQ-ACK и модуляцию.

in = [1;0;1];
chs = struct('Modulation','QPSK','QdACK',2,'OACK',length(in));

encodedBits = lteACKEncode(chs,in);
encodedBits = pskmod(double(encodedBits),2,pi());

Передайте переданные закодированные биты через канал AWGN с отношением сигнал-шум на 20 дБ. Покажите scatterplot из шумного полученного HARQ-ACK softbits.

rxBits = awgn(encodedBits,20);
scatterplot(rxBits)

Figure Scatter Plot contains an axes object. The axes object with title Scatter plot contains an object of type line. This object represents Channel 1.

Декодируйте полученный softbits. Сравните декодируемые биты с входными битами, чтобы показать, что биты были восстановлены без ошибки.

decodedBits = lteACKDecode(chs,rxBits)
decodedBits = 3x1 logical array

   1
   0
   1

isequal(in,decodedBits)
ans = logical
   1

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

свернуть все

PUSCH-специфичная настройка передачи канала в виде структуры или массива структур, который содержит следующие поля параметра.

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

'QPSK', '16QAM', '64QAM', или '256QAM'

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

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

неотрицательное скалярное целое число, 0 (значение по умолчанию)

Количество незакодированных битов HARQ-ACK.

Декодер HARQ-ACK выполняет другой тип блокового декодирования в зависимости от количества незакодированных битов HARQ-ACK, которые будут восстановлены (OACK). Для OACK меньше чем 3 бита, декодер принимает, что биты закодированы с помощью процедуры, заданной в TS 36.212 [1], Раздел 5.2.2.6. Для декодирования между 3 и 11 битами HARQ-ACK декодер принимает, что биты являются закодированным использованием блока процедуры, заданной в TS 36.212 [1], Раздел 5.2.2.6.4. Для большего, чем 11 битов декодер выполняет обратную процедуру, описанную в TS 36.212 [1], Раздел 5.2.2.6.5.

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

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

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

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

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

Связывание HARQ-ACK TDD, скремблирующее индекс последовательности. Когда установлено в 0, функция отключает TDD скремблирование связывания HARQ-ACK. Поэтому это прочь по умолчанию.

Мягкие входные данные в виде числового вектора. Входные данные приняты, чтобы быть закодированными с помощью процедуры, заданной для HARQ-ACK в TS 36.212 [1], Раздел 5.2.2.6.

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

свернуть все

Декодируемый канал HARQ-ACK выходной параметр, возвращенный как OACK- 1 вектор-столбец.

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

Ссылки

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

Введенный в R2014a