Реализация кодера и декодера турбокода на ПЛИС

23 декабря 2011 г. 11:19

ТЕХНОЛОГИИ ИНФОРМАЦИОННОГО ОБЩЕСТВА

Реализация кодера и декодера турбокода на ПЛИС

Рассматривается реализация кодирующего и декодирующего устройств турбо-кода на ПЛИС при помощи языка САПР УНСХ. Дается оценка помехозащищенности турбо-кода по сравнению с другими кодами, применяющимися в спутниковых системах. Рассказывается о тонкостях проектирования кодера и декодера. Так же привадятся результаты моделирования.

Беляков П.И.,

кафедра РТС МТУСИ,

магистрант группы БМ70501, 89037955687

Турбо-код состоит из касксща параллельно соединённых систематических кодов. Эти составляющие называются компонентными кодами. В качестве компонентных кодов могут использоваться сверточные коды, коды Хемминга, Рида — Соломона, Боуза — Чоудхури — Хоквингема и другие. В зависимости от выбора компонентного кода турбо-коды делятся на свёрточные турбо-коды (англ. Turbo Convolutional Codes (ТСС)) и блоковые коды-произведения (англ. Turbo Product Codes (ТРС)).( 1 ]

Турбо-коды были разработаны в 1993 г. и являются классом высокоэффективных помехоустойчивых кодов с коррекцией ошибок (рис. 1 ), используются в электротехнике и цифровой связи о так же нашли своё применение в спутниковой связи и в других областях, в которых проектировщики ищут способы достижения максимальной скорости передачи данных по каналу связи с шумами в ограниченной полосе частот.

Общая структура турбокодера представлена на рис 2. Сначала на вход формирователя пакетов PAD (англ. Packet Assembler/Disassembler) поступоет блок данных U длиной к бит. В формирователе пакетов к данным прибавляется ещё (п ? к) дополнительных бит служебной информации, соответствующих используемому стандарту формирования пакета и включающих в себя символы его начала и окончания. То есть получается пакет Х0, состоящий из п бит.

-'ЛЯ-.

л&міННН

10-*

I

I 104

10 е

1<Г*

\ вен \ (1023. 688) 1

\ N

\

\

\ co»wo<ubon*l^ \ Uncoded " BPSK

d«as>ofv К • 7 \ V Raw V, I ' вен (127. 64) \

turbo cooe. 18 Iterations \

5 10

EJN, mdB

Рис. I. Исправляющая способность турбо-кода

!Ч«с. 2. Общая структурная схема турбо-кодера

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

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

Задача перемежителя — преобразовать входную последовательность так, чтобы комбинации бит Х0, соответствующие кодовым словам с низким весом (весом называется число ненулевых бит кодового слова) на выходе первого кодера, были преобразованы в комбинации, дающие кодовые слова с высоким весом на выходах остальных кодеров. Таким образом кодеры получают на выходе кодовые слова с различными весами. При кодировании формируются кодовые слова так, чтобы получалось максимально возможное среднее расстояние между ними (расстоянием между двумя кодовыми словами называется число бит, в которых они различаются). Из-за того что кодовые блоки формируются из почти независимых частей, на выходе турбо-кодера среднее расстояние между кодовыми словами больше, чем минимальное расстояние для каждого компонентного кодера, а следовательно растёт эффективность кодирования.

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

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

T-Comm, #9-2011

25

ТЕХНОЛОГИИ ИНФОРМАЦИОННОГО ОБЩЕСТВА

Теперь запишем проверочные биты Y

I Nan* Ivatu* Istmiator I_____. 2« . 20» . Я0 . 2805 .

-r 251.160547 u*.

I me . 293 • 2«)$ • 2M • 294S • 2Я • «55

R_T_S І1 Fonmi*

" R00F.HEAD [0

« ROOf _АВ 0 L

" R00F.VY її Г

» R00F.WW 0

»a.coo Ті I 1 і і 11 1111 і 1 і і 1 I I 111111111II11 1111111 11111111

я Q1_fdv 1 11—ІПП nr 1 1 1 m ML. IL.

" Q0_kíw 0 П П П 11 11 11 11 ІП П

Рйс 10

Y 1 0 0 0 0 0 1 I 10001

Далее запишем проверочные биты W

Name Value SfamUator • 2*25 . 293 • 2*35 • 2$ 1¿64 ü5¿/l 1 ' ** ' *** ' W ' 2875 ' *

•* R_T_S 1 Fomwia

» ROOF.HEAO 0

» R00F.AB 0

« ROOFJfY 0 L

« R00F.WW 1 . _ г

»a.coo 1 І І 11 і III I I I I 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 I 1 1 1 1 1 1 1

m Q1_«dv 1 U LJ U

" Q0_*dv 1 “11—in П ЛІ—1 П

Рис 11

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

1) t } s 5 } / } 1 7 n J

л 1 1 1 n 0 (I 0 0 0 1 1 1 0 0 0

в 0 0 0 1 1 1 0 0 1 0 1 1 1 0 и

Y 1 0 0 0 0 0 1 1 1 0 0 0 1 0 1

w 1 0 1 0 0 0 1 0 1 1 0 1 1 1 0

Таким образом, при моделировании были получены проверочные биты Y и W. Произведя проверку изменения состояний по таблице первых 15 бит выявленное полное соответствие таблице переходов состояний турбокодера. Эго говорит о правильности программной реализации проекта, так как обычно при неверном программировании сразу наблюдается несоответствие желаемым результатам.

На рисунке 12 показана небольшая часть реализации декодера. В частности, блок вынесения мягких решений.

На рисунке 13 продемонстрировано моделирование. Видны итерации, которых в данном проекте 10. По technical report на стандарт достаточное количество итераций 8.

На рисунках 14-16 отображены первая, вторая и третья терасі соответственно.

Литература

1. European Standard (Teiecommunicaiions series) ETSI EN 301 790.

2. fechnicd Report ETSITR 101 790.

3 Сергиенаэ AJA VHDl для гроектироеаня вьг**лиелы*ах уоройсга Л Бобсж В.ГЦ Корченко А.Г. НСН. Справочное пособие по основам языка

5. Ераздн С Д Турбокоды; принципы построения кодеров и декодеров. 6 Карие Р, 11к«1дг-вапьтф X. Справочник инженерочхемотехника

T-Comm, #9-2011

29