Остроумов И.В., Свиридова И.В., Башкиров А.В.
ФГБОУВПО «Воронежскийгосударственныйтехническийуниверситет»
ПРИНЦИПЫ ПОСТРОЕНИЯ ТУРБО КОДОВ
Идея турбо-кодирования впервые была представлена в 1993 г. Турбо-кодер состоит из двух кодеров рекурсивного систематического кода (англ. Recursive Systematic Code - RSC), перемежителя и устройства уплотнения и перфорирования. Рекурсивный систематический код - это разновидность сверточного кода, в котором входные информационные биты, передаются непосредственно на выход, а избыточные биты генерируются логической цепью, содержащий регистр сдвига с обратной связью. Оказывается, что применение двух параллельных RSC-кодеров с перемежителем перед вторым из них приводит к генерированию кодов с «хорошими» свойствами, такими, как большое расстояние Хемминга между кодовыми словами. Важную роль в производительности кода играет конструкция перемежителя.
В передатчике кодер вносит в информационное сообщение избыточность в виде проверочных символов. Закодированные символы поступают на модулятор, который преобразует их в аналоговый сигнал. В приемнике демодулятор преобразует принятый сигнал в последовательность чисел, представляющих оценку переданных данных — метрики. Метрики поступают в декодер, который исправляет возникающие при передаче ошибки, используя внесенную кодером избыточность.
В настоящее время известно большое количество достаточно мощных кодов с высокой исправляющей способностью при высоких информационных скоростях. Однако их применение ограничено сложностью реализации оптимальных декодеров, обеспечивающих минимум вероятности ошибочного декодирования. По этой причине на практике чаще всего используются составные или каскадные коды. В таких конструкциях множество символов кодового слова может быть разбито на различные подмножества, сформированные на основе коротких кодов, допускающих простые в реализации процедуры декодирования.
Принцип построения турбокодов: турбокоды представляют собой сравнительно новый тип кодов для исправления ошибок, возникающих при передаче цифровой информации по каналам связи с шумами. Впервые они были введены в рассмотрение французским исследователем К. Берру в 1993 году и сразу же привлекли к себе пристальное внимание специалистов в области помехоустойчивого кодирования. Причина этому — уникальная способность турбокодов обеспечивать характеристики помехоустойчивости передачи информации, близкие к теоретически достижимым значениям при умеренной сложности реализации кодеков [1].
Разработка турбокодов развивается по двум направлениям: сверточные турбокоды, образованные путем параллельного соединения двух или более сверточных кодеров, и блочные турбокоды, образованные путем последовательного соединения двух или более блочных кодеров. Как показали исследования [2], блочные турбокоды (Block Turbo Code, BTC) являются более эффективными при относительно высоких кодовых скоростях.
Двухмерный блочный турбокод изображается в виде прямоугольника и основан на двух систематических кодах: горизонтальных и вертикальных. Общая информационная емкость кода, длительность.
Входной поток битов, поступающих на кодер, построчно записывается в матрицу. Сначала кодируется строк, затем столбцов, в результате чего получается кодированная матрица, содержащая как информационные, так и проверочные символы. Каждая строка матрицы представляет собой кодовое слово и состоит из информационных символов и проверочных. Каждый столбец, соответственно, представляет собой кодовое слово и состоит из информационных символов и проверочных. Как правило, передача бит из кодированной матрицы в последующие цепи осуществляется построчно.
Достоинство турбокодов состоит в том, что они допускают итеративную процедуру декодирования, в которой на каждой итерации с помощью простых процедур декодирования анализируются данные, принадлежащие простым парциальным кодам.
Схема построения итеративного декодера представлена на рисунке 3. Итеративный декодер двумерного блочного турбокода представляет собой последовательное соединение двух элементарных декодеров и основан на вычислении апостериорных вероятностей двоичных символов кодовых слов Cx и Cy . Каждый из элементарных декодеров выносит решение о переданном символе на основе критерия максимальной апостериорной вероятности, чем обеспечивается минимум вероятности ошибочного декодирования каждым элементарным декодером.
На первой итерации от демодулятора на вход первого декодера поступают оценки («мягкие» решения) символов. На выходе первого декодера формируется «мягкое» решение символов, которое затем используется в качестве входной информации для второго декодера.
На второй и последующих итерациях декодирования входные данные обновляются и используются как априорная информация о переданных символах для первого декодера. Процедура повторяется от итерации к итерации, увеличивая вероятность правильного декодирования. Окончание процесса декодирования происходит после выполнения заданного количества итерационных циклов. В этом случае после последней итерации от «мягких» решений берется знаковый разряд, который и является выходом итеративного декодера.
Таким образом, на вход элементарных декодеров поступают «мягкие» решения, результат декодирования на выходе элементарных декодеров — также «мягкое» решение. По этой причине такие схемы получили название декодеров с мягким входом и мягким выходом (Soft Input Soft Output — SISO). Изложенный алгоритм декодирования обладает высокой эффективностью, так как каждая последующая итерация увеличивает достоверность декодирования, а количество итераций ограничено допустимой задержкой на декодирование.
Характеристики турбокодеков: согласно последним исследованиям и разработкам, наилучшие практические результаты достигаются при использовании турбокодов на основе кодов Хэмминга или кодов Боуза-Чоудх-ури-Хоквингема (БЧХ) [1, 4].
На рисунке 4 представлены характеристики итеративного декодирования двумерного блочного турбокода на основе парциальных кодов Хемминга с проверкой на четность в канале с белым гауссовским шумом. На этом же рисунке представлена характеристика работы распространенной схемы каскадного кодирования, в которой для внутреннего кода применяется сверточное кодирование и декодирование по алгоритму Витерби, а для внешнего — коды Рида-Соломона (RS). Для того чтобы такое сравнение было корректным, рассмотрены коды с близкими скоростями R~0,8.
Энергетический выигрыш, получаемый при использовании турбокодирования в канале с белым гауссовским шумом, составляет от 2 до 4 дБ по сравнению с другими распространенными методами, такими как рассмотренный каскадный код.
Очевидно, что при энергетическом выигрыше в 3 дБ мощность передатчика может быть уменьшена в 2 раза при прочих равных условиях, либо допустимый коэффициент шума приемника может быть увеличен на 3 дБ. Из литературы [3] известна формула для дальности радиосвязи:
д =
ІРГА -G] x - GHX-X* J taD: ■ Рй
rRX
где PTX это мощность передатчика, PRX это мощность на входе приемника, GTX это коэффициент усиления передающей антенны, GRX это коэффициент усиления приемной антенны, а А это длина волны. Из этой формулы легко получить, что энергетический выигрыш в 3 дБ позволяет увеличить дальность связи на 40%, либо сократить размеры приемной или передающей антенны на 30%, поскольку коэффициент усиления и эффективная площадь антенны связаны следующим соотношением [3]:
mS
G =1Г
Компромисс между этими параметрами должен находиться разработчиками исходя из требований к конкретной системе.
Аппаратная реализация турбокодеков: первая коммерческая реализация турбокодека в виде интегральной схемы была произведена компанией 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. http://ieee802.org/16.
3. Волков Л. Н. , Немировский М. С., Шинаков Ю., Системы цифровой радиосвязи: базовые методы и
характеристики. М.: ЭкоТрендз, 2005.
4. www.aha.com.