Способ помехоустойчивого кодирования и декодирования подлежащих передаче цифровых данных

Иллюстрации

Показать все

Изобретение относится к области передачи цифровой информации и предназначено для применения в кодерах/декодерах, например, систем обмена данными между компьютерами. Технический результат - повышение достоверности передачи цифровых данных. Для этого в способе помехоустойчивого кодирования и декодирования подлежащих передаче цифровых данных дополнительно осуществляют операции: представление подлежащего передаче блока информационных символов в виде Q≥2-мерной фигуры осуществляется N≥2-кратно при различном порядке расположения в ней информационных символов; добавление проверочных символов реализуется применительно к каждой из указанных сформированных фигур; обнаружение ошибок детектирования на приемной стороне осуществляется по каждой из указанных фигур; объединение результатов выполнения операции обнаружения ошибок; исправления ошибок детектирования каждого блока. 3 табл.

Реферат

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

Одной из существенных проблем, встающих перед разработчиком системы обмена данными между компьютерами, является обеспечение низкой вероятности ошибок или, что тоже самое, высокой достоверности передачи данных. В тех случаях, когда имеют место ограничения энергетических характеристик системы (например, мощности передатчика или эффективных размеров поверхности приемной антенны), основным ресурсом повышения достоверности передачи данных является помехоустойчивое кодирование, т.е. применение на передающем конце избыточных кодов, а на приемном конце - процедур декодирования с исправлением возможных ошибок (см., например, [1, глава 6], а также [2]…[8]). Основным недостатком большинства методов помехоустойчивого кодирования является сложность их реализации. Одним из близких к заявляемому объекту аналогов является метод «мажоритарного декодирования» (см., например, [8, глава 13]). Упомянутый выше недостаток большинства методов помехоустойчивого кодирования (относительная сложность реализации) до некоторой степени присущ и указанному аналогу. Однако в сравнении с прочими аналогами этот метод реализуется все же сравнительно просто.

Наиболее близким по технической сущности к заявляемому объекту является способ помехоустойчивого кодирования и декодирования подлежащих передаче цифровых данных (символов), в основе которого лежит так называемый «прямоугольный код» [7, с. 33] (см. также [1, раздел 6.3.3.2]). Этот способ (являющийся наиболее простым по технической реализации) рассматривается в качестве прототипа. Он предусматривает представление каждого из блоков передаваемого сообщения «…в прямоугольниках (m-1)×(n-1). Затем к каждой строке блока, состоящей из m-1 символов, добавляется символ проверки на четность, так что длина строки становится равной m символам. Аналогично к каждому столбцу добавляется по одному проверочному символу… Таким образом, первоначальный прямоугольник из (m-1)×(n-1) двоичных символов превращается в массив из m×n двоичных символов» (конец цитаты из [7]). Здесь следует уточнить, что, строго говоря, в действительности итоговый массив содержит не m×n, а m×n-1 символов. Однако данное уточнение можно считать непринципиальным и (по аналогии с приведенным в [7] описанием прототипа) можно далее рассматривать прямоугольник размерами m×n символов.

В прототипе далее предполагается передача (m-1)×(n-1) символов блока подлежащего этой передаче сообщения (далее именуем эти символы информационными) и (m-1)+(n-1) проверочных (или избыточных) символов этого блока. На приемной стороне предполагается детектирование (смысл этого термина пояснен ниже) принятых символов каждого блока, представление совокупности результатов детектирования всех символов каждого блока принятого сообщения в виде прямоугольника размерами (с учетом принятых (m-1)+(n-1) проверочных символов) m×n. Далее в прототипе при помехоустойчивом декодировании (смысл этого термина так же пояснен ниже) совокупности символов каждого блока посредством проверки на четность определяются строка и столбец упомянутого прямоугольника, в которых имеется ошибка детектирования (если она вообще имеется и если она является единственной в блоке), и конкретный ошибочный символ, являющийся для этой пары строки и столбца общим, т.е. находящийся на их пересечении. Исправление ошибки в прототипе производится изменением кода этого символа на противоположный (с «1» на «0» или наоборот). Далее для простоты (и по аналогии с прототипом) считаем все передаваемые символы бинарными. Считаем также, что «размеры» сторон указанных прямоугольников совпадают (m=n), т.е. эти прямоугольники являются квадратами.

