Научная статья на тему 'Коды Боуза – Чоудхури – Хоквингема в системах обнаружения и исправления ошибок при передаче данных'

Коды Боуза – Чоудхури – Хоквингема в системах обнаружения и исправления ошибок при передаче данных Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
2588
204
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЦИКЛИЧЕСКИЕ КОДЫ / CYCLIC CODES / ПОРОЖДАЮЩИЙ ПОЛИНОМ / ЦИКЛОТОМИЧЕСКИЙ КЛАСС / CYCLOTOMIC CLASS / КОНСТРУКТИВНОЕ РАССТОЯНИЕ / CONSTRUCTIVE DISTANCE / ДЕКОДИРОВАНИЕ / DECODING

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Кузьмин Олег Викторович, Дружинин Владислав Игоревич

Рассматривается важный класс циклических кодов – коды Боуза – Чоудхури – Хоквингема. Отмечаются особенности построения данных кодов, анализируются основные варианты кодирования и декодирования данных. Обсуждаются возможности БЧХ-кодов в области обнаружения и исправления ошибок при передаче данных по каналам связи компьютерной сети.

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

BOSE – CHAUDHURI – HOCQUENGHEM CODES IN SYSTEMS OF DETECTION AND CORRECTION OF ERRORS WHEN TRANSFERRING DATA

The important class of cyclic codes, Bose – Chaudhuri – Hocquenghem codes, are considered. Special features of codes data building are observed, main options for encoding and decoding data are analyzed. The BCH codes in the area of detection and correction of errors in the transfer of data to a computer network are discussed.

Текст научной работы на тему «Коды Боуза – Чоудхури – Хоквингема в системах обнаружения и исправления ошибок при передаче данных»

УДК 519.16: 004.77 Кузьмин Олег Викторович,

д. ф.-м. н., профессор, Иркутский государственный университет, тел. (8595)242226, e-mail: quzminov@mail.ru Дружинин Владислав Игоревич, аспирант, Иркутский государственный университет путей сообщения, тел. (8595)532348, e-mail: 380_010_14@mail.ru

КОДЫ БОУЗА - ЧОУДХУРИ - ХОКВИНГЕМА В СИСТЕМАХ ОБНАРУЖЕНИЯ И ИСПРАВЛЕНИЯ ОШИБОК ПРИ ПЕРЕДАЧЕ ДАННЫХ

O. V. Kuzmin, V.I. Druzhinin

BOSE - CHAUDHURI - HOCQUENGHEM CODES IN SYSTEMS OF DETECTION AND CORRECTION OF ERRORS WHEN TRANSFERRING DATA

Аннотация. Рассматривается важный класс циклических кодов - коды Боуза - Чоудхури - Хоквингема. Отмечаются особенности построения данных кодов, анализируются основные варианты кодирования и декодирования данных. Обсуждаются возможности БЧХ-кодов в области обнаружения и исправления ошибок при передаче данных по каналам связи компьютерной сети.

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

Abstract. The important class of cyclic codes, Bose - Chaudhuri - Hocquenghem codes, are considered. Special features of codes data building are observed, main options for encoding and decoding data are analyzed. The BCH codes in the area of detection and correction of errors in the transfer of data to a computer network are discussed.

Keywords: cyclic codes, cyclotomic class, constructive distance, decoding.

Введение

В последнее время растущий объем передачи данных ужесточает требования к их защите [1], а в частности к помехоустойчивости применяемых кодов и их декодирующим возможностям. Идет постоянный поиск кодов, обнаруживающих и исправляющих многократные ошибки в сочетании с эффективными декодирующими алгоритмами [2, С. 173-174].

Коды Боуза - Чоудхури - Хоквингема (БЧХ-коды) находят широкое применение в современных инфокоммуникационных системах. Они используются в накопителях на гибких магнитных дисках, где все операции записи данных сопровождаются формированием и записью в конце поля после 512 информационных байт (сектор),

