Подход к построению блочно-перестановочных кодов с малой плотностью проверок на четность

КОДЫ, ИСПРАВЛЯЮЩИЕ ОШИБКИ

УДК 621.391

А. В. Козлов, Е. А. Крук, А. А. Овчинников

ПОДХОД К ПОСТРОЕНИЮ БЛОЧНО-ПЕРЕСТАНОВОЧНЫХ КОДОВ С МАЛОЙ ПЛОТНОСТЬЮ ПРОВЕРОК НА ЧЕТНОСТЬ

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

Ключевые слова: LDPC-коды, коды Гилберта, блочно-перестановочные конструкции.

Введение и основные понятия. Коды с малой плотностью проверок на четность (LDPC-коды) были предложены Р. Галлагером в 1963 г. [1], авторы статьи [2] доказали, что они обладают уникальными свойствами. LDPC-коды обеспечивают экспоненциальное убывание вероятности ошибки с увеличением длины кода при логарифмическом росте числа операций, необходимых для декодирования одного символа кодового слова. Однако долгое время исследования в области LDPC-кодов носили в основном теоретический характер. Это было связано, прежде всего, с тем, что высокая корректирующая способность этих кодов достигается при большой длине кодовых слов (порядка нескольких тысяч символов). Реализация декодеров таких кодов представляла трудности. В последние годы развитие микроэлектронных технологий вернуло интерес к исследованиям практических аспектов применения LDPC-кодов. Развитие новых стандартов связи, таких как IEEE 802.3an (10G Ethernet), IEEE 802.15.3c (передача данных на частоте 60 ГГц), IEEE 802.11n (WiFi), IEEE 802.16e (WiMAX), а также систем хранения данных — многоуровневой флэш-памяти, магнитных носителей с высокой плотностью хранения информации, требующих обеспечения скоростей декодирования в несколько гигабит в секунду, — привело к необходимости поиска методов кодирования/декодирования, способных функционировать на таких скоростях при одновременном обеспечении требуемого уровня помехоустойчивости.

LDPC-код задается своей проверочной матрицей Н, обладающей свойством разреженности, т.е. строки и столбцы матрицы содержат мало ненулевых позиций по сравнению с ее размерностью. Определим (п, у, р)-код как линейный код длины n, каждый столбец и каждая строка проверочной матрицы которого содержит соответственно у и р ненулевых позиций.

Минимальное расстояние Хэмминга рассматриваемых кодов, через которое определяется число исправляемых кодом ошибок, будем обозначать d0. Расстояние LDPC-кодов, как

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

Итеративный алгоритм декодирования ЬБРС-кодов принимает решения по каждому символу в отдельности. Таким образом, даже при большом числе возникших в канале ошибок и принятии декодером неправильного решения о кодовом слове в целом вероятность ошибки на информационный бит для ЬБРС-кодов может оставаться достаточно низкой.

Несмотря на большое число публикаций [1—6] задача построения эффективных ЬБРС-кодов далека от своего решения. В настоящей статье предлагаются некоторые подходы к построению этих кодов.

Блочно-перестановочные конструкции. Наиболее общий подход к построению ЬБРС-кодов, предложенный еще в работе Р. Галлагера [1], — использование проверочной матрицы Н, состоящей из блоков:

н1,1 н1,2 - Н1

H=

H2,1 H

2,2

H

2,Р

H Y ! H Y

HY

Y,1 Y,2 iJ7,P

В качестве блоков Hy могут быть выбраны, например, матрицы перестановки, в каждой строке и столбце которых содержится ровно одна единица, и тогда такая конструкция задает регулярный LDPC-код. Наиболее часто в качестве блока рассматривается матрица циклической перестановки, степень которой задает параметр циклического сдвига. Например, коды такого семейства представлены в стандартах IEEE 802.16e и IEEE 802.11n.

В случае у=2 такие коды становятся кодами Гилберта, исследованными в [6—8]:

H, =

I,,

C

,

-^2

,

-чl-1

где 1т — единичная (т х т) -матрица, а С — (т х т) -матрица циклической перестановки. Такие коды имеют минимальное расстояние й{) = 4, однако его можно повысить, выбрав другие степени С.

Теорема 1. Пусть Н; — матрица вида (2), XI = {0,1,..., I-1} — множество вычетов по модулю ; -1. Тогда в коде с проверочной матрицей Н; есть слово веса 2ш, если существуют наборы чисел {а} , {Ь} такие, что выполняется равенство:

ю-1

£(-1)г ( - Ъ ) = 0 mod

i=0

m.

где а е х, ь е !1, а0 * ^ аш-1 * Ьш-ь а * а!-ь Ъ1 * ъ-1.

Пользуясь этой теоремой, можно показать, что если {2^,..., гр} — разностное (т, р, 1)-множество, тогда код с проверочной матрицей

"0 0 ... 0

H =

C2 C2

с2р

К т(р - 2) + 1

имеет длину п=тр, скорость К =- и минимальное расстояние а0 = 6 .

тр

Обобщим конструкцию кодов Гилберта до случая у > 2:

Подход к построению блочно-перестановочных кодов с малой плотностью проверок на четность 11

Н -

т -.0

т

ч2

т

Л -1

с'

с'1

с'0

.

с'1

с'1

с'2

с

'(3) I -1

с

'( Я ) '1-1

где НЯI — ( я х I )-матрица, ¡(~]к) е {0,..., т -1} . Так как одним из параметров ЬБРс-кода является

длина минимального цикла в графе, соответствующем проверочной матрице, числа ) в любой полосе к не должны повторяться. Тогда множество {/(к) : у - 0,..., I-1} задается перестановкой различных вычетов целых чисел по модулю т .

В этом случае кодовому слову соответствует набор связанных вложенных циклов (рис. 1, у=3), поэтому добавление полос может обеспечить увеличение расстояния ЬБРс-кодов.

0----- 1 1 I I 1 I V— I 1 | —I- 1 1 ! 1 I 1 --

ч )- 1 1 1 —I- 1 | -1-4- ! ? - 1 1 ' !

с 1 1 >— 1 I 1 ' : 1 о— 1 1 1 -чз 1 1 1

Рис. 1

В работе [9] предложено в качестве степеней матрицы циклической перестановки выбирать степени примитивного элемента матрицы Вандермонда:

I»

^т

с

1т

1т с

у-1

с

ср-1

где р< т . Такие коды имеют длину п=тр, и 7 + 1 < ^ < 2т .

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

I

т

добавление нулевого блока может „разрывать" эти циклы, уменьшая, таким образом, количество слов малого веса и улучшая спектр кода.

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

Рис. 2

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

й0 = 6.

БЕЯ

10

10

10

10

10

10

10

-5

2

3

6

7 8МЯ, дБ

4 5

Рис. 3

На рис. 4 представлены кривые для кодов из четырех полос. Здесь '^ЬБРС обозначает выбор степеней в соответствии с матрицей Вандермонда (5) при т = 79, р=8, у=4.

Подход к построению блочно-перестановочных кодов с малой плотностью проверок на четность 13 В качестве ввС использован код с проверочной матрицей

Н =

0 0 0 0 0 0 0 0

0 5 12 15 16 29 35 37

0 10 24 30 32 58 70 1

0 15 36 45 48 14 32 38

где Б = {0,5,12,15,16,29,35,37} — разностное множество, использованное для построения второй полосы проверочной матрицы. Третья и четвертая полосы получены как 2 Б шоё73 и 3Б шоё73 соответственно. Выбранный таким образом код дает выигрыш над W-LDPC около 1 дБ при вероятности ошибки 10-6.

БЕЯ

10

10

10

10

10

10

2

2,5

3

3,5

4

0 0 0 0 0 0 0 0

0 -1 12 -1 16 -1 35 -1

-1 10 -1 30 -1 58 -1 1

0 15 36 45 48 14 32 38

4,5 8МЯ, дБ Рис. 4

Наконец, код ввС1^ соответствует проверочной матрице (6) с добавленными нулевыми блоками:

Н=

где -1 соответствует нулевому блоку. Полученный код является регулярным LDPC-кодом с у=3, он дает 0,5—0,25 дБ преимущества по сравнению с первоначальным ввС кодом при одновременном снижении сложности декодирования, так как содержит меньше ненулевых позиций в проверочной матрице. Однако этот выигрыш снижается с ростом отношения сигнал/шум, так как выигрыш в спектре кода, полученный за счет нулевых блоков, дает преимущество при достаточно высоком уровне шума, однако с ростом отношения сигнал/шум, когда ошибки в канале сами по себе редки, вероятность ошибки определяется минимальным расстоянием кода.

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

14 М. О. Алексеев

СПИСОК ЛИТЕРАТУРЫ

1. Gallager R. G. Low Density Parity Check Codes. Cambridge, MA: MIT Press, 1963.

2. Зяблов В. В., Пинскер М. С. Оценка сложности исправления ошибок низкоплотностными кодами Галлагера // Проблемы передачи информации. 1975. Т. XI(1). С. 23—26.

3. Белоголовый А. В., Крук Е. А. Многопороговое декодирование кодов с низкой плотностью проверок на четность // ИУС. 2005. № 1(14). С. 25—31.

4. Овчинников А. А. К вопросу о построении LDPC-кодов на основе Евклидовых геометрий // ИУС. 2005. № 1(14). С. 32—40.

5. Козлов А. В. Декодирование LDPC-кодов в дискретном канале flash-памяти // ИУС. 2007. № 5(30). С. 31—35.

6. Gilbert E. A problem in binary encoding // Proc. of the Symp. in Applied Mathematics. 1960. Vol. 10. P. 291—297.

7. Krouk E., Semenov S. Low-density parity-check burst error-correcting codes // Proc. of 2nd Intern. Workshop on Algebraic and combinatorial coding theory. Leningrad, 1990. P. 121—124.

8. Овчинников A. А. Об одном классе кодов, исправляющих пакеты ошибок // Тез. докл. 2-й Междунар. школы-семинара БИКАМП'99. СПб, 1999. С. 34—35.

9. Kabatiansky G., Krouk E., Semenov S. Error correcting coding and security for data networks: Analysis of the superchannel concept. Wiley, 2005.

Сведения об авторах

Александр Владимирович Козлов — Санкт-Петербургский государственный университет аэрокосмического приборостроения, кафедра безопасности информационных систем; ведущий программист; E-mail: akozlov@vu.spb.ru Евгений Аврамович Крук — д-р техн. наук, профессор; Санкт-Петербургский государственный

университет аэрокосмического приборостроения, кафедра безопасности информационных систем; E-mail: ekrouk@vu.spb.ru Андрей Анатольевич Овчинников — канд. техн. наук, доцент; Санкт-Петербургский государственный университет аэрокосмического приборостроения, кафедра безопасности информационных систем; E-mail: mldoc@vu.spb.ru

Рекомендована кафедрой Поступила в редакцию

№ 51 безопасности информационных систем 01.02.13 г.

УДК 004.056.2

М. О. Алексеев

НИЖНЯЯ ГРАНИЦА ДЛИНЫ СИСТЕМАТИЧЕСКИХ РАВНОМЕРНО НАДЕЖНЫХ КОДОВ

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

Ключевые слова: нелинейный код, надежный код, нижняя граница, минимальная длина кода.

Аппаратные реализации криптографических алгоритмов могут быть уязвимы к так называемым атакам по сторонним каналам [1, 2]. Такие атаки основаны на изучении и последующем анализе физических особенностей работы криптосхем, что может привести к вычислению секретного ключа. Анализируемые характеристики аппаратной реализации могут быть