Декодер кода турбо-продукта (TPC)
Панель инструментов связи/Обнаружение и исправление ошибок/Блок
Блок декодера TPC выполняет 2-D декодирование кода турбо-продукта (TPC) программных входных LLR, соответствующих коду продукта, итеративно, с использованием алгоритма Чейза-Пиндиаха. Код продукта представляет собой 2-D конкатенацию линейных блочных кодов. Линейный блочный код может быть кодом контроля четности, кодом Хэмминга или кодом BCH, способным исправить две ошибки. Расширенные и укороченные коды могут применяться независимо к каждому измерению. Для описания 2-й расшифровки TPC см., что Турбо Код продукта Расшифровывает.
Сведения о допустимых парах кода и возможности исправления ошибок для каждой допустимой пары кодов см. в разделе Пары кодов компонентов.
In - Логарифмические отношения правдоподобияЛогарифмические отношения правдоподобия, заданные как вектор столбца.
Для полноразмерных входных сообщений длина вектора столбца является произведением числа строк в коде, Nr и числа столбцов в коде, Nc.
Для укороченных входных сообщений длина вектора столбца является произведением (NR-KR + SR) и (NC-KC + SC), где:
NR - значение числа строк в коде, Nr.
KR - значение Числа строк в сообщении, Кр.
SR - значение числа строк в сокращенном сообщении, старший
NC - значение числа столбцов в коде, Nc.
KC - значение количества столбцов в сообщении, Kc.
SC - значение количества столбцов в сокращенном сообщении Sc.
Типы данных: double | single
Out - декодированное сообщение TPCДекодированное сообщение TPC, возвращаемое в виде вектора столбца двоичных значений.
Для полноразмерных входных сообщений длина вектора столбца является произведением количества строк в сообщении, Kr и количества столбцов в сообщении, Kc.
Для укороченных входных сообщений длина вектора столбца является произведением количества строк в укороченном сообщении, Sr и количества столбцов в укороченном сообщении, Sc.
Типы данных: Boolean
Iter - Фактическое количество итераций декодированияФактическое число итераций декодирования, возвращаемое как положительное целое число.
Чтобы включить этот порт, выберите Выходное число выполненных итераций.
Типы данных: double
Extended codes - Индикатор расширенных кодов для параметров строки TPCon (по умолчанию) | offПри выборе Extended codes списки Number of rows in code, Nr и Number of rows in message, Kr содержат допустимые значения для расширенных индивидуальных пар кодов (NR, KR).
При снятии флажка Extended codes списки Number of rows in code, Nr и Number of rows in message, Kr содержат допустимые значения для не расширенных отдельных пар кодов (NR, KR).
Number of rows in code, Nr - Количество строк в кодовой матрице продукта16 (по умолчанию) | целое числоКоличество строк в кодовой матрице продукта, NR. Список целых значений зависит от настроек расширенного кода.
Number of rows in message, Kr - Количество строк в матрице сообщений11 (по умолчанию) | целое числоКоличество строк в матрице сообщений, КР. Список целых значений зависит от настроек дополнительных кодов и количества строк в коде, Nr.
Specify shortened message length - Укажите укороченную длину сообщения для строкoff (по умолчанию) | onВыберите параметр «Указать длину укороченного сообщения», чтобы задать значение параметра «Количество строк в укороченном сообщении», «Старший».
Number of rows in shortened message, Sr - Количество строк в укороченной матрице сообщений9 (по умолчанию) | целое числоЧисло строк в матрице укороченного сообщения SR, указанное как целое число, меньшее или равное KR. При указании этого параметра укажите полноразмерные значения NR и KR для определения пары кодов (NR, KR). Эта кодовая пара тогда сокращена к (NR-KR+SR, SR) кодируют пару, где:
NR - значение числа строк в коде, Nr.
KR - значение Числа строк в сообщении, Кр.
SR - значение числа строк в сокращенном сообщении, старший
Чтобы включить этот параметр, выберите Указать укороченную длину сообщения.
Типы данных: double
Extended codes - Индикатор расширенных кодов для параметров столбца TPCon (по умолчанию) | offЕсли выбран Расширенный код (Extended codes), списки Количество столбцов (Number of columns) в коде, Nc и Количество столбцов (Number of columns) в сообщении содержат допустимые значения для расширенных отдельных пар кодов (NC, KC).
Если флажок Расширенные коды снят, списки Количество столбцов в коде (Number of columns in code), Nc и Количество столбцов в сообщении (Number of columns in message), Kc содержат допустимые значения для не расширенных отдельных пар кодов (NC, KC).
Number of columns in code, Nc - Количество столбцов в кодовой матрице продукта32 (по умолчанию) | целое числоКоличество столбцов в матрице кода изделия, NC. Список целых значений зависит от настроек расширенного кода.
Number of columns in message, Kc - Количество столбцов в матрице сообщений26 (по умолчанию) | целое числоКоличество столбцов в матрице сообщений, KC. Список целых значений изменяется в зависимости от настроек дополнительных кодов и количества столбцов в коде, Nc.
Specify shortened message length - Укажите укороченную длину сообщения для столбцовoff (по умолчанию) | onВыберите Указать длину укороченного сообщения, чтобы задать значение для параметра Количество столбцов в укороченном сообщении Sc.
Number of columns in shortened message, Sc - Количество столбцов в укороченной матрице сообщений22 (по умолчанию) | целое числоКоличество столбцов в укороченной матрице сообщений SC, указанное как целое число. При указании этого параметра укажите полноразмерные значения ЧПУ и КС для задания пары кодов (ЧПУ, КС). Эта кодовая пара тогда сокращена к (NC-KC+SC, SC) кодируют пару, где:
NC - значение числа столбцов в коде, Nc.
KC - значение количества столбцов в сообщении, Kc.
SC - значение количества столбцов в сокращенном сообщении Sc.
Чтобы включить этот параметр, выберите Указать укороченную длину сообщения.
Типы данных: double
Maximum number of iterations - Максимальное количество итераций декодирования4 (по умолчанию) | положительное целое числоМаксимальное число итераций декодирования, указанное как положительное целое число.
Типы данных: double
Stop iterating when code converges - Остановить декодирование на основе вычисленного синдрома или проверки четности кода компонентаon (по умолчанию) | offВыберите Остановить итерацию, когда код сходится, чтобы завершить декодирование рано, если вычисленный синдром или проверка четности кода компонента вычисляется как ноль до максимального количества итераций.
Output number of iterations executed - Количество выполненных итераций на выходеoff (по умолчанию) | onВыберите этот параметр для добавления Iter выходной порт и фактическое количество выполненных итераций декодирования TPC.
Simulate using - Тип выполняемого моделированияCode generation (по умолчанию) | Interpreted executionТип выполняемого моделирования, указанный как Code generation или Interpreted execution.
Code generation - Моделирование модели с использованием сгенерированного кода C. При первом запуске моделирования Simulink ® генерирует код C для блока. Код C используется повторно для последующего моделирования, если модель не изменится. Эта опция требует дополнительного времени запуска, но скорость последующего моделирования быстрее, чемInterpreted execution.
Interpreted execution - Смоделировать модель с помощью интерпретатора MATLAB ®. Этот параметр требует меньше времени запуска, чем Code generation способ, но скорость последующего моделирования медленнее. В этом режиме можно отладить исходный код блока.
Типы данных |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
В этой таблице перечислены поддерживаемые пары кодов компонентов для параметров строк (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. Декодер ТРС достигает почти оптимального декодирования кодов продукта, используя декодирование Чейза и алгоритм Пиндиаха для выполнения итеративного мягкого входного, мягкого выходного декодирования. Подробное описание см. в разделах [1] и [2]. Этот декодер реализует итеративный мягкий ввод, мягкий вывод 2-D декодирование кода продукта, как описано в [2], используя два линейных блочных кода. Декодер ожидает, что динамические отношения правдоподобия бита (LLR), полученные из цифровой демодуляции, станут входным сигналом.
Декодер TPC принимает либо полноразмерные, либо укороченные коды.
Декодирование полноразмерных сообщений TPC
Закодированные входные сигналы TPC во всю длину расшифрованы, используя, определил, что 2-е TPC кодируют пары. Декодирование по строкам использует кодовую пару (NC, KC), а декодирование по столбцам использует кодовую пару (NR, KR). Длина входного вектора должна быть NR × NC. Для выполнения декодирования 2-D TPC вектор столбца входных LLR, состоящий из битов сообщения и четности, размещается в матрицу NR-на-NC.

Декодер ТРС достигает почти оптимального декодирования кодов продукта, используя декодирование Чейза и алгоритм Пиндиаха для выполнения итеративного мягкого входного, мягкого выходного декодирования. Последовательное декодирование формирует набор возможных кодовых слов для каждой строки или столбца. Алгоритм Пиндиа вычисляет мягкую информацию, необходимую для следующего этапа декодирования.
Итеративный мягкий вход, мягкий выходной декодер
Итеративное мягкое декодирование на выходе, как показано на блок-схеме, выполняет два этапа декодирования для каждой итерации.

Мягкими входами для декодирования являются R (m) = R + α (m) W (m).
Счетчик цикла итерации i увеличивается от i = 1 до указанного числа итераций.
m = 2i - 1 - индекс шага декодирования.
R является принятой матрицей LLR.
R (m) является мягким входом для m-го этапа декодирования .
W (m) - входная внешняя информация для m-го этапа декодирования.
α (m) = [0,0,2,0,3,0,5,0,7,0,9,1,1,...], где α - весовой коэффициент, применяемый на основе индекса шага декодирования. Для более высоких этапов декодирования α = 1.
β (m) = [0,2,0,4,0,6,0,8,1,1,...], где β - коэффициент надежности, применяемый на основе индекса шага декодирования. Для более высоких этапов декодирования β = 1.
D содержит декодированные биты сообщения. Выходные биты сообщения формируются из D путем преобразования -1 в 0 и + 1 в 1, затем преобразования блока сообщения в вектор столбца.
Выходные биты сообщения формируются после итерации через заданное количество итераций или, если включено раннее завершение, после сходимости кода.
Досрочное прекращение декодирования TPC
Если раннее завершение разрешено, выполняется проверка сходимости кода по жесткому решению мягкого ввода на каждом этапе декодирования по строкам и столбцам. Раннее завершение может быть инициировано после того, как сходится декодирование по строкам или декодирование по столбцам.

Код сходится, если для всех строк или всех столбцов
Синдром оценивается как ноль в кодах (коды Хэмминга, коды расширенного Хэмминга, коды BCH или коды расширенного BCH).
Проверка на четность оценивается до нуля в кодах проверки на четность.
Сообщенное число итераций вычисляется в соответствии со значением итерации, которое выполняется в данный момент. Например, если проверка сходимости кода выполняется после декодирования по строкам в третьей итерации (после 2.5 шагов декодирования), то количество возвращаемых итераций равно 3.
Декодирование сокращенных сообщений TPC
Закодированные сокращенные входные сигналы TPC расшифрованы, используя, определил, что 2-е TPC кодируют пары. Мудрая рядом расшифровка использует (NC - KC + SC, SC) кодируют пару, и поколонная расшифровка использует (НОМЕР - KR + SR, SR) кодируют пару. Длина входного вектора должна быть (NR - KR + SR) × (NC- KC + SC). Чтобы выполнить 2-ю расшифровку TPC сокращенных сообщений, вектор колонки входа, LLRs, состоявший из сокращенного сообщения и паритетных битов, устроен в (НОМЕР - KR + SR) (NC - KC + SC) матрица.

Декодер TPC обрабатывает принятые LLR с укороченным сообщением аналогично полноразмерным кодам, за следующими исключениями:
Укороченные позиции битов в принятом кодовом слове устанавливаются в -1.
Алгоритм Чейза не учитывает укороченные позиции битов при выборе наименее надежных битов.
[1] Погоня, D. «Класс алгоритмов декодирования блочных кодов с информацией об измерении канала». Транзакции IEEE по теории информации, том 18, номер 1, январь 1972, стр. 170-182.
[2] Пиндиа, Р. М. «Почти оптимальное декодирование кодов продукта: блок-турбокоды». Транзакции IEEE по коммуникациям. Том 46, номер 8, август 1998, стр. 1003-1010.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.
