exponenta event banner

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.

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

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

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

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

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

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

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

свернуть все

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

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

Ссылки

[1] 3GPP TS 36.212. "Развитый универсальный наземный радиодоступа (E-UTRA); мультиплексирование и канальное кодирование. "Проект партнерства 3-го поколения; Техническая спецификация на сеть радиодоступа группы. URL: https://www.3gpp.org.

Представлен в R2014a