Этот пример показывает базовую структуру турбокодов, и в концах передатчика и получателя, и характеризует их производительность по шумному каналу с помощью компонентов от Communications Toolbox™. Мы выбрали технические требования Долгосрочной эволюции (LTE) [4] для составляющих параметров компонента.
Изобретение турбокодов [1], наряду с разработкой итеративных принципов декодирования с около предельной производительности Шеннона, привело к их поглощению в большом разнообразии приложений, некоторые из которых включают коммуникации глубокого космоса, беспроводные стандарты третьего поколения и цифровое телевидение [3].
Этот пример включает и MATLAB® и реализации Simulink®:
Скрипт MATLAB с помощью Системных объектов: commTurboCoding.m
Модель Simulink с помощью Системных блоков: commpccc.slx
Модель Simulink с помощью блоков кода переменного размера: commpcccvs.slx
И MATLAB и реализации Simulink системы созданы так, можно симулировать систему в области значений значений Eb/No для заданных пользователями системных параметров как длина блока кода и количество декодирования итераций. Следующие разделы используют блок кода фиксированного размера реализация Simulink, чтобы описать детали схемы кодирования.
comm.TurboEncoder
параллельная схема конкатенации с несколькими составляющими Сверточными энкодерами. Первый энкодер работает непосредственно с входной последовательностью битов, в то время как любые другие работают с чередованными входными последовательностями, полученными путем перемежения входных битов по длине блока.
System основанный на блоке блок Turbo Encoder использует два идентичных рекурсивных систематических сверточных энкодера с 8 состояниями. comm.ConvolutionalEncoder
Система object™ использует установку "Terminated" в TerminationMethod
свойство. Это восстанавливает энкодеры к стартовому все-нулевому состоянию для каждой системы координат данных процессы блока. Внутренний блок interleaver использование предварительно вычисленные индексы сочетания, на основе заданного пользователями параметра длины блока Кода (см. Model Parameters block
). Подсистема переупорядочения бита удаляет дополнительный набор систематических битов от второго энкодера выход и понимает завершение решетки согласно [4].
Поскольку итеративное декодирование параллели конкатенировало схему кодирования, comm.TurboDecoder
использует декодер по опыту вероятности (APP) [2] в качестве составляющего компонента декодера.
Каждый comm.APPDecoder
Системный объект соответствует составляющему энкодеру, который обеспечивает, обновленная последовательность значений логарифмической правдоподобности для незакодированных битов от полученной последовательности логарифмической правдоподобности для канала (закодировала) биты. Для каждого набора полученных последовательностей канала декодер итеративно обновляет логарифмическую правдоподобность для незакодированных битов, пока останавливающемуся критерию не соответствуют. Этот пример использует постоянное число декодирования итераций, как задано Количеством декодирования параметра итераций в Model Parameters
модели блок. Количество по умолчанию итераций равняется шести.
TerminationMethod
свойство для Системного объекта Декодера APP собирается быть "Отключенным", чтобы совпадать с энкодерами. Декодер не принимает знание битов хвоста, и в результате они исключены из нескольких итераций.
Внутренний interleaver декодера идентичен тому использование энкодера. Это переупорядочивает последовательности так, чтобы они были правильно выровнены в этих двух декодерах.
Следующий рисунок показывает производительность частоты ошибок по битам параллельной схемы каскадного кодирования в канале AWGN в области значений значений Eb/No для двух наборов длин блока кода и количества декодирования итераций.
Когда рисунок показывает, итеративная производительность декодирования улучшается с увеличением количества декодирования итераций (за счет вычислительной сложности) и большие длины блока (за счет декодирования задержки).
Сопутствующая модель commpcccvs.slx подсвечивает турбокодирование с помощью блоков кода переменного размера в рамках запущенной симуляции.
Модель настраивается, чтобы запуститься, два пользователя задали длины блока кода, которые варьируются согласно выбранному управляющему сигналу. interleaver индексы на длину блока и шумовое отклонение вычисляются на временной шаг. Используя детектор синдрома CRC, модель отображает частоту появления ошибочных блоков кода в дополнение к частоте ошибок по битам, когда первый - более соответствующий показатель производительности с блоками кода переменного размера.
Следующий рисунок показывает производительность частоты появления ошибочных блоков кода параллельной схемы каскадного кодирования в канале AWGN в области значений значений Eb/No для подобного набора, как используется в BER.
Мы наблюдаем подобные улучшения как прежде в производительности с увеличением количества декодирования итераций и/или длин блока.
Пример позволяет вам исследовать эффекты различных длин блока и количество декодирования итераций на производительности системы. Это поддерживает все 188 размеров блока кода, заданных в [4] для заданного пользователями постоянного числа декодирования итераций.
К. Берроу, А. Глэвиукс и П. Титимэджшима, "Около Шенноновского предельного кодирования с коррекцией ошибок и декодирования: турбокоды", Proc. Конференция IEEE® Int. по Коммуникациям, Женеве, Швейцария, май 1993, стр 1064-1070.
Бенедетто, S., Г. Монторси, Д. Дивсэлэр и Ф. Поллара, "Модуль Мягкого Входа Мягкого Выхода Максимума следующей (MAP), чтобы декодировать параллельные и последовательные каскадные коды", отчет о выполнении работ JPL TDA, издание 42-127, ноябрь 1996.
Шлегель, Кристиан Б. и Ланс К. Перес, "Решетчатое кодирование и турбокодирование", нажатие IEEE, 2004.
3GPP TS 36.212 v10.8.0, "проект партнерства третьего поколения; сеть радиодоступа группы Технической характеристики; Развитый Универсальный Наземный Радио-доступ (к E-UTRA); Мультиплексирование и кодирование канала (Релиз 10)", 2013-06.