Способ мягкого когнитивного декодирования систематических блоковых кодов
Изобретение относится к технологиям сетевой связи. Технический результат заключается в повышении скорости декодирования. В способе декодирования символы принятой кодовой комбинации V систематического (n,k)-кода по основному алгоритму упорядочиваются по убыванию их мягких решений символов и на основании выполненных перестановок формируется вектор V', который совместно с вектором V образует двудольный граф для формирования матрицы перестановок Р, умножение на которую порождающей матрицы кода G приводит к получению новой матрицы G', первые k столбцов которой проверяются на предмет линейной независимости, и в случае положительного исхода этой проверки матрица G' приводится к систематической форме , при этом первые k наиболее надежных элементов вектора V' путем умножения на образуют вектор эквивалентного кода Vэкв, который при поэлементном сложении по модулю два с вектором V' формирует переставленный вектор ошибок Е', и после умножения вектора Е' на PT формируется вектор ошибок Е, действовавший в канале связи на вектор V. 2 табл.
Реферат
Изобретение относится к технике связи и может использоваться при проектировании новых и модернизации существующих систем передачи дискретной информации. Заявленный способ может быть использован для декодирования помехоустойчивых систематических блоковых кодов, обеспечивая высокую скорость и достоверность восстановления информации.
Заявленное техническое решение расширяет арсенал применения помехоустойчивых блоковых кодов за счет повышения кратности исправляемых кодом стираний с одновременным сокращением периода обработки переставленных кодовых векторов, комбинации перестановок которых когда-либо были декодированы по данному способу правильно.
Известен способ мягкого декодирования систематических блоковых кодов, с использованием упорядоченных статистик мягких решений символов (МРС) (см. Р. Морелос-Сарагоса. Искусство помехоустойчивого кодирования. Методы, алгоритмы, применение. М., Техносфера, 2005, С. 213, …, 216). Недостатком этого способа является необходимость вычисления обратной матрицы относительно переставленной в соответствии с результатами сортировки МРС исходной порождающей матрицы кода, приведения вновь образованной матрицы в систематическую форму и получения на этой основе эквивалентного кода, с помощью которого отыскивается в конечном счете образец ошибки. Достоинством способа является возможность исправления ошибок за пределами метрики Хэмминга.
Частично указанный недостаток компенсируется в известных способах мягкого декодирования систематических блоковых кодов (см. патенты РФ 2444127 и 2580797), в которых осуществляется ранжирование МРС по убыванию с формированием соответствующей перестановочной матрицы укороченного кода, что дает незначительный положительный эффект по скорости обработки данных.
Недостатком всех указанных способов является обязательность выполнения процедуры проверки переставленной матрицы на предмет ее вырожденности, которая не всегда заканчивается успешно, что требует дополнительных перестановок и новых проверок вырожденности соответствующих матриц. Подобное техническое решение приводит к увеличению времени получения окончательного результата декодирования.
Наиболее близким по технической сущности к заявленному способу является способ мягкого декодирования систематических блоковых кодов с использованием упорядоченных статистик МРС (см. Р. Морелос-Сарагоса. Искусство помехоустойчивого кодирования. Методы, алгоритмы, применение. М., Техносфера, 2005, С. 213, …, 216), когда символы принятой кодовой комбинации V систематического (n,k)-кода по основному алгоритму упорядочиваются по убыванию их мягких решений символов и на основании выполненных перестановок формируется вектор V', который совместно с вектором V образует двудольный граф для формирования матрицы перестановок Р, умножение па которую порождающей матрицы кода G приводит к получению новой матрицы G', первые k столбцов которой проверяются на предмет линейной независимости, и в случае положительного исхода этой проверки матрица G' приводится к систематической форме , при этом первые k наиболее надежных элементов вектора V' путем умножения на образуют вектор эквивалентного кода Vэкв, который при поэлементном сложении по модулю два с вектором V' формирует переставленный вектор ошибок Е', и после умножения вектора E' на PT формируется вектор ошибок Е, действовавший в канале связи на вектор V, при этом в случае отрицательного результата проверки линейной независимости строк матрицы G' осуществляется замена k-го столбца этой матрицы на (k+1)-й столбец и в случае необходимости на последующие столбцы до выполнения условия линейной независимости k первых столбцов матрицы G', и при выполнении этого условия адекватно меняются местами элементы в V' и столбцы Р.
Достоинством данного способа декодирования является возможность исправлять число ошибок, кратность которых превосходит число ошибок, определяемых метрикой Хэмминга.
Недостаток прототипа заключается в низкой общей скорости декодирования из-за необходимости для каждой кодовой комбинации в зависимости от конфигурации МРС вычислять определитель переставленной матрицы G' при оценке свойства нелинейности ее строк. Указанная процедура повторяется даже в том случае, если комбинация столбцов матрицы G' уже встречалась в ходе обработки предыдущих кодовых векторов.
Задачей изобретения является разработка способа декодирования кодовых комбинаций любых блоковых кодов, обеспечивающего получение технического результата, заключающегося в повышении скорости декодирования и достоверности принимаемой информации при исправлении ошибок.
Технический результат достигается тем, что в способе символы принятой кодовой комбинации V систематического (n,k)-кода по основному алгоритму упорядочиваются по убыванию их мягких решений символов и на основании выполненных перестановок формируется вектор V', который совместно с вектором V образуют двудольный граф для формирования матрицы перестановок Р, умножение на которую порождающей матрицы кода G приводит к получению новой матрицы G', первые k столбцов которой проверяются на предмет линейной независимости, и в случае положительного исхода этой проверки матрица G' приводится к систематической форме , при этом первые k наиболее надежных элементов вектора V' путем умножения на образуют вектор эквивалентного кода Vэкв, который при поэлементном сложении по модулю два с вектором V' формирует переставленный вектор ошибок Е', и после умножения вектора E' на PT формируется вектор ошибок Е, действовавший в канале связи на вектор V, при этом в случае отрицательного результата проверки линейной независимости строк матрицы G' осуществляется замена k-го столбца этой матрицы на (k+1)-й столбец и в случае необходимости на последующие столбцы до выполнения условия линейной независимости k первых столбцов матрицы G', и при выполнении этого условия адекватно меняются местам элементы в V' и столбцы Р, согласно изобретению при отсутствии оперативной работы в режиме обучения декодера для любого выбранного вектора V из числа разрешенных кодовых комбинаций (n,k)-кода случайным образом формируется произвольная последовательность Zi длины k номеров символов вектора V, и на основании этой последовательности по основному алгоритму формируются матрицы Р, PT, G' и с последующим формированием векторов Vэкв, Е' и E, при этом если вектор Е оказывается нулевым, то произвольная последовательность номеров символов Zi и соответствующая ей матрица запоминаются в базе данных положительных решений с учетом возможных замен k-го столбца матрицы G' на (k+1)-и столбец и в случае необходимости на последующие столбцы до выполнения условий линейной независимости для матрицы G' и формирования соответствующей матрицы , в случае отрицательного исхода набор символов Zi заносится в базу данных отрицательных решений, после чего формируется новая случайная последовательность Zj≠Zi и процедура обработки вектора V по основному алгоритму итеративно повторяется, при этом в случае оперативной работы декодера после формирования последовательности Zx ее образец отыскивается в базе данных отрицательных решений, и если он там отсутствует, то в соответствии с образцом Zx из базы данных положительных решений извлекается готовый образец матрицы , после чего работа декодера продолжается по основному алгоритму, но если образец Zx в базе данных положительных решений отсутствует, то выполняется основной алгоритм, и в случае положительного решения в процедуре проверки линейности матрицы G' новая последовательность номеров символов Zx и соответствующая ей матрица заносятся в базу данных положительных решений, а при любом отрицательном исходе проверки вырожденности матрицы G' образец последовательностей Zx заносится в базу данных отрицательных решений.
Способ применим к любому систематическому блоковому коду, рассматривается на примере кода Хемминга (7, 4, 3) и осуществляется следующим образом. Порождающая матрица кода G в систематическом форме имеет вид
Нумерация столбцов матрицы (символов) осуществляется слева направо, как показано в выражении (1). В режиме обучения датчик последовательностей номеров символов для любого принадлежащего коду вектора V формирует уникальный набор номеров символов Zi. В соответствии с этим может быть образованно не повторяющихся последовательностей длины k=4. На основании одной из таких последовательностей Zi из порождающей матрицы кода G извлекаются столбцы, последовательность номеров которых в точности соответствуют последовательности номеров символов Zi. Если в результате проверки вырожденности полученной матрицы G' размерности k×k определитель этой матрицы Δ≠0, то такая последовательность номеров заносится в базу положительных решений и далее по основному алгоритму отыскивается матрица , которая также заносится в базу данных и всегда для данного кода будет соответствовать уникальной последовательности Zi. В случае повторения подобной последовательности номеров символов эта последовательность уже не потребует вычисления матрицы , что обеспечивает выигрыш временного ресурса, так как матрица извлекается из базы данных в готовом виде. В случае отрицательного исхода, когда определитель матрицы G' Δ=0, значение последовательности Zi записывается в базу отрицательных решений. Из 35 различных сочетаний номеров и символов для комбинаций рассматриваемого кода 27 комбинаций отвечают условию Δ≠0 и только 8 значений соответствуют условию Δ=0. Базовые значения Zi по первому условию, когда Δ≠0 приведены в таблице 1.
Базовые значения Zi по условию, когда Δ=0 приведены в таблице 2.
Соотношение объемов таблиц указывает на целесообразность применения метода перестановочного декодирования не только для коротких кодов, но и кодов, имеющих большую длину, чем 7. Каждая комбинация цифр из таблиц 1 и 2 включает в себя 4!=24 перестановки, поэтому предусматривается фиксация иных перестановок указанных групп в базе как положительных, так и отрицательных решений. Так как база положительных решений в три раза больше базы отрицательных решений, целесообразно проверку осуществлять, начиная с проверки отрицательного результата последовательности номеров Zi. В случае появления последовательности вида Zx, не равной ни одной из ранее обработанных последовательностей Zi вариант Zx сверяется с базой данных отрицательных решений, и в случае отсутствия подобной комбинации в этой базе данных декодер приступает к обработке данных по основному алгоритму, пополняя по итогам работы либо базу данных положительных решений, либо базу данных отрицательных решений.
Например, для образца Zi=1264 матрица G' имеет вид:
, для которой Δ≠0.
В результате линейных преобразований, которые достаточно подробно описаны в патентах РФ 2444127 и 2580797, формируется матрица , которая для образца Zi=1264 имеет вид
.
Набор Zi=1264 и соответствующая ему матрица заносятся в базу данных положительных решений. Аналогично решается задача в случае отрицательных решений, когда Δ=0. Предложенный способ мягкого когнитивного декодирования систематических блоковых кодов позволяет:
- по крайней мере в 75% случаев исправлять стирания, кратность которых определяется соотношением n-k;
- по сравнению с аналогами существенно сократить время обработки кодовых комбинаций за счет готовых решений по структуре переставленных матриц эквивалентных кодов;
- осуществить предварительное обучение декодера до включения его в оперативную работу, заполнив базы данных декодера по положительным и отрицательным решениям;
- осуществить пополнение баз данных декодера для положительных и отрицательных решений за счет новых комбинаций, не учтенных в ходе предварительного обучения декодера;
- подготовка баз данных положительных и отрицательных решений может быть выполнена на внешней вычислительной системе и введена в декодер с помощью переносного носителя данных или специально организованного канала связи.
Способ мягкого когнитивного декодирования систематических блоковых кодов, заключающийся в том, что символы принятой кодовой комбинации V систематического (n,k)-кода по основному алгоритму упорядочиваются по убыванию их мягких решений символов и на основании выполненных перестановок формируется вектор V', который совместно с вектором V образует двудольный граф для формирования матрицы перестановок Р, умножение на которую порождающей матрицы кода G приводит к получению новой матрицы G', первые k столбцов которой проверяются на предмет линейной независимости, и в случае положительного исхода этой проверки матрица G' приводится к систематической форме , при этом первые k наиболее надежных элементов вектора V' путем умножения на образуют вектор эквивалентного кода Vэкв, который при поэлементном сложении по модулю два с вектором V' формирует переставленный вектор ошибок Е', и после умножения вектора Е' на PT формируется вектор ошибок Е, действовавший в канале связи на вектор V, при этом в случае отрицательного результата проверки линейной независимости строк матрицы G' осуществляется замена k-го столбца этой матрицы на (k+1)-й столбец и в случае необходимости на последующие столбцы до выполнения условия линейной независимости k первых столбцов матрицы G', и при выполнении этого условия адекватно меняются местами элементы в V' и столбцы Р, отличающийся тем, что при отсутствии оперативной работы в режиме обучения декодера для любого выбранного
вектора V из числа разрешенных кодовых комбинаций (n,k)-кода случайным образом формируется произвольная последовательность Zi длины k номеров символов вектора V, и на основании этой последовательности по основному алгоритму формируются матрицы Р, PT, G' и с последующим формированием векторов Vэкв, Е' и Е, при этом если вектор Е оказывается нулевым, то произвольная последовательность номеров символов Zi и соответствующая ей матрица запоминаются в базе данных положительных решений с учетом возможных замен k-го столбца матрицы G' на (k+1)-й столбец и в случае необходимости на последующие столбцы до выполнения условий линейной независимости для матрицы G' и формирования соответствующей матрицы , в случае отрицательного исхода набор символов Zi заносится в базу данных отрицательных решений, после чего формируется новая случайная последовательность Zj≠Zi и процедура обработки вектора V по основному алгоритму итеративно повторяется, при этом в случае оперативной работы декодера после формирования последовательности Zx ее образец отыскивается в базе данных отрицательных решений, и если он там отсутствует, то в соответствии с образцом Zx из базы данных положительных решений извлекается готовый образец матрицы , после чего работа декодера продолжается по основному алгоритму, но если образец Zx в базе данных положительных решений отсутствует, то выполняется основной алгоритм, и в случае положительного исхода в процедуре проверки линейности матрицы G' новая последовательность номеров символов Zx и соответствующая ей матрица заносятся в базу данных положительных решений, при любом отрицательном исходе проверки вырожденности матрицы G' образец последовательностей Zx заносится в базу данных отрицательных решений.