Научная статья на тему 'Декодирование циклических БЧХ-кодов, исправляющих зависимые ошибки'

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

CC BY
846
110
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
помехоустойчивое кодирование / циклические БЧХ-коды / зависимые пакетные и модульные ошибки

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — В К. Конопелько, А В. Шкилёнок

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

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

BURST ERRORS CORRECTION BY CYCLIC BCH-CODES

Independent or burst errors correction are consider by cyclic BCH-codes based on error’s classification and analysis states of divisor cyclic code decoder. There are offered correction method and decoders for independent or burst errors correction by cyclic BCH-codes

Текст научной работы на тему «Декодирование циклических БЧХ-кодов, исправляющих зависимые ошибки»

Доклады БГУИР

2008 № 6 (36)

ЭЛЕКТРОНИКА

УДК 621.391.(075.8)

ДЕКОДИРОВАНИЕ ЦИКЛИЧЕСКИХ БЧХ-КОДОВ, ИСПРАВЛЯЮЩИХ ЗАВИСИМЫЕ ОШИБКИ

В.К. КОНОПЕЛЬКО, А.В. ШКИЛЁНОК

Белорусский государственный университет информатики и радиоэлектроники П. Бровки, 6, Минск, 220013, Беларусь

Поступила в редакцию 18 января 2008

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

Ключевые слова: помехоустойчивое кодирование, циклические БЧХ-коды, зависимые пакетные и модульные ошибки.

Введение

Циклические БЧХ-коды предназначены для исправления случайных ошибок. Широко известными декодерами циклических БЧХ-кодов являются декодеры Меггитта с модификацией синдромов, однако они корректируют случайные ошибки кратности ¿<2 и только кодами с к<г. Исправление случайных ошибок более высокой кратности сопряжено с высокой сложностью селектора. На практике при передаче информации в телекоммуникационных системах имеют место помехи, в результате которых в сообщениях наряду со случайными могут также появляться зависимые ошибки в виде модулей и пакетов. Для эффективной борьбы с обоими типами ошибок широко применяются соответствующие циклические помехоустойчивые коды; наиболее используемыми являются: для исправления модулей ошибок — коды Рида-Соломона (РС), для коррекции пакетов ошибок — коды Файра [1].

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

Ниже рассматривается возможность коррекции зависимых ошибок БЧХ-кодами.

Коррекция зависимых ошибок циклическими БЧХ-кодами

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

а)

б)

лей, т.е. в любых разрядах кодового слова (иными словами, пакет ошибок — циклически сдвигаемый модуль ошибок). Известны коды, контролирующие зависимые ошибки. Среди них одними из лучших являются РС-коды для исправления модульных ошибок и коды Файра для исправления одиночных пакетных ошибок. Однако РС-коды и коды Файра не исправляют случайных ошибок [2].

На рис. 1 представлено расположение модулей и пакетов ошибок длины Ь и р соответственно на длине кода п.

Из рис. 1 видно, что модульные ошибки

имеют строго определенное местоположение на ^_п_^

длине кода, а пакетные ошибки могут располагаться произвольно (т.е. пакеты ошибок могут лежать как внутри, так и на стыках модулей). Длина кода п=Ь • Ь(р), где Ь — число модулей (пакетов).

Анализ расположения модулей и пакетов ошибок на длине кода п показывает, что эти ошибки являются типичными с точки зрения классификации ошибок, приведенной в [3]. Количество типичных ошибок кратности г значительно меньше их суммарного числа, поэтому для их идентификации необходимо меньшее число синдромов. Свободные синдромы можно использовать для коррекции ошибок большей кратности, а именно, пакетных или модульных. В [4] приводятся результаты исследований, из которых следует, что БЧХ-коды способны исправлять случайные ошибки кратности г или однократные пакеты длиныр (модули длины Ь) (табл. 1).

Рис. 1. Расположение модулей длины Ь (а) и пакетов длины р (б) на длине кода п

