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

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

CC BY
79
13
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ОШИБКИ / СТИРАНИЯ / КОРРЕКЦИЯ / ИДЕНТИФИКАЦИЯ / ДЕКОДЕР / СИНДРОМ

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

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

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

CORRECTION of erasures by codes with parity check symbol based on IDENTIFICATION of multiplicity of error in forward and inverse decoding channels

A method of correcting erasures based on the identification of the multiplicity of errors in two channels (forward and reverse) decoding is proposed. Found that the proposed method can reduce the decoding complexity in more than one order when compared to conventional linear search methods of correction of erasures.

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

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

2013 № 1 (71)

УДК 621.391.14

КОРРЕКЦИЯ СТИРАНИЙ КОДАМИ С ОБЩЕЙ ПРОВЕРКОЙ ЧЕТНОСТИ НА ОСНОВЕ ИДЕНТИФИКАЦИИ КРАТНОСТИ ОШИБОК В ПРЯМОМ И ИНВЕРСНОМ КАНАЛАХ ДЕКОДИРОВАНИЯ

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

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

Поступила в редакцию 23 октября 2012

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

Ключевые слова: ошибки, стирания, коррекция, идентификация, декодер, синдром.

Введение

В настоящее время для обеспечения высокой достоверности передачи данных (Рош пр — 10-10) существует необходимость в коррекции ошибок высокой кратности (¿ош > 10 двоичных символов). Увеличение кратности исправляемых ошибок ограничивается как возрастающей избыточностью передаваемой информации, как и вычислительной сложностью устройств декодирования (декодеров). На практике для коррекции ошибок высокой кратности широко используются методы коррекции стираний, поскольку для коррекции стираний требуется вдовое меньшая избыточность, чем для коррекции ошибок такой же кратности. Однако реализация декодеров, корректирующих стирания, сопряжена с высокими вычислительными затратами из-за необходимости решения систем уравнений в полях Галуа [1-4].

В данной статье предлагается метод коррекции стираний высокой кратности, требующий на порядок меньших вычислительных затрат на реализацию декодеров. Сущность метода кодирования состоит в формировании проверки на четность кодовых символов, в использовании двух регистров сдвига (ИО) для хранения символов принятого кодового слова (кодовой последовательности) в прямой и инверсной полярности кодовых символов, двух каналов декодирования соответствующих кодовых слов, в детерминированной замене в обоих каналах декодирования «стертых» кодовых символов двоичными символами с уровнем логической единицы и формирования синдромных символов на основе кодовых символов проверки на четность. Это позволяет выбирать для декодирования принятого кодового слова канал, где содержится меньшее число ошибок, вводимых при записи стертых кодовых символов, что значительно повышает скорость декодирования, так как исключаются операции перебора синдромов.

Коррекция стираний как ошибок

Известно, что код с минимальным кодовым расстоянием <а?0 = /с +1 позволяет исправлять стирания кратностью /с < й?0 -1 двоичных символов. В [3] предложен простой метод исправления стираний, используя линейный код. Сущность метода состоит в переборе всех возможных сочетаний стертых символов с последовательным вычислением синдрома до тех пор, пока синдром не будет равен нулю. Этот процесс требует больших временных затрат, что ограничивает его практическое применение.

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

В соответствии с [2, 5] вычислительная сложность декодирования данного метода составляет

Ол = [п-г/ 2 + р/ 2 +г-п+ 2Р+1 • г + р • 2рЧ • г 12 + 2р-г/2 +и-/72 + и] > « [2 п -г + р- 2Р+1 •г + (р + 2) ■ 2Г • г / 4| ■ с/, операций сложения.

(1)

Установлено, что для исправления стираний кратности ¿с=3 двоичных символов кодом с параметрами (п;к)=(8,4) аппаратурная сложность декодирования составляет Qс1 = 264 операций сложения.

С увеличением кратности исправляемых стираний будет увеличиваться и порядок системы уравнений, и, соответственно, увеличиваться сложность нахождения ее решений. Также будет увеличиваться и объем ПЗУ, необходимый для хранения всех возможных синдромов ошибок, что при высокой кратности ошибок снова приводит к высокой вычислительной сложности при декодировании.

Использование понятия «ошибок» при коррекции стираний позволяет записать на место «стертых» символов определенное значение символов, например, логическое «1». Тогда для уменьшения вычислительной сложности устройств коррекции можно использовать при декодировании прямые и инверсные слова, в которых на место стертых позиций кодовых символов установлены одни и те же значения данных символов. Таким образом, появляется возможность выбирать и корректировать слова, в которых имеется меньшее количество ошибок. Для возможности использования при декодировании прямых и инверсных слов необходимо, чтобы код имел единичное кодовое слово, например, «код Хэмминга», с проверкой на четность (транспарантный код) [1].

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

К каналам декодирования

Рис. 1. Запись определенных значений в стертые позиции прямого и инверсного декодирующего

кодового слова

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

Таблица 1. Количество несогласованных стираний в прямом и инверсном кодовых словах при кратности стираний гс =3

Кодовое слово Количество ошибок

Прямое слово А 3 2 1 0

Инверсное слово А 0 1 2 3

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

Коррекция стираний с идентификацией кратности ошибок прямых и инверсных кодовых слов

Использование двух ЯД для предварительной записи принятого кодового слова в прямом и инверсном кодах позволяет выбирать при декодировании кодовое слово с меньшим количеством оставшихся детерминированных «стертых» кодовых символов. Для выбора кодового слова с ошибками меньшей кратности необходимо ввести при декодировании дополнительную операцию идентификации кратности ошибок, что позволит сократить количество анализируемых синдромов по сравнению с методом, предложенным в работе [5].

Идентификация ошибок кратности ? = 3 можно выполнить на основе анализа состояний синдромов и их проверок на четность как в прямом, так и инверсном кодовых словах.

В табл. 2 приведены идентификационные параметры при коррекции трех детерминированных стираний: 51, 52 - значения синдромов в прямом и инверсном кодовых словах соответственно, 5ч1, 5ч2 - значения разрядов контроля четности в прямом и инверсном кодовых словах соответственно.

Таблица 2. Идентификационные параметры для ошибок кратности 1с=3

Кратность стираний 51 5ч1 5ч2 Корректируемое слово

прямое сло- инверсное

во слово

1=3 1=0 1 1 0 0 инверсное слово

t=2 1=1 1 0 1 1 инверсное слово

1=1 1=2 1 1 1 0 прямое слово

t=0 1=3 0 0 1 1 прямое слово

Используя дополнительный разряд контроля четности можно однозначно идентифицировать нечетные (1 = 1,3) (несогласованные) стирания от четных (1 = 2) и выбрать кодовое слово, в котором требуется исправить меньшее количество ошибок. Данный метод декодирования кодовых слов иллюстрируется блок-схемой алгоритма, представленной на рисунке.

На основе приведенного на рис. 3 алгоритма предложен декодер стираний с прямым и инверсным каналами, где БВДС - блок выбора детерминированных стираний кодовых символов, БВЧ - блок вычисления синдрома контроля на четность, БВС - блок вычисления синдрома кодового слова, БИА - блок идентификации и анализа, F' х - принятое кодовое слово, Я01Д02 - регистр сдвига прямого и инверсного кодового слова.

Для приведенного на рис. 3 декодера аппаратурная сложность составляет:

С)с2 = [2• и + 2-г + 2-г-п+ 2' — 1] • <7, операций сложения. (2)

Выигрыш в уменьшении вычислительной сложности декодирования по сравнению с методом, предложенным в [5], для кода длины п=8 и кратности исправляемых стираний 1с = 3 равен Ж = QJQ2 = 264/89 « 3.

Аналогичным образом можно осуществлять коррекцию стираний кратности 1с=5 двоичных символов. Для коррекции 1с = 5 необходимо использовать код с = 6, т.е. БЧХ-код с = 5 и дополненной проверки на четность (2):

я,

1 1

о о

0

1

1

Хранение кодового слова в прямом и инверсном регистрах

Записи значения «1» в стертых позицией в прямом и инверсном регистрах

Вычисление значения контроля на четность в прямом и инверсном регистрах

5 * и 5 я

Вычисление значения синдромов в прямом и инверсном регистрах

5 х и 5 х

Анализ и идентификация кратности ошибок и ? 2 прямого и инверсного слов

Выход декодера

Блок анализа выбирает инверсный регистр для декодирования

1

Коррекция ошибок кратности 1 в инверсном слове

>

Инвертируется корректируемое кодовое слова

Рис. 2. Алгоритм коррекции стираний с использованием прямого и инверсного каналов декодирования

А'(х) Пх)

БВДС

И01

ИС2

БВЧ

БВС

БВЧ > БВС

БИА

&

&

Дек. кодов. симв. Вых.

БУКД

0(х)

Рис.3. Декодер коррекций стираний с прямым и инверсным каналами Идентификационные параметры для стираний кратности Гс = 5 приведены в таблице. Таблица 3. Идентификационные признаки стираний кратности Гс=5

Начало

конец

1

С

С

С

N Кратность стираний 5, 5ч1 5? 5ч2 Корректируемое слово

прямое слово инверсное слово

1 Г=5 Гс =0 1 1 0 0 инверсное слово

2 и =4 Гс =1 1 0 1 1 -

3 Гс =3 Гс =2 1 1 1 0 -

4 Гс =2 Гс =3 1 0 1 1 -

5 Гс =1 Гс =4 1 1 1 0 -

6 Гс =0 Гс =5 0 0 1 1 прямое слово

В табл. 3 указано количество ошибок, вводимых в прямой и инверсный регистры сдвига: - вычисляемый синдром прямого слова, 5ч1 - указатель на четность прямого слова, 52 -вычисляемый синдром инверсного слова, 5ч2 - указатель на четность инверсного слова.

Из приведенных в табл. 3 данных видно, что для стираний кратности Гс=(4;1) и Гс=(2;3) идентификационные признаки одинаковы и равны (1 0 1 1), что не позволяет однозначно опре-

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

делить вид произошедших ошибок. Это наблюдается и при коррекции стираний типа ¿с=(3;2) и ¿с=(1;4). Следовательно, для идентификации ошибок кратности ¿с=5, требуется ввести и использовать дополнительные отличительные признаки.

Известно, что синдром одиночной ошибки соответствует столбцу проверочной матрицы, где ошибка произошла [1, 3]. Эта информация может быть применена при идентификации кратности несогласованных стираний тогда, когда идентификационные признаки одинаковы.

В табл. 4 указано количество несогласованных стираний, вводимых в прямой и инверсной регистр: - вычисляемый синдром прямого слова, 5ч1 - указатель на четность прямого слова, 52 - вычисляемый синдром инверсного слова, 5ч2 - указатель на четность инверсного слова, дополненные «1=0 - вычисленный синдром соответствует синдрому одиночной ошибки прямого кодового слова и 52=0 - вычисленный синдром соответствует синдрому одиночной ошибки прямого инверсного кодового слова.

Таблица 4. Дополненные идентификационные признаки стираний кратности Гс=5

N Кратность стираний 51 5ч1 52 5ч2 51= ^=1 52= 5<=1 Корректируемое слово

прямое слово инверсное слово

1 Гс=5 Гс=0 1 1 0 0 - - инверсное слово

2 Гс=4 Гс=1 1 0 1 1 0 1 инверсное слово

3 Гс=3 Гс=2 1 1 1 0 - - инверсное слово

4 Гс=2 Гс=3 1 0 1 1 - - прямое слово

5 Гс=1 Гс=4 1 1 1 0 1 0 прямое слово

6 Гс=0 Гс=5 0 0 1 1 - - прямое слово

Анализ комбинаций синдромов, представленных в табл. 4, показывает, что можно идентифицировать количество ошибок в каждом регистре. Рассмотрим это подробнее.

При введении 5-кратных несогласованных стираний в прямое слово, в инверсном слове ошибки отсутствуют. Следовательно, случай I отличается от всех остальных тем, что только для этого случая 52=0. Декодирование осуществляется по инверсному кодовому слову.

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

- если синдром 52=5^), то в инверсном слове произошла одна ошибка, декодирование осуществляется по этому слову;

