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

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

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

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

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

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

TWO-STAGE DECODING ITERATED CODES AND IDENTIFICATION MULTIPLICITIY OF ERRORS

In this article two-stage errors control using iterated codes is considered. It is based on errors correction and identification multiplicity of errors by inner code and erasures correction by outer code

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

2007

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

январь- март

№ 1 (1 7)

УКД 621.391(075.8)

ДВУХЭТАПНОЕ ДЕКОДИРОВАНИЕ ТАБЛИЧНЫХ КОДОВ И ИДЕНТИФИКАЦИЯ КРАТНОСТИ ОШИБОК

В.К. КОНОПЕЛЬКО, ФАМ ХАК ХОАН

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

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

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

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

Введение

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

Структура и декодирование табличных кодов

Табличный код С=С1®С2 представляется собой таблицу размерности п^п2, где каждая строка является кодовым словом длины п1 кода С1 (внутреннего кода), а столбец — кодовым словом длины п2 кода С2 (внешнего кода) (рис. 1).

Рис. 1. Структурная схема табличного кода

Известно, что кодовое расстояние табличного кода равно произведению кодовых расстояний кодов С1, С2, т.е. [1-3]. Поскольку два кода С1, С2 используют одни и

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

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

X Ф

X X *

X *

в * а

• V

X X *

V

* * б

• V

• • V

• V

V V

в

«'2=2 д

Рис. 2. Карты ошибок и коррекция ошибок табличным кодом

Видно, что на первом этапе декодирования не имеется возможности частичной коррекции ошибок. Это обусловлено тем, что коды С1, С2 не различают (не идентифицируют) по виду синдромов однократных ошибок от двукратных. Кроме того, остается весьма высокой сложность декодирования из-за проблемы селектора (сложности вычисления вектора ошибок по виду синдромов кодов С1, С2) при больших кодовых расстояниях dь ё2 и длинах кодов "1, "2.

В системах цифрового звука и видеозаписи оптических компакт-дисков, мини- дисков и других систем [2, 4], как правило, декодирование табличных кодов также выполняется в два этапа. На первом этапе декодер кода С1 не только корректирует ошибки небольшой кратности ^ в каждой строке таблицы (т.е. частично устраняет ошибки), но и помечает (идентифицирует) строки (слова кода С1), у которых число ошибок Эти помеченные строки получили название стираний и являются стертыми разрядами столбцов кода С2, декодируемого на втором этапе. Благодаря этому, местоположение стертых разрядов в коде С2 известно, но не известно их истинное состояние. Эта дополнительная информация о местонахождении стертых разрядов в словах кода С2 позволяет в два раза эффективнее использовать корректирующие возможности кодов [1, 2], т.е., например, при использовании кода с d=5 можно исправить четыре стирания ¿с=4 вместо двух ошибок ¿0=2. Алгоритм двухэтапного декодирования табличных кодов приведен на рис. 3.

На втором этапе декодирование ошибок заменяется на декодирование стираний, которое можно осуществить достаточно просто с использованием переборной процедуры исправления стираний, а именно: стертые символы устанавливаются в состояния "0" и вычисляется синдром 5". Если 5=0, то принимается, что значения стертых символов установлены правильно. В противном случае, один из стертых символов заменяется на "1" и вновь выполняется вычисление 5 и т.д., пока соответствующий синдром не будет равен нулю [3]. Очевидно, что при больших кратностях стираний ¿с это требует высоких временных затрат как из-за перебора числа состояний стираний, так и задержек на вычисления синдромов.

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

Г^с п.1г +1

суммирования и сравнения г разрядных чисел пропорционально Сл = 2 с и не зависит

о

от длины слова п. Это значительно меньше сложности селектора СО С" при коррекции

1=0

того же числа ошибок ¿с=0.

Рис. 3. Алгоритм двухэтапного декодирования табличных кодов

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

Идентификация и коррекция ошибок линейными кодами

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

Линейный код с кодовым расстоянием й может одновременно корректировать ¿к ошибок и идентифицировать ошибок, для которых

й>^и+1, где ¿и>к. (1)

Это следует из следующего предложения.

Предложение. Пусть С — линейный (п, к) код с кодовым расстоянием й. Синдромы векторов, содержащих tк ошибок, отличаются от синдромов векторов, содержащих tи ошибок, если

й>^и+1. (2)