Таблица 1. Параметры циклических БЧХ - кодов, корректирующих случайные или однократные зависимые ошибки

№ БЧХ-код (п, к г а Порождающий полином g(x) г р Ь

1 (15,7) 8 х8+х'+х6+х4+1 4 4

2 (31,21) 10 х10+х9+х8+х6+х5+х3+1 4 4

3 (63,51) 12 5 х12+х10+х8+х5+х4+х3+1 2 4 4

4 (127,113) 14 х14+х9+х8+х6+х5+х4+х2+х+1 4 4

5 (255,239) 16 х16+х14+х13+х11+х10+х9+х8+х6+х5+х+1 5 5

6 (15,5) 10 х10+х8+х5+х4+х2+х+1 5 5

7 (31,16) 15 х15+х11+х10+х9+х8+х7+х5+х3+х2+х+1 5 5

8 (63,45) 18 7 х18+х17+х16+х15+х9+х7+х6+х3+х2+х+1 3 5 5

9 (127,106) 21 х21+х18+х17+х15+х14+х12+х11+х8+х7+х6+х5+х+1 8 8

10 (255,231) 24 х24+х23+х21+х20+х19+х17+х16+х15+х13+х8+х7+х5+х4+х2+1 9 9

Анализ параметров циклических БЧХ-кодов показывает, что в зависимости от Ь и р эти коды на малых длинах п требуют большего числа проверочных символов г, чем укороченные РС-коды (г=2Ь) и меньшего, чем коды Файра (г=3р-1). Однако, при использовании одного и того же циклического БЧХ-кода имеется возможность применения одного и того же кодека для исправления случайных или зависимых ошибок, т.е. не требуется использования различных кодов, что является достаточно сложной технической задачей.

Декодирование зависимых ошибок БЧХ-кодами

Как отмечено выше, типичные случайные ошибки можно отождествлять с зависимыми ошибками. Поэтому декодирование однократных зависимых ошибок можно осуществлять, как и декодирование случайных одиночных ошибок. Для циклических БЧХ-кодов декодер для исправления одиночных ошибок состоит из буферного регистра длины п (БРг), делителя на g(x) (блока вычисления синдрома — БВС), селектора и корректора, где селектор настроен на одну комбинацию. Поскольку пакет (модуль) имеет длину р(Ь)>1, то необходимо селектировать 2р(Ь)-1 комбинаций с последующей модификацией синдрома для устранения влияния исправленных ошибок (вычитания из суммарного синдрома синдрома исправленной ошибки), как это делается при декодировании ошибок кратности ¿>2 [1].

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

Рис. 2. Декодер БЧХ-кода для коррекции одиночных зависимых ошибок с модификацией синдромов

Таблица 2. Образующие вектора одиночных пакетных и модульных ошибок длины 4 и синдромы настройки для БЧХ - кода (31,21)

№ п/п Образующие векторы одиночных пакетных и модульных ошибок длины 4 Синдромы настройки селектора

1 (0000000000000000000000000000001) (0000000001)

2 (0000000000000000000000000000011) (0000000011)

3 (0000000000000000000000000000101) (0000000101)

4 (0000000000000000000000000000111) (0000000111)

5 (0000000000000000000000000001001) (0000001001)

6 (0000000000000000000000000001011) (0000001011)

7 (0000000000000000000000000001101) (0000001101)

8 (0000000000000000000000000001111) (0000001111)

Декодирование осуществляется, как и при коррекции случайных ошибок кратности ¿=1 за 2п тактов: в течение первых п тактов в БВС вычисляется синдром, а принятое слово заносится в буферный регистр; в течение вторых п тактов происходит последовательное сравнение вычисленного синдрома с синдромом настройки селектора и исправление ошибочного символа с модификацией синдрома в БВС.

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

Сравнение образующих векторов ошибок и синдромов настройки селектора (табл. 2) показывает, что они совпадают в старших (правых) разрядах. Поэтому при наличии в г-р(Ь) младших (левых) разрядах синдрома нулевых символов (это несложно установить при помощи логического элемента "ИЛИ") в оставшихся справа старших р(Ь)

Рис. 3. Декодер БЧХ-кода для коррекции одиночных зависимых ошибок без модификации синдромов

разрядах будет присутствовать вектор пакета (модуля) ошибок врЪ). На рис. 4 приведена схема декодера с анализом состояний в младших и старших разрядах синдрома.

