Научная статья на тему 'Конструкция плетеных сверточных кодов на базе кодов проверки на четность с одним проверочным символом'

Конструкция плетеных сверточных кодов на базе кодов проверки на четность с одним проверочным символом Текст научной статьи по специальности «Математика»

CC BY
329
146
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
СВЕРТОЧНЫЕ КОДЫ / ПЛЕТЕНЫЕ КОДЫ / МПП-КОДЫ / КОДЫ ПРОВЕРКИ НА ЧЕТНОСТЬ / КОДИРОВАНИЕ / ИТЕРАТИВНОЕ ДЕКОДИРОВАНИЕ / СВОБОДНОЕ РАССТОЯНИЕ / АКТИВНОЕ СТРОЧНОЕ РАССТОЯНИЕ / CONVOLUTIONAL CODES / LDPC CODES / ENCODING / ITERATIVE HARD DECISION DECODING / FREE DISTANCE / ACTIVE ROW DISTANCE

Аннотация научной статьи по математике, автор научной работы — Кондрашов Константин Александрович, Зяблов Виктор Васильевич

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Two Binary Woven Convolutional Code Constructions

In this contribution, a new construction of binary low-density parity-check (LDPC) woven convolutional codes is discussed. In this construction, component codes with single parity check are used. The latest allows woven code rate adaptation without changing corresponding encoder and decoder and decreases computational complexity. An iterative hard decision decoding algorithm and its modification with erasures insertion is introduced. Code properties and decoding performances are studied.

Текст научной работы на тему «Конструкция плетеных сверточных кодов на базе кодов проверки на четность с одним проверочным символом»

X кодирование и передача информации

УДК 621.391.15

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

К. А. Кондрашов,

младший научный сотрудник В. В. Зяблов,

доктор техн. наук, профессор

Институт проблем передачи информации им. А. А. Харкевича РАН

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

Ключевые слова — сверточные коды, плетеные коды, МПП-коды, коды проверки на четность, кодирование, итеративное декодирование, свободное расстояние, активное строчное расстояние.

Введение

Блочные коды с малой плотностью проверок на четность (МПП-коды) и итеративный алгоритм их декодирования были предложены Р. Гал-лагером еще в начале 1960-х [1]. Структура этих кодов потенциально позволяет получать малые вероятности ошибок для кодов с высокой скоростью при низкой сложности декодирования. Коды Галлагера являются каскадными кодами, в которых в качестве кодов-компонентов используются коды проверки на четность с одним проверочным символом. Такие коды-компоненты являются кодами с максимально достижимым кодовым расстоянием (МДР), легкодеко-дируемы и существуют на всех длинах, что позволяет получать МПП-коды с произвольными скоростями.

В данной статье мы рассматриваем сверточные варианты МПП-кодов. Мы предлагаем конструкцию сверточных МПП-кодов [2], в которой в качестве кодов-компонентов также используются коды проверки на четность с одним проверочным символом. Последнее позволяет естественным образом, не изменяя кодер и декодер, варьировать скорость получаемых кодов. Для ко-

дов разработанной конструкции мы также предлагаем два итеративных алгоритма декодирования с жестким принятием решений [3, 4]. Для сравнения корректирующих свойств кодов мы рассматриваем похожую конструкцию сверточных МПП-кодов с меньшим числом кодов-компонентов, разработанную К. Зигангировым, Д. Трухачевым и М. Лентмайером [5]. Рассматриваемые сверточные МПП-коды мы называем плетеными сверточными кодами (П-СМПП-кодами).

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

Сверточные МПП-коды

