Турбокоды – мощные алгоритмы для современных систем связи

№ 1’2006
PDF версия
В статье рассмотрены базовые принципы построения турбокодов, их характеристики, а также вопросы реализации и применения в современных системах связи.

Введение

Широкое применение помехоустойчивого кодирования в современных цифровых системах связи обусловлено тем, что оно является эффективным средством приведения параметров системы к желаемому компромиссу между достоверностью передачи, необходимой мощностью и пропускной способностью.

Обратимся к рис. 1. В передатчике кодер вносит в информационное сообщение избыточность в виде проверочных символов. Закодированные символы поступают на модулятор, который преобразует их в аналоговый сигнал. В приемнике демодулятор преобразует принятый сигнал в последовательность чисел, представляющих оценку переданных данных — метрики. Метрики поступают в декодер, который исправляет возникающие при передаче ошибки, используя внесенную кодером избыточность.

Обобщенная блок-схема цифровой системы радиосвязи

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

 

Принцип построения турбокодов

Турбокоды представляют собой сравнительно новый тип кодов для исправления ошибок, возникающих при передаче цифровой информации по каналам связи с шумами. Впервые они были введены в рассмотрение французским исследователем К. Берру в 1993 году и сразу же привлекли к себе пристальное внимание специалистов в области помехоустойчивого кодирования. Причина этому — уникальная способность турбокодов обеспечивать характеристики помехоустойчивости передачи информации, близкие к теоретически достижимым значениям при умеренной сложности реализации кодеков [1].

Разработка турбокодов развивается по двум направлениям: сверточные турбокоды, образованные путем параллельного соединения двух или более сверточных кодеров, и блочные турбокоды, образованные путем последовательного соединения двух или более блочных кодеров. Как показали исследования [2], блочные турбокоды (Block Turbo Code, BTC) являются более эффективными при относительно высоких кодовых скоростях.

Проиллюстрируем принцип построения турбокодов на примере двумерного блочного турбокода (рис. 2).

Иллюстрация принципа построения двумерных блочных турбокодов

Рис. 2. Иллюстрация принципа построения двумерных блочных турбокодов

Двухмерный блочный турбокод изображается в виде прямоугольника и основан на двух систематических кодах: горизонтальных

и вертикальных

Общая информационная емкость кода

длительность

Входной поток битов, поступающих на кодер, построчно записывается в матрицу. Сначала кодируется Kстрок, затем nx столбцов, в результате чего получается кодированная матрица, содержащая как информационные, так и проверочные символы. Каждая строка матрицы представляет собой кодовое слово

и состоит из Kх информационных символов и nx — Kх проверочных. Каждый столбец, соответственно, представляет собой кодовое слово Cy и состоит из Ky информационных символов и ny — Ky проверочных. Как правило, передача бит из кодированной матрицы в последующие цепи осуществляется построчно.

 

Итеративное декодирование

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

Схема построения итеративного декодера представлена на рис. 3. Итеративный декодер двумерного блочного турбокода представляет собой последовательное соединение двух элементарных декодеров и основан на вычислении апостериорных вероятностей двоичных символов кодовых слов Cx и Cy . Каждый из элементарных декодеров выносит решение о переданном символе на основе критерия максимальной апостериорной вероятности, чем обеспечивается минимум вероятности ошибочного декодирования каждым элементарным декодером.

Блок-схема итеративного декодера

Рис. 3. Блок-схема итеративного декодера

На первой итерации от демодулятора на вход первого декодера поступают оценки («мягкие» решения) символов. На выходе первого декодера формируется «мягкое» решение символов, которое затем используется в качестве входной информации для второго декодера.

На второй и последующих итерациях декодирования входные данные обновляются и используются как априорная информация о переданных символах для первого декодера. Процедура повторяется от итерации к итерации, увеличивая вероятность правильного декодирования. Окончание процесса декодирования происходит после выполнения заданного количества итерационных циклов. В этом случае после последней итерации от «мягких» решений берется знаковый разряд, который и является выходом итеративного декодера.

