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

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

CC BY
177
15
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
итеративный код / кодовая и двухмерная идентификация ошибок / исправление стираний / ошибочное декодирование

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Фам Хак Хоан, О Г. Смолякова

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

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

CODEWORD AND TWO-DIMESIONAL IDENTIFICATION OF ERRORS WITHIN DECODING OF ITERATED CODES

In this article a method of iterated code’s decoding based on codeword and two-dimensional identification of errors is proposed, that allows to realize correcting capability of codes

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

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

2008 январь-март № 1 (31)

УДК 621.391.(075.8)

КОДОВАЯ И ДВУХМЕРНАЯ ИДЕНТИФИКАЦИЯ ОШИБОК В ДЕКОДИРОВАНИИ ИТЕРАТИВНЫХ КОДОВ

ФАМ ХАК ХОАН, О Г. СМОЛЯКОВА

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

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

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

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

Введение

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

Двухэтапное декодирование итеративных кодов

Пусть итеративные коды С=С1®С2 состоят из двоичных кодов С1 (внутренний код), С2 (внешний код) с кодовыми расстояниями 01, 02 соответственно. Корректирующая способность данных итеративных кодов равна:

¿х=[(0102-1)/2]. (1)

Пусть кодовые расстояния кодов С1, С2 равны соответственно: 01=5; 02=2, тогда ¿£=4. Известный алгоритм двухэтапного декодирования этого итеративного кода работает следующим образом. Код С1 корректирует одиночные, двукратные ошибки. При тройных и выше ошибках происходит ошибочное декодирование или отказ от него. В результате отказа от декодирования кода С1 слово стирается и устанавливается флаг стираний. На втором этапе исправ-

ляются стертые символы кодом С2 [1]. Некоторые конфигурации ошибок при использовании данного алгоритма не корректируются, хотя, согласно (1), должны быть исправлены. На рис. 1 представлены четыре конфигурации ошибок, которые не корректируются рассматриваемым методом декодирования.

(^1, W2) (^1, W2)

а) X X X (1, 3) б) X X X X (1, 4)

в) X X X (2, 2) г) X X X (2, 4)

X X

д) X X X V V е) X X X X V

ж) X X X V V з) X X X V V

Рис. 1. Некорректируемые конфигурации ошибок й=5, й?2=2):

а-г — исходные, д-з — оставляемые и вводимые ошибки (V) после коррекции кодом С1

При подобном декодировании конфигураций ошибок, приведенных на рис. 1,а, в, г, могут вводиться еще две ошибки, а конфигурация ошибок на рис. 1,б — одну ошибку (рис. 1,д-з). Это связано с тем, что невозможно различать трехкратную ошибку от двукратных ошибок или различать четырехкратную ошибку от одиночных кодом С1, имеющим ё\=5 [2]. В данном случае код С1 используется для коррекции одиночной и двойной ошибки, а не используется для идентификации кратности произошедших ошибок, что приводит к увеличению вероятности ошибочного декодирования кода С1.

Анализ показывает, что при повышении кратности корректируемых ошибок ^ увеличивается и число не корректируемых кодом конфигураций ошибок. Например, при ^1=5, й2=2, ¿£=4 и при а^=4, ^2=3, ¿£=5 отношение числа некорректируемых конфигураций ошибок к числу различных всевозможных конфигураций ошибок увеличивается с 16% до 26,9%. Уменьшить число некорректируемых конфигураций ошибок можно было бы путем повышения кратности корректируемых ошибок ¿к кодом С1, но при этом (при ¿к>2) сложность декодера С1 резко возрастает [1]. Для исключения этого недостатка рассмотрим методы декодирования итеративных кодов, основанные на идентификации кратности произошедших ошибок в таблице кодирования.

Декодирование итеративных кодов с кодовой идентификацией ошибок

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

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

слова с ошибками считаются стертыми на втором этапе и корректируются кодом С2. В данном случае конфигурации ошибок, приведенные на рис. 1,а, в, г, корректируются. Тем не менее конфигурации ошибок, содержащие двойные ошибки в двух строках (рис. 2,а, б, в) не корректируются, так как при этом существуют два стирания, которые кодом С2 с 02=2 не корректируются. Кроме того, конфигурация на рис. 2,г является неисправляемой, так как не идентифицируется четырехкратная ошибка кодом С1. Число некорректируемых конфигураций ошибок составляет 16% от общего числа конфигураций ошибок.

(^1, W2) (^1, W2)

а) X X О (2, 0) в) X X О О (2, 4)

X X О О О X X

б) X X О (2, 2) г) X X X X (1, 4)

О X X

Рис. 2. Некорректируемые конфигурации с кодовой идентификацией ошибок (О — вводимые стертые символы)

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

