Эффективное многопороговое декодирование недвоичных кодов с предварительной оценкой ошибочности проверок

Радиотехника и связь

УДК 621.396

ЭФФЕКТИВНОЕ МНОГОПОРОГОВОЕ ДЕКОДИРОВАНИЕ НЕДВОИЧНЫХ КОДОВ С ПРЕДВАРИТЕЛЬНОЙ ОЦЕНКОЙ ОШИБОЧНОСТИ ПРОВЕРОК

А.В. Башкиров, И.В. Свиридова, А.В. Муратов

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

Ключевые слова: МПД, qМПД, низкоплотностные

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

самоортогональных кодов (СОК).

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

многопороговые декодеры обеспечивают высокую достоверность передачи данных в каналах [1].

Рис. 1. Многопороговый декодер самоортогональных кодов

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

Башкиров Алексей Викторович - ВГТУ, канд. техн. наук, доцент, тел. (473) 243-77-06, e-mail: kipr@vorstu.ru Свиридова Ирина Владимировна - ВГТУ, аспирант, тел. (473) 243-77-06, e-mail: kipr@vorstu.ru Муратов Александр Васильевич - ВГТУ, д-р техн. наук, профессор, тел. (473) 243-77-06, e-mail: kipr@vorstu.ru

коды, многопороговый декодер самоортогональных кодов

из к двоичных символов. После кодирования общее число кодовых символов равно п, п>к.

В результате передачи по двоичному симметричному каналу декодер получает искаженное шумами сообщение Y равный длине п, вместо кодового слова С0 . В первую очередь, как и в обычном пороговом декодере, вычисляется синдром S = YHТ принятого сообщения, и для каждого информационного символа ^ , 1 < j < к , выделяется множество { S ^ } элементов синдрома с номерами { jk }, называемых проверками относительно символа и и содержащих в качестве слагаемого ошибку ei в этом символе. Кроме того вводится двоичный вектор D длины к, именуемый разностным, элементы которого первоначально равны нулю. В этом регистре станут отмечаться измененные информационные символы для того, чтобы декодер запоминал принятое из канала сообщение и всегда мог вычислить разность между этим сообщением и кодовым словом, находящимся в информационном регистре. Главный этап декодирования заключается в том, что для произвольно взятого символа и вычисляется функция правдоподобия Ц), зависящая от относящихся к нему проверок Sjk и ) - го элемента вектора D:

Ь = + ^

)к

Общее число слагаемых в формуле 1 равно минимальному кодовому расстоянию d. Если ^ > Т, где Т = ^ - 1) / 2 - пороговое значение, то символ и , все проверки ^ к} и символ dj инвертируются, после чего выбирается другой символ ит , m Ф j, для него снова вычисляется сумма Цт и т.д. Если же Ц < Т, то сразу осуществляется переход к очередному символу ит.

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

использования кодов Рида-Соломона. Недостатком коротких кодов Рида-Соломона до длины п = 255 символов является то, что они не обеспечивают необходимых в настоящее время уровней достоверности. В то время как декодеры для длинных кодов Рида-Соломона оказываются слишком сложными, и их возможное упрощение становится весьма проблематично. Поэтому, в последнее время зарубежные специалисты стремительно развивают декодеры недвоичных

низкоплотностных кодов. Данные методы обладают достаточно высокой

корректирующей способностью, но они слишком сложны в реализации для применения в реальных системах, а особенно при больших размерах алфавита q. Ниже предложено обобщение МПД на недвоичные симметричные каналы. Также показано, что недвоичный аналог алгоритма МПД ^МПД) может обеспечить при крайне высоких уровнях шума вероятности ошибки декодирования, в ряде случаев вообще недоступные для кодов Рида-Соломона сколько угодно большой длины. При этом сложность реализации такого алгоритма будет весьма незначительной. Перейдем к более подробному описанию многопорогового алгоритма декодирования недвоичных кодов [2]. Пусть задан q-ичный, q > 2, симметричный канал ^СК) с вероятностью ошибки Р0 > 0 такой, что при передаче любой исходный символ кода переходит в один из оставшихся д-1 символов случайно, независимо и равновероятно. Для qСК оптимальным решением при передаче любого сообщения будет такое, возможно единственное, кодовое слово из qnR возможных, которое отличается от принятого сообщения в минимальном числе символов кода (п - длина кода в символах, R -кодовая скорость, R < 1). Рассмотрим линейный недвоичный систематический код, проверочная матрица Н которого размером (п — к) х п имеет вид

Н = [С: - 1п_к], где к - длина информационной части кода; 1п-к - единичная матрица размером (п - к) х (п -к); С - матрица размером (п - к) х к, состоящая из нулей и единиц, ья строка которой определяет информационные символы, участвующие в >й проверке; операция [А:В] определяет матрицу, полученную

объединением матриц А и В. Пусть матрица Н соответствует недвоичному

