Этот пример показывает базовую структуру турбокодов, и в концах передатчика и получателя, и характеризует их производительность по шумному каналу с помощью компонентов от 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.