Пусть и = иои1 ... и ... и = [и1^,2 - Щ,ъ\’ V = ^ ... vt - V = [Ч,1Ч,2~Ч, ] Щ, Р Щ, i 6 ¥2 ответственно информационная и проверочная последовательности сверточного кода со скоростью R = Ъ/с, Ъ < с. Пусть

Но (0) H (1) Но (1)

Н° (2) Н° (2) НО (2)

Hm s (ms )

Hms (ms + 2)

HT (ms)

Hme (ms + ms )

H° (t)

Hls (ms +t)

— транспонированная полубесконечная проверочная матрица этого кода, называемая также формирователем синдрома. Подматрицы HT(t), i = 0, 1, ..., ms — двоичные матрицы размера c х (c — b). Величина ms называется памятью формирователя синдрома. Мы требуем, чтобы выполнялись следующие два условия:

rank HT(t) = c — b, t e N;

Hm (t) ^ 0, t e N, t > ms.

Любая кодовая последовательность v удовлетворяет уравнению vHT = 0 или, в рекуррентной форме:

vtH0 (t) + vt-1Hl (t) + + vt-ms Hms (t) = 0, t e N- (2)

Если строки h„ матрицы HT разрежены, т. е. ro_ff(hn) ^ (c — b)ms, где ия(-) — вес Хэмминга, то сверточный код является МПП-кодом.

Для любого МПП-кода (для сверточного — с момента времени t = ms) если в каждом столбце проверочной матрицы ровно J единиц, а в каждой строке ровно K единиц, то МПП-код называется регулярным (далее мы рассматриваем только регулярные МПП-коды). Такой код можно рассматривать как состоящий из J внутренних кодов-компонентов проверки на четность длины K. Каждая строка проверочной матрицы в таком случае трактуется как код проверки на четность, образованный из символов кодового слова с номерами позиций, на которых в этой строке стоит 1.

Конструкции плетеных сверточных мПП-кодов

В работе Галлагера, посвященной блочным МПП-кодам [1], было показано, что МПП-коды с кодами-компонентами с одной проверкой на четность с минимальным расстоянием di = 2 обладают хорошими корректирующими свойствами (кодовое расстояние растет линейно с длиной кода) в том случае, если используется J ^ 3 кодов-компонентов. И хотя мы строим сверточные МПП-коды, мы все же придерживаемся этого требования. Мы предлагаем конструкцию 4-плетеного сверточного МПП-кода (4-П-СМПП) с J = 4 кодами-компонентами [2].

Опишем конструкцию 4-П-СМПП-кода. В 4-П-СМПП-коде каждый символ кодового слова входит в 4 кода-компонента — в «горизонтальный», «вертикальный» и два «диагональных» кода-компонента, а само кодовое слово образуется из «переплетения» кодов-компонентов. Представим кодовое слово 4-П-СМПП-кода в виде полубесконечного массива двоичных символов (рис. 1, а). В строках такого массива хранятся кодовые слова горизонтального кода-компонента, в столбцах — кодовые слова вертикального кода-компонента, а по диагоналям располагаются кодовые слова диагональных кодов-компонентов. На рисунке изображено кодовое слово 4-П-СМПП-кода с длиной кодов-компонентов 8. Индексами обозначены символы, образующие кодовые слова четырех кодов-компонентов в произвольный момент времени t. На момент времени t серые ячейки представляют известные, закодированные ранее символы. На вход подается информационный блок ut, ut = [ut 1ut 2ut 3ut 4]. Выходом vt служит кодовое слово горизонтального кода-компонента. Память формирователя синдрома представленного кода ms = 7, скорость R = 1/2, кодовое ограничение (ms + 1) c = 64, а компонентные проверочные матрицы формирователя синдрома соответственно равны

[1 0 0 1' [0 0 0 0' [0 0 0 0' [0 0 0 0' [0 1 0 0' [0 0 0 0' [0 1 0 0' [0 0 0 0'

1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0

1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0

1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

1 0 0 0 , 0 0 0 0 , 0 1 0 0 , 0 0 0 0 , 0 0 0 1 , 0 0 0 0 , 0 0 1 0 , 0 0 0 0

1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0

1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0

1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1

н 0 н1 н 2 н 3 н4 н5 н 6 н7

Кодирование 4-П-СМПП-кода осуществляется следующим образом. В произвольный момент времени t параллельно кодируются вертикальный и диагональные коды-компоненты — все их информационные символы уже известны. Затем кодируется горизонтальный код-компонент — полученные от остальных кодов-компонентов проверочные символы вместе с символами кодируемого информационного блока и4 образуют его информационные символы. Кодовое слово горизонтального кода-компонента формирует выход.

Если из конструкции 4-П-СМПП-кода исключить два диагональных кода-компонента, то получившийся 2-П-СМПП-код будет описываться уже известной конструкцией [5]. В работах [5, 6] в качестве кодов-компонентов 2-П-СМПП-кода рассматривались коды с минимальным расстоянием di ^ 3. В этом случае было доказано, что свободное кодовое расстояние 2-П-СМПП-кода растет линейно с длиной кодового ограничения (т8 + 1)с. Тем не менее, в рамках поставленной задачи в качестве кодов-компонентов 2-П-СМПП-кода, как и в случае 4-П-СМПП-кода, мы будем использовать коды проверки на четность с ^ = 2.

Опишем конструкцию 2-П-СМПП-кода со скоростью Я = 1/2. Представим кодовое слово 2-П-СМПП-кода с кодами-компонентами длины 4 в виде полубесконечного массива двоичных символов (рис. 1, б). Конструктивно этот массив разбивается на три «полосы» (на рисунке отделены жирной линией). В нижней полосе хранятся проверочные символы кодовых слов вертикального кода-компонента, в центральной полосе хранятся информационные символы кодируемой последовательности, в верхней полосе — проверочные символы кодовых слов горизонтального кода-компонента. Кодовое слово

горизонтального кода-компонента V1 образуется из символов

"(1) л(1) „ ,",(1)

vt, 1 vt, 2 и, 1 vt

а символы

"(2) "(2) и "(2) vt, 1 vt, 2 и, 2 vt

образуют кодовое слово v(t2) вертикального кода-компонента. Информационный блок состоит из символов и = [щ щ 2]. В любой момент времени і проверочный символ горизонтального кода-компонента V(t1) вычисляется с помощью символов информационной последовательности и и закодированного ранее проверочного символа вертикального кода-компонента vt2^ Проверочный символ вертикального кода-компонента вычисляется по аналогии с использованием изве стных символов и и V(t1). Закодированный в момент времени і блок V = \рі V 2уі 3оі 4] состоит из следующих символов:

ІЩ, і , 1 £ і £ 2

І 2 • "І-2, 3 £ і £ 4

Память формирователя синдрома представленного кода т8 = 3, кодовое ограничение (т8 + 1) х х с = 16, а компонентные проверочные матрицы формирователя синдрома соответственно равны

1 1' 0 0 0 0 0 0

1 0 0 1 0 0 0 0

1 0 , 0 0 , 0 1 , 0 0

1 0 0 0 0 0 0 1

н0 н1 Н2 н3

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

Для построения ансамбля сверточных плетеных МПП-кодов мы воспользуемся методикой, предложенной в работе [7]. МПП-коды можно представить в виде графа Таннера [8] — двудольного графа, где один набор вершин соответствует символам МПП-кода (символьные вершины), а второй — проверкам кодов-компонентов МПП-кода (проверочные вершины). Выполняя различные преобразования над исходным графом МПП-кода, можно получить новые МПП-коды. Так, для построения ансамбля П-СМПП-кодов £(Е) мы будем использовать выбираемые равновероятно случайные матрицы перестановок P размера L х L. Применим к исходному графу B операцию «копирование с перестановками» [7]: Ь;, j = Ь;, р;, . Каждому ребру графа B ставится в соответствие матрица перестановки, все узлы графа копируются L раз, а конечные точки ребер переставляются. В качестве примера на рис. 2 показано преобразование с коэффициентом L = 3 графа

В =

110 0 0 111 1110

Преобразование увеличивает в L раз длину кода N, с, Ь и кодовое ограничение.

0 12 3

012301230123

АВС АВС АВС 2301230123

АВС АВС АВС ■ Рис. 2. Копирование протографа с перестановками

Кодирование плетеных сверточных кодов

Кодировать П-СМПП-коды можно несколькими способами. Первый из них уже был описан при построении конструкций. Однако он не является оптимальным [9]. С аналогичной сложностью, но с меньшим требованием к памяти можно кодировать П-СМПП-коды с помощью частичных синдромов.

Опишем алгоритм кодирования. В любой момент времени г кодовая последовательность v удовлетворяет условию

[0, і-1]Н[0, t+ms-í] = [[0, і-1]

= 10,

||8і],

(3)

где si = [в* ^ 2..^ т] — вектор частичных синдромов. На самом деле, вектор частичных синдромов si — это не что иное, как состояние аі кодера сверточного кода в момент времени і. Вектор частичных синдромов вычисляется рекуррентно в соответствии со следующим правилом:

8і,і ■

8і-1,і+1 + уі-1н° (і + І-1Ь і = !>■■■>т8-1 Уі-1Ні (і + т8 -ІЬ І = т8

. (4)

Пусть, без потери общности, символы информационного блока ^ стоят на первых Ь позициях кодового блока vі. Пусть \і — [уі | у і], уі — иі. Напомним, что подматрица ^^і), і є N имеет полный ранг с — Ь. Тогда кодовый блок уі — [уі | находится из решения

-[иі1 уі']но (і) = 8

і, 1 -

(5)

Необходимый для кодирования таким способом объем памяти составляет (с — Ь)т8 бит. Сложность кодирования линейна относительно длины N П-С-МПП-кода.

При аппаратной реализации кодирования для вычисления частичных синдромов можно использовать сдвиговый регистр (рис. 3). В этом

и,Н0т (г)

~К+)—*■ ••• я#д

уг—1Нт3 (t + + т8 -1)

г-1Нт—1 (г +

у^іН

+ ш8 — 2)

у—Н (г)

Мультипликатор частичных синдромов

■ Рис. 3. Схема сверточного кодера на основе частичных синдромов

и

V

г

V

г

в

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Т.Ш

случае можно построить кодер, позволяющий «переключать» скорость сверточного кода. Построим кодер на сдвиговом регистре, рассчитанный на максимальную скорость П-СМПП-кода и, соответственно, максимальные значения ms и с. Тогда при уменьшении разрядности сумматоров в сдвиговом регистре и его памяти, что соответствует уменьшению длины кодов-компонентов и памяти формирователя синдрома, мы будем получать П-СМПП-код с меньшей скоростью.

Оценка кодового расстояния

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

Определение 1. Минимальное расстояние между любыми различными кодовыми последовательностями сверточного кода называется свободным расстоянием:

dfree = min {dH (v, V')}.

V '

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

Определение 2. Активным строчным расстоянием dj сверточного кода называется минимальный вес терминированного кодового слова v^, j], не проводящего кодер через два последовательных нулевых состояния:

dj = min{vH (vi, j])}: v[h j]Hf1; j+ms —1 = 0.

Свободное расстояние связано с активными расстояниями следующим отношением:

dfree = min{ dj}. (6)

j

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

хНТ, г+т -1 ] = 0, (7)

из которой исключены первые несколько строк, отвечающие нулевым проверочным символам вертикального и диагональных кодов-компонентов в первом кодовом блоке. Система (7) имеет или единственное нулевое решение, или множество решений. В последнем случае найденные линейно независимые решения системы (7) образуют фундаментальную систему решений (ФСР), линейная оболочка которой дает все решения системы (7). Найдем среди векторов линейной оболочки ФСР ненулевой вектор с минимальным весом. Его вес даст точное значение активного расстояния dj. Однако таким способом можно рассчитать лишь ограниченное число начальных активных расстояний. Сложность перебора векторов линейной оболочки растет экспоненциально с числом найденных решений, поэтому, по мере увеличения /, которое также увеличивает размерность ФСР, мы быстро сталкиваемся с вычислительным ограничением. Результаты моделирования по вычислению активных расстояний рассмотренных П-СМПП-кодов представлены на рис. 4. Большее число кодов-компонентов и возросшая память повлияли на увеличение активных и свободных расстояний 4-П-СМПП-кодов по сравнению с 2-П-СМПП-кодами. Расширение 4-П-СМПП-кодов при L > 1 также увеличивает активные расстояния. Однако при расширении 2-П-СМПП-кода расстояния не изменились (на рис. 4 активные расстояния 2-П-СМПП-кодов с L = 1 и L = 4 совпадают). Отметим, что на графиках для некоторого ./тах, ] < ]тах для каждого кода наблюдаются значения dj = да. Это означает, что при данных значениях / система (7) не имеет никаких решений, кроме тривиального. Следовательно, для рассматриваемых П-СМПП-кодов не существует пакетов ошибок с длиной до /тах.

2-П-СМПП, L = 1 -©- 2-П-СМПП, L = A -а- 4-П-СМПП, L = 1 — 4-П-СМПП,Ь = 2

■ Рис. 4. Активные расстояния П-СМПП-кодов

Декодирование плетеных сверточных кодов

Для представленных П-СМПП-кодов мы предлагаем два итеративных алгоритма декодирования с жестким принятием решения [3, 4]: мажоритарный алгоритм Л1 и его расширенный вариант Л2 с введением стираний.

Для начала опишем обобщенную процедуру декодирования, которую можно применять к П-СМПП-кодам с произвольными кодами-компонентами. Введем необходимые обозначения. Пусть г — принятое из канала слово, содержащее ошибки. На произвольной итерации i, i е N на вход декодера подается слово г©, где г(1) = г, выходом декодера является слово г(; + 1). Для декодирования слов, относящихся к определенным кодам-компонентам, используются соот-

!г>(кА'1

"---—л;ие компонентные декодеры {Г ^

} , если компонентные декодеры спо-

собны исправлять как ошибки, так и стирания.

Каждая итерация декодирования обобщенным алгоритмом состоит из двух частей: внутреннего декодирования — декодирования слов кодов-компонентов и внешнего декодирования — принятия решения по каждому символу слова П-СМПП-кода. При внутреннем декодировании слов кодов-компонентов никакие символы декодируемого слова не заменяются, вместо этого значения символов, полученные от внутренних декодеров, запоминаются в памяти. В результате внутреннего декодирования для каждого символа слова г© в памяти хранится J решений — по решению от J декодеров кодов-компонентов. При внешнем декодировании для каждого символа слова г© на основании этих J значений принимается решение об изменении. Результатом становится слово г(; + 1).

Обобщенный алгоритм декодирования

Внутреннее декодирование. Для каждого кода-компонента & с помощью декодера компонента D(k) декодируются все соответствующие ему слова из г©. Результаты запоминаются в г&®.

Внешнее декодирование. Для каждого символа г/;) входного слова г© значение г() вместе со

значениями і Г

полученными для этого

символа при внутреннем декодировании, подается на вход функции голосования. Эта мажоритарная функция возвращает г& + 1) со значением, которое встречалось среди ее входных аргументов чаще других. Из всех г( + 1) формируется слово следующей итерации г(; + 1).

Критерии останова. Логическим критерием завершения декодирования является нулевое значение синдрома, полученного после некоторой ите-

рации i слова г(* + 1). Однако изменение синдрома с каждой итерацией может носить произвольный характер. Поэтому для гарантии останова алгоритма мы вводим ограничение на число итераций. Таким образом, возможны следующие результаты декодирования: успех декодирования; ошибка декодирования; отказ от декодирования.

Успех декодирования. Успех декодирования происходит в том случае, если синдром выходного слова г(; + 1) нулевой и декодированное кодовое слово совпадает с переданным: 5(г(; + 1)) = 0, г(; + 1) = ^

Ошибка декодирования. Происходит при нулевом синдроме, когда принятое слово декодировалось в другое кодовое слово, не совпадающее с переданным: 5(гС + 1)) = 0, г(; + 1) ф ^