Таким образом, на вход элементарных декодеров поступают «мягкие» решения, результат декодирования на выходе элементарных декодеров — также «мягкое» решение. По этой причине такие схемы получили название декодеров с мягким входом и мягким выходом (Soft Input Soft Output — SISO). Изложенный алгоритм декодирования обладает высокой эффективностью, так как каждая последующая итерация увеличивает достоверность декодирования, а количество итераций ограничено допустимой задержкой на декодирование.

 

Характеристики турбокодеков

Согласно последним исследованиям и разработкам, наилучшие практические результаты достигаются при использовании турбокодов на основе кодов Хэмминга или кодов Боуза-Чоудх-ури-Хоквингема (БЧХ) [1, 4].

На рис. 4 представлены характеристики итеративного декодирования двумерного блочного турбокода на основе парциальных кодов Хемминга (64,57) с проверкой на четность в канале с белым гауссовским шумом. На этом же рисунке представлена характеристика работы распространенной схемы каскадного кодирования, в которой для внутреннего кода применяется сверточное кодирование и декодирование по алгоритму Витерби, а для внешнего — коды Рида-Соломона (RS). Для того чтобы такое сравнение было корректным, рассмотрены коды с близкими скоростями R≈0,8.

Результаты итеративного декодирования

Рис. 4. Результаты итеративного декодирования

Энергетический выигрыш, получаемый при использовании турбокодирования в канале с белым гауссовским шумом, составляет от 2 до 4 дБ по сравнению с другими распространенными методами, такими как рассмотренный каскадный код.

Очевидно, что при энергетическом выигрыше в 3 дБ мощность передатчика может быть уменьшена в 2 раза при прочих равных условиях, либо допустимый коэффициент шума приемника может быть увеличен на 3 дБ. Из литературы [3] известна формула для дальности радиосвязи:

где PTX — мощность передатчика, PRX — мощность на входе приемника, GTX — коэффициент усиления передающей антенны, GRX — коэффициент усиления приемной антенны, а λ — длина волны. Из этой формулы легко получить, что энергетический выигрыш в 3 дБ позволяет увеличить дальность связи на 40%, либо сократить размеры приемной или передающей антенны на 30%, поскольку коэффициент усиления и эффективная площадь антенны связаны следующим соотношением [3].

Компромисс между этими параметрами должен находиться разработчиками исходя из требований к конкретной системе.

 

Аппаратная реализация турбокодеков

Первая коммерческая реализация турбокодека в виде интегральной схемы была произведена компанией Advanced Hardware Architectures (AHA). Микросхема AHA4541 содержит кодер и итеративный декодер, поддерживает поток со скоростью до 360 Мбит/с, полнодуплексный режим работы и скорости кодирования от 0,25 до 0,98 [4].

В то же время современные тенденции развития телекоммуникационного рынка диктуют разработку так называемых «систем на кристалле» — устройств, содержащих на одном кристалле один или несколько процессоров (в том числе специализированных), некоторый объем памяти, ряд периферийных устройств и интерфейсов, то есть максимум того, что необходимо для решения поставленных перед системой задач. Разработка «систем на кристалле» предполагает оптимизацию разрабатываемой схемотехники, что непосредственно сказывается на потребляемой мощности, площади кристалла, и, как следствие, стоимости. Такие разработки ведутся российской компанией «Кедах Электроникс Инжиниринг» в рамках реализации системы связи на базе стандарта WiMax, в котором определено использование турбокодирования.

 

Заключение

В настоящее время теория турбокодирования и технология микроэлектронной реализации турбокодеков интенсивно развивается в системах спутниковой связи, беспроводного широкополосного доступа и цифрового телевидения. Разработка платформы, реализующей этот перспективный вид помехоустойчивого кодирования, является важным шагом на пути к созданию конкурентоспособных отечественных систем радиосвязи.

Литература
  1. B. Thomson. Advanced Error Correction Enables Broadband Wireless // Wireless Systems Design. June 2000.
  2. Brian Edmonston, Comparison of TurboConvolutional Codes and Turbo Product Codes for QPSK-64QAM Channels.
  3. Волков Л. Н., Немировский М. С., Шинаков Ю., Системы цифровой радиосвязи: базовые методы и характеристики. М.: ЭкоТрендз, 2005.
  4. www.aha.com.

Комментарии на “Турбокоды – мощные алгоритмы для современных систем связи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *