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 (рис. 10)
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 (рис 11)
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