- если синдром ^«м), то в прямом слове произошли две ошибки, а в инверсном слове - 3 ошибки; декодирование осуществляется по прямому слову.

Если имеются 3-кратные несогласованные стирания в прямом регистре, в инверсном регистре две ошибки. Тогда:

- если синдром 51=5^), то в прямом слове произошла одна ошибка; декодирование осуществляется по первому регистру;

- если то в первом регистре Я01 содержатся три ошибки, а во втором регистре Я02 - 2 ошибки; декодирование осуществляется по информации, содержащейся во втором регистре.

Таким образом, для идентификации стираний кратности ¿с=[1...5] достаточно использования такого дополнительного идентификационного признака разряда проверки на четность.

На рис. 5 приведено устройство коррекции стираний на основе рассматривающих выше решений, где БВДС - блок выбора детерминированных стираний кодовых символов, БВС -блок вычисления синдрома, БИА - блок идентификации и анализа, БУКД - блок управления каналами декодирования. На основе анализа значений синдромов и разряда контроля четности в блоке идентификации и анализа принимается решение об оптимальном алгоритме обработки принятого слова (в плане использования кодовых символов с прямого или инверсного канала) с коррекцией стертых символов на указанных позициях.

Рис. 5. Декодер стираний с прямым и инверсным каналами декодирования

