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)

Декодируйте полученный 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