2 байт кода циклического контроля. В накопителях на жестких магнитных дисках (НЖМД) применяются циклические коды, исправляющие ошибки. Фирмы-производители НЖДМ включают схемы формирования помехоустойчивых кодов и исправления ошибок в контроллеры жестких дисков. Поскольку в настоящее время используются НЖДМ со встроенными контроллерами, то пользователю не сообщается о конкретном используемом коде. Например, в ряде контроллеров для сектора длиной 512 байт формируется код длиной 7 байт. В CD-ROM для обеспечения высокой надежности в формат файловой системы по стандарту ISO 9660 (High Sierra) введены поля EDC длиной 4 байта и ECC длиной 276 байт для информационного поля длиной 2048 байт, и применяется код Рида - Соломона с перемежением -CIRS - Cross Interleave Reed Solomon. Этот же код используется в ряде устройств архивного хранения информации на магнитной ленте (стримерах). В универсальной последовательной шине USB -Universal Serial Bus - для обнаружения ошибок передачи каждый пакет имеет поля CRC, позволяющие обнаруживать все однократные и двухкратные битовые ошибки.

Непримитивные БЧХ-коды изучены в недостаточной степени, так как их параметры ведут себя хаотично. Например, в работе [3] приводятся результаты исследования непримитивных БЧХ-кодов и иллюстрируется код С5 длиной n = 39 и m = 12. Этот код имеет минимальное расстояние d = 9, что больше конструктивного, и, следовательно, способен исправлять четырехкратные ошибки. Близким по длине к коду n = 39 из примитивных кодов будет код n = 31. Сравнительный анализ показал, что схема декодирования для n = 31, адаптированная для работы с тройными ошибками, будет сложнее,

ИРКУТСКИМ государственный университет путей сообщения

а алгоритм работы более медленным, чем для п = 39. Но при этом примитивный код длины п = 31 будет оставаться более высокоскоростным, чем п = 39. Найденное реальное значение й = 9 и относительно простая схема декодирования позволяет отнести данный БЧХ-код к классу перспективных в практическом плане кодов.

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

Циклический код длины п над полем ОЕ(д) называется БЧХ-кодом с конструктивным расстоянием 3, если для некоторого целого числа Ь > О его порождающий полином равен: #(х) = Н О К{М(ь)(х),М(ь+^(х),. . ,,М(Ь+б " 2)(х)}.

(1)

Иными словами, g(x) - нормированный полином над ОЕ(д) наименьшей степени такой, что элемен-

ты а b, а b+1 ,

a b+5 2 являются его корнями, если

Н =

•jb+1 а2 ( b + 1)

.(n- 1)(b+ 1)

( )( )

где каждый элемент должен быть заменен на соответствующий столбец из m элементов над GF(q).

Строки полученной таким образом матрицы над GF(q) задают проверочные соотношения кода. Всего их имеется m(<5 — 1 ), но не обязательно все они линейно независимы. Таким образом, минимальное значение размерности кода равно т(й — 1 ).

Данные коды, как отмечено выше, задаются порождающим полиномом, построить который можно следующим образом:

Пусть // = as - элемент G F( qm) порядка n,

qm-1

s =-. Тогда нормированный полином g(x) минимальной степени над GF(q), корнями которого являются подряд идущих степеней

//to,//to+1.. .,//to+d+2 элемента в для некоторого

а - примитивный элемент поля дт) (то есть дт - 1 = 1 , аI ^ 1, | < _ 1 ). Следовательно, с - кодовый вектор тогда и только тогда, когда: с( а ь) = с( аь - 1 ) = • • - = (аь+5 - 2) = О. Таким образом, 5 _ 1 последовательных степеней элемента а представляют собой нули кода. Из теоремы о границах БЧХ-кодов [4, с. 301] следует, что минимальное расстояние кода больше или равно конструктивному расстоянию 3.

Равенство (1) означает, что проверочная матрица кода имеет вид:

целого С о (в том числе 0 и 1), является порождающим полиномом БЧХ-кода над ( ) с длиной п и минимальным расстоянием . Число прове-

рочных символов г равно степени ^(х), число информационных символов равно к = п _ г, величина й называется конструктивным расстоянием БЧХ-кода. Если п = дт _ 1 , то код называется примитивным, иначе непримитивным.

Иногда непримитивные БЧХ-коды содержат больше информационных символов, чем примитивные с тем же числом проверочных символов.

Например, пусть п = 33. Первые два цикло-томических класса имеют вид:

= {1, 2, 3, 8,16, -1, -2, -4, -8, -16}, С2 = { 3 , 6,1 2 ,2 4,1 5 , _ 3 , _ 6, _ 1 2 , _ 2 4, _ 1 5 }. В общем случае, если п = 2 т + 1 , то | С1 | = 2 т, так что корни многочлена лежат

на С F( 2 т). Если в - корень минимального многочлена, то реверсивен, т. е. наряду с кодовым словом содержит слово

