Turbo Decoder

Декодируйте входной сигнал с помощью параллели, конкатенированной, декодируя схему

  • Библиотека:
  • Communications Toolbox / Выявление ошибок и Коррекция / Сверточный

  • Turbo Decoder block

Описание

Блок Turbo Decoder декодирует входной сигнал с помощью параллели, конкатенированной, декодируя схему. Итеративная схема декодирования использует декодер по опыту вероятности (APP) в качестве составляющего декодера, interleaver и deinterleaver. Два составляющих декодера используют ту же структуру решетки и алгоритм декодирования. Для получения дополнительной информации см. Параллельную Конкатенированную Сверточную Схему Декодирования и Декодер APP.

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

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

Порты

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

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

Параллель конкатенировала кодовую комбинацию в виде вектор-столбца длины M, где M является длиной конкатенированной кодовой комбинации параллели.

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

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

Зависимости

Чтобы включить этот порт, установите параметр 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- 2K.

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

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

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

Задайте источник interleaver индексов как Property или Input port.

  • Когда вы устанавливаете этот параметр на Property, блок использует параметр Interleaver indices, чтобы задать interleaver индексы.

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

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

Зависимости

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

Задайте источник входных индексов как AutoСвойство, или Input port.

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

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

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

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

Зависимости

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

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

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

Зависимости

Это включает этот параметр, установило параметр Decoding algorithm на Max*.

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

Тип симуляции, чтобы запуститься в виде Interpreted execution или Code generation.

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

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

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

Типы данных

double | single

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

no

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

yes

Больше о

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

Ссылки

[1] Бенедетто, S., Г. Монторси, Д. Дивсэлэр и Ф. Поллара. "Модуль Мягкого Входа Мягкого Выхода Максимума следующего (MAP), чтобы декодировать параллельные и последовательные каскадные коды". Лаборатория реактивного движения отчет о выполнении работ TDA, 42–127, (ноябрь 1996).

[2] Viterbi, A.J. “Интуитивное Выравнивание и Упрощенное внедрение Декодера MAP для Сверточных кодов”. Журнал IEEE на Выбранных областях в Коммуникациях 16, № 2 (февраль 1998): 260–64. https://doi.org/10.1109/49.661114.

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

[4] Шлегель, христианин, и Ланс Перес. Решетчатое кодирование и турбокодирование. IEEE нажимает Series on Digital & Mobile Communication. Пискатауэй, NJ  ; Хобокен, NJ: нажатие IEEE  ; Wiley-межнаука, 2004.

[5] 3GPP TS 36.212. "Мультиплексирование и кодирование канала". Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group; Развитый Универсальный Наземный Радио-доступ (к E-UTRA). https://www.3gpp.org.

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

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

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

Блоки

Функции

Объекты

Представленный в R2011b