самоортогональному коду. Поскольку проверочная матрица Н кода содержит только 0, 1 и -1, то операции кодера и декодера по

формированию проверочных символов кода и вычислению вектора синдрома S длиной п - к принятого сообщения являются только сложениями и вычитаниями. Таким образом, для кодирования и декодирования не требуется наличие недвоичного поля, а достаточно создать только любой вариант группы по сложению, например, все операции сложения и вычитания будут производиться в некоторой группе целых чисел по модулю q. Это очень существенно упрощает все процедуры кодирования и реализации последующего декодирования.

Пусть после передачи кодового вектора А длиной п с к информационными символами по qСК в декодер поступает вектор Q = А + Е, где Е - вектор ошибок. Будем, как и в двоичном случае, представлять каждый вектор - столбец X длиной п в виде пары векторов Х1 и Ху длиной к и (п - к) соответственно, т.е. X = [Х1; Ху]. Здесь операция [А; В] определяет матрицу, полученную вертикальным объединением матриц А и В. Определим D как q-ичный вектор длиной к

Б = Лх -

где А: - информационная часть переданного кодового слова А = [А:; Лу];

- информационная часть принятого сообщения Q = ^1; QV].

Тогда справедлива следующая лемма:

Р; Н х ДО + D; QV]] = А - 0 (3) Данная лемма устанавливает простое полезное соответствие между произвольным кодовым словом и принятым сообщением, аналогичное двоичному случаю [3]. Фактически она утверждает, что для рассматриваемых кодов вектор синдрома S является разностью по проверочным символам между принятым сообщением Q и кодовым вектором А с информационной частью А:. Рассмотренная лемма позволяет доказать главное свойство qМПД алгоритма, которая заключается в следующем: пусть при передаче по qСК кодового слова А в декодер поступил искаженный в канале связи вектор Q = А + Е. Аналогично двоичному случаю, разностный вектор D, теперь уже q-ичный, перед началом процедуры декодирования примем равным 0:. Далее будем считать, что декодер qМПД устроен так, что после вычисления обычным образом вектора синдрома S = Н х Q принятого сообщения процедура декодирования проходит по следующей схеме.

1. Для произвольно взятого q-ичного декодируемого информационного символа у подсчитывается число двух наиболее часто

встречающихся значений проверок из общего числа J всех проверок, относящихся к символу у, а также символа dj вектора D, соответствующего символу у. Пусть значения этих двух проверок равны ^ и ^ (0 < h0, Ь1 < q), а их количество равно т0 и т1 соответственно, причем т0 > т1. Эта процедура аналогична подсчету суммы проверок на пороговом элементе двоичного МПД.

2. Если т0 - т1 < Т, где Т = 0, 1, 2, ... -целое не отрицательное число, то осуществляется переход к новому произвольному V, т Ф j , и далее к п. 1. Это тоже аналог процедуры сравнения с порогом в двоичном декодере.

3. Если т0 - т1 > Т, то из ^ , ^ и всех J проверок для ij вычитается оценка ошибки, равная затем происходит выбор нового т Ф j, и переход к п. 1.

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

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

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

крупномасштабных цифровых системах.

Литература

1. Золотарёв, В. В. Теория и алгоритмы многопорогового декодирования [Текст] : учеб. пособие / В. В. Золотарев; под ред. Ю. Б. Зубарева. - Москва : Научная книга, 2006. - 266 с. - ISBN 978-5-9912-0351-7.

2. Золотарёв, В. В. Помехоустойчивое кодирование. Методы и алгоритмы [Текст] : учеб. пособие / В. В. Золотарев, Г. В. Овечкин; под ред. Ю. Б. Зубарева. -Москва : Справочное издание, 2004. - 126 с. - ISBN 593517-169-4.

3. Свиридова, И. В. Способы контроля помехозащищенности передачи данных [Текст] / И. В. Свиридова, И. В. Остроумов, А. В. Муратов // Труды международного симпозиума надежность и качество. -2013. - Т. 2. - С. 17.

4. Золотарёв, В. В. Многопороговые декодеры и оптимизационная теория кодирования [Текст] : учеб. пособие / В. В. Золотарёв, Ю. Б. Зубарев, Г. В. Овечкин; под ред. В. К. Левина. - Москва : Научная книга, 2012. -239 с. - ISBN 978-5-9912-0235-0.

Воронежский государственный технический университет

EFFECTIVE MULTITHRESHOLD DECODING NON-BINARY CODES WITH A PRELIMNARY

ESTIMATE OF ERRONEOUS INSPECTIONS

A.V. Bashkirov, I.V. Sviridova, A.V.Muratov

This article presents a synthesis of the basic principles of multithreshold decoding (MTD) for non-binary codes . It is shown that the effectiveness of non-binary MTD is close to the results , provides an optimal exhaustive search methods, which for non-binary codes usually unrealizable . The problems of the complexity of proposed decoders

Key words: MTD qMTD , low-density codes, multithreshold decoder self-orthogonal codes