[ Сп - 1 , Сп - 2 , . ■ -, С1 , Со ] .

Пусть А - БЧХ-код (в широком смысле непримитивный) с порождающим многочленом М°(х)М 1(х) .. . М(и)(х). Тогда элементы а 1 при £ = О , + 1 . . . (и + 1 ) являются корнями g(x), и, следовательно, согласно границе БЧХ, минимальное расстояние не меньше, чем .

При и = 1 код А является [ 2 т + 1 ,2 т _ т, 6 ] -кодом и, при том же числе проверочных символов, имеет на один информационный символ больше, чем расширенный -

примитивный БЧХ-код [5, с. 258].

2. Длинные БЧХ-коды

Границы Варшамова - Гилберта устанавливают, что при фиксированном Я, О < Я < 1 суще-

к

ствуют двоичные [п, к, с?] -коды с и -Я- 1(х)( 1 _ Я), где Я- 1 (х), функция обратной

энтропии. Однако, за исключением случаев и , до сих пор неизвестны коды, до-

стигающие этой границы.

При фиксированном семейство кодов над называется хорошим, если оно содержит бесконечную последовательность кодов ,12,. . .( гд е 15 ( - [п , к ¿, С ¿] ) такую, что и ско-

г> к1 Ф

рость Я ( = —, и отношение — стремятся к ненулевому пределу при 7^-да.

БЧХ-коды этим свойством не обладают, следовательно, асимптотически они не хороши, т. е. не существует бесконечной последовательности примитивных БЧХ-кодов над ОЕ(д) таких, что

оба отношения — и — отделены от нуля. Пусть

п п

1 1 , 1 2 ,. . . , 1 [ - последовательность таких кодов, что

1 - [пI = 9Г

Современные технологии. Математика. Механика и машиностроение

1 , к¿, С ( ] - код, причем — = В >

> 0 .

Пусть г = т ¿—Я ¿. Поскольку д^——

1-1

<7

П,-

1 ,дА£)<1 ;=!«) (р( ))т £.

у42 = шах

( )

и

Тогда

А2 = тах | р(' ) | < д.

/(дт £ —1 ,дЛ£) < (А ! + 1 )А2А ^ ).

При £ — оо ,

I ( д т - 1, д Лр

<7т £ - 1 "

>0, и, учитывая, что:

дт1-1 щ 1

4.

ш

Выбрать / \ ..., / г°+"+2 таким образом, чтобы суммарная длина циклотомических классов была минимальна (поскольку каждому циклотомическому классу соответствует неприводимый полином над GF(q), корнями которого являются элементы этого и только этого класса, со степенью, равной количеству элементов в классе). 5. Вычислить порождающий полином ^(х) = А(х) /2 (х)...Д„(х) (как наименьшее общее кратное минимальных функций от элементов \..., +2 ), где /(х) - полином,

соответствующий i-му циклотомическому классу, или вычислить ^(х) [7, с. 69].

Для кодирования БЧХ-кодами применяются те же методы, что и для кодирования циклическими кодами [7, с. 71]. Различают несистематическое и систематическое кодирование.

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

При систематическом кодировании кодовое слово формируется в виде информационного ( ) и проверочного с(х) = [$(х)т(х)] подблоков.

Пусть информационное слово образует

старшие степени кодового слова, тогда

( ) ( ) ( ) ,

( ) ( ) ( ).

Из условия

с^) = (хгт(х) + 5(х) т о С ¿¿(х)) = 0 следует:

с(х) = -хгт(х) то С ¿¿(х).

Это уравнение и задает правило систематического кодирования. Оно может быть реализовано при помощи многотактных линейных фильтров.

4. Декодирование БЧХ-кодов

Под декодированием данных кодов понимается преобразование полученного кодового слова в исходное сообщение. БЧХ-коды - циклические, поэтому к ним применимы все методы, используемые для декодирования циклических кодов. Однако существуют алгоритмы, разработанные именно для БЧХ-кодов.

Главной идеей в декодировании БЧХ-кодов является использование элементов конечного поля для нумерации позиций кодового слова (или в порядке коэффициентов ассоциированного многочлена) [8, с. 194].

О и — = В2 > 0.

щ

Пусть 15 1' - БЧХ-код длины пг с конструктивным расстоянием 5 г = ] . Истинное минимальное расстояние кода не превосходит , и, следовательно, .

Выберем так, чтобы выполнялись условия дА £+1 > б( > дА £, и 1 1 ' - БЧХ-код длины п г и конструктивным расстоянием . Так как , следовательно

I-1, )> к,

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

затем

, то не может расти бес-

(?ш£-1

конечно; пусть г <А ¿. Из теоремы об условии числа информационных символов БЧХ-кода (в

узком смысле) [6, с. 262] следует: ( ( )

Так как - целое число, заключенное между 0 и А ¿, то различных коэффициентов (а( ' )} существует лишь конечное число. Пусть

приходим к противоречию. Следовательно, длинные БЧХ-коды являются плохими. 3. Построение БЧХ-кодов Как отмечено выше, для построения БЧХ-кодов требуется порождающий полином. Для его нахождения сформулируем следующий модифицированный алгоритм. Алгоритм 1.

1. Ввести д (для задания поля GF(q), над которым будет построен код), m, s - целые положительные числа, величину d конструктивного расстояния.

2. Найти длину п кода из условия п = —-—.

3. Построить циклотомические классы элемента // = а5 поля С F( дт), где а - примитивный элемент ( ).

Пусть В - двоичный [п, //, С ] — БЧХ-код с нечетным конструктивным расстоянием 3. Предположим, что передавалось кодовое слово с = (с0,с ¿, с ( _ 1 ) и получено искаженное слово у = с + е, где е = (е0, еь, е¿_г) - вектор ошибок (рис. 1).

Пусть

с(х) = £с Iх¿, е(х) = £егх ¿, у(х) = х ¿. Синдром вектора у равен:

Уо

7 3 («_1 ) \I У1

5 = Ну1

а"

а б _ 2 а 2 ( 8- 2)...... а( б _ 2)(п_ 1)

!У ¿а ; \ ( У( а) V3; = у( а 3)

А0 А1

Рис. 1. Общий вид системы связи

Процесс декодирования можно разбить на три этапа:

• вычисление синдрома;

• нахождение многочлена локаторов ошибок

Ф);

• нахождение корней многочлена о{т).

Этап I. Вычисление синдрома. Данный этап схематически изображен на рис. 2.

Проверочная матрица имеет вид:

/1 а а2 а""1

"=( 1 а3 а6 . . . аз("_1)

а6"2 а 2 (б _ 2) . . . ( )( )

= | ЕУ; а 3

\2у;а(б_2);/ \у(а(б_ 2))/ \АП_ г/ где ( ).

Заметим, что А2г = у(а2г) = у2(аг)=4 2г. Декодер может легко вычислить значения по многочлену у(х) следующим образом. Разделим многочлен у(х) на минимальный многочлен М( г)(х) элемента а г:

у (х) = (?(х)М( 1) (х) + Д(х);

С едЯ(х) < С едМ( 1 )(х).

Тогда Аг = у(а ') равно значению многочлена Л(х) в точке х = а1.

Этап II. Определение многочлена локаторов ошибок оО).

Предположим, что вес вектора ошибок е равен w и ненулевыми его компонентами являются так что вектор у содержит ошибки в координатах ¿1 . . . ¿ш. Определим локаторы = а'г, г = 1 ,. . ., ш, и многочлен локаторов ошибок: а (7)=ПГ= г( 1—ад = 2Г= 1 °

канал

V У«>4 — У»

у V

К этапу Ш

V

V

-х-н

Деление на х* + * + 1

V

еоп

Рис. 2. Этап I декодера - вычисление синдрома

Современные технологии. Математика. Механика и машиностроение

ш

Для 1 < I < 5 — 1 следует:

АI = у(га г) = с( а г) + е( а г) = е( а г), так как с( а г) = 0 согласно определению БЧХ-кода с конструктивным расстоянием 5. Следовательно, А 1 = ££ 1

На этапе I процесса декодирования декодер вычислил степенные суммы А 1, А 2 ,.. .А ^ _ Задача этапа II, являющегося наиболее сложной частью алгоритма, состоит в определении многочлена <т(г) по уже вычисленным А 1,А 2 ,. . .А ^ _ Коэффициенты а ; величины А; связаны тождествами Ньютона. Однако величины А; определяет вектор е или многочлен с (г) неоднозначно. Декодер должен определить вектор е наименьшего веса ^ или, что эквивалентно, многочлен ( ) наименьшей степени, удовлетворяющий тождествам Ньютона. (Именно эта неопределенность относительно w делает столь трудным второй этап алгоритма.)

Известно несколько методов нахождения <т(г). Приведем два из них.

Метод A. Использование тождеств Ньютона. Этот метод проще, чем приведенный ниже метод B, за исключением случая малых I, для которых он менее практичен. Если произошло w ошибок, то величины {аи {А;} связаны между собой уравнениями:

1 0 0 0 0 0

а2 ai 1 0 0 0

а4 а3 а2 ai 1 0

2W-4 A2W-5 ■■ aw_3

2W-2 A2W-3 ■■ а

Ol ai

02 a3

= as

<3W-1 A2W-3

Gw ■ A2 w — 1

(2)

В общем случае данные уравнения могут быть решены методом итераций, основанном на следующей теореме Питерсона.

Теорема 1 [6, с. 269]. Пусть А г = ££1 матрица (V X V):

О ... О

0 ... О

1 ... О

1 0 0 0

A2 Ai 1 0

A4 A3 A2 Ai

■А 2 v - 2 А?„_

2V-3

Av- J

1 , и вы-

не вырождена, если или

рождена, если ш < V— 1 .

Используя теорему 1 и предполагая, что произошло ошибок, для БЧХ-кода с кон-

структивным расстоянием сформули-

руем следующую модификацию итеративного алгоритма определения ( ).

Алгоритм 2.

1. Ввести w - количество ошибок сообщения и число t, w < t.

2. Проверить уравнения (2) на существование решений:

a. Если w = t (или w = t — 1), то (по теореме Питерсона) решение существует.

b. Полагаем (соответственно w = t — 1 ) и переходим к шагу 4. Иначе переходим к шагу 3.

3. Если w < t- 1 ошибок, то уравнения не будут иметь решения. Присваиваем t = t — 2 t : = t — 2 и возвращаемся на шаг 2. Продолжаем до тех пор, пока решение не будет найдено.

4. Найти многочлен локатора ошибок <(z), решив уравнение (2), и перейти к этапу III процесса декодирования.

Трудность метода состоит в том, что он требует многократных вычислений определителя большого размера над GF( 2 m). Поэтому, если t достаточно велико (например, больше чем 3 или 4), то более предпочтителен следующий метод.

Метод B. Использование обобщенных тождеств Ньютона - алгоритм Берлекэмпа.

Если произошло t ошибок, то величины {Д ¡} и (g ¿} связаны между собой.

Величины являются выходом линейного регистра сдвигов с обратной связью, состоящего из w ячеек, находящихся в начальных состояниях Д 1 , Д 2 < ■ ■ Дw (рис. 3).

Рис. 3. Вычисление величины А ; на регистре сдвигов

Регистр показан в момент, когда в ячейках содержатся , а на выходе формирует-

ся

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

А ш+1 = — а1 А ш — а 2 А ш _ 1-----аш _ 1 А 2 — ашА 1

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

А 2 , . ■ ■, А ш.

Берлекэмп предложил эффективный алгоритм построения такого регистра сдвига (и, следовательно, многочлена локаторов ошибок о(z))•

Какой бы из методов ни использовался, в конце этапа II декодер «знает» многочлен локаторов ошибок о(г).

Этап III. Нахождение корней многочлена

оЫ.

Так как а( г) = ПЩ! 1 1 — , то величины

^ =а ¿^•^ = аш

являются обратными корням многочлена а(^) и ошибки содержатся в координатах I1 ,. . ., ¿ш. Если степень многочлена с (г) равна 1 или 2, то его корни находятся непосредственно. Но в общем случае проще всего подставить каждую степень элемента и проверить, является ли она корнем многочлена ( ). Эту часть процесса декодирования иногда называют процедурой Ченя. Ошибка в координате / содержится тогда и только тогда, когда ( ) .

На рис. 4 показаны все три этапа работы декодера. Для иллюстрации работы схемы декодера на этапе III рассмотрим [15, 7, 5]-код.

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

о( а _1 4) = а( а) = 1 + а 1 а + а 2а 2. Следующим приходит символ у1 3, и он ошибочен тогда и только тогда, когда

а(а _1 3 ) = а( а2 ) = 1 + а1а 2 + а2 а4

и т. д.

Схема, приведенная на рис. 5, в точности выполняет эти требования. В начальный момент в три рассматриваемых регистра введены соответственно 1, а 1 и а2 , вычисленные на этапе II. Обратная связь во втором регистре осуществляет умножение на а обратная связь в третьем регистре - умножение на а 2. После одного цикла работы регистры содержат соответственно 1, ,

УшУг- Уч Канал ЬГ^"

Формирование /1;

Задержк

Формирование Л,

Этап/

Л,

Формироа аниео(2)

Этап//

В&нисление

Этап///

>Ф->

>

Нет

Полоюаат

Рис. 4. Полный декодер

Нет

Рис. 5. Этап III

и выход элемента ИЛИ равен 0 тогда и только тогда, когда = ( ) 0. В противном случае этот выход равен 1. Элемент НЕТ заменяет этот выход на противоположный, так что в точку Q поступает 1 тогда и только тогда, когда символ у14 ошибочен. Сумматор P затем исправляет сшибку в .

Спустя один цикл, 1 приходит в точку Q тогда и только тогда, когда ошибочен символ , и т. д.

Таким образом, на этапе III определяются корни многочлена o(z) и исправляются ошибки, произошедшие в у.

Перечислим основные алгоритмы декодирования [7, с. 92-102]:

• Алгоритм Евклида. Из-за высокой регулярной структуры этого алгоритма его широко используют для аппаратной реализации декодеров БЧХ и кодов Рида - Соломона.

• Алгоритм Берлекэмпа - Мэсси. По числу операций в конечном поле этот алгоритм обладает высокой эффективностью. BMA обычно используется для программной реализации или моделирования кодов БЧХ и кодов Рида - Соломона.

• Алгоритм Питерсона - Горенстейна - Цир-лера. Исторически это первый метод декодирования, найденный Питерсоном для двоичного случая, затем Горенстейном и Цирлером - для общего случая. Этот алгоритм находит коэффициенты многочлена локаторов ошибок прямым решением соответствующей системы линейных уравнений. В действительности, так как сложность этого алгоритма растет как куб минимального расстояния, прямой алгоритм может быть использован только для малых значений, однако именно этот алгоритм лучше всего проясняет алгебраическую идею процесса декодирования.

Теоретически БЧХ-коды могут исправлять произвольное количество ошибок, но при этом существенно увеличивается длительность кодовой комбинации, что приводит к уменьшению скорости передачи данных и усложнению приемопередающей аппаратуры (схем кодеров и декодеров). Например, для кодов 31 26 скорость передачи падает на 16 процентов.

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

Таблица 1

п 7 10 15 31 63 127 255

к 4 6 11 26 57 120 247

m 3 4 4 5 6 7 8

I 0,57 0,6 0,75 0,84 0,9 0,95 0,97

п - длина кодовой комбинации;

к - количество информационных разрядов;

т - количество проверочных разрядов;

I - коэффициент эффективности использования канала

связи.

Заключение

Были рассмотрены понятие БЧХ-кодов и особенности их построения. Отмечены возможности БЧХ-кодов в области обнаружения ошибок при передаче данных по каналам связи компьютерной сети. Выявлены возможные направления модернизации данных кодов. Проиллюстрированы основные варианты кодирования и декодирования, а также предложены модификации алгоритма нахождения порождающего полинома и алгоритма нахождения многочлена локаторов ошибок ( ).

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Колодий К. Г. Анализ защищенности web-сервисов // Современные технологии. Управление в технических системах. Моделирование. 2009. Вып. 1(21). С. 141-146

2. Кузьмин О. В. Обобщенные пирамиды Паскаля. Новосибирск.: Наука, 2000. 293 с.

3. Олексюк А. О., Липницкий В. А. Защита информации в каналах с шумами на основе не примитивных линейных кодов // Веб-программирование и Интернет-технологии WebConf2012 : материалы Второй Междунар. науч.-практ. конф., 5-7 июня 2012 г. Минск : БГУ, 2012. С. 134-135.

4. Питерсон У., Уэлдон Э., Коды, исправляющие ошибки. М. : Мир, 1976. 593 с.

5. Блейхут Р. Теория и практика кодов, контролирующих ошибки. М. : Мир, 1986. 576 с.

6. Мак-Вильямс Ф. Дж. Теория кодов, исправляющих ошибки. М. : Связь 1979. 730 с.

7. Морелос-Сарагоса Р. Искусство помехоустойчивого кодирования. Методы, алгоритмы, применение. М. : Техносфера, 2006. 320 с.

8. Сагалович Ю. Л. Введение в алгебраические коды. М. : МФТИ, 2007. 262 с.

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