Уменьшить затраты на идентификацию позволяет применение норм синдромов [6]. Например, для кода длины «=127 и кратности исправляемых стираний 4=5 количество анализируемых комбинаций можно уменьшить в С=84064/127=661,9 раз.

Заключение

В данной статье для коррекции многократных стираний предложено использовать идентификацию кратности несогласованных стираний в двух каналах декодирования и коррекцию ошибок малой кратности. На основе проведенного анализа идентификации всевозможных комбинаций стираний кратности Гс=(3-5) предложен метод идентификации кратности ошибок с применением идентификационных признаков, таких как наличие ошибок, значения синдромов и использования дополнительного разряда контроля четности. Установлено, что это позволяет уменьшить на порядок и более количество анализируемых синдромов, и тем самым значительно снизить временные затраты на исправление ошибок, а также и аппаратные затраты на реализацию устройств декодирования.

CORRECTION OF ERASURES BY CODES WITH PARITY CHECK SYMBOL BASED ON IDENTIFICATION OF MULTIPLICITY OF ERROR IN FORWARD AND INVERSE DECODING CHANNELS

N.A. SALAS, V.K. KONOPELKO, A.I. KOROLEV

Abstract

A method of correcting erasures based on the identification of the multiplicity of errors in two channels (forward and reverse) decoding is proposed. Found that the proposed method can reduce the decoding complexity in more than one order when compared to conventional linear search methods of correction of erasures.

Список литературы

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

2. ФамХакХоан, Конопелько В.К. // Докл. БГУИР. 2006. № 6. С. 19-22.

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

4. Кларк, Дж.мл. Кодирование с исправлением ошибок в системах цифровой связи. М., 1987.

5. Патент РБ № 3901. Устройство декодирования для исправления многократных стираний / Фам Хак Хоан, В.К. Конопелько.

6. Липницкий В.А., Конопелько В.К. Норменное декодирование помехоустойчивых кодов и алгебраические уравнения. Минск, 2007.

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