exponenta event banner

tpcenc

Кодировщик кода турбо-продукта (TPC)

Описание

пример

code = tpcenc(msg,N,K) выполняет 2-е кодирование TPC входного сигнала, msg, используя два линейных блочных кода, определяемых длиной кодового слова N и длина сообщения K. Для описания 2-го кодирования TPC посмотрите Турбо Составление Кода продукта.

пример

code = tpcenc(msg,N,K,S) выполняет кодирование 2-D TPC для укороченного входного сообщения длины S, используя кодер 2-D TPC, заданный длиной кодового слова (NK+S) и длина сообщения S.

Примеры

свернуть все

Кодирование вектора случайных битов с использованием 2-D турбокодирования (TPC) с расширенными кодами Хэмминга и расширенными кодами BCH.

Укажите (N, K) кодовых пар для кодирования TPC.

N = [32;64]; 
K = [21;57]; 

Создайте вектор столбца из битов случайного сообщения. Требуемая длина для битов сообщения является произведением элементов в K.

msg = randi([0 1],prod(K),1);

TPC - кодирование сообщения.

code = tpcenc(msg,N,K);

Убедитесь, что длина кодированного кодового слова является произведением элементов в N.

size(code)
ans = 1×2

        2048           1

prod(N)
ans = 2048

Кодировать случайный битовый вектор с использованием 2-D турбокодирования (TPC), применяя укорочение сообщений.

Укажите (N, K) кодовые пары и S для кодирования TPC.

N = [32;64];
K = [21;57];
S = [19;24];

Создайте вектор столбца из битов случайного сообщения. Требуемая длина для укороченных битов сообщения является произведением элементов в S.

msg = randi([0 1],prod(S),1);

TPC - кодирует укороченное сообщение.

code = tpcenc(msg,N,K,S);

Убедитесь, что длина кодированного кодового слова является произведением элементов в (N-K+S).

size(code)
ans = 1×2

   930     1

prod(N-K+S)
ans = 930

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

свернуть все

Входные биты сообщения для кодирования, заданные как вектор столбца.

  • Для полноразмерных входных сообщений длина вектора столбца должна быть произведением элементов в K.

  • Для укороченных входных сообщений длина вектора столбца должна быть произведением элементов в S.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | logical

Длина кодового слова, заданная как двухэлементный целочисленный вектор, [NR; ЧПУ]. NR представляет количество строк в кодовой матрице изделия. ЧПУ представляет количество столбцов в матрице кода изделия. Дополнительные сведения о NR и NC см. в разделе Конструирование кода турбо-изделия. Список допустимых пар кодов (N (i), K (i)) см. в разделе Коды компонентов.

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

Длина сообщения, заданная как двухэлементный целочисленный вектор, [KR; KC]. Для полноформатного сообщения вектор входного столбца, содержащий биты сообщения для кодирования, размещается в матрицу KR-by-KC. KR представляет количество строк в матрице сообщений. KC представляет количество столбцов в матрице сообщений. Дополнительные сведения о KR и KC см. в разделе Конструирование кода турбо-продукта. Список допустимых пар кодов (N (i), K (i)) см. в разделе Коды компонентов.

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

Укороченная длина сообщения, заданная как двухэлементный целочисленный вектор, [SR; SC]. Для укороченного сообщения вектор входного столбца, содержащий биты сообщения для кодирования, размещается в матрицу SR-by-SC. SR представляет количество строк в матрице. SC представляет количество столбцов в матрице. Дополнительные сведения о SR и SC см. в разделе Создание кода продукта Turbo.

При указании этого параметра укажите N и K векторов для полноразмерных кодов TPC, которые сокращаются до (N (i) -K (i) + S (i), S (i)) кодов.

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

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

свернуть все

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

  • Для полноразмерных входных сообщений длина возвращаемого вектора столбца является произведением элементов в N.

  • Для укороченных входных сообщений длина вектора возвращаемого столбца является произведением элементов в (NK+S).

Подробнее

свернуть все

Коды компонентов

В этой таблице перечислены поддерживаемые пары кодов компонентов для параметров строк (NR, KR) и столбцов (NC, KC).

  • NR и KR представляют количество строк в матрице кода продукта и матрице сообщения соответственно.

  • ЧПУ и КС представляют количество столбцов в матрице кода изделия и матрице сообщения соответственно.

В каждом кодовом типе любые две кодовых пары компонента могут сформировать 2-й кодекс TPC. Таблица также включает возможность исправления ошибок для каждой пары кодов.

Тип кодаПары кодов компонентов (NR, KR) и (NC, KC)Возможность исправления ошибок (T)
Код хэмминга(255,247)1
(127,120)1
(63,57)1
(31,26)1
(15,11)1
(7,4)1
Расширенный код Хэмминга (256,247)1
(128,120)1
(64,57)1
(32,26)1
(16,11)1
(8,4)1
Код BCH(255,239)2
(127,113)2
(63,51)2
(31,21)2
(15,7)2
Расширенный код BCH(256,239)2
(128,113)2
(64,51)2
(32,21)2
(16,7)2
Код проверки четности(256,255)-
(128,127)-
(64,63)-
(32,31)-
(16,15)-
(8,7)-
(4,3)-

Конструкция кода турбо-продукта

Коды турбо-продукта (TPC) представляют собой форму конкатенированных кодов, используемых в качестве кодов прямой коррекции ошибок (FEC). Два или более блочных кодов компонентов, таких как систематические линейные блочные коды, используются для построения TPC. Этот кодер реализует кодирование 2-D кода продукта, как описано в [1], используя два линейных блочных кода.

Кодер TPC принимает сообщения полной или укороченной длины.

 Создание полноразмерных кодов продуктов сообщений

 Построение укороченных кодов продуктов сообщений

Ссылки

[1] Пиндиа, Р. М. «Почти оптимальное декодирование кодов продукта: блок-турбокоды». Транзакции IEEE по коммуникациям. Том 46, номер 8, август 1998 г., стр. 1003-1010.

Расширенные возможности

.

См. также

Функции

Объекты

Блоки

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