Декодер TPC

Декодер турбо кода продукта (TPC)

  • Библиотека:
  • Communications Toolbox / Выявление ошибок и Исправление / Блок

Описание

Блок TPC Decoder выполняет 2D декодирование турбо кода продукта (TPC) мягкого входа LLRs, соответствующего коду продукта итеративно, с помощью алгоритма Преследования-Pyndiah. Код продукта является 2D конкатенацией линейных блочных кодов. Линейный блочный код может быть кодом с проверкой четности, Кодом Хемминга или кодом BCH, способным к исправлению двух ошибок. Расширенные и сокращенные коды могут быть применены независимо на каждой размерности. Для описания 2D декодирования TPC см. Алгоритмы.

Для получения информации о допустимых парах кода и возможности с коррекцией ошибок каждой допустимой пары кода, смотрите Пары Кода Компонента.

Порты

Входной параметр

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

Регистрируйте отношения правдоподобия, заданные как вектор-столбец.

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

Вывод

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

TPC декодируемое сообщение, возвращенное как вектор-столбец двоичных значений.

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

Фактическое количество декодирования итераций, возвращенных как положительное целое число.

Зависимости

Чтобы включить этот порт, выберите количество Output выполняемых итераций.

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

Параметры

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

Строка параметры TPC

Количество строк в матрице кода продукта, N R. Список целочисленных значений отличается в зависимости от установки для Расширенных кодов.

Количество строк в матрице сообщения, K R. Список целочисленных значений отличается в зависимости от установки для Расширенных кодов и Количества строк в коде, Номере.

Выберите Specify shortened message length, чтобы задать значение для Количества строк в сокращенном сообщении, Сэре.

Количество строк в сокращенной матрице сообщения, S R, заданный как целое число, меньше чем или равное K R. Когда вы зададите этот параметр, обеспечьте N во всю длину R и K R значения, чтобы задать (N R, K R) пара кода. Эта пара кода затем сокращена к (N R–KR+SR, S R) пара кода, где:

Зависимости

Чтобы включить этот параметр, выберите сокращенную длину сообщения Specify.

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

Столбец параметры TPC

Количество столбцов в матрице кода продукта, N C. Список целочисленных значений отличается в зависимости от установки для Расширенных кодов.

Количество столбцов в матрице сообщения, K C. Список целочисленных значений отличается в зависимости от установки для Расширенных кодов и Количества столбцов в коде, Nc.

Выберите Specify shortened message length, чтобы задать значение для Количества столбцов в сокращенном сообщении, кв/см.

Количество столбцов в сокращенной матрице сообщения, S C, заданный как целое число. Когда вы зададите этот параметр, обеспечьте N во всю длину C и K C значения, чтобы задать (N C, K C) пара кода. Эта пара кода затем сокращена к (N C–KC+SC, S C) пара кода, где:

Зависимости

Чтобы включить этот параметр, выберите сокращенную длину сообщения Specify.

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

Максимальное количество декодирования итераций, заданных как положительное целое число.

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

Выберите Stop iterating when code converges, чтобы отключить декодирование рано, если расчетный синдром или проверка четности кода компонента оценивают, чтобы обнулить перед Максимальным количеством итераций.

Выберите этот параметр, чтобы добавить выходной порт Iter и вывести фактическое количество TPC декодирование выполняемых итераций.

  • Модель Code generation - Simulate с помощью сгенерированного кода C. В первый раз, когда вы запускаете симуляцию, Simulink® генерирует код С для блока. Код С снова используется для последующих симуляций, пока модель не изменяется. Эта опция требует дополнительного времени запуска, но скорость последующих симуляций быстрее, чем Interpreted execution.

  • Модель Interpreted execution - Simulate с помощью интерпретатора MATLAB®. Эта опция сокращает скорость времени запуска, но скорость последующих симуляций медленнее, чем Code generation. В этом режиме можно отладить исходный код блока.

