exponenta event banner

Турбодекодер

Декодирование входного сигнала с использованием схемы параллельного конкатенированного декодирования

  • Библиотека:
  • Коммуникационный инструментарий/Обнаружение и исправление ошибок/Сверточный

  • Turbo Decoder block

Описание

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

Этот значок показывает блок со всеми включенными портами.

Turbo Decoder block with optional ports (IntrInd and InInd) enabled

Порты

Вход

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

Параллельное конкатенированное кодовое слово, указанное как вектор столбца длиной М, где М - длина параллельного конкатенированного кодового слова.

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

Индексы перемежителя, заданные как вектор столбца целых чисел. Вектор должен иметь длину L. Каждый элемент вектора должен быть целым числом в диапазоне [1, L] и должен быть уникальным. L - длина декодированного двоичного выходного сообщения, Out. Индексы перемежителя определяют отображение, используемое для перестановки входных битов в декодере.

Зависимости

Чтобы включить этот порт, установите для параметра Source of interleaver indices значение Input port.

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

Входные индексы для упорядочивания и прокалывания битов, используемые в полностью кодированных данных, определяемые как вектор-столбец целых чисел. Длина вектора InInd должна быть равна длине вектора входных данных In. Значения элементов в векторе должны быть относительно полностью закодированных данных для схемы кодирования, включая конечные биты для всех потоков.

Зависимости

Чтобы включить этот порт, установите для параметра Source of input indices значение Input port.

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

Продукция

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

Декодированное сообщение, возвращаемое как вектор двоичного столбца длиной L, где L - длина декодированного двоичного выходного сообщения. Этот вывод наследует тип данных от In вход.

Параметры

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

Укажите решетку как структуру MATLAB ®, которая содержит описание решетки для составного сверточного кода скорости K ∕ N. K - количество входных битовых потоков, а N - количество выходных битовых потоков.

Примечание

K должен быть равен 1 для турбокодера. Дополнительные сведения см. в разделе Скорость кодирования.

Вы можете либо использовать poly2trellis создать решетчатую структуру или создать ее вручную. Дополнительные сведения об этой структуре см. в разделе Описание сверточного кода и istrellis функция.

Решетчатая структура содержит эти поля.

Число символов, вводимых в кодер, указанное как целое число, равное 2K, где K - количество входных битовых потоков.

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

Число символов, выводимых из кодера, указанное как целое число, равное 2N, где N - количество выходных битовых потоков.

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

Количество состояний в кодере, указанное как мощность 2.

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

Следующие состояния для всех комбинаций текущих состояний и текущих входов, заданных как матрица целых чисел. Размер матрицы должен быть numStates-by-2K.

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

Выходы для всех комбинаций текущих состояний и токовых входов, заданных как матрица восьмеричных чисел. Размер матрицы должен быть numStates-by-2K.

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

Укажите источник индексов перемежителя как Property или Input port.

  • При установке для этого параметра значения Propertyблок использует параметр индексов перемежителя для указания индексов перемежителя.

  • При установке для этого параметра значения Input port, блок использует IntrInd входной порт для указания индексов перемежителя.

Укажите индексы перемежителя, которые определяют отображение, используемое для перестановки битов кодового слова, вводимых в декодер, в виде вектора столбцов целых чисел. Вектор должен иметь длину L. Каждый элемент вектора должен быть целым числом в диапазоне [1, L] и должен быть уникальным. L - длина декодированного двоичного выходного сообщения.

Зависимости

Чтобы включить этот параметр, установите для параметра Source of interleaver indices значение Property.

Укажите источник входных индексов как Auto, Property, или Input port.

  • При установке для этого параметра значения Autoблок вычисляет входные индексы, которые предполагают, что второй систематический поток прокалывается, и все конечные биты включаются во вход.

  • При установке для этого параметра значения Propertyблок использует входные индексы, заданные для параметра Input indices.

  • При установке для этого параметра значения Input portблок использует входной порт InInd для указания входных индексов. Длина вектора и значения входных индексов и кодированного входного сигнала могут изменяться при каждом выполнении блока.

Укажите входные индексы для упорядочения битов и прокалывания, используемые для полностью закодированных данных как вектор-столбец целых чисел. Длина вектора этого параметра должна быть равна длине вектора входных данных В.

Зависимости

Чтобы включить этот параметр, установите для параметра Source of input indices значение Property.

Укажите алгоритм декодирования, используемый составляющими декодерами APP для декодирования входного сигнала как True APP, Max*, Max. При установке для этого параметра значения True APP блок реализует истинное апостериорное декодирование вероятности. При установке для этого параметра значения Max* или Max блок использует аппроксимации для увеличения скорости вычислений. Дополнительные сведения см. в разделе Декодер APP.

Укажите количество битов, которое составляющие декодеры APP должны использовать для масштабирования входных данных, чтобы избежать потери точности при вычислениях в виде целого числа в диапазоне [0, 8]. Составляющие декодеры умножают входной сигнал на 2k и делят предварительный выходной сигнал на один и тот же коэффициент. k - значение параметра Number of scaling bits. Дополнительные сведения см. в разделе Декодер APP.

Зависимости

Включите этот параметр, установите для параметра алгоритма декодирования значение Max*.

Укажите число итераций декодирования, используемых блоком как положительное целое число. Блок итерирует и предоставляет обновления логарифмических отношений правдоподобия (LLR) некодированных выходных битов. Выходной сигнал блока является выходным сигналом жесткого решения окончательного обновления LLR.

Тип выполняемого моделирования, указанный как Interpreted execution или Code generation.

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

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

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

Типы данных

double | single

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

no

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

yes

Подробнее

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

Ссылки

[1] Бенедетто, С., Г. Монторси, Д. Дивсалар и Ф. Поллара. «Модуль Soft-Input Soft-Output Maximum A Posterior (MAP) для декодирования параллельных и последовательных конкатенированных кодов». Доклад о ходе работы лаборатории реактивного движения TDA, 42-127 (ноябрь 1996 года).

[2] Витерби, A.J. «Интуитивное обоснование и упрощенная реализация декодера MAP для сверточных кодов». Журнал IEEE по отдельным областям в сообщениях № 16, № 2 (февраль 1998 года): 260-64. https://doi.org/10.1109/49.661114.

[3] Берру, К., А. Главье и П. Титимаджсима. «Около предела Шеннона - исправление ошибок при кодировании и декодировании: турбокоды». Материалы Международной конференции МТП 93-IEEE по коммуникациям, Женева, Швейцария, май 1993 года, 1064-70. https://doi.org/10.1109/icc.1993.397441.

[4] Шлегель, Кристиан и Лэнс Перес. Решетка и турбокодирование. Серия IEEE Press по цифровой и мобильной связи. Пискатауэй, Нью-Джерси; Хобокен, Нью-Джерси: IEEE Press; Wiley-Interscience, 2004.

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

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

Создание кода C/C + +
Создайте код C и C++ с помощью Simulink ® Coder™

.
Представлен в R2011b