Отказ от декодирования. Отказ происходит при ненулевом синдроме, если достигнут предел итераций или результирующее слово итерации г@ + 1) не отличается от входного слова итерации г(;): 5(гС + 1)) ф 0, г@ + 1) = г© V i = 1тах.

Алгоритм декодирования П-СМПП-кодов с кодами-компонентами с одним проверочным символом Л1 получается из обобщенного алгоритма декодирования выбором подходящих декодеров для внутреннего декодирования. Сами по себе коды с одним проверочным символом способны лишь обнаруживать ошибки, но не исправлять их. Поэтому внутреннее декодирование несколько отличается от того, что обычно под этим понимается. В алгоритме Л1 при внутреннем декодировании для каждого слова кода-компонента & декодер D(k) изменяет каждый символ слова так, чтобы с учетом этого изменения декодируемое слово удовлетворяло проверке на четность.

Для двоичных П-СМПП-кодов с четным числом кодов-компонентов во время процедуры голосова-

ния возможна ситуация, когда продекодированные

. ^ значения V;

символа г(і) делятся поровну.

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

Определение 3. Стирание — качественная характеристика символа, означающая, что его значение не определено. При отсутствии ошибок код с минимальным расстоянием d способен исправить до d — 1 стираний.

Алгоритм Л2 также построен на основе обобщенного алгоритма декодирования, но он работа-

