Применение турбокодов и итеративного декодирования для построения помехоустойчивых кодов

132

4. Исследование порогового значения отношения сигнал/шум также показало, что при квадратурной модуляции это значение достигает 10 дБ для кода БЧХ, в то время как при балансной модуляции — 13 дБ, а при однотональной амплитудной модуляции — до 15 дБ. При проведении экспериментов с большим по размеру звуковым сигналом вероятность ошибки увеличивалась и пороговое отношение сигнал/шум оказалось больше.

Выявлено, что наибольшей помехоустойчивостью обладает код БЧХ, исправляющий до 5 ошибок и выше, тогда как остальные коды — только до 5 ошибок.

Список литературы

1. Куликовский Л.Ф., Мотов В.В. Теоретические основы информационных процессов. М.: Высшая школа, 1987.

2. Баскаков С.И. Радиотехнические цепи и сигналы: Учебник для вузов. М.: Высш. Шк., 2000.

3. Гольденберг Л.М. и др. Цифровая обработка сигналов: Учебное пособие для вузов. М.: Радио и связь, 1990.

4. Сергиенко А.Б. Цифровая обработка сигналов. СПб.: Питер, 2003.

5. Кларк Дж. мл., Кейн Дж. Кодирование с исправлением ошибок в системах цифровой связи. М.: Радио и связь, 1999.

6. Блейхут Р. Теория и практика кодов, контролирующих ошибки. М.: Мир, 1986.

7. Витерби А.Д., Омура Дж.К. Принципы цифровой связи и кодирования. М.: Радио и связь, 1982.

Об авторах

В.Е. Захаров — д-р. физ.-мат. наук, проф., КГу.

М. П. Акимова — студентка, КГу.

УДК 621.396

В.Е. Захаров, М.Э. Кушнеров

ПРИМЕНЕНИЕ ТУРБОКОДОВ И ИТЕРАТИВНОГО ДЕКОДИРОВАНИЯ ДЛЯ ПОСТРОЕНИЯ ПОМЕХОУСТОЙЧИВЫХ КОДОВ

Рассматривается применение турбокодов для построения кодеков помехоустойчивых кодов цифровой связи. Проведено компьютерное моделирование помехозащищенности построенного кодека в зависимости от отношения сигнал/шум на бит информации (БЬ/Ыо) в канале связи с аддитивным белым шумом. Использован мягкий режим декодирования, требующий проведения итераций для принятия решения по поступившей информации. Показана высокая эффективность турбокодов при малой величине отношения БЬ/Ыо >0,5 дБ.

Вестник КГУ. 2005. Вып. 1 — 2. Сер. Информатика и телекоммуникации. С. 131—139.

Application of turbo-codes designed to build-up the codecs of noise-resistant codes of a digital communication is considered. Computer model operation of noise immunity of the constructed codec is lead depending on a signal/noise ratio on bit of the information (Eb/No) in a communication channel with the additive white noise.

The weak condition of the decoding that demands to carry out the iterations for decision-making under the received information is used.

High effectiveness of turbo-codes is shown for small values of the ratio Eb/No > 0.5 dB.

1. GnHcaHHe турбокодов

Tурбокоды (TK) представляют собой новый тип кодов для исправления ошибок, возникающих при передаче цифровой информации по каналам связи с шумом. TK были введены в рассмотрение французским исследователем Клодом Берру в 1993 г. и сразу же привлекли к себе пристальное внимание специалистов в области помехоустойчивого кодирования информации во всем мире. Причина этого — уникальная способность TK обеспечивать характеристики помехоустойчивости передачи информации по каналам с шумом, близкие к предельно достижимым значениям при умеренной сложности кодека. Уже в первой работе по TK [1] была практически показана возможность получения средней вероятности ошибки на бит ~10 —5 для сигнально-кодовой конструкции (СКК) на основе противоположных сигналов (ФМ-2). Этот результат был получен для канала с аддитивным белым шумом при отношении Eb/No всего 0,7 дБ, что лишь на 0,5 дБ больше теоретического предела для бинарных сигналов. TK, предложенные в [1], являются блочными систематическими кодами. В то же время их построение производится с использованием сверточных кодов, которые использованы и нами. TK следует отнести к случайным кодам. При декодировании TK как сверточных кодов не возникает трудностей использования «мягких» решений.