Изложенный вариант реализации прототипа может быть развит в «направлении» увеличения размерности фигуры, в виде которой представляется каждый из блоков передаваемого сообщения. Если в изложенном выше варианте реализации прототипа этой фигурой являлся прямоугольник (квадрат), т.е. это была Q=2-мерная фигура, то в общем случае она может быть Q≥2-мерной; так, в [7] наряду с «прямоугольным» рассмотрен, в частности, «кубический код», что соответствует размерности указанной фигуры Q=3.

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

Приведенное выше описание прототипа включает, в частности, ряд операций, в [7] опущенных, но подразумеваемых.

Принцип действия прототипа иллюстрируется Таблицей 1 (индексы номеров строк и столбцов отдельных символов для простоты опущены). В Таблице 1 показан прямоугольник (точнее, его частный случай - квадрат) размерами (без учета проверочных символов) 8×8. Здесь и далее правильно детектированные информационные символы блока обозначены в Таблице как «х», ошибочно детектированные информационные символы - как , а проверочные символы - как «z». (Примечание: одинаковые обозначения групп символов условны и совсем не означают их совпадения; напомним, что для простоты изложения индексы при всех символах опушены). Таблицей 1 иллюстрируется ситуация (пример), в которой ошибочно детектирован информационный символ, находящийся на пересечении 2-й сверху строки и 2-го слева столбца. Очевидно, что в этой ситуации местоположение ошибочно детектированного информационного символа определяется однозначно и при этом он (ошибка его детектирования) может быть исправлен.

Ситуация появления двух ошибок детектирования в блоке иллюстрируется Таблицей 2.

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

Таким образом, недостатком прототипа является потеря работоспособности при наличии двух и более ошибок детектирования в блоке, т.е. имеющая при его использовании место низкая достоверность передачи.

Целью заявляемого способа является повышение достоверности передачи.

Цель достигается тем, что в способе помехоустойчивого кодирования и декодирования подлежащих передаче цифровых данных, включающем операции представления на передающей стороне каждого блока таких данных, содержащего последовательность из K≥4 информационных символов, в виде совокупности информационных символов Q≥2-мерной фигуры и добавления к каждой стороне этой фигуры избыточных символов, а на приемной стороне - в представлении каждого блока принятых данных также в виде совокупности информационных символов Q≥2-мерной фигуры с добавленными к каждой стороне этой фигуры избыточными символами, а также обнаружения и исправления ошибок детектирования каждого указанного блока по совокупности всех символов сформированной по нему Q-мерной фигуры, каждую из операций представления на передающей стороне каждого блока подлежащих передаче данных в виде Q-мерной фигуры и добавления к этому блоку избыточных символов выполняют N≥2-кратно, также N≥2-кратно выполняют на приемной стороне операцию представления каждого блока принятых данных в виде совокупности информационных символов Q≥2-мерной фигуры с добавленными к каждой стороне этой фигуры избыточными символами, причем порядок расположения этих подлежащих передаче данных при каждом n-м выполнении указанной операции их представления в виде Q-мерной фигуры различен, а при каждом n-м выполнении на приемной стороне операции представления каждого блока принятых данных в виде совокупности информационных символов Q≥2-мерной фигуры с добавленными к каждой стороне этой фигуры избыточными символами совпадает с таковым, имеющим место при каждом n-м выполнении на передающей стороне совокупности операций представления каждого блока подлежащих передаче данных в виде Q-мерной фигуры и добавления к этому блоку избыточных символов, каждое n-е выполнения операции добавления избыточных символов относится к Q-мерной фигуре, являющейся результатом n-го выполнения операции представления на передающей стороне каждого блока подлежащих передаче данных в виде Q-мерной фигуры, операцию обнаружения ошибок детектирования каждого блока по совокупности всех его символов выполняют на приемной стороне также N-кратно, причем каждое n-е ее выполнение осуществляется по совокупности символов соответствующей n-й Q-мерной фигуры, по результатам N-кратного выполнения операции обнаружения ошибок детектирования каждого блока выполняют операцию объединения результатов выполнения указанной операции обнаружения ошибок, а операцию исправления ошибок детектирования каждого блока осуществляют по результатам выполнения указанной операции объединения.

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

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