Анализ структурной схемы декодера на рис. 4 показывает, что она идентична соответствующей схеме декодера кода Файра. Отличие заключается в реализации БВС, так как порождающие полиномы кодов Файра и БЧХ различны.

В табл. 3 приведены параметры циклических БЧХ-кодов и укороченных кодов Файра, исправляющих одиночные пакеты ошибок одинаковой длины.

Рис. 4. Декодер БЧХ-кода, корректирующий одиночные зависимые ошибки длины р(Ъ)

Таблица 3. Параметры циклических БЧХ - кодов и укороченных кодов Файра, исправляющих одиночные пакеты ошибок

Длина Код (и, к) Число провероч- Скорость пере-

пакета Файра ных разрядов г дачи

Р БЧХ К=к/и

3 (29,21) 8 0,724

(31,21) 10 0,677

4 (127,113) 14 0,889

(127,113) 14 0,889

5 (253,239) 14 0,944

(255,239) 16 0,937

Анализ данных табл. 3 показывает, что при несколько большей избыточности (на 2 разряда) БЧХ-коды исправляют двойные случайные или одиночные зависимые ошибки, тогда как коды Файра корректируют только одиночные зависимые ошибки.

Совместная коррекция случайных или зависимых ошибок БЧХ-кодами

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

Рис. 5. Структурная схема декодера БЧХ-кодов для совместной коррекции случайных или зависимых ошибок

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

В табл. 4 приведено количество селектируемых комбинаций для БЧХ кодов с «=15, 31, 63, 127 при коррекции случайных модульных Ь и пакетных ошибок р.

Таблица 4. Количество селектируемых комбинаций для БЧХ кодов с n=15, 31, 63, 127

Длина кода n Число селектируемых комбинаций случайных ошибок Хг,(приг=1,2) Число селектируемых комбинаций модульных ошибок £ Ь¡ (при Ь=4 и менее) Число селектируемых комбинаций пакетных ошибок £ pi (при p=4 и менее)

15 120 45 103

31 496 120 231

63 2016 255 487

127 8128 465 999

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

Заключение

Проведенные исследования показали, что применяя классификацию ошибок для циклических БЧХ-кодов, можно корректировать БЧХ-кодами с кодовым расстоянием d=5 не только двойные случайные, но и одиночные зависимые ошибки на основе предложенных декодеров для коррекции одиночных зависимых ошибок. Это позволило разработать достаточно простой декодер БЧХ-кода для совместной коррекции двойных случайных или одиночных зависимых ошибок.

BURST ERRORS CORRECTION BY CYCLIC BCH-CODES

V.K. KONOPELKO, A.V. SHKILIONOK Abstract

Independent or burst errors correction are consider by cyclic BCH-codes based on error's classification and analysis states of divisor cyclic code decoder. There are offered correction method and decoders for independent or burst errors correction by cyclic BCH-codes.

Литература

1. Теория прикладного кодирования / Под ред. В.К. Конопелько. Минск, 2004. Т. 2.

2. Бояринов И.М., Кацман Г.Л. Методы построения и реализации линейных кодов, исправляющих пакеты ошибок: в кн. Информационный обмен в вычислительных сетях. М., 1980.

3. Шкиленок А.В. Конопелько В.К. // Докл. БГУИР. 2007. № 2 (18). C. 12-18.

4. Конопелько В.К., Смолякова О.Г., Шкиленок А.В. // Докл. БГУИР. 2007. № 6. C. 16-21.

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