После открытия TK турбоподобными кодами стали называть целую группу кодов, в частности, как более ранние коды Галлагера, так и гипер-коды (Hyper-Codes). Все эти коды объединяет возможность применения итеративного алгоритма декодирования с «мягкими» решениями.

TK относятся к классу так называемых параллельных каскадных кодов. Принцип построения кодера TK показан на рис. 1. Из структуры кодера видно, что TK представляет собой систематический код, в котором проверочная группа образуется из проверочных битов, генерируемых двумя кодерами составных рекурсивных сверточных кодов (РСК). Информационная последовательность подается в кодер первого РСК (РСК1) непосредственно, а в кодер второго РСК (РСК2) — через устройство псевдослучайного перемежения. Схема «выкалывания» проверочных бит применяется для регулирования общей скорости TK. Причина высокой помехоустойчивости TK обусловлена сочетанием следующих свойств:

134

• сильная зависимость веса выходной последовательности РСК от порядка расположения нулей и единиц входной информационной последовательности;

• применение перемежителя для изменения вида входной последовательности, подаваемой на входы кодеров составных РСК.

Рис. 1. Кодер классического турбокода

При подаче определенной информационной последовательности на вход кодера РСК1 вес его проверочной последовательности оказывается малым. Тогда перемеженная версия этой информационной последовательности, подаваемая на вход кодера РСК2, с высокой вероятностью приведет к генерации проверочной последовательности большого веса. Таким образом, если какая-либо комбинация ошибок не может быть исправлена одним РСК, то это почти наверняка будет сделано с помощью проверочной группы другого РСК, и наоборот. Заметим, что при использовании в составе ТК нерекурсивной формы сверточных кодов с такой же корректирующей способностью выигрыш от кодирования оказывается намного меньше. Это происходит потому, что вес выходной последовательности сверточных кодов в нерекурсивной форме слабо зависит от вида входной информационной последовательности.

Для декодирования ТК обычно применяется концепция итеративного декодирования, сущность которой можно раскрыть, рассматривая структуру итеративного декодера ТК (рис. 2).

Итеративный декодер образован последовательным соединением декодеров двух элементарных кодов (РСК1 и РСК2), так называемых декодеров с «мягкими» входным и выходным сигналом (БКО). Каждый элементарный декодер имеет два входа:

• вход для сигнала, представляющего собой «мягкое» решение демодулятора;

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

Мятное решение от демодулятора

Внешняя информация 5КО декодера РСК 1

Устройство

псевдослучайного

шеремежения

Внешняя информация 5150 декодера РСК 2

5130 декодер РСК 1 Устройство ПС е Е до случайно го шеремежения

Г г 51Э0 декодер РСК 2

/

Декодир ое анная инф ор мацкя

Рис. 2. Структурная схема итеративного декодера турбокода

Первый декодер в схеме на рис. 2 имеет только один выход, на который подается внешняя информация, полученная этим декодером в процессе декодирования. Внешняя информация, производимая декодером для каждого информационного бита, представляет собой величину, модуль которой пропорционален надежности приема данного информационного бита, а знак соответствует передаче 0 или 1 в данном информационном бите. Существенным является то, что внешняя информация о каждом информационном бите вырабатывается декодером элементарного кода с использованием сведений об информационных символах, содержащихся только в проверочной группе данного составного кода. Таким образом, внешняя информация оказывается некоррелированной с «мягкими» решениями, производимыми демодулятором по каждому информационному биту, и с информацией о передаваемых информационных символах, содержащейся в проверочной группе другого элементарного кода. Предполагается, что «мягкие» решения, производимые демодулятором по каждому биту, являются статистически независимыми случайными величинами. Поэтому оказывается возможным использовать внешнюю информацию каждого элементарного кода в качестве априорных сведений о передаваемых информационных символах в процессе декодирования в другом элементарном декодере. Таким образом, производится декодирование по методу максимума апостериорной вероятности, что повышает достоверность декодирования. В процессе декодирования ТК элементарные БКО-де-кодеры обмениваются друг с другом внешней информацией с каждой итерацией, снижая среднюю вероятность ошибки на бит в декодированной информационной последовательности. При этом одна итерация включает в себя декодирование РСК1 и РСК2. Однако уже после первой итерации внешняя информация, подаваемая на вход декодера РСК1 по цепи обратной связи, оказывается коррелированной с информацией, получаемой из «мягких» решений демодулятора для проверочных символов РСК1. Поэтому выигрыш в улучшении окончательного решения с каждой итерацией становится меньше, и величина ве-