Вначале рассмотрим ситуацию Q=2 и N=2 при передаче данных блоками размерами, например, в m2=64 информационных символа.

Операция 1 «представление … каждого блока данных в виде совокупности информационных символов Q≥2-мерной фигуры» выполняется следующим образом. Прежде всего, каждая такая Q-мерная фигура при Q=2 представляет собой квадрат, а количество таких фигур (квадратов) составляет N=2.

Будем представлять каждый блок, как уже отмечено выше, двумя фигурами, причем каждая их них - квадрат размерами по m2=8×8 (об обозначениях: здесь, в отличие от описания прототипа, для упрощения обозначений рассматривается квадрат размерами не (m-1)×(m-1), а m×m=m2). Вид каждого из двух указанных квадратов (при одной и двух ошибках детектирования в блоке соответственно) иллюстрируется Таблицами 1 и 2, а операция формирования каждого из них в принципиальном плане полностью совпадает с соответствующей операцией прототипа. Особенностью выполнения данной операции в заявляемом объекте является то, что при N=2 по каждому блоку подлежащих передаче данных она выполняется дважды. При первом ее выполнении (т.е. при n=1) порядок формирования квадрата может быть, например, следующим. Пронумеруем символы блока с 0-го по 63. Символы с номерами в диапазоне 0…7 располагаются подряд (слева направо в следующем порядке: 0-й, затем 1-й, 2-й и т.д. до 7-го) в 1-й строке квадрата (считаем строки сверху вниз), символы с номерами в диапазоне 8…15 располагаются подряд во 2-й строке квадрата и т.д. по аналогии и, наконец, с номерами в диапазоне 56…63 располагаются подряд в 8-й строке квадрата.

При втором выполнении рассматриваемой операции (т.е. при n=2) порядок формирования квадрата может быть, например, следующим. Символы с номерами в диапазоне 0…7, как и при первом выполнении этой операции, располагаются подряд в 1-й строке квадрата. Символы с номерами в диапазоне 8…15 располагаются подряд во 2-й строке квадрата, но с циклическим сдвигом на одну позицию (т.е. они располагаются во 2-й строке в следующем порядке: 15-й, 8-й, 9-й и т.д. до 14-го). Символы с номерами в диапазоне 16…23 располагаются подряд в 3-й строке квадрата, но с циклическим сдвигом на две позиции (т.е. они располагается в 3-й строке в следующем порядке: 22-й, 23-й, 16-й и т.д. до 21-го) и т.д. по аналогии. Наконец, символы с номерами в диапазоне 56…63 располагаются подряд в 8-й строке квадрата, но с циклическим сдвигом на семь позиций (т.е. они располагаются в 8-й строке в следующем порядке: 57-й, 58-й, 59-й, 60-й, 61-й, 62-й, 63-й, 56-й).

В итоге выполнения операции 1 формируются N (в рассмотренном примере N=2) фигур (в рассмотренном примере эти фигуры - квадраты).

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

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

В итоге выполнения операции 2 по каждому из блоков подлежащих передаче информационных символов формируется блок, содержащий m2 информационных символов и 2 массива (в общем случае N массивов) каждый из которых содержит по 2m символов проверки четности. Каждый n-й из этих массивов по 2m символов проверки четности - есть совокупность проверочных символов, сформированных по данному блоку при n-м выполнении операции 2. Среди указанных 2m символов проверки четности каждого массива, например первые/вторые m символов относятся к соответственно строкам/столбцам (номер символа в диапазоне 1…m/m+1…2m соответствует номеру соответственно строки/столбца, к которой/которому он был добавлен).

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

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

