_Доклады БГУИР_
2009 № 1 (39)
ИНФОРМАТИКА
УДК 621.391.(075.8)
ОПТИМИЗАЦИЯ ПАРАМЕТРОВ ИТЕРАТИВНЫХ КОДОВ ПРИ АДАПТИВНОМ ТРЕХЭТАПНОМ ДЕКОДИРОВАНИИ
В.К. КОНОПЕЛЬКО, ФАМ ХАК ХОАН, О.Г. СМОЛЯКОВА
Белорусский государственный университет информатики и радиоэлектроники П. Бровки, 6, Минск, 220013, Беларусь
Поступила в редакцию 11 июля 2008
Рассматривается оптимизация параметров составляющих кодов при адаптивном трехэтап-ном декодировании итеративных кодов на основе двухмерной идентификации ошибок.
Ключевые слова: итеративный код, двухмерная идентификация ошибок, исправление стираний, адаптивное трехэтапное декодирование.
Введение
В телекоммуникационных системах широко применяются итеративные коды для коррекции многократных ошибок. Анализ показал, что известные методы декодирования итеративного кода без или с идентификацией кратности произошедших ошибок не полностью реализуют его потенциальную корректирующую способность. При большой кратности корректируемых ошибок итеративным кодом (¿^>7; а?2>2) более 29% от общего числа конфигураций ошибок не корректируется. Это объясняется тем, что идентификации ошибок кодом С1 не достаточно для реализации хотя имеется возможность использовать идентификацию ошибок и кодом С2 [1, 2]. Ниже рассматривается метод трехэтапного декодирования итеративных кодов на основе классификации ошибок по числу ошибочных строк, столбцов.
Трехэтапное декодирование итеративных кодов на основе двухмерной идентификации ошибок
Известно, что итеративный код С=С1®С2, состоящий из кодов С1 (внутренний), С2 (внешний) с кодовыми расстояниями соответственно, имеет корректирующую способ-
ность равную:
¿х=[(^2-1)/2]. (1)
Сущность метода трехэтапного декодирования итеративных кодов состоит в получении на начальном этапе декодирования информации о числе ошибочных слов по двум координатам таблицы кодирования кодами С1, С2 и использовании этих данных на следующих этапах декодирования. Таким образом, с помощью обнаружения ошибок в словах кодов С1, С2 вводятся параметры '2), определяющие число (вес) ошибочных строк и столбцов в таблице кодирования и использование ее на следующих этапах декодирования (рис. 1).
С точки зрения итеративного кода классификация по весам ('1, '2) является двухмерной кодовой идентификацией ошибок, содержащихся в таблице принятых слов. Применение двухмерной идентификации при декодировании итеративных кодов позволяет сократить число анализируемых конфигураций ошибок по сравнению с одномерной кодовой идентификацией ошибок внутренним кодом С1. Рассмотрим это подробнее.
БВС
код С1 код С2
0-й этап Блок вычисления w2) кодами С1, С2 и их анализ
1-й этап Блок декодирования кода С1 (С2)
2-й этап шуктуиа трехэ Блок декодирования кода С2 (С1) шиною декодирования итеративны]
Рис. 1. С
В таблице приведены число Л всевозможных различных конфигураций ошибок, содержащих г ошибок и число Д^) всевозможных различных конфигураций ошибок, содержащих ^ ошибок и менее при классификации по весам ^1, W2) и распределению ошибок в строках, столбцах. Данные получены с помощью программы моделирования в МЛТЬЛБ 7.0. При этом использовалось следующее равенство:
ж) = !./;.
1=1
(2)
Зависимость количества конфигураций ошибок / и /(¿Е) от числа корректируемых ошибок £ и
г (Ь) 2 3 4 5 6 7 8 9 10 11 12
Л 3 6 15 28 64 116 238 431 821 1435 2640
Лк) 4 10 25 53 117 233 471 902 1723 3158 5798
Анализ данных в таблице показывает, что при повышении кратности корректируемых ошибок количество всевозможных конфигураций ошибок заданной кратности увеличивается, однако не превышает 2':£<2'. Следовательно, справедлива следующая верхняя граница для числа всевозможных конфигураций ошибок Д^):
к
Ж) = <2 + 22 +... + = 2Ч+1 -2. (3)
¡=1
Из этого следует, что число всевозможных конфигураций, содержащих ^ ошибок, меньше 2' +1 и не зависит от длины составляющих кодов, а зависит от их произведения ск с/]С/2. Например, при ^1=5, й2=3 и ^1=4, й2=4 в обоих случаях число различных конфигураций ошибок, содержащих семь ошибок и менее, равно Л(7)=233.
Например, на рис. 2 приведены всевозможные конфигурации, содержащие 2 и 3 ошибки (имеются 3, 6 конфигураций, содержащих 2 и 3 ошибки соответственно:Л (2)=3;Л (3)=6).
Таким образом, при двухмерной идентификации ошибок число подмножеств Д^) можно существенно сократить по сравнению с одномерной идентификацией. Действительно, при использовании норменного метода для идентификации ошибок для кода длины п число норм
синдромов, соответствующих ошибкам кратности самое большее равно \/ и ^ (и резко
г=1
растет с увеличением и п (например, при п=63 и ¿£=3, имеются 662 различных нормы синдромов, примерно в 110 раз больше, чем Д^)). Это дает возможность различать некорректируемые ранее конфигурации ошибок
а) X X в) X д) X X ж) X и) X
X X X X
X X
б) X г) X X X е) X X з) X
X X X
X
Рис. 2. Конфигурации с 2 и 3 ошибками
На рис. 3 представлены графики зависимости отношения п от й2 и в случаях двух-этапного декодирования, жесткого трехэтапного декодирования без и с идентификацией ошибок кодом С1.
Рис. 3. Зависимость п(%) от ((й1, ^2)=(5, 2); (6, 2); (7, 2); (5, 3)): а — при двухэтапном декодировании; б — при трехэтапном декодировании без идентификации; в — при трехэтапном декодировании с идентификацией
Как видно из рис. 3, когда ¿£<5 (а?£<12), жесткое трехэтапное декодирование без идентификации ошибок (или только используется идентификация ошибок путем проверки на четность) более эффективно. Это обусловлено тем, что если используется идентификация ошибок кодом С1 (^>5), то число стираний, исправляемых кодом С2, увеличивается, но при а?£<12 код С2 обладает небольшой способностью по коррекции стираний (а?2=2). При ¿£>6 жесткое трехэтапное декодирование с идентификацией кратности ошибок позволяет существенно уменьшить отношение п по сравнению с жестким трехэтапным декодированием без идентификации ошибок примерно на 10%. Анализ показывает, что трехэтапное декодирование итеративных кодов на основе двухмерной идентификации ошибок позволяет уменьшить число некорректируемых конфигураций ошибок к их общему числу на 10-20%, а также вероятность ошибочного декодирования по сравнению с двухэтапным декодированием с идентификацией ошибок [3, 4]. Тем не менее при повышении количества корректируемых ошибок (при ¿£>7) 25% от общего числа конфигураций ошибок не корректируются. Эти недостатки связаны с тем, что методы двух- и трехэтапного декодирования итеративных кодов имеют жесткое ограничение как по порядку декодирования составляющих кодов, так и по кратности корректируемых ошибок внутренним кодом и количеству исправляемых стираний внешним кодом. Ниже рассматривается применение метода трехэтапного декодирования с двухмерной идентификацией ошибок при адаптивной обработке итеративных кодов.
Адаптивное трехэтапное декодирование итеративных кодов
При адаптивном трехэтапном декодировании итеративных кодов в зависимости от весов первым декодироваться может любой из кодов С1, С2. В данном случае возможны
следующие два режима декодирования итеративных кодов в соответствии с различными методами обработки составляющих кодов С1, С2.
1. Осуществляются коррекция и кодовая идентификация кодом С1, исправление стираний кодом С2 (первый режим).
2. Осуществляются коррекция и кодовая идентификация кодом С2, исправление стираний кодом С1 (второй режим)
При этом декодирование может осуществляться следующим образом.
1. Вычисляются синдромы для всех принятых строк и столбцов.
2. Определяется число ошибочных строк ^1), столбцов (путем обнаружения ошибок в них кодами С1, С2).
3. По весам W2) разделяются всевозможные конфигурации ошибок на подмножества, и происходит управление режимами работы.
4. Осуществляются коррекция и идентификация ошибок кодами С1 или С2.
5. Стираются строки (столбцы), в которых содержатся идентифицируемые ошибки.
6. Исправляются стертые символы кодом С2 (С1).
На рис. 4 представлена структурная схема декодера при использовании адаптивного трехэтапного декодирования итеративных кодов.
Рис. 4. Структурная схема декодера при использовании адаптивного трехэтапного декодирования итеративных кодов
Рассмотрим декодирование итеративного кода, состоящего из кодов С1, С2 с кодовыми расстояниями 0^=0^=4, г^=7; отметим, что коды С1, С2 позволяют различать нечетные ошибки от четных. Согласно анализу весов W2) всех конфигураций ошибок, предлагается следующее правило декодирования.
1. Вычисляются синдромы для всех принятых строк и столбцов.
2. Определяется число ошибочных строк ^1), столбцов (путем обнаружения ошибок кодами С1, С2).
3. По весам ^1, W2) разделяются всевозможные конфигурации ошибок на подмножества.
4. При Wl>W2 и ^1, W2)^(4, 3); (5, 3); (5, 4) осуществляется первый режим декодирования.
5. При w1<w2 и 4); (3, 5) и (4, 5) осуществляется второй режим декодирования.
6. При w2)=(3, 3); (3, 4); (3, 5) стираются все строки, в которых обнаруживается ошибка кодом С1, затем исправляются три стирания кодом С2.
7. При w2)=(4, 3); (5, 3) стираются все столбцы, в которых обнаруживается ошибка кодом С2, затем исправляются три стирания кодом С1.
8. При w2)=(1, 1); (2, 2); (6, 6); (7, 7) можно использовать первый (или) второй режим декодирования.
9. При w2)=(4, 4); (4, 5); (5, 4); (5, 5) происходит отказ от декодирования.
Анализ показывает, что при использовании данного правила декодирования 86% от общего числа конфигураций с 7 ошибок и менее гарантированно корректируются. Число некорректируемых конфигураций ошибок к их общему числу п уменьшается примерно в 2 раза по сравнению с жестким трехэтапным декодированием. Большинство некорректируемых конфигураций ошибок с w2)=(4, 4); (4, 5); (5, 4) или (5, 5) можно исправить при использовании еще дополнительной информации о числе строк и столбцов, содержащих четные ошибки.
По аналогии рассмотрим декодирование итеративного кода, состоящего из кодов С1, С2 с 0^=0^=5, ¿£=12. Коды С1, С2 позволяют корректировать одиночные ошибки и идентифицировать двойные, тройные ошибки. Анализ показывает, что при w1>4 и w2<3 можно считать, что происходят ошибки кратности три и менее в строках. При этом осуществляется первый режим декодирования: корректируются одиночные и идентифицируются двойные, тройные ошибки кодом С1, стираются строки с идентифицируемыми ошибками, и осуществляется их исправление кодом С2 как стираний. По аналогии при w2>4 и w1<3 осуществляется второй режим декодирования. При w1=4 можно корректировать ошибки следующим образом: стираются все строки с обнаруживаемыми ошибками, затем исправляются 4 стирания (или менее) кодом С2. По аналогии при w2=4 вначале декодируется код С2, а затем код С1.
При адаптивном трехэтапном декодировании число некорректируемых конфигураций ошибок значительно уменьшается по сравнению с двухэтапным декодированием с идентификацией ошибок. В данном случае отношение числа некорректируемых конфигураций ошибок к их общему числу уменьшается с 52 до 18%. Кроме того, при использовании первого (второго) режима декодирования, происходит отказ от декодирования конфигураций ошибок, в которых существуют пять или шесть слов с идентифицируемыми ошибками; их можно корректировать при введении дополнительных режимов декодирования.
Проведенный анализ показывает, что для полной реализации корректирующих возможностей итеративных кодов необходимо выбирать оптимальный режим декодирования в зависимости от весов w2): без или с кодовой идентификацией ошибок, а также выбирать кратность корректируемых ошибок ¿к кодом С1.
Оптимизация параметров составляющих кодов при адаптивном декодировании
Очевидно, что при адаптивном трехэтапном декодировании итеративных кодов в зависимости от весов w2) под соответствующую конфигурацию ошибок необходимо выбрать оптимальный режим декодирования с целью уменьшения числа некорректируемых конфигураций ошибок. Кроме того, как отмечалось выше, при двухмерной идентификации ошибок число конфигураций ошибок только зависит от Поэтому возникает проблема оптимизации параметров составляющих кодов (их кодовые расстояния), а также кратности корректируемых ошибок и кратности идентифицируемых на втором этапе декодирования. Для упрощения реализации составных декодеров в качестве кодов С1, С2 будем использовать одинаковые коды с 01=02. При этом имеется возможность использования двух декодеров для коррекции и идентификации ошибок, коррекции стираний, подключаемых в зависимости от выбранного режима декодирования. Это приводит к малым аппаратурным затратам на устройства подключения декодеров кодов С1, С2.
Оценим эффективность по реализации корректирующей возможности итеративных кодов при адаптивном трехэтапном декодировании. Число гарантированно корректируемых ошибок при этом равно:
Гг=ШШ [(Гк1+1)^2-1, (Гк2+1)^1 1],
(4)
где гк1, гк2 — кратности корректируемых ошибок на первом этапе кодом С1, С2. Предположим, что Например, при ^1=^2=4 на первом этапе осуществляются коррекция одиночных оши-
бок Гк1=Гк2=1 и идентификация двойных ошибок. При адаптивном трехэтапном декодировании все конфигурации с 6 ошибками и менее гарантированно корректируются, это составляет 50% от общего числа конфигураций ошибок. Кроме того, 95% от общего конфигураций с 7 ошибками корректируются. При повышении кодовых расстояний d1, с целью упрощения декодеров уменьшается кратность корректируемых внутренним кодом ошибок на первом этапе. При этом увеличивается кратность идентифицируемых ошибок, т.е., на втором этапе увеличивается число стираний, а следовательно, необходимо увеличить кодовое расстояние внешнего кода С2 [4, 5]. В общем случае для оценки эффективности реализации корректирующей возможности необходимо рассматривать и отношение Гг/Гу, и сложность составляющих декодеров. В табл. 2 приведены оптимальные параметры d1 и а также Гк2 при заданной Гу.
Таблица 2. Оптимальные параметры й\, (12, при заданной
Гу 4 5 6 7 8 9 10 11 12
d1 3 4 7 4 6 5 7 6 5
d2 3 3 2 4 3 4 3 4 5
Гк1 1 1 1 1 1 1 2 2 1
Гк2 1 1 0 1 1 1 1 1 1
Например, при Гу=9 необходимо выбрать коды С1, С2 с ^1=5, а?2=4 и Гк1=Гк2=1, т.е., на первом этапе осуществляются коррекция одиночных и идентификация двойных ошибок (а еще тройных ошибок для кода С1 с а^=5). В данном случае двухэтапное и адаптивное трехэтап-ное декодирование итеративных кодов позволяют корректировать все конфигурации с 5 и 7 ошибками соответственно. При двухэтапном декодировании конфигурации с 6 ошибками, в которых происходят тройные ошибки в двух строках могут приводить еще двум ошибкам в каждой из этих строк, так как по синдрому невозможно различать тройные от двойных ошибок кодом С1. На втором этапе две ошибки могут появляться в некотором столбце, которые не корректируются кодом С2 с а^=4, и следовательно, не осуществляется гарантированная коррекция рассмотренных конфигураций. В то же время при адаптивном трехэтапном декодировании, конфигурации с 7 ошибками гарантированно корректируются, поскольку они либо не пересекаются, либо пересекаются, но при этом существует не более 3 строк, в которых содержатся идентифицируемые (двойные, тройные) ошибки. По аналогии при ^1=^2=5, все конфигурации с Г<9 ошибок корректируются, так как для этих конфигураций существует не более 4 стираний, которые исправляются на втором этапе декодирования (кроме того, 94% от общего числа конфигураций с 10 ошибками корректируются). При двухэтапном декодировании конфигурации с Г<Гг=8 ошибок также корректируются. Для этих кодов адаптивное трехэтапное декодирование позволяет повысить отношение Гг/Гу на 22% и 8,3% по сравнению с двухэтапным декодированием.
Заключение
Предложены метод и правила адаптивного трехэтапного декодирования итеративных кодов на основе двухмерной идентификации ошибок по числу ошибочных строк, столбцов. Приведенный анализ показывает, что данный метод декодирования позволяет уменьшить число некорректируемых конфигураций ошибок к их общему числу на 30% и более по сравнению с двухэтапным декодированием. Предложенная оптимизация параметров составляющих кодов при адаптивном декодировании позволяет повысить число гарантированно корректируемых ошибок на 8-20% по сравнению с двухэтапным декодированием при невысокой сложности устройств декодирования.
OPTIMIZING PARAMETERS OF ITERATED CODES WITH ADAPTIVE THREE-PHASE DECODING
V.K. KONOPELKO, PHAM KHAC HOAN, O.G. SMOLYAKOVA
Abstract
In this article optimizing parameters of component codes on adaptive three-phase decoding iterated codes based on two-dimensional identification of errors is considered.
Литература
1. Теория прикладного кодирования / Под ред. В.К. Конопелько. Минск, 2004.
2. Цифровая звукозапись / Под ред. Дж. Маеса и М. Веркаммена. М., 2004.
3. Конопелько В.К, Фам ХакХоан // Докл. БГУИР. 2007. Т. 5, № 1. С. 55-60.
4. Фам Хак Хоан, Смолякова О.Г. // Доклады БГУИР. 2008. Т. 6, № 1. С. 70-75.
5. Фам Хак Хоан Декодирование итеративных кодов на основе коррекции и идентификации ошибок, исправления стираний / Дис. ... канд. техн. наук. Минск.