lteACKDecode

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

Синтаксис

out = lteACKDecode(chs,in)

Описание

пример

out = lteACKDecode(chs,in) выполняет блоковое декодирование на мягких входных данных, in, принятом, чтобы быть закодированным с помощью процедуры, заданной для HARQ-ACK в TS 36.212 [1], Раздел 5.2.2.6 для данной настройки передачи канала 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-by-1 вектор-столбец.

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

Ссылки

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

Введенный в R2014a