135

13б

роятности ошибки на бит стремится к определенному пределу. Окончательное («жесткое») решение о передаваемых информационных битах принимается после завершения последней итерации декодером РСК2 и подается на его отдельный выход.

На практике применяются два различных алгоритма декодирования элементарных кодов:

• BCJR (L. R. Bahl, J. Cocke, F. Jelinek, J. Raviv) алгоритм (другое название — MAP — Maximum Aposteriory Probability) и его упрощенные реализации — log-BCJR и max-log-BCJR;

• алгоритм Витерби с «мягким» входным и выходным сигналом (Soft In Soft Out Viterbi Algorithm — SOVA).

BCJR алгоритм позволяет реализовать характеристики помехоустойчивости ТК, близкие к теоретическим пределам для данных кодов, но часто оказывается сложнее в реализации, чем SOVA. Последний, в свою очередь, может проигрывать BCJR в помехоустойчивости до l дБ при больших длинах блока перемежения и кодового ограничения РСК.

2. Результаты компьютерных экспериментов

Для исследования характеристик помехоустойчивости ТК был написана программа кодека на языке С++ в системе Matlab 6.5, а также создан набор файлов для хранения исходных данных и результатов расчетов.

Основная задача данной работы состоит в получении зависимости вероятности ошибки на бит (BER) от отношения Eb/No для заданных ТК, СКК и модели канала связи. Многократное решение этой задачи для ТК с разными характеристиками позволяет решить другую задачу

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

После запуска программы на выполнение происходит подготовка необходимых исходных данных для проведения процесса моделирования, которое затем выполняется с высокой скоростью в программе-ядре. Текущие результаты моделирования немедленно выводятся в соответствующее графическое окно. После завершения моделирования окончательные результаты сохраняются в файле на диске и выводятся во второе графическое окно в виде графических зависимостей BER от Eb/No. Зависимости, относящиеся к системе без кодирования, отображаются сплошной жирной линией — теоретические значения. Зависимости, полученные в ходе моделирования системы связи, использующей турбокодирование, отображаются после каждой итерации тонкими линиями с цифрами с указанием числа итераций.

В программу включены блоки кодера и декодера только одного типа ТК, а именно:

1) тип кода — параллельный каскадный код с двумя одинаковыми составными кодами;

2) скорость кода — 1/2;

3) параметры составных кодов:

• тип кода — бинарный перфорированный рекурсивный сверточный код;

• скорость кода — 2/3;

• число состояний решетчатой диаграммы кода — 16;

• образующие полиномы в восьмеричном вице:

— для прямой связи — 33;

— для обратной связи — 31.

В качестве алгоритма декодирования составных кодов используется max-log-BCJR алгоритм.

После проведения процесса моделирования в отдельном графическом окне системы Matlab пользователю предоставляются окончательные результаты проведенного моделирования в виде графика со следующими зависимостями:

• теоретическая зависимость BER от Eb/No для данной сигнальной конструкции без кодирования;

• зависимость BER от Eb/No для данной сигнальной конструкции без кодирования, полученная в ходе моделирования;

• зависимости BER для заданной СКК (с кодированием) от Eb/No по окончании каждой итерации процесса итеративного декодирования ТК.

Все исходные данные и результаты моделирования сохранены на диске.

Ниже представлен ряд опытов работы турбокодека. Данные опыта № 1 принимаются за эталон. Исходные данные при моделировании работы турбокодека (общие для всех опытов):