Операция 3 «представление каждого блока принятых данных в виде совокупности информационных символов Q≥2-мерной фигуры с добавленными к каждой стороне этой фигуры избыточными символами» выполняется на приемной стороне следующим образом. Приняты (продетектированы) m2 (где в рассматриваемом частном примере m2=64) информационных символов каждого блока и соответствующие им 2 массива, содержащих по m символов проверки четности каждый. По m2 принятым информационным символам каждого блока формируются два квадрата (в общем случае N≥2 Q≥2-мерных фигур), причем при n-м формировании квадрата правило расположения в нем указанных m2 информационных символов обрабатываемого (декодируемого) блока совпадает с аналогичным правилом, реализованным при n-м выполнении операции 1. К совокупности строк и столбцов квадрата, полученного при его n-м формировании (при выполнении операции 3), добавляется совокупность символов из массива символов проверки четности, сформированных по соответствующему блоку подлежащих передаче данных при n-м выполнении операции 2. При этом расположение символов проверки четности относительно строк и столбцов каждого квадрата совпадает с таковым, имеющим место в итоге выполнения операции 2.

Операция 4 «обнаружения ошибок детектирования каждого блока по совокупности всех символов каждой сформированной по нему Q-мерной фигуры» выполняется в (по) каждой фигуре следующим образом. Осуществляется подсчет количества единиц (с учетом символа проверки четности) в каждой строке n=1-го и n=2-го квадратов (или Q=2-мерной фигуры), а также в каждом столбце каждого из этих квадратов. В тех случаях, когда результат какого-либо из указанных подсчетов не равен четному числу, вырабатывается решение об обнаружении ошибки детектирования в соответствующих строке и/или столбце.

Для иллюстрации содержания операции 4 рассмотрим два квадрата, n=1-м из которых является квадрат, приведенный в Таблице 2, а n=2-м - в Таблице 3.

Оба рассматриваемых квадрата иллюстрируют одну и ту же ситуацию наличия двух ошибок детектирования в блоке. Квадрат, показанный в Таблице 2 (т.е. n=1-й квадрат), считаем соответствующим n=1-му выполнению операции 1, а показанный в Таблице 3 (т.е. n=2-й квадрат) - n=2-му выполнению операции 1 (см. приведенные при описании операции 1 варианты выполнения этой операции), т.е. в рассматриваемом примере эти квадраты отличаются друг от друга только тем, что каждая i-я строка n=1-го квадрата, есть та же i-я строка n=2-го квадрата, но с циклическим сдвигом ее информационных символов на i-1 позицию.

В рассматриваемой ситуации фиксируются (обнаруживаются) ошибки детектирования (это фактически только предполагаемые ошибки детектирования) в n=1-м квадрате при следующих сочетаниях номеров строк и столбцов (здесь и далее первым указывается номер квадрата n, вторым - номер строки i, а третьим - номер столбца l): (1, 2, 2), (1, 2, 4), (1, 4, 2) и (1, 4, 4), а в n=2-м квадрате - при следующих сочетаниях номеров строк и столбцов: (2, 2, 3), (2, 2, 7), (2, 4, 3) и (2, 4, 7).

Все перечисленные сочетания трех индексов (в рассмотренном примере таких сочетаний всего 8) - есть результаты выполнения операции 4. Они являются входными данными для операции 5 «объединение результатов операции обнаружения ошибок».

