ПЕРЕСТАНОВОЧНЫЙ ДЕКОДЕР С ОБРАТНОЙ СВЯЗЬЮ
PERMUTIVE DECODER WITH FEEDBACK

Изобретение относится к технике связи и может использоваться при проектировании новых и модернизации существующих систем обмена данными.
Заявленное устройство расширяет арсенал мягкого декодирования двоичных избыточных блоковых кодов за счет исправления доли стираний, кратность которых выходит за пределы минимального кодового расстояния. Для этого используются известные свойства эквивалентных кодов (см. У. Питерсон, Э. Уэлдон. Коды, исправляющие ошибки. Ред. Р.Л. Добрушин и С.И. Самойленко. М: Мир, 1976. - С. 76-78). Для двоичных кодов реализация подобных свойств может иметь как положительный, так и отрицательный исход, который зависит от конфигурации перестановок принятых символов на по длине кодового вектора в зависимость от текущих значений мягких решений. Положительный результат формируется в том случае, когда выполненная по результатам оценки мягких решений перестановка символов принятой кодовой комбинации не приводит к линейной зависимости столбцов, адекватно переставленной порождающий матрицы кода. В противном случае формирование эквивалентного кода положительного результата не дает. Как правило, количество положительных решений, из общего множества возможных решений, составляет большую часть.
Близким по технической сущности к заявленному устройству является способ мягкого декодирования систематических блоковых кодов, в основе которого лежит процедура ранжирования мягких решений символов (МРС) принятой кодовой комбинации, выделения из них наиболее надежных символов по показателям МРС, переход к эквивалентному коду с последующим вычислением вектора ошибок, действовавшего на принятый кодовый вектор в процессе передачи его по каналу связи (см. Р. Морелос-Сарагоса. Искусство помехоустойчивого кодирования. Методы, алгоритмы, применение. М., Техносфера, 2005, С. 213, …,216). Достоинством способа является возможность исправления стираний не только кратности (d-1), но и большей доли стираний кратности (n-k), где d - метрика Хемминга, n - число символов в кодовом векторе, k - число информационных разрядов в нем.
Недостатком указанного способа является необходимость вычисления для каждой принятой кодовой комбинации, обрабатываемой декодером, определителя переставленной порождающей матрицы кода в соответствии с показателями МРС для ее первых k столбцов. При невырожденности указанной матрицы для нее выполняется поиск обратной матрицы и вычисление на этой основе порождающей матрицы эквивалентного кода в систематической форме (см. Гладких А.А. Основы теории мягкого декодирования избыточных кодов в стирающем канале связи. Ульяновск: УлГТУ, 2010, С. 286-295).
Кроме того, известен способ мягкого декодирования систематических кодов (см. патент РФ 2444127), в котором с целью снижения вычислительных затрат в алгоритме поиска обратной матрицы, вычисление матрицы эквивалентного кода при приведении ее к систематическому виду используют прием кластеризации множества разрешенных кодовых векторов, что позволяет обрабатывать определители матриц размерности не (k×k), а размерности (k-ƒ)×(k-ƒ), где ƒ - число бит, отводимых на нумерацию (в двоичной системе) формируемых в коде кластеров. Указанная процедура обеспечивает незначительное снижение вычислительных затрат поскольку во многом зависит от выбранного параметра ƒ, где 1≤ƒ<k.
Все указанные способы обладают одним общим недостатком, который заключается в том, что ряд кодовых комбинаций в процессе обработки данных могут повторяться и не только в текущем сеансе, но и по итогам предыдущих сеансов связи. Однако ни один из указанных способов не учитывает этот факт и не хранит в своей памяти образец матрицы эквивалентного кода комбинации когда-либо переданной в системе обмена данными.
Более того, всевозможные образцы переставленных порождающих матриц с положительным и отрицательным исходом могут быть вычислены с помощью внешних устройств и заранее внесены в память декодера. Сравнивая текущие перестановки символов кодовых векторов с имеющимися образцами, возможно заявить будет ли исход текущих преобразований кодового вектора положительным или отрицательным без производства сложных матричных вычислений.
Известно устройство - декодер с упорядоченной статистикой символов (см. патент РФ 2490804), в котором частично решается задача запоминания комбинаций номеров переставленных столбцов порождающей матрицы основного кода, определитель которых указывает на вырожденность переставленных матриц и невозможность реализовать декодирование с использованием эквивалентного кода. Следовательно, для невырожденных матриц процедура поиска переставленных порождающих матриц и приведение их к систематической форме для получения эквивалентного кода выполняется в декодере даже в том случае, если образец переставленного вектора уже обрабатывался декодером.
Известно также устройство - декодер с повышенной корректирующей способностью (см. патент РФ 2438252), которое практически реализует способ, описанный в работе Р. Морелос-Сарагосы с незначительным уточнением процедуры получения МРС. В таком декодере по сути сохраняются все недостатки, характерные для решений по патентам 2444127, 2490804 и 2580797.
Близким по технической сущности к заявленному декодеру является устройство по патенту №2438252, когда в блоке приема первый выход которого подключен к первому входу преобразователя мягких решений, выход которого через блок упорядочения оценок подключен к первому входу блока эквивалентного кода, второй выход которого подключен к другому входу блока сравнения и обратных преобразований, выход которого подключен к второму входу блока исправления стираний, при этом второй выход блока приема подключен к первому входу блока исправления стираний.
Достоинством прототипа является возможность мягкого декодирования комбинаций двоичного кода за пределами метрики Хемминга, по параметру (m-k).
Недостатком прототипа является выполнение повторных действий по вычислению порождающей матрицы эквивалентного кода для комбинаций переставленных столбцов порождающей матрицы основного кода, даже если какая-либо комбинация подобных перестановок уже обрабатывалась декодером ранее. Кроме того, прототип не способен реализовать процедуру предварительного вычисления переставленных матриц для возможных перестановок символов комбинации кода, что по сути является процедурой обучения и подготовки базы данных для фиксации перестановок с отрицательным исходом в системе поиска невырожденной матрицы эквивалентного кода. Поскольку множество отрицательных в этом смысле перестановок значительно меньше, то целесообразно запомнить только отрицательные перестановки. В последующем, сравнивая текущую перестановку с множеством отрицательных решений, декодер, определив соответствие очередной переставленной комбинации элементу множества отрицательных перестановок, отказывается от обработки текущей перестановки и предпринимает дополнительное действие по восстановлению кодового блока. Если очередная перестановка не входит во множество отрицательных перестановок, то выполнение алгоритма перестановочного декодирования продолжается. Кроме того, к недостатку прототипа следует отнести отсутствие реакции декодера на изменения условий передачи данных по каналу связи. Например, на изменение соотношения сигнал-шум.
Технический результат достигается тем, что блок приема, первый выход которого подключен к входу блока мягких решений символов, один выход которого подключен к первому входу преобразователя мягких решений, выход которого через блок упорядочения оценок подключен к первому входу блока эквивалентного кода, второй выход которого подключен к другому входу блока сравнения и обратных преобразований, выход которого подключен к второму входу блока исправления стираний, при этом второй выход блока приема подключен к первому входу блока исправления стираний, отличающийся тем, что дополнительно введены блок ранжирования перестановок, блок отрицательных перестановок, блок ввода отрицательных перестановок, блок положительных перестановок, блок быстрых матричных преобразований, блок усреднения мягких решений и блок сигналов обратной связи, первый выход которого подключен к второму входу преобразователя мягких решений, а вход блока сигналов обратной связи через блок усреднения мягких решений подключен к другому выходу блока мягких решений символов, тогда как выход блока ввода отрицательных перестановок, подключен к первому входу блока отрицательных перестановок, а выход этого блока подключен к второму входу блока ранжирования перестановок, при этом один выход этого блока подключен к второму входу блока эквивалентного кода, первый выход, которого соединен с первым входом блока ранжирования перестановок, а другой выход этого блока подключен к второму входу блока отрицательных перестановок, при этом третий выход блока ранжирования перестановок через блок положительных перестановок и блок быстрых матричных преобразований подключен к одному входу блока сравнения и обратных преобразований, тогда как второй выход блока сигналов обратной связи подключен к каналу обратной связи.
Структурная схема декодера представлена на фигуре 1. Она содержит блок приема 1, первый выход которого подключен к входу блока мягких решений символов 2. Один выход блока 2 подключен к преобразователю мягких решений 5, выход которого через блок упорядочения оценок 6 подключен к первому входу эквивалентного кода 7. Второй выход блока 7 подключен к другому входу блока сравнения и обратных преобразований 8, выход которого подключен к второму входу блока исправления стираний 9. Второй выход блока приема 1 подключен к первому входу блока исправления стираний 9. Первый выход блока сигналов обратной связи 4 подключен к второму входу преобразователя мягких решений 5, а вход блока 4 подключен к выходу блока усреднения мягких решений 3, вход которого подключен к другому выходу блока мягких решений символов 2. Второй выход блока сигналов обратной связи 4 подключен к каналу обратной связи, который связывает перестановочный декодер с передатчиком систем обмена данными. Блок ввода отрицательных перестановок 12 своим выходом связан с блоком отрицательных перестановок 11. Выход блока отрицательных перестановок 11 подключен к второму входу блока ранжирования перестановок 10, а его один выход соединен со вторым входом блока эквивалентного кода 7. Первый выход блока 7 подключен к первому входу блока ранжирования перестановок 10, другой выход блока 10 соединен со вторым входом блока отрицательных перестановок 11. Третий выход блока ранжирования 10 через блок положительных перестановок 13 и блок быстрых матричных преобразований 14 подключен к одному входу блока исправления стираний 8. Информационным входом декодера является вход блока приема 1, а информационным выходом декодера является выход блока сравнения и обратных преобразований 9.
Работу предлагаемого устройства рассмотрим на примере кода Хэмминга (7, 4, 3) с порождающей матрицей G вида
инф
кан
инф
e
e
пр
Столбцы матрицы G нумеруются от 1 до 7 слева направо. Пусть передатчик передает информационный вектор V=1010, тогда в канал связи будет отправлен вектор V=V×G=1010011. Пусть вектор ошибок V имеет вид V=1100100. В ходе фиксации вектора приема V в блоке приема 1 и выработки для каждого бита этого вектора мягких решений в блоке мягких решений символов 2 в преобразователе мягких решений 5 фиксируется последовательность жестких решений символов и соответствующие им целочисленных МРС вида
в
max
max
5
Последовательность МРС в блоке 2 формируется по правилу , где ρ - интервал стирания; Е - энергия сигнала, приходящаяся на один информационный бит; Z - уровень принятого модулируемого параметра (сигнала); λ - фиксированная оценка МРС с максимальным значением, как правило, определяемая конструктором декодера (см. А.А. Гладких. Основы теории мягкого декодирования избыточных кодов в стирающем канале связи, Ульяновск. - 2010 с. 211). В примере λ=7. В блоке упорядочения оценок 6 вектор V после перестановок жестких решений по убыванию и соответствующих им МРС принимает вид
T
При этом в ходе упорядочения оценок формируется перестановочная матрица Р, которая в последующем через блок эквивалентного кода 7 поступает в блок сравнения и обратных перестановок для осуществления обратных перестановок с использованием транспонированной матрицы Р.
6
Одновременно с этим блок 7 получает переставленную последовательность номеров столбцов истиной матрицы G в порядке убывания значений МРС в виде V→6743251.
Для последующей обработки данных важны первые четыре номера этой последовательности (6 7 4 3). Для быстрого поиска положительного или отрицательного решения по данной перестановке в блоке 10 указанная последовательность ранжируется к виду (3 4 6 7). Все упорядоченные последовательности отрицательных решений хранятся в блоке 11. Упорядоченные последовательности могут быть подсчитаны заранее и введены соответственно в блоке 8 и 10. Для используемого в примере кода все сочетания номеров отрицательных решений представлены в таблице 1, а положительных решений в таблице 2.
Для любого ранжированного сочетания решений из таблицы 1 справедливы будут всевозможные перестановки, общее число которых определяется как k!. Например, для первой позиции таблицы: 1253; 1325; 1352; …; 5123.
Общее число различных сочетаний номеров столбцов для блокового кода определяется выражением вида . Тогда . Следовательно, с учетом показателей таблицы 1 число положительных решений в таблице 2 должно быть равным 28.
3467125
Сравнивая значения номеров столбцов поступивших из блока 6 в виде (6 7 4 3) и приведенные в блоке 9 к виду (3 4 6 7) со значениями таблицы 1 декодер устанавливает отсутствие такой комбинации в отрицательных решениях. Декодер приступает к формированию порождающей матрицы эквивалентного кода. На оставшихся (n-k) позиция обрабатываемого вектора могут быть только номера символов не вошедшие в первые k номеров. Если их упорядочить по возрастанию, то получится эталонная переставленная матрица некоторого эквивалентного кода. Такими номерами в примере является последовательность (1 2 5). Образцы эталонных матриц в систематической форме для всех 28 элементов из таблицы 2 хранятся в блоке матричных преобразований. Для приведенного примера эталонная матрица G в систематическом виде имеет вид
С учетом номеров строк и столбцов проверочной части матрицы.
В блок быстрых матричных преобразований 14 через третий выход блока ранжирования 10 поступаю данные о текущей последовательности перестановок в виде (6 7 4 3 2 5 1). В блоке 14 по первым k элементам сортируются строки эталонной матрицы, по оставшимся (n-k) элементам сортируются столбцы проверочной части матрицы.
6
экв
кан
e
T
Умножая надежную часть вектора (1 1 0 1) из V на  в блоке сравнения и обратных перестановок 8 получают вектор эквивалентного кода вида V=1101101. Складывая  и умножая результат сравнения на P в блоке 8 получают истинный вектор ошибок, действовавший в канале связи в момент передачи вектора V или V=1100100. Значение этого вектора позволяет исправить стирания в блоке исправления стираний 9.
1
4
В ходе работы декодера возможно появление ошибочных решений для надежных значений МРС как показано в таблице на фигуре 2. Например, при отношении сигнал-шум 0,97 дБ нельзя доверять оценкам от λ до λ. Для оценки указанного отношения значения МРС поступают из блока мягких решений символов 2 в блок усреднения мягких решений 3. Результатами работы блока 3, показаны на фигуре 3. Заметно, что среднее значение МРС M(h) практически не изменяется в зависимости от объема выборки. Это дает основание ориентировать декодер на оценку указанного параметра M(h) и в случае снижения его значений до установленного критического уровня направить передатчику через блок сигналов обратной связи 4 команду на повтор данных. Одновременно с этим в преобразователе мягких решений 5 по команде из блока 4 осуществляется сравнение данных, принятых в неблагоприятных условиях с данными принятыми при повторной передаче. При этом из двух последовательностей кодовых комбинаций формируется комбинация жестких решений с наилучшими МРС.
Предложенное устройство в полной мере использует свойство линейных преобразований матриц и сокращает объем памяти для хранения эталонных матриц в k!×(n-k)! раз. При этом максимально используется введенная в код избыточность и исключаются такие матричные операции как вычисление определителей и последующий поиск порождающих матриц эквивалентных кодов и последующего приведения их к систематической форме. Осуществляется сочетание кодовых и алгоритмических методов повышения достоверности.