• тип составного кода — выколотый рекурсивный сверточный код (скорость 2/3); полиномы прямой и обратной связи соответственно п(0)=338, d(D)=318;

• число бит в информационном пакете — 1024;

• тип сигнала передачи данных и тип приема — сигнал с ФМ-2, когерентный прием;

• тип перемежителя-деперемежителя, применяемого в составе ТК,— оптимизированный перемежитель-деперемежитель;

• количество передаваемых информационных пакетов при каждом значении Ш/№: 100; 100; 100; 100; 100; 100.

Опыт № 1

Исходные данные при моделировании работы турбокодека (для данного опыта):

• количество итераций процесса декодирования турбокода — 8;

• последовательность значений Eb/No в канале, при которых будет производиться моделирование в дБ: [1,10 1,30 1,50 1,70 1,90 2,00].

137

138

Зависимости ВЕК отЕЬЖо

1 1.2 1.4 1.6 1.8 2

ЕЪМ о, дБ

Рис. 3. Графические результаты моделирования опыта № 1

Опыт № 2

Исходные данные при моделировании работы турбокодека (для данного опыта):

• количество итераций процесса декодирования турбокода — 8;

• последовательность значений БЬ/№> на бит в канале, при которых будет производиться моделирование в дБ: [0,50 0,60 0,70 0,80 1,00 1,10] (рис. 4).

Зависимо сти ВЕН отЕЬ/Ио

0,4 0,6 0,8 1 1,2

ЕЬ/И о, дБ

Рис. 4. Графические результаты моделирования опыта № 2

Опыт № 3

Исходные данные при моделировании работы турбокодека (для данного опыта):

• количество итераций процесса декодирования турбокода — 8;

• последовательность значений БЬ/№> на бит в канале, при которых будет производиться моделирование в дБ: [1,00 1,50 2,00 2,50 3,00 3,50] (рис. 5).

Рис. 5. Графические результаты моделирования опыта № 3 Опыт № 4

Исходные данные при моделировании работы турбокодека (для данного опыта):

• количество итераций процесса декодирования турбокода — 16;

• последовательность значений БЬ/№> на бит в канале, при которых будет производиться моделирование в дБ: [1,10 1,30 1,50 1,70 1,90 2,00] (рис. 6).

1 1.2 1.4 1.6 1.§ 2

Рис. 6. Графические результаты моделирования опыта № 4

139

140

Опыт № 5

Исходные данные при моделировании работы турбокодека (для данного опыта):

• количество итераций процесса декодирования турбокода — 4;

• последовательность значений БЬ/№> на бит в канале, при которых будет производиться моделирование в дБ: [1,10 1,30 1,50 1,70 1,90 2,00] (рис. 7).

ЗависимостиBER от Eb/No

ЕЪ/N о, дБ

Рис. 7. Графические результаты моделирования опыта № 5

В результате проведенных исследований были получены следующие результаты.

1. Проведено компьютерное моделирование помехозащищенности турбокодека в зависимости от отношения сигнал/шум на бит информации (Eb/No) в канале связи с аддитивным белым шумом. Использован мягкий режим декодирования, требующий проведения итераций для принятия решения по поступившей информации.

2. Показана высокая эффективность турбокодов при малой величине отношения Eb/No > 0,5 дБ.

3. Чем больше величина Eb/No, тем меньше требуется итераций при декодировании.

4. Результаты проведенных экспериментов согласуются с теоретически ожидаемыми.

Список литературы

1. Berrou С., Glavieux A, Thitimajshima P. Near Shannon Limit Error-Correcting Coding and Decoding: Turbo-Codes. Proceedings of ICC'93, Geneva, Switzerland, May, 1993. PP. 1064—1070.

2. Гаранини М. В., Журавлев В.И., Кунегин С.В. Системы и сети передачи информации. М.: Радио и связь, 2001.

3. Дьяконов В. Matlab 6. Основные функции. Питер, 2001.

4. Подбельский А. Язык С++. Питер, 2001.

Об авторах

В.Е. Захаров — д-р физ.-мат. наук, проф., КГу.

М.Э. Кушнеров — студент, КГу.