При использовании кодов С1, С2 с о^=6; о?2=2, ¿£=5 возможны два способа идентификации: ¿к=1 и ¿и=4 или ¿к=2 и ¿и=3. Пусть осуществляются коррекция одиночных, двойных и идентификация тройных ошибок кодом С1 (¿к=2 и ¿и=3). Идентифицируемые слова с трехкратными ошибками считаются стертыми на втором этапе и корректируются кодом С2 (их не требуется корректировать кодом С1). В данном случае существуют только четыре некорректируемых конфигурации ошибок (рис. 3). Это связано с тем, что невозможно различать четырехкратную ошибку от двойных, ошибку кратности пять от одиночных кодом С1. Отношение числа не корректируемых конфигураций ошибок к числу различных всевозможных конфигураций ошибок составляет 7,7%.

(^1, W2) (^1, W2)

а) X X X X О (1, 4) б) X X X X X (1, 5)

в) X X X X О (2, 5) г) X X X X О (2, 3)

О О О О X О О О X О

Рис. 3. Некорректируемые конфигурации с идентификацией ошибок при 4=2 и 4=3 (О — вводимые стертые символы)

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

При использовании коррекции одиночных ошибок и идентификации ошибок кратности два, три, четыре (¿к=1 и ¿и=4) конфигурации ошибок, приведенные на рис. 3,а, в, г, корректируются. Однако конфигурации ошибок, содержащие две строки, в которых произошли идентифицируемые ошибки, не корректируются (рис. 2,а,б,в и рис. 4,а-ж). Это обусловлено тем, что появляются два стирания, которые не исправляются кодом С2, так как а?2=2 и происходит отказ от декодирования итеративного кода. Конфигурация на рис. 4,з является неисправляемой, поскольку не идентифицируется ошибка кратности пять кодом С1. В данном случае 12 из 52 все-

возможных конфигураций — неисправляемые, т.е. 23% числа всевозможных конфигураций. Тем не менее сложность реализации декодера С1 уменьшается, так как осуществляется коррекция лишь одиночных ошибок вместо коррекции одиночных и двойных ошибок, как в предыдущем случае.

w2) w2)

а) X X X (1, 4) д) X X (3, 1)

X X X X

X

б) X X X (2, 3) е) X X (3, 3)

X X X X

X

в) X X X (2, 5) ж) X X (3, 5)

X X X X

X

г) X X (3, 1) з) X X X X X (1, 5)

X X

X

Рис. 4. Некорректируемые конфигурации с пятью ошибками с кодовой идентификацией

Рассмотрим далее, как сказывается на числе некорректируемых конфигураций увеличение ¿2 за счет уменьшения ¿1 при постоянной кратности корректируемых ошибок ¿£. Пусть составляющие коды С1, С2 имеют ¿1=4, ¿2=3, ¿£=5. При этом код С1 может различать четные от нечетных ошибок, а код С2 может корректировать два стирания. При использовании кодовой идентификации ошибок конфигурации, содержащие ошибки кратности 3, 4, 5, не корректируются. Это связано с тем, что не обнаруживается ошибка кратности 4, 5 и невозможно различать трехкратные ошибки от одиночных кодом С1 с ¿1=4. В данном случае 14 из 52 всевозможных конфигураций ошибок не корректируются, что составляет 26,9% от общего числа конфигураций ошибок. Это примерно равно предыдущему случаю, но при этом более сложен декодер стираний кода С2.

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

Отношение числа не корректируемых конфигураций к общему числу конфигураций ошибок — п в зависимости от й\,

¿£=4 ¿£=5 ¿£=6 ¿£=7 ¿£=8 ¿£=9

¿1=5 ¿1=6 ¿1=4 ¿1=7 ¿1=8 ¿1=5 ¿1=4 ¿1=6 ¿1=5

¿2=2 ¿2=2 ¿2=3 ¿2=2 ¿2=2 ¿2=3 ¿2=4 ¿2=3 ¿2=4

¿к=1 16% 23% 26,9% 31,5% - 24,1% 37,7% 28,2% 32,5%

п ¿к=2 16% 7% - 7,4% 8,2% 38,6% - 22,4% 50%

¿к=3 - - - 10,2% 15% - - - -

Анализ данных таблицы показывает, что при помощи кодовой идентификации ошибок можно значительно уменьшить количество некорректируемых итеративным кодом конфигураций ошибок (например, при ¿1=8, ¿2=2 и ¿к=2, ¿и=5, п уменьшается с 15 до 4,1%). Тем не менее при уменьшении кратности корректируемых ошибок ¿к кодом С1 происходит увеличение количества не корректируемых итеративным кодом конфигураций ошибок