Операция 5 «объединение результатов операции обнаружения ошибок» выполняется следующим образом. В рассматриваемом примере при n=2-м выполнении операции представления каждого блока данных в виде совокупности информационных символов квадрата (в общем случае Q≥2-мерной фигуры) был осуществлен циклический сдвиг символов каждой i-й строки n=2-го квадрата на i-1 позиций относительно этой же совокупности информационных символов n=1-го квадрата. Поэтому для совмещения в двух квадратах «координат» ошибочно декодированных символов блока реализуется обратный (т.е. на -i+1 позиций) циклический сдвиг символов каждой i-й строки n=2-го квадрата. При этом приведенная выше совокупность сочетаний троек индексов, при которых обнаружены ошибки детектирования в n=2-м квадрате (2, 2, 3), (2, 2, 7), (2,4, 3) и (2, 4, 7), преобразуется в совокупность соответственно следующих сочетаний: (2, 2, 2), (2, 2, 6), (2, 4, 7) (2, 4, 4).

Пояснение к рассматриваемому примеру:

- сочетание индексов (2, 2, 3) для совмещения в двух квадратах «координат» ошибок превращается в сочетание индексов (2, 2, 2), поскольку при индексе i=2 индекс l должен быть увеличен на -i+1=-1, при этом имеем l=3-1=2;

- сочетание индексов (2, 2, 7) превращается в сочетание индексов (2, 2, 6), поскольку при индексе i=2 индекс l должен быть увеличен на -i+1=-1, при этом имеем l=7-1=6;

