exponenta event banner

nrPolarDecode

Полярная расшифровка

Описание

пример

decbits = nrPolarDecode(rec,K,E,L) декодирует входной сигнал восстановления скорости rec для (N,K) полярный код, где N - длина rec и K - длина декодированных битов decbits, как указано в TS 38.212 Раздел 5 [1]. Функция использует декодер списка последовательных подавлений длины с помощью циклического контроля избыточности (CRC).L. По умолчанию разрешена обратная перемежение выходного сигнала, максимальная длина входного сигнала равна 512, а количество добавленных битов CRC равно 24. Используйте этот синтаксис для конфигурирования нисходящей линии связи.

decbits = nrPolarDecode(rec,K,E,L,padCRC) определяет, был ли информационный блок на передающей стороне дополнен блоками перед кодированием CRC.

decbits = nrPolarDecode(rec,K,E,L,padCRC,rnti) определяет временный идентификатор радиосети (RNTI). Этот синтаксис можно использовать при значении rnti маскирует биты контроля четности CRC на передающем конце.

decbits = nrPolarDecode(rec,K,E,L,nmax,iil,CRClen) декодирует вход с заданной максимальной длиной 2nmax , обратное перемежение выходных данных, указанное iilи количество добавленных битов CRC, указанных CRClen. Этот синтаксис предполагает, что информационный блок на передающей стороне не был добавлен с единицами перед кодированием CRC и что RNTI равен 0.

  • Для конфигурации нисходящей линии связи (DL) допустимые значения nmax, iil, и CRClen равны 9, true, и 24 соответственно.

  • Для конфигурации восходящего канала (UL) допустимые значения для nmax и iil равны 10 и false, соответственно, и для CRClen равно 11 или 6.

Примеры

свернуть все

Передают блок данных с полярным кодированием и декодируют его с помощью декодера списка последовательного подавления.

Начальная настройка

Создайте канал, который добавляет белый гауссов шум (WGN) к входному сигналу. Установите дисперсию шума 1,5.

nVar = 1.5; 
chan = comm.AWGNChannel('NoiseMethod','Variance','Variance',nVar);

Создайте модулятор и демодулятор двоичной фазовой манипуляции (BSPK).

bpskMod = comm.BPSKModulator;
bpskDemod = comm.BPSKDemodulator('DecisionMethod', ...
    'Approximate log-likelihood ratio','Variance',nVar);

Моделирование кадра

Выполнение полярного кодирования случайного сообщения длиной K. Выходной сигнал, согласованный по скорости, имеет длину E.

K = 132;
E = 256;
msg = randi([0 1],K,1,'int8');
enc = nrPolarEncode(msg,E);

Модулировать полярные кодированные данные с помощью модуляции BSPK, добавлять WGN и демодулировать.

mod = bpskMod(enc);
rSig = chan(mod);
rxLLR = bpskDemod(rSig); 

Выполнить полярное декодирование с помощью дешифратора списка последовательных компенсаций длины L.

L = 8;
rxBits = nrPolarDecode(rxLLR,K,E,L);

Определите количество битовых ошибок.

numBitErrs = biterr(rxBits,msg);
disp(['Number of bit errors: ' num2str(numBitErrs)])
Number of bit errors: 0

Передаваемые и принимаемые сообщения идентичны.

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

свернуть все

Восстановленная скорость ввода, заданная как вектор столбца вещественных значений. Вход rec представляет логарифмические отношения правдоподобия на бит с отрицательным биполярным отображением. Итак, 0 сопоставлен с 1и 1 сопоставлен с -1. Длина rec должно быть, сила двух.

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

Длина информационного блока в битах, заданная как положительное целое число. K включает в себя биты CRC, если применимо.

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

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

  • Если 18 ≤ K ≤ 25, E должно находиться в диапазоне K + 3 < E ≤ 8192.

  • Если K > 30, E должно находиться в диапазоне K < E ≤ 8192.

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

Длина списка декодирования, заданная как степень двух.

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

Подготовка перед кодированием CRC, указанное как false или true. Набор padCRC кому true если информационный блок на передающей стороне перед полярным кодированием был добавлен со всеми блоками перед кодированием CRC.

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

RNTI UE, указанный как целое число от 0 до 65535.

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

Base-2 логарифм максимальной длины восстановленного входного сигнала, указанный как 9 или 10.

  • Для конфигурации DL укажите 9.

  • Для конфигурации UL укажите 10.

Если N - длина rec в битах, N2nmax, см. TS 38.212 Раздел 5.3.1.2.

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

Обратное перемежение выходных данных, указанное как true или false.

  • Для конфигурации DL укажите true.

  • Для конфигурации UL укажите false.

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

Количество добавленных битов CRC, указанных как 24, 11, или 6.

  • Для конфигурации DL укажите 24.

  • Для конфигурации UL укажите 11 или 6.

Числа 24, 11 и 6 соответствуют многочленам gCRC24C, gCRC11 и gCRC6 соответственно, как описано в TS 38.212. Раздел 5.1 [1].

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

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

свернуть все

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

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

Вопросы совместимости

развернуть все

В R2020a изменилось поведение