Декодирование итеративных кодов на основе кодовой и двухмерной идентификации ошибок

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

го недостатка предлагается ввести дополнительные параметры W2 — число (вес) ошибочных строк и столбцов в таблице кодирования. С точки зрения итеративного кода классификация по весам (w1, W2) является двухмерной идентификацией ошибок, содержащихся в таблице принятых слов. Эти параметры можно получить на начальном этапе декодирования путем обнаружения ошибок в строках и столбцах кодами С1, С2 и использования этих данных на следующих этапах декодирования.

Рассмотрим декодирование итеративного кода, состоящего из кодов С1, С2 с 01=5, о?2=2, на основе кодовой и двухмерной идентификации ошибок. При использовании двухмерной идентификации ошибок конфигурации некорректируемых ошибок известными методами декодирования, приведенные на рис. 2,а-г характеризуются весами W2) = (2, 0); (2, 2); (2, 4); (1, 4) соответственно. Конфигурация ошибок с весами W2) = (1, 4) не пересекается с другими корректируемыми конфигурациями. Конфигурации ошибок с весами w2) = (2, 0); (2, 2); (2, 4) пересекаются с ними. На рис. 5 представлены все конфигурации ошибок, имеющие веса W2) = (2, 0); (2, 2); (2, 4).

^1, W2) ^1, W2) ^1, W2)

а) X (2, 0) в) X (2, 2) е) X X X (2, 4)

X X X

б) X X (2, 0) г) X X X (2, 2) ж) X X (2, 4)

X X X X X

д) X X (2, 2)

X X

Рис. 5. Конфигурации ошибок с w2) = (2, 0); (2, 2); (2, 4) при 4=5, ё2=2

Предположим, что код С1 используется для коррекции одиночных ошибок ¿к=1 и идентификации двойных, тройных ошибок ¿и=3. Обозначим число строк, в которых произошли идентифицируемые ошибки, через V. Параметр V определяет число исправляемых стираний кодом С2 на втором этапе декодирования. При использовании кодовой идентификации ошибок по признаку V можно отличать друг от друга конфигурации с одним и тем же весом ^^ W2). Для конфигурации ошибок с ^^ W2) = (2, 0) на рис. 5,а, б имеется: v=0, 2 соответственно. Конфигурации на рис. 5,в-д характеризуются w2) = (2, 2) и v=0, 1, 2; конфигурации на рис. 5,е, ж — w2) = (2, 2) и v=1, 2 соответственно. Следовательно, с использованием кодовой и двухмерной идентификации ошибок можно разделить всевозможные конфигурации ошибок в таблице кодирования на отдельные подмножества, для которых параметры w2) и V не совпадают между собой. Тем самым можно отдельно обработать данные подмножества, и полностью реализовать корректирующую способность итеративного кода.

Из сказанного выше следует правило декодирования итеративного кода на основе кодовой и двухмерной идентификации ошибок.

1. Вычисляются синдромы для всех принятых строк и столбцов.

2. Определяется число ошибочных строк столбцов (путем обнаружения ошибок кодами С1, С2).

3. По весам W2) разделятся всевозможные конфигурации ошибок на подмножества.

4. При W2) = (1, 1) или w1=4 осуществляется коррекция одиночных ошибок кодом

С1.

5. При w2) = (1, 2), (1, 3), (1, 4), стирается строка, содержащая обнаруживаемые ошибки и переходим к п.8.

6. При w1=2 или w1=3 осуществляются коррекция одиночных ошибок и идентификация двойных, тройных ошибок кодом С1. Если существуют две строки, в которых произошли идентифицируемые ошибки (^=2) (тогда появляются два стирания, которые не исправляются кодом

С2 с d2=2), то осуществляется коррекция одиночных, двойных ошибок кодом С1, иначе переходим к п.7.

7. Стирается строка, в которой произошли идентифицируемые ошибки.

8. Исправляется одно стирание в столбцах кодом С2.

При использовании предложенного метода декодирования итеративного кода с d1=6, d2=2 все возможные конфигурации ошибок кратности t2=5 также корректируются.

Заключение

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

CODEWORD AND TWO-DIMESIONAL IDENTIFICATION OF ERRORS WITHIN

DECODING OF ITERATED CODES

PHAM KHAC HOAN, O.G. SMOLYAKOVA Abstract

In this article a method of iterated code's decoding based on codeword and two-dimensional identification of errors is proposed, that allows to realize correcting capability of codes.

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

Литература

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

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

3. Конопелько В.К., ФамХакХоан. // Докл. БГУИР. 2007. № 1. С. 55-60.

4. Фам Хак Хоан, Конопелько В.К., Тиволович А.Д. // Докл. БГУИР. 2007. № 5. С. 3-8.

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