- сочетание индексов (2, 4, 3) превращается в сочетание индексов (2, 4, 8), поскольку при индексе i=4 индекс l должен быть увеличен на -i+1=-3, при этом имеем l=3-3=0=8 (последнее справедливо в связи с тем, что все вычисления индексов осуществляются по модулю 8 (это в данном примере размер строки), а нумерация позиций начинается не с нуля, а с единицы;

- сочетание индексов (2, 4, 7) превращается в сочетание индексов (2, 4, 4), поскольку при индексе i=4 индекс l должен быть увеличен на -i+1=-3, при этом имеем l=7-3=4.

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

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

В общем случае m=2-го выполнения операции 1 при совмещении в двух квадратах «координат» ошибочно декодированных символов блока в процессе выполнения операции 5 реализуется совокупность перемещений информационных символов n=2-го квадрата (с учетом результатов фиксации (обнаружения) ошибок детектирования, являющихся фактически предполагаемые ошибками детектирования) по закону, являющемуся обратным по отношению к примененному при n=2-м выполнении операции 1. Это общее правило проиллюстрировано выше на частном примере.

Результатом выполнения операции 5 являются пары номеров строк и столбцов, например, n=1-го квадрата, на пересечениях которых расположены действительно ошибочно детектированные символы. В рассмотренном выше примере эти пары имеют вид 2,2 и 4,4.

Операция 6 «исправление ошибок детектирования каждого блока» выполняется (полностью аналогично соответствующей операции прототипа) путем замены на обратные (т.е. «1» на «0», а «0» на «1») кодов символов, места расположения которых определяются как точки пересечения строк и столбцов, например, n=1-го квадрата, номера которых сформированы в итоге выполнения операции 5.

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

Заявляемые способ выгодно отличается от способа мажоритарного декодирования [8] (кроме простоты реализации) тем, что для предусмотренного последним способом «голосования» решений необходимо наличие не менее чем трех массивов проверочных символов, а при реализации заявляемого способа достаточно и двух таких массивов.

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

Величина параметра N может быть и большей чем 2. В этом случае при реализации операции 5 функция совмещения «координат» ошибочно детектированных символов осуществляется не в двух, а в N квадратах. Далее пары номеров строк и столбцов, например, n=1-го квадрата, на пересечениях которых расположены действительно ошибочно детектированные символы, формируются на основе такого же сравнения массивов сочетаний индексов, соответствующих позициям возможных ошибок детектирования, как и при выполнения операции 5, и при этом указанные сравнения производятся по всем парам квадратов.

Как и прототип, заявляемый объект может быть развит в «направлении» увеличения размерности фигуры, в виде которой представляется каждый из блоков передаваемого сообщения. При этом каждое n-е при n≥2 выполнение операции 1 в обеспечение различий в расположении информационных символов реализуется, например, поворотом (вращением) сторон Q-мерной фигуры, сформированной при n=1-м выполнении операции 1, друг относительно друга по аналогии с «Кубиком Рубика».

Соответствие заявляемого способа критерию «изобретательский уровень» предопределено, в частности, наличием новой операции 5, а также изменением порядка расположения информационных символов при N-кратном повторении операции 1.

Литература

1. Скляр Б. Цифровая связь. Теоретические основы и практическое применение. 2-е издание. М.: Издательский дом «Вильямс». 2003.

2. Брауде-Золотарев Ю.М., Лаврентьев М.А. Способ помехоустойчивого кодирования и декодирования. Патент РФ №2214678.

3. Брауде-Золотарев Ю.М., Грибань С.В. Способ помехоустойчивого кодирования и декодирования. Патент РФ №2213416.

4. Смирнов О.В., Вергелис Н.И. Декодер с обнаружением и исправлением ошибок. Патент РФ №2370887.

5. Липкин И.А. Статистическая радиотехника. Теория информации и кодирования. М.: Вузовская книга, 2002. - М.: Вузовская книга, 2002. - 216 с.: ил.

6. Кларк Дж., Кейн Дж. Кодирование с исправлением ошибок в системах цифровой связи. Вып. 28. М.: Радио и связь. 1987.

7. Хемминг Р.В. Теория кодирования и теория информации. М.: Радио и связь, 1983.

8. Блейхут Р. Теория и практика кодов, контролирующих ошибки: Пер. с англ. - М.: Мир. 1986. - 576 с.: ил.

Способ помехоустойчивого кодирования и декодирования подлежащих передаче цифровых данных, состоящий в представлении на передающей стороне каждого блока таких данных, содержащего последовательность из K≥4 информационных символов, в виде совокупности информационных символов Q≥2-мерной фигуры и добавлении к каждой стороне этой фигуры избыточных символов, а на приемной стороне - в представлении каждого блока принятых данных также в виде совокупности информационных символов Q≥2-мерной фигуры с добавленными к каждой стороне этой фигуры избыточными символами, а также обнаружении и исправлении ошибок детектирования каждого блока по совокупности всех символов сформированной по нему Q-мерной фигуры, отличающийся тем, что каждую из операций представления на передающей стороне каждого блока подлежащих передаче данных в виде Q-мерной фигуры и добавления к этому блоку избыточных символов выполняют N≥2-кратно, также N≥2-кратно выполняют на приемной стороне операцию представления каждого блока принятых данных в виде совокупности информационных символов Q≥2-мерной фигуры с добавленными к каждой стороне этой фигуры избыточными символами, причем порядок расположения в Q-мерной фигуре этих подлежащих передаче информационных символов при каждом n-м выполнении операции их представления на передающей стороне в виде указанной Q-мерной фигуры различен, а при каждом n-м выполнении на приемной стороне операции представления каждого блока принятых данных в виде совокупности информационных символов Q≥2-мерной фигуры с добавленными к каждой стороне этой фигуры избыточными символами совпадает с таковым, имеющим место при каждом n-м выполнении на передающей стороне совокупности операций представления каждого блока подлежащих передаче данных в виде Q-мерной фигуры и добавления к этому блоку избыточных символов, каждое n-е выполнения операции добавления избыточных символов относится к Q-мерной фигуре, являющейся результатом n-го выполнения операции представления на передающей стороне каждого блока подлежащих передаче данных в виде Q-мерной фигуры, операцию обнаружения ошибок детектирования каждого блока по совокупности всех его символов выполняют на приемной стороне также N-кратно, причем каждое n-е ее выполнение осуществляется по совокупности символов соответствующей n-й Q-мерной фигуры, по результатам N-кратного выполнения операции обнаружения ошибок детектирования каждого блока выполняют операцию объединения результатов выполнения указанной операции обнаружения ошибок, а операцию исправления ошибок детектирования каждого блока осуществляют по результатам выполнения указанной операции объединения.