Научная статья на тему 'Метод декодирования числовых линейных блоковых корректирующих кодов с максимально достижимым расстоянием'

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

CC BY
255
82
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЛИНЕЙНЫЕ БЛОКОВЫЕ КОРРЕКТИРУЮЩИЕ КОДЫ / КОДОВОЕ РАССТОЯНИЕ / ЧИСЛОВОЙ СИНДРОМ

Аннотация научной статьи по математике, автор научной работы — Терентьев Андрей Иванович

Рассматривается новый метод алгебраического декодирования числовых линейных блоковых корректирующих кодов с максимально достижимым кодовым расстоянием.

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

METHOD OF DECODING THE NUMERICAL LINEAR BLOCK ERROR-CORRECTING CODES WITH THE MAXIMUM ACHIEVABLE DISTANCE

New method of decoding the numerical linear block error-correcting codes with the maximum achievable distance.

Текст научной работы на тему «Метод декодирования числовых линейных блоковых корректирующих кодов с максимально достижимым расстоянием»

УДК 621.391

МЕТОД ДЕКОДИРОВАНИЯ ЧИСЛОВЫХ ЛИНЕЙНЫХ БЛОКОВЫХ КОРРЕКТИРУЮЩИХ КОДОВ С МАКСИМАЛЬНО ДОСТИЖИМЫМ РАССТОЯНИЕМ

А.И. ТЕРЕНТЬЕВ

Статья представлена доктором технических наук, профессором Соломенцевым В.В.

Рассматривается новый метод алгебраического декодирования числовых линейных блоковых корректирующих кодов с максимально достижимым кодовым расстоянием.

Ключевые слова: линейные блоковые корректирующие коды, кодовое расстояние, числовой синдром.

Числовые линейные блоковые корректирующие коды (ЧЛБ-коды) над кольцом конечных десятичных дробей [1; 2; 3] являются самым сильным обобщением всех известных корректирующих кодов по основанию системы счисления. Они ориентированы на применение в устройствах и системах, где осуществляется непосредственное представление данных в числовом формате и хорошо приспособлены для защиты информационных и компьютерных систем от ошибок оператора, умышленных и иных искажений.

Важным классом ЧЛБ-кодов являются коды с максимально достижимым кодовым расстоянием (ЧЛБ МДР-коды), которые имеют наименьшую избыточность: количество проверочных чисел г = й - 1 (й - минимальное расстояние Хэмминга ЧЛБ-кода).

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

Равномерным разделимым систематическим ЧЛБ МДР-кодом над кольцом Б конечных десятичных дробей называется множество последовательностей длины п, элементами которых являются действительные числа, имеющие вид конечных десятичных дробей, причем проверочные числа являются заданными линейными функциями от информационных чисел.

Последовательность

и = ( а\, ..., ак, ¿ь ..., Ьг ),

где аь ..., ак - последовательность информационных чисел; к - количество информационных чисел; Ьь ..., Ьг - последовательность проверочных чисел; г - количество проверочных чисел, причем г = й - 1, называется кодовой комбинацией ЧЛБ МДР-кода.

Все кодовые комбинации и образуют множество ик, которое и есть равномерный разделимый систематический ЧЛБ МДР-код над кольцом Б конечных десятичных дробей. Кодовая комбинация и является п-мерным (п = к + г) числовым вектором арифметического пространства ип над кольцом Б, а множество ик всех числовых векторов длиной п > к является к-мерным арифметическим подпространством п-мерного арифметического пространства ип над кольцом Б. Базис подпространства ик состоит из к базисных числовых векторов длиной п, которые можно записать в виде трапецеидальной вещественной матрицы размерностью к*п

О

1 0 ". 0

0 1 ". 0

00

1

"21

"к1

'2т

'кг

называемой порождающей матрицей ЧЛБ МДР-кода. Ранг такой матрицы равен к. Сокращенная форма записи О = [ Ек | Ск*т ], где вертикальная штриховая линия условно разделяет матрицу О на единичную матрицу Ек размерностью к*к и матрицу Ск*т размерностью к*т. Матрица Ск*т называется матрицей коэффициентов с-, т.к. ее столбцы определяют правила формирования проверочных чисел кодовой комбинации и и являются числовыми коэффициентами при соответствующих слагаемых (информационных числах). Следовательно, ЧЛБ МДР-коды можно задать и правилами формирования проверочных чисел

—,

или

7=1

к

■ С11а1 + С21а2 + '' - С12а1 + С22а2 + '

• + Ск1ак • + Ск 2 ак

к = СьА + С2т^2 + ■■■ + Скта

где Си, ..., Скт - элементы матрицы С коэффициентов Су-; /—1,2,...,к - номер строки матрицы О;

7=1,2,...,т - номер столбца матрицы Ск*т.

Для выявления принадлежности какой-либо комбинации и ЧЛБ МДР-коду достаточно убедиться в ее ортогональности любому из векторов нулевого пространства этого кода