ет с учетом стираний. В алгоритме декодирования Л2 при голосовании спорные символы объявляются стертыми. На внутреннем декодировании

К,}м ■

используются компонентные декодеры

I* 1 к=.

исправляющие стирания. Если декодируемое слово кода-компонента & не содержит стираний, то Е(к) работает как D(k). Если слово содержит одно стирание, то значение стертого символа заменяется с учетом выполнения проверки на четность и стирание снимается. Если стираний в слове больше одного, то слово не изменяется. При внешнем декодировании значения стертых символов в голосовании не участвуют, а решение для символа принимается, если число совпавших продекодированных значений этого символа больше половины числа кодов-компонентов. При исправлении стираний новые

стирания не образуются, а значит, стирания либо будут полностью декодированы, либо будет получена неисправимая комбинация стираний. В последнем случае мы снимаем с оставшихся символов значение стирания: продолжается декодирование с исправлением ошибок. Критерии останова и возможные значения на выходе алгоритма Л2 аналогичны критериям и значениям алгоритма Л^

Декодирование итеративным алгоритмом

Моделирование проводилось для 2-П-СМПП-кода длины 2400 бит с кодами-компонентами (4,3)-кодами проверки на четность и 4-П-СМПП-кода длины 2400 с кодами-компонентами (8,7)-кодами проверки на четность. Выходные вероятности ошибки на бит (Bit-Error-Rate — BER) и ве-