Доказательство. Пусть е! — вектор пространства Еп веса tк, е2 — вектор пространства Еп веса Предположим, что синдромы «(еО, ^(е2) совпадают. Но тогда ^(е!-е2)=^(е!)-^(е2)=0, то есть, е1-е2 — кодовое слово веса не больше чего быть не может. Предложение

доказано.

Из предложения следует, что, для того чтобы использовать идентификацию ошибок наряду с коррекцией, кодовое расстояние должно быть не менее 4. Например, удлиненный код Хемминга с й=4 может исправлять одиночные ошибки и одновременно идентифицировать двойные ошибки от одиночных ошибок по виду синдрома. В таблице представлены максимальные идентифицируемые кратности ошибок tи для различных кодовых расстояний и корректируемых ошибок 4 соответственно. Из таблицы следует, что с уменьшением числа корректируемых ошибок при постоянном кодовом расстоянии й происходит увеличение кратности идентифицируемых кодом ошибок

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

й 4 5 6 7 8 9 10

к 1 1 1 2 1 2 1 2 3 1 2 3 1 2 3 4

2 3 4 3 5 4 6 5 4 7 6 5 8 7 6 5

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

этом допустимое число стертых слов (строк таблицы) ¿с определяет кодовое расстояние й2 кода С2: й2=с+1.

Для идентификации кратности ошибок можно воспользоваться недавно разработанной теорией норм синдромов для БЧХ и РС кодов. Для этих кодов по норме синдрома N можно определить, какой класс ошибок соответствующей кратности имеется и, следовательно, идентифицировать кратность ошибок. Например, для БЧХ кода с кодовым расстоянием й=5,

задаваемого проверочной матрицей H =

а , а

,3z

синдром S=

а , а

Классы

корректируемых одиночных и двойных ошибок характеризуются нормой синдрома N=(j-3i) mod n. Для одиночных ошибок норма не зависит от положения ошибок и равна N=0, для двойных — нормы N постоянные, различные и не равны нулю в соответствующем классе ошибок. Если, например, синдром S^0 и вычисленная норма N-фО, то можно считать, что произошли ошибки кратности два или три. При этом достаточно селектировать только нормы N, а не все возможные комбинации синдромов. Кроме того, можно различать между собой часть трехкратных, модульных длины 4, сплошных пакетных ошибок от двукратных [6].

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

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

Вычислить синдромы дня кодов С1, С2

Идентификация числа ошибочных СЛОВ 1Ц. IV2

Второй вариант декодирования

Анализ состояний флагов wb w2

Первый вариант декодирования

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

+ i

Исправление стираний кодом С2 Исправление ошибок кодом С1

Рис. 4. Алгоритм декодирования с идентификацией весов кодами С1, С2

Анализ показал, что для принятия подобного решения информации об обнаружении и идентификации ошибок, стираниях недостаточно, необходима дополнительная информация о суммарном числе ошибочных слов (весов) w1 и в кодах С1 и С2 (это легко вычисляется по £/0). Все 4-кратные ошибки исправляются для ^1=2, ^2=2 (рис. 2,д) при использовании кодов С1 и С2 с кодовыми расстояниями й1=5, й2=2 и й^=10, если первыми будут декодироваться стирания кодом С2, а затем ошибки кодом С1 (рис. 2,е). Возможен и второй вариант декодирования: первым обрабатывается слово кода С1 с одиночной ошибкой, а затем оставшиеся стирания корректируются кодом С2 (это реализуемо, поскольку синдромы 511 одиночных ошибок не совпадают с синдромами £3 тройных ошибок 511 / £3для двух ошибочных слов кода С1). Алгоритм декодирования с идентификацией числа ошибочных строк и столбцов в коде приведен на рис. 4.

Заключение

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

TWO-STAGE DECODING ITERATED CODES AND IDENTIFICATION

MULTIPLICITIY OF ERRORS

V.K. KONOPELKO, PHAM KHAC HOAN Abstract

In this article two-stage errors control using iterated codes is considered. It is based on errors correction and identification multiplicity of errors by inner code and erasures correction by outer code.

Литература

1. Конопелько В.К., Лосев В.В. Надежное хранение информации в полупроводниковых запоминающих устройствах. М., 1986.

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

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

4. Цифровая звукозапись / Под ред. Дж. Масеса и М. Веркаммена. М., 2004.

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

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

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