Характеристики блока

Типы данных

Boolean | double | single

Многомерные сигналы

no

Сигналы переменного размера

no

Больше о

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

Алгоритмы

Турбо коды продуктов (TPC) являются формой каскадных кодов, используемых в качестве кодов прямого исправления ошибок (FEC). Два или больше блочных кода компонента, такие как систематические линейные блочные коды, используются, чтобы создать TPCs. Декодер TPC достигает почти оптимального декодирования кодов продуктов с помощью Чейза, декодирующего и алгоритма Pyndiah, чтобы выполнить итеративный мягкий вход, мягкое выходное декодирование. Для подробного описания см. [1] и [2]. Этот декодер реализует итеративный мягкий вход, мягкий вывод 2D декодирование кода продукта, как описано в [2], с помощью двух Линейных Блочных кодов. Декодер ожидает мягкие битные логарифмические отношения правдоподобия (LLRs), полученный из цифровой демодуляции как входной сигнал.

TPC декодирование сообщений во всю длину

Закодированные входные сигналы TPC во всю длину декодируются с помощью, задал 2D пары кода TPC. Построчное декодирование использует (N C, K C) пара кода и по столбцам декодирование использования (N R, K R) пара кода. Длиной входного вектора должен быть N R × N C. Чтобы выполнить 2D декодирование TPC, вектор-столбец входа LLRs, состоявшего из сообщения и битов четности, располагается в матрицу R-by-NC N.

Декодер TPC достигает почти оптимального декодирования кодов продуктов с помощью Чейза, декодирующего и алгоритма Pyndiah, чтобы выполнить итеративный мягкий вход, мягкое выходное декодирование. Чейз, декодирующий, формирует набор возможных кодовых комбинаций для каждой строки или столбца. Алгоритм Pyndiah вычисляет мягкую информацию, запрошенную для следующего шага декодирования.

Итеративный мягкий вход, мягкий Выходной декодер

Итеративный мягкий вход, мягкое выходное декодирование, как показано в блок-схеме, выполняет два шага декодирования для каждой итерации.

Мягкими входными параметрами для декодирования является R (m) = R + α (m) W (m).

  • Счетчик цикла итерации i постепенно увеличивается от i = 1 к конкретному количеству итераций.

  • m = 2 i1 является индексом шага декодирования.

  • R является полученной матрицей LLR.

  • R (m) является мягким входом для m th декодирующий шаг.

  • W (m) является входом внешняя информация для m th декодирующий шаг.

  • α (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 декодируются с помощью, задал 2D пары кода TPC. Построчное декодирование использует (N CK C + S C, S C) пара кода и по столбцам декодирование использования (N RK R + S R, S R) пара кода. Длина входного вектора должна быть (N RK R + S R) × (N C– K C + S C). Чтобы выполнить 2D декодирование TPC сокращенных сообщений, вектор-столбец входа LLRs, состоявшего из сокращенного сообщения и битов четности, располагается в (N RK R + S R) (N CK C + S C) матрица.

Декодер TPC обрабатывает полученное сокращенное сообщение LLRs, подобный полным кодам за этими исключениями:

  • Сокращенные позиции двоичного разряда в полученной кодовой комбинации установлены в –1.

  • Алгоритм Преследования не рассматривает сокращенных позиций двоичного разряда при выборе наименее надежных битов.

Ссылки

[1] Преследуйте, D. "Класс Алгоритмов для Декодирования Блочных кодов с информацией об Измерении Канала". Транзакции IEEE на Теории информации, Объем 18, Номер 1, январь 1972, стр 170–182.

[2] Pyndiah, R. M. "Почти оптимальное Декодирование Кодов продуктов: Блокируйте Турбокоды". Транзакции IEEE на Коммуникациях. Издание 46, Номер 8, август 1998, стр 1003–1010.

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

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

Смотрите также

Блоки

Функции

Введенный в R2018b