Вероятность ошибки в канале

Вероятность ошибки в канале

Рис. 5. Результаты декодирования П-СМПП-кодов: а — алгоритм декодирования А^; б — алгоритм декодиро-

вания А

2

а) 10°

10-

cd

И

Ен

О

Л

Ен

О

О

и

Ен

«

О

а

ф

М

10-

10-

104

н— 2-П-СМПП, L = 1 -е- 2-П-СМПП, L = 4 4-П-СМПП, L = 1 _g— 4-П-СМПП, L = 2

_J_____І____І____І____L

0 0,001 0,002 0,003 0,004 0,005 0,006 0,007 0,008 0,009 0,01

Вероятность ошибки в канале

Вероятность ошибки в канале

■ Рис. 6. Вероятность отказа декодирования: а — алгоритм декодирования Л_/; б — алгоритм декодирования Л2

роятности отказа декодирования представлены на рис. 5, 6 соответственно.

Обладая большим кодовым расстоянием, 4-П-СМПП-код исправляет больше ошибок, чем 2-П-СМПП-код. Расширение 4-П-СМПП-кода с L > > 1 приводит к дальнейшему улучшению результата. Расширение 2-П-СМПП-кода, как и в случае с расстояниями, не повлияло на результаты декодирования (результаты на рис. 4, 5 совпадают). Отметим, что при декодировании алгоритмом Л2 как 4-ПСММ-коды, так и 2-П-СМПП-коды показывали результаты лучше, чем при декодировании по алгоритму Л1.

Заключение

В статье была представлена новая конструкция плетеных сверточных МПП-кодов с четырь-

Литература

1. Галлагер Р. Дж. Коды с малой плотностью проверок на четность. — М.: Мир, 1966. — 144 с.

2. Кондрашов К. А., Зяблов В. В. Две конструкции сверточных МПП-кодов // Информационные технологии и системы (ИТиС): сб. тр. Бекасово, 2009. С. 15-18.

3. Kondrashov K., Zyablov V. Binary LDPC Woven Convolutional Codes Decoding // Algebraic and Combinatorial Coding Theory (ACCT 2010), Sep. 2010, Aka-demgorodok, Novosibirsk, RUSSIA. P. 323-328.

4. Кондрашов К. А., Зяблов В. В. Декодирование Q-ных плетеных сверточных МПП-кодов // Информационные технологии и системы (ИТиС): сб. тр. Геленджик, 2010. С. 85-88.

5. Zigangirov K. Sh., Truhachev D., Lentmaier M. On braided block codes // Proc. IEEE Int. Symp. on Inf.

мя кодами-компонентами с одной проверкой на четность. Разработаны два итеративных алгоритма декодирования с жестким принятием решений. Исследованы корректирующие свойства представленных П-СМПП-кодов. Для сравнения была выбрана кодовая конструкция с меньшим числом кодов-компонентов. Эта конструкция аналогична конструкции [5], однако ранее использование кодов с одной проверкой на четность в данной конструкции не исследовалось.

Использование кодов с одной проверкой на четность в 2- и 4-П-СМПП-кодах позволяет адаптивно изменять их скорость без изменения кодеров и декодеров, а также уменьшает сложность декодирования. Увеличение числа кодов компонентов при сохранении сложности декодирования приводит к улучшению кодовых характеристик и результатов декодирования.

Th., ISIT 2003, Yokohama, Japan, 29 June - 4 July 2003. P. 32.

6. Lentmaier M. et al. Convolutional Codes for Iterative Decoding // Spread Spectrum Techniques and Applications, ISSSTA‘08 // IEEE 10th Intern. Symp. Aug. 2008. P. 785-789.

Thorpe J. Low Density Parity Check (LDPC) Codes Constructed from Protographs // JPL IPN Progress Report 42-154. 2003. P. 1-7.

7. Tanner R. M. A Recursive Approach to Low Complexity Codes // IEEE Trans. Inform. Theory. 1981. Vol. 27. N 5. P. 533-547.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

8. Pusane A. E. et al. Implementation aspects of LDPC convolutional codes // Communications, IEEE Transactions. 2008. Vol. 56. N 7. P. 1060-1069.

i Надоели баннеры? Вы всегда можете отключить рекламу.