н и = 0

или

(1)

где и - кодовая комбинация, представленная как матрица-строка; и‘ - кодовая комбинация, представленная как матрица-столбец; н - матрица, являющаяся базисом нулевого пространства ЧЛБ МДР-кода; Н - транспонированная матрица Н.

В силу свойств (1) матрица Н называется проверочной матрицей ЧЛБ МДР-кода.

Если принятую ошибочную комбинацию иА представить как иА= и + е, где е - вектор ошибок размерностью п, имеющий в случае ошибок кратности 1 < V < [(а? - 1)/2] (с1 - минимальное расстояние Хэмминга ЧЛБ МДР-кода) в принятой кодовой комбинации иА следующий вид: е = (0,..., 0, е/,..., е-, 0,..., ет,..., 0), где е7, е-, .., ет (/ ф- ф ... ф т) - значения ошибок, е7, е-, ..., ет е Б; |{/,-, ..., т}| = V, то результатом произведения (1) будет некоторый вектор sч размерностью т, который называется числовым синдромом и свидетельствует о наличии ошибок в принятой комбинации иА, т.е.

ил н = (и + е) н' = и н' + е н' = е н = sч

(2)

Как видно из (2), вид числового синдрома sч не зависит от переданной комбинации, а определяется только исказившим его вектором ошибок. Числовой синдром имеет вид

sч = (эЧ], ... , sчт), где е Б, /=(1,...,т).

В соответствии с (2), числовой синдром sч есть результат произведения вектора ошибок е, представленного как матрица-строка, на транспонированную матрицу н'. Ненулевые числа вектора е (значения ошибок е7, ..., ек) определяют номера строк матрицы н, линейная комбинация которых дает числовой синдром sч. Причем, е7, ..., ек могут принимать любые значения из Б, следовательно, комбинаций числового синдрома sч может быть бесконечно много. Это означает, что одной и той же комбинации ошибок может соответствовать бесконечное, но счетное множество Sч числовых синдромов.

С

С

11

ь

2

Если ЧЛБ-код задан правилами формирования проверочных чисел, то элементы числового синдрома sч находятся по следующим формирующим суммам

*ч1 = с11е1 + с21е2 + • • • + ск1ек ек+1

^ч2 с12е1 + с22е2 + ■■■ + ^ 2ек ек+2, (3)

^чт = с1те1 + с2те2 + к + сктек - ек+т

где с11, ..., Скт - элементы матрицы С коэффициентов с-, е1, ..., ек+т - элементы вектора ошибок е.

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

Структура проверочной матрицы Н ЧЛБ МДР-кода такова, что независимо от значений ошибок по виду числового синдрома sч можно однозначно судить о характере и местоположении искажений, не прибегая при этом к решению сложных алгебраических уравнений. Предлагаемый метод декодирования основывается на том, что числовые синдромы разных комбинаций ошибок кратности V < [(а - 1)/2] линейно независимы. Следовательно, на какую бы величину ни было искажено какое-либо число кодовой комбинации и, соответствующий ей числовой синдром sч будет принадлежать только одному векторному пространству числовых синдромов 8чд (д е {1,...,Ev}, Ev = С’П), порождаемому базисом из v-строк транспонированной проверочной матрицы н1 - базиса векторного пространства 8чд.

Поскольку числовой синдром единственным образом разлагается по векторам базиса этого векторного пространства, то, определив базис, можно однозначно идентифицировать имевшую место комбинацию ошибок. При этом, координатами числового синдрома в этом базисе являются значения аддитивных ошибок, т.е. элементы вектора е. Для их нахождения достаточно решить систему из двух линейных уравнений, составленную из соответствующих компонентов (слагаемых) любых двух формирующих сумм из (3) или V одноименных элементов строк матрицы н\

В случае комбинации ошибок кратности V < [(а - 1)/2] возможно составить С'П таких простых систем линейных уравнений. При этом все они могут иметь решение, но только одно из них будет удовлетворять остальным формирующим суммам из (3), не используемым для составления систем линейных уравнений. Поэтому следующим шагом декодирования является выбор системы уравнений, составленной из элементов базиса, по которому разлагается полученный числовой синдром sч. Для этого необходимо проверить истинность полученных решений систем линейных уравнений для оставшихся выражений из (3). Это позволит определить базис и координаты числового синдрома в нем и тем самым идентифицировать имевшую место комбинацию ошибок.

Рассмотрим изложенный метод декодирования на примере ЧЛБ МДР (7,3)-кода с а = 5. Пусть а1, ..., а3 - информационные числа, Ь1, ... , Ь4 - проверочные числа, а (7,3)-код задан следующими правилами формирования проверочных чисел

Ь1 = а1 +11а2 + 23а3 Ь2 = 3а, + 13а2 + 29а3

2 1 2 3. (4)

Ь3 = 5а1 + 17а2 + 31а3

Ь4 = 7а1 + 19а2 + 37а3 В соответствии с (3) элементы числового синдрома находятся следующим образом

5+1 = е1 + 11е2 + 23е3 - е4

5.., = 3е, + 13е + 29е - е,

1 2 3 5 , (5)

¿\3 = 5 е1 + 17е2 + 31е3 - е6

s^4 = 7е1 + 19е2 + 37е3 - е7

где е1, ..., е3 - аддитивные ошибки в информационных числах; е4, ..., е7 - аддитивные ошибки в проверочных числах.

Для упрощения последующих вычислений примем а1 = 1, а2 = 1, а3 = 1. Тогда в соответствии с (4) кодовая комбинация будет иметь вид

и = ( 1, 1, 1, 35, 45, 53, 63 ). (6)

Пусть при передаче по каналу эта кодовая комбинация искажена вектором ошибок

е = (-1, -1, 0, 0, 0, 0, 0), (7)

тогда принятая искажениями кодовая комбинация иА будет иметь вид

иА = ( 0, 0, 1, 35, 45, 53, 63 ). (8)

Соответствующий ей числовой синдром, найденный по (5), будет иметь вид

sч = (-12, -16, -22, -26 ). (9)

Поскольку числовой синдром (9) не имеет наибольшего общего делителя, он не пропорционален ни одному столбцу (5). Следовательно, можно заключить, что имела место комбинация ошибок кратности V > 1. При этом не трудно показать, что произошло искажение только информационных чисел, поскольку никакие два или три элемента числового синдрома (9) также не имеют наибольшего общего делителя.

Используем первые два выражения из (5) для составления С23 систем из двух линейных уравнений, соответствующих всем возможным комбинациям ошибок в информационных числах кратности V = 2

5ч1 = е1 + 11 е2 5ч1 = е1 + 23 е3 5ч1 = 11 е2 + 23 е3

^ч2 = 3е1 + 13 е2, ^ч2 = 3е1 + 29 е3, ^ч2 = 13 е2 + 29 е3.

Подставим соответствующие значения числового синдрома и решим полученные системы линей-

ных уравнений

| -12 = е1 + 11е2 [-16 = 3е1 + 13е2;

^ —12 = е1 + 23е2 [-16 = 3е1 + 29е2 ; [-12 = 11е1 + 23е2 [-16 = 13е1 + 29е2

(10)

(11)

(12)

Система (10) имеет решение: е1 = -1 и е2 = -1, система (11): е1 = -0,5 и е3 = -0,5; система (12): е2 = 1 и е3 = -1 соответственно.

Подставим полученные решения в любое из оставшихся выражений из (5). Например:

5ч3 = 5е1 + 17 е2, 5ч3 = 5е1 + 31 е3, 5ч3 = 17 е2 + 31 е3.

При этом очевидно, что истинным является только выражение -22 = 5е1 + 17е2 при подстановке в него е1 = -1 и е2 = -1. Следовательно, вектор ошибок имеет вид (7). Вычитая этот вектор ошибок из принятой комбинации (8), получаем переданную кодовую комбинацию (6).

Проведенный анализ показал, что предлагаемый метод целесообразно применять для декодирования ЧЛБ МДР-кодов с достаточно высокой корректирующей способностью (а < 15) и небольшим количеством информационных чисел (к < 7). При этом очевидная простота его программной и аппаратной реализации позволит найти ему применение при обработке больших объемов информации в современных компьютерных системах.

ЛИТЕРАТУРА

1. Хохлов Г.И. Числовые линейные блоковые корректирующие коды // Электронная техника. - 1991. - Вып. 2. - С. 33-41.

2. Терентьев А.И. Некоторые элементы теории числовых линейных корректирующих кодов // XXXI научн. конф. преподавателей и студентов МГПИ им. М.Е. Евсевьева: материалы выступлений. - Саранск: МГПИ, 1996. - Ч. 3. - С. 33-52.

3. Терентьев А.И. Декодирование числовых линейных блоковых корректирующих кодов по методу принудительных искажений // Информационные средства и технологии: доклады междунар. конф. - М.: Станкин, 1997. - Т. 3. - С. 182-187.

4. Муттер В.М. Основы помехоустойчивой телепередачи информации. - Л.: Энергоатомиздат, 1990.

METHOD OF DECODING THE NUMERICAL LINEAR BLOCK ERROR-CORRECTING CODES WITH THE MAXIMUM ACHIEVABLE DISTANCE

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

Terentyev A.I.

New method of decoding the numerical linear block error-correcting codes with the maximum achievable distance.

Key words: linear block error-correcting codes, the code length, numerical Syndrome.

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

Терентьев Андрей Иванович, 1965 г.р., окончил МИРЭА (1993), кандидат технических наук, доцент МГТУ ГА, автор более 35 научных работ, область научных интересов - теория преобразования и передачи информации, помехоустойчивое кодирование, криптография, информационная безопасность.

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