RU2585977C1 - Method for noiseless encoding and decoding of digital data - Google Patents
Method for noiseless encoding and decoding of digital data Download PDFInfo
- Publication number
- RU2585977C1 RU2585977C1 RU2015109793/08A RU2015109793A RU2585977C1 RU 2585977 C1 RU2585977 C1 RU 2585977C1 RU 2015109793/08 A RU2015109793/08 A RU 2015109793/08A RU 2015109793 A RU2015109793 A RU 2015109793A RU 2585977 C1 RU2585977 C1 RU 2585977C1
- Authority
- RU
- Russia
- Prior art keywords
- symbols
- binary
- matrix
- bit
- column
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/033—Theoretical methods to calculate these checking codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
Abstract
Description
Изобретение относится к области обмена цифровой информацией, например, между компьютерами либо хранения указанной информации.The invention relates to the field of digital information exchange, for example, between computers or storing said information.
Одной из существенных проблем, встающих перед разработчиком системы обмена цифровой информацией, является обеспечение низкой вероятности ошибок. При этом основным ресурсом повышения достоверности передачи данных при таком обмене является помехоустойчивое кодирование, т.е. применение на передающем конце избыточных кодов, а на приемном конце - процедур декодирования с исправлением возможных ошибок (см. например, [1, глава 6], а также [2]…[4]).One of the significant problems facing the developer of a digital information exchange system is ensuring a low probability of errors. At the same time, the main resource for increasing the reliability of data transmission during such an exchange is error-correcting coding, i.e. the use of redundant codes at the transmitting end, and decoding procedures with the correction of possible errors at the receiving end (see, for example, [1, Chapter 6], as well as [2] ... [4]).
О терминологии. Каждая частная процедура, входящая в совокупность процедур кодирования/декодирования, в общем случае состоит из двух фаз; в первой фазе осуществляется кодирование/декодирование без применения технических мероприятий, обеспечивающих исправление ошибок (см., например, [1, раздел 3.1.2.]) - далее называем эту фазу соответственно предварительным кодированием/декодированием (предварительное декодирование именуют также детектированием), а во второй фазе - введение при передаче избыточных символов в каждый результат предварительного кодирования и исправление при приеме ошибок, возникших при предварительном декодировании, - далее называем эту фазу соответственно помехоустойчивым кодированием/декодированием; в рамках настоящей заявки рассматривается объект, реализующий совокупность операций только второй фазы (т.е. помехоустойчивого) кодирования/декодирования. Данный подход в теории помехоустойчивого кодирования/декодирования (предполагающий рассмотрение вопросов помехоустойчивого кодирования/декодирования в отрыве от указанной первой фазы кодирования/декодирования) является общепринятым.About the terminology. Each particular procedure included in the set of encoding / decoding procedures generally consists of two phases; in the first phase, encoding / decoding is performed without the use of technical measures that provide error correction (see, for example, [1, Section 3.1.2.]) - hereinafter, we call this phase, respectively, preliminary encoding / decoding (preliminary decoding is also called detection), and in the second phase, the introduction of redundant symbols into each result of precoding during transmission and correction of errors that occurred during preliminary decoding when receiving, we will further call this phase, respectively mechanical encoding / decoding; in the framework of this application, an object that implements a set of operations of only the second phase (i.e., noise-resistant) encoding / decoding is considered. This approach in the theory of error-correcting encoding / decoding (involving the consideration of issues of error-correcting encoding / decoding in isolation from the indicated first phase of encoding / decoding) is generally accepted.
Известны способы помехоустойчивого кодирования/декодирования данных, обеспечивающие исправление как одиночных, так и кратных ошибок (см., например, [1], [5]).Known methods for error-correcting encoding / decoding of data, providing the correction of both single and multiple errors (see, for example, [1], [5]).
При передаче данных с Q-арным кодированием [1, раздел 6.1.2], представляющих собой блоки информационных P-разрядных символов (при P=log2Q), ошибка, возникающая при предварительном декодировании какого-либо P-разрядного символа, влечет за собой ошибки в определении от одного до всех P бит (разрядов) этого символа (битовых ошибок). (Под Q-арным понимается такое кодирование, при котором каждый канальный символ несет информацию об одной из Q альтернатив сообщения). Таким образом, ошибка при предварительном декодировании всего в одном символе блока таких символов приводит к неконтролируемому множеству битовых ошибок. Проблема исправления ошибок в указанном случае дополнительно усугубляется при возникновении при предварительном декодировании ошибок в двух и более P-разрядных символах блока. В данных ситуациях, какие бы совершенные помехоустойчивые коды не использовались, они не могут гарантировать высокой достоверности приема. Основная причина такого положения - в резком снижении корректирующих способностей кодов при наличии множественных ошибок в блоке (даже и при использовании методов кодирования, рассчитанных на исправление множественных или кратных ошибок). Кроме того, с ростом количества возможных ошибок имеет место значительный рост вычислительной сложности декодирования с их исправлением.When transmitting data with Q-ary coding [1, Section 6.1.2], which are blocks of information P-bit characters (with P = log 2 Q), the error that occurs when pre-decoding a P-bit character entails errors in determining from one to all P bits (bits) of this symbol (bit errors). (Q-ary means coding in which each channel symbol carries information about one of the Q message alternatives). Thus, an error in preliminary decoding in just one symbol of a block of such symbols leads to an uncontrolled set of bit errors. The error correction problem in this case is further aggravated when errors occur in preliminary decoding in two or more P-bit block characters. In these situations, no matter how perfect the error-correcting codes are used, they cannot guarantee a high reliability of reception. The main reason for this situation is a sharp decrease in the correcting abilities of codes in the presence of multiple errors in a block (even when using coding methods designed to correct multiple or multiple errors). In addition, with an increase in the number of possible errors, there is a significant increase in the computational complexity of decoding with their correction.
Традиционно реализуемое в ситуациях наличия пакетов ошибок перемежение символов (см., например, [6, с. 317, 323]) не дает существенного эффекта даже при одиночных ошибках при предварительном декодировании символов, поскольку в такой ситуации все эти ошибки могут относиться к битам одного символа блока, и в таком случае при перемежении символов эти ошибки в совокупность одиночных ошибок не трансформируются.The interleaving of symbols traditionally implemented in situations of the presence of error packets (see, for example, [6, p. 317, 323]) does not have a significant effect even with single errors during preliminary decoding of symbols, since in such a situation all these errors can refer to bits of one block symbol, and in this case, when interleaving symbols, these errors into a set of single errors are not transformed.
Таким образом, недостатком аналогов является низкая достоверность передачи данных при их Q-арном кодировании (при Q>1).Thus, the disadvantage of analogues is the low reliability of data transmission during their Q-ary coding (for Q> 1).
Наиболее близким по технической сущности к заявляемому объекту является способ помехоустойчивого кодирования/декодирования цифровых данных, в основе которого лежит так называемый «прямоугольный код» [7, с. 33] (см. также [1, раздел 6.3.3.2]). Этот способ рассматривается в качестве прототипа. Прототип рассчитан на кодирование бинарных (одноразрядных) символов, поэтому далее используемый в источнике [7, с. 33] термин «символ» уточняем как «бинарный символ». Прототип предусматривает представление каждого из блоков, содержащих по K бинарных символов передаваемого сообщения, в виде прямоугольника размером M·N. Затем к каждой строке указанного прямоугольника, состоящей из N бинарных символов, добавляется бинарный символ проверки на четность, так что длина строки становится равной N+1 бинарным символам. The closest in technical essence to the claimed object is a method of noise-resistant coding / decoding of digital data, which is based on the so-called "rectangular code" [7, p. 33] (see also [1, section 6.3.3.2]). This method is considered as a prototype. The prototype is designed to encode binary (single-bit) characters, therefore it is further used in the source [7, p. 33] the term “symbol” is specified as a “binary symbol”. The prototype provides for the presentation of each of the blocks containing K binary symbols of the transmitted message, in the form of a rectangle of size M · N. Then, a binary parity character is added to each line of the specified rectangle, consisting of N binary characters, so that the line length becomes equal to N + 1 binary characters.
Аналогично этому к каждому столбцу также добавляется по одному проверочному бинарному символу. Таким образом, первоначальный прямоугольник из M·N бинарных символов превращается в прямоугольник из (M+1)·(N+1) бинарных символов (при этом в нем может отсутствовать символ, находящийся на пересечении (M+1)-й строки и (N+1)-го столбца). Далее в прототипе на приемной стороне (после предварительного декодирования) посредством проверки на четность определяются строка и столбец, в которых имеется ошибка (если она вообще имеется), и конкретный ошибочный бинарный символ, являющийся для этой пары строки и столбца общим, т.е. бинарный символ, находящийся на их пересечении. Исправление ошибки производится изменением кода этого бинарного символа на дополнительный (т.е. с «1» на «0» или наоборот).Similarly, one check binary character is also added to each column. Thus, the initial rectangle of M · N binary symbols turns into a rectangle of (M + 1) · (N + 1) binary symbols (while this may not contain a symbol at the intersection of the (M + 1) -th line and ( N + 1) th column). Further, in the prototype, on the receiving side (after preliminary decoding), by checking for parity, the row and column in which there is an error (if any) and the specific erroneous binary symbol, which is common for this pair of row and column, are determined, i.e. binary symbol at their intersection. Error correction is carried out by changing the code of this binary symbol to an additional one (that is, from "1" to "0" or vice versa).
Как отмечено выше, приведенное изложение прототипа предполагает передачу бинарных символов. В случае передачи Q-арных символов, т.е. в случае представления каждого символа P-разрядным кодом, реализация прототипа предполагает расположение разрядов каждого символа в строке или в столбце прямоугольника (при этом прямоугольник имеет размеры, например, M·N=K·P). Тогда в случае возникновения ошибки при предварительном декодировании всего одного символа в соответствующим этому символу строке или в столбце указанного прямоугольника будут иметь место ошибочно определенные биты этого символа в количестве от 1 до P штук. При этом в случае четного количества указанных ошибочно определенных бит проверка на четность ошибок не выявит, и тогда прототип исправление ошибок не обеспечивает. Последнее имеет место с вероятностью 0.5. Как отмечено выше, проблема исправления ошибок в указанном случае дополнительно усугубляется при возникновении при предварительном декодировании ошибок в двух и более P-разрядных символах.As noted above, the foregoing prototype assumes the transfer of binary characters. In the case of transmission of Q-ary characters, i.e. in the case of representing each symbol with a P-bit code, the implementation of the prototype involves the arrangement of the bits of each symbol in a row or column of a rectangle (the rectangle has dimensions, for example, M · N = K · P). Then, in the event of an error during preliminary decoding of only one symbol in the row corresponding to this symbol or in the column of the specified rectangle, erroneously defined bits of this symbol in the amount of 1 to P pieces will take place. Moreover, in the case of an even number of specified erroneously determined bits, the parity check will not reveal errors, and then the prototype does not provide error correction. The latter takes place with a probability of 0.5. As noted above, the problem of error correction in this case is further aggravated when errors occur in preliminary decoding of two or more P-bit characters.
Таким образом, недостатком прототипа является высокая вероятность пропуска ошибки предварительного декодирования P-разрядного символа (при этом исправления указанной ошибки не происходит), т.е. низкая достоверность передачи при обмене данными.Thus, the disadvantage of the prototype is the high probability of skipping the error of preliminary decoding of the P-bit character (while the correction of this error does not occur), i.e. low reliability of transmission during data exchange.
Далее вместо термина «прямоугольник» используется представляющийся более точным термин «матрица». Кроме того, ниже в ряде случаев, когда речь идет об P-разрядном (т.е. Q-арном) символе, используется термин просто «символ» (в отличие от термина «бинарный символ»).Further, instead of the term “rectangle”, the term “matrix”, which seems more accurate, is used. In addition, in a number of cases below, when it comes to a P-bit (ie, Q-ary) character, the term simply “character” is used (as opposed to the term “binary character”).
Целью заявляемого способа является повышение достоверности передачи при обмене данными.The aim of the proposed method is to increase the reliability of the transmission during data exchange.
Поставленная цель достигается тем, что в способе помехоустойчивого кодирования и декодирования цифровых данных, состоящем в представлении на передающей стороне каждого блока данных, содержащего последовательность из K информационных бинарных символов, в виде матрицы, содержащей M строк и N столбцов, и добавлении к этому блоку Θ=M+N избыточных бинарных символов, причем правило формирования каждого из M избыточным бинарных символов обеспечивает проверку на четность массива информационных бинарных символов соответствующей строки указанной матрицы, а правило формирования каждого из оставшихся N избыточных бинарных символов обеспечивает проверку на четность массива информационных бинарных символов соответствующего столбца этой матрицы, а на приемной стороне - в определении номеров строки и столбца указанной матрицы, в которых на основе проверки на четность обнаружена ошибка, определении бинарного символа, являющегося для указанных строки и столбца общим, и изменении кода этого бинарного символа на дополнительный, введены изменения, состоящие в том, что количество матриц, в виде которых представляется блок из K подлежащих передаче информационных P-разрядных символов, выбирают равным разрядности каждого из этих символов, причем каждую p-ю (при p=1…P) из них компонуют из p-х разрядов информационных символов, указанные операции добавления избыточных символов на передающей стороне и определения номеров строки и столбца, в которых на основе проверки на четность обнаружена ошибка, определения бинарных символов, являющихся для указанных строки и столбца общими, и изменении кодов этих бинарных символов на дополнительные на приемной стороне выполняют для каждой из P матриц, на передающей стороне формируют Θ P-разрядных избыточных символов из P совокупностей Θ указанных бинарных избыточных символов, а на приемной стороне реализуют представление каждого принятого блока данных в виде совокупности P матриц, содержащих по (M+1)·(N+1) бинарных символов каждая, кроме того, определяют P-разрядные символы, в которых произошли ошибки, причем каждый их таких символов определяется по той матрице, в которой ошибка обнаружена только в одном столбце и одной строке, а каждая из совокупности операций изменения кода каждого бинарного символа осуществляется над совокупностью бинарных символов, принадлежащих тем P-разрядным символам, в которых произошли ошибки.This goal is achieved by the fact that in the method of error-correcting encoding and decoding of digital data, consisting in the presentation on the transmitting side of each data block containing a sequence of K information binary symbols, in the form of a matrix containing M rows and N columns, and adding to this block Θ = M + N redundant binary characters, and the rule of generating each of M redundant binary characters provides a check for the parity of the array of information binary characters of the corresponding string specified matrices, and the rule for the formation of each of the remaining N redundant binary symbols ensures that the array of information binary symbols for the parity of the corresponding column of this matrix is checked for parity, and for determining the row and column numbers of the specified matrix in the receiving side, in which an error is detected based on parity, determining binary symbol, which is common for the specified row and column, and changing the code of this binary symbol to an additional one, changes have been introduced, consisting in the fact that the number of matrices, in the form of which a block of K informational P-bit symbols to be transmitted is represented, it is chosen equal to the bit depth of each of these symbols, and each pth (for p = 1 ... P) of them are composed of p-bits of information symbols, the indicated operations of adding redundant characters on the transmitting side and determining the row and column numbers in which, based on the parity check, an error was detected, determining binary characters that are common for the specified row and column, and changing the codes of these binary characters to supplement On the receiving side, for each of the P matrices, on the transmitting side, Θ P-bit redundant symbols are formed from P sets Θ of the specified binary redundant symbols, and on the receiving side, each received data block is represented as a set of P matrices containing (M +1) · (N + 1) binary characters each, in addition, determine the P-bit characters in which errors occurred, each of these characters being determined by the matrix in which the error is detected in only one column and one row, and every th code of the plurality of update operations of each binary symbol is carried over the plurality of binary symbols belonging to the P-bit symbols in which errors occurred.
Примечание. Нумерация разрядов информационных символов может быть произвольной, т.е. перед кодированием эти разряды могут быть перетасованы по квазислучайному закону. При этом способ кодирования / декодирования остается эквивалентным приведенному в описании настоящей заявки и в формуле изобретения.Note. The numbering of bits of information symbols can be arbitrary, i.e. before encoding, these bits can be shuffled according to a quasi-random law. In this case, the encoding / decoding method remains equivalent to that described in the description of the present application and in the claims.
Блок-схема, иллюстрирующая заявляемый способ, приведена на фиг. 1, где обозначены:A flowchart illustrating the inventive method is shown in FIG. 1, where are indicated:
1.1…1.P - представление каждого блока данных, содержащего последовательность из K бинарных символов, в виде матрицы, содержащей M строк и N столбцов (это относится к каждой p-й из операций 1.1…1.P);1.1 ... 1.P - representation of each data block containing a sequence of K binary characters, in the form of a matrix containing M rows and N columns (this applies to each p-th of operations 1.1 ... 1.P);
2.1…2.P - добавление к каждой p-й (p=1…P) матрице M=N избыточных бинарных символов;2.1 ... 2.P - adding to each p-th (p = 1 ... P) matrix M = N redundant binary symbols;
3.1…3.Θ - формирование Θ P-разрядных избыточных символов;3.1 ... 3.Θ - the formation of Θ P-bit redundant characters;
4.1…4.P - представление каждого принятого блока данных в виде совокупности P матриц, содержащих M+1 строк и N+1 столбцов бинарных символов;4.1 ... 4.P - representation of each received data block as a set of P matrices containing M + 1 rows and N + 1 columns of binary symbols;
5.1…5.P - определение в каждой p-й матрице номеров строки и столбца, в которых обнаружены ошибки,5.1 ... 5.P - determination in each p-th matrix of row and column numbers in which errors are detected,
6.1…6.P - определение в каждой p-й матрице бинарных символов, являющихся для определенных при выполнении соответствующей из операций 3.1…3.P строк и столбцов общими;6.1 ... 6.P - definition in each p-th matrix of binary symbols, which are common for certain rows and columns common when performing the corresponding from operations 3.1 ... 3.P;
7.1…7.P - изменение кодов ошибочных бинарных символов, определенных при выполнении соответствующей из операций 5.1…5.P, на дополнительные;7.1 ... 7.P - change of codes of erroneous binary characters defined during the execution of the corresponding from operations 5.1 ... 5.P, to additional ones;
8 - определение символов, в которых произошли ошибки.8 - identification of characters in which errors have occurred.
Все операции заявляемого способа реализуются программируемыми устройствами цифровой обработки сигналов (например, микрочипами).All operations of the proposed method are implemented by programmable devices for digital signal processing (for example, microchips).
Содержание совокупности операций 1.1…1.P (представление каждого блока данных, содержащего последовательность из K бинарных символов, в виде матрицы, содержащей M строк и N столбцов) однозначно соответствует наименованию этой совокупности операций. Входными данными для этой совокупности операций являются блоки подлежащих передаче P-разрядных информационных символов (эти символы сформированы в результате упомянутого выше предварительного кодирования, которое, как оговорено выше, выходит за рамки заявляемого способа).The contents of the set of operations 1.1 ... 1.P (the representation of each data block containing a sequence of K binary symbols in the form of a matrix containing M rows and N columns) uniquely corresponds to the name of this set of operations. The input data for this set of operations are blocks of P-bit information symbols to be transmitted (these symbols are formed as a result of the preceding coding mentioned above, which, as stated above, is beyond the scope of the proposed method).
Каждая p-я (при p=1…P) из них (т.е. операция 1.p) реализуется над массивом одноименных (например, p-x) разрядов блока из K P-разрядных информационных символов полностью аналогично тому, как подобная операция реализуется над массивом также одноименных разрядов в прототипе (с той только разницей, что в прототипе имеет место условие P=1). При этом (для каждого p) p-е разряды М первых символов передаваемого блока (т.е. тех символов, с которых это блок начинается) располагаются в первой строке p-й матрицы, эти же разряды последующих M символов блока - во второй строке p-й матрицы и т.д… и так (при K=M·N) всего N раз при передаче каждого блока информационных символов. В итоге выполнения совокупности операций 1.1…1.P при помехоустойчивом кодировании текущего передаваемого блока информационных символов сформированы P матриц размером M·N, элементами которых являются одноразрядные (бинарные) символы. Далее предполагается, что во всех P матрицах бит (разряд) каждого символа помещен в одну и ту же позицию (т.е. является элементом одной и той же совокупности строки и столбца матрицы), «закрепленную» за этим символом. Закон соответствия между порядковыми номерами символов в блоке и позициями их бит в матрицах оговорен в настоящем абзаце выше.Each pth (for p = 1 ... P) of them (i.e., operation 1.p) is implemented over an array of the same name (for example, px) bits of a block of K P-bit information symbols in a completely analogous way to how a similar operation is implemented above the array of the same name bits in the prototype (with the only difference being that the condition P = 1 holds in the prototype). In this case (for each p) the pth digits of the M first characters of the transmitted block (i.e., those characters from which this block begins) are located in the first row of the pth matrix, the same digits of the next M characters of the block are in the second row p-th matrix, etc ... and so (with K = M · N) only N times during the transmission of each block of information symbols. As a result of performing the set of operations 1.1 ... 1.P with noise-tolerant coding of the current transmitted block of information symbols, P matrices of size M · N are formed, the elements of which are single-digit (binary) symbols. Further, it is assumed that in all P matrices, the bit (bit) of each symbol is placed in the same position (that is, it is an element of the same set of row and column of the matrix), "assigned" to this symbol. The law of correspondence between the serial numbers of characters in the block and the positions of their bits in the matrices is specified in this paragraph above.
На фиг. 1 условно показаны P связей между операциями 1.1…1.P и 2.1…2.P. При этом имеется в виду, что по каждой p-й из этих связей передается результат формирования указанной выше матрицы размерами M·N, сформированной по p-м разрядам P-разрядных символов блока.In FIG. 1 conventionally shows P connections between operations 1.1 ... 1.P and 2.1 ... 2.P. At the same time, it is understood that for each pth of these connections, the result of the formation of the above matrix with dimensions M · N, generated by the pth bits of P-bit block symbols, is transmitted.
Показ множественных связей между большинством операций (за исключением связей операции 8) условен, и все данные, которыми обмениваются соответствующие блоки устройства, реализующего заявляемый способ, могут передаваться последовательно по аппаратно одиночной связи.The display of multiple connections between most operations (with the exception of operations of connection 8) is conditional, and all data exchanged between the corresponding units of the device that implements the inventive method can be transmitted sequentially through a single hardware connection.
Фактически совокупность операций 1.1…1.P реализует переформатирование массива данных в обеспечение дальнейшей реализации совокупности операций 2.1…2.P.In fact, the set of operations 1.1 ... 1.P implements the reformatting of the data array to ensure the further implementation of the set of operations 2.1 ... 2.P.
Содержание совокупности операций 2.1…2.P (добавление к каждой p-й (p=1…P) матрице M+N избыточных бинарных символов) состоит в следующем. В каждой строке каждой матрицы независимо осуществляется подсчет количества единиц. К тем строкам, в которых количество единиц оказалось четным (или нечетным), в качестве M+1-го (избыточного или проверочного) бита (бинарного символа) добавляется ноль (или соответственно единица). (Принцип контроля честности может быть и обратным). Аналогичная операция добавления проверочных битов осуществляется и по отношению к каждому столбцу каждой матрицы. В итоге выполнения данной операции сформированы P матриц (состоящих из бинарных символов) размерами по (M+1)·(N+1) каждая (это утверждение может быт уточнено следующим образом: в данной матрице размерами (M+1)·(N+1) на самом деле отсутствует элемент на пересечении (M+1)-й строки и (N+1)-го столбца), что несущественно.The contents of the set of operations 2.1 ... 2.P (adding to each pth (p = 1 ... P) matrix M + N redundant binary symbols) is as follows. Each row of each matrix independently calculates the number of units. To those lines in which the number of units turned out to be even (or odd), zero (or, respectively, one) is added as the M + 1-st (redundant or check) bit (binary symbol). (The principle of honesty control may be the opposite). A similar operation of adding test bits is carried out with respect to each column of each matrix. As a result of this operation, P matrices (consisting of binary symbols) of sizes (M + 1) · (N + 1) each (this statement can be refined as follows: in the matrix with dimensions (M + 1) · (N + 1) in fact, there is no element at the intersection of the (M + 1) -th row and the (N + 1) -th column), which is insignificant.
На фиг. 1 условно показаны P выходов совокупности операций 2.1…2.P. При этом имеется в виду, что на каждый p-й из этих выходов поступает результат формирования массивов данных, содержащих все элементы p-й матрицы размерами (M+1)·(N+1), сформированной по p-м разрядам P-разрядных символов блока.In FIG. 1 conventionally shown P outputs of the set of operations 2.1 ... 2.P. At the same time, it is understood that for each pth of these outputs, the result is the formation of data arrays containing all elements of the pth matrix of sizes (M + 1) · (N + 1), formed by the pth bits of P-bit block characters.
Содержание совокупности операций 3.1…3.Θ состоит в формировании Θ P-разрядных избыточных символов. В итоге выполнения каждой операции 3.θ-й из этих операций формируется θ-й P-разрядный избыточный символ, каждый p-й (p=1…P) разряд которого есть θ-й бинарный избыточный символ, сформированный при выполнении операции 2.p (напомним, что при выполнении операции 2.р формируются Θ=M+N бинарных избыточных символов, сформированных по совокупности p-х разрядов соответствующих информационных символов.The contents of the set of operations 3.1 ... 3.Θ consists in the formation of Θ P-bit redundant characters. As a result of each operation, the 3.θth of these operations generates the θth P-bit redundant symbol, each pth (p = 1 ... P) bit of which is the θth binary redundant symbol generated during operation 2. p (recall that when performing operation 2.p, Θ = M + N binary redundant symbols are generated, formed by the totality of p-bits of the corresponding information symbols.
Говоря другими словами, при формировании Θ=M+N P-разрядных избыточных символов каждым p-м разрядом каждого m-го (m=1…М) из M избыточных P-разрядных символов является проверочный бинарный символ, добавленный при выполнении операции 2.p (p=1…P) в m-ю строку p-й матрицы, а каждым p-м разрядом каждого n-го (n=1…N) из N избыточных P-разрядных символов является проверочный бинарный символ, добавленный при выполнении операции 2.p (p=1…P) в n-й столбец p-й матрицы.In other words, when Θ = M + N P-bit redundant symbols are generated, each p-th bit of each m-th (m = 1 ... M) of M redundant P-bit symbols is a verification binary symbol added in step 2. p (p = 1 ... P) to the mth row of the pth matrix, and each pth bit of every nth (n = 1 ... N) of N redundant P-bit characters is a test binary character added when executing operations 2.p (p = 1 ... P) in the nth column of the pth matrix.
Выход совокупности операций 3.1…3. Θ показан на фиг. 1 многоканальным. При этом имеется в виду, что на этом выходе формируется поток, содержащий (при передаче каждого блока) последовательность из K информационных и Θ избыточных P-разрядных символов.The output of a set of operations 3.1 ... 3. Θ is shown in FIG. 1 multi-channel. At the same time, it is understood that a stream is formed at this output, containing (when transmitting each block) a sequence of K informational and Θ redundant P-bit characters.
Далее приведено пояснение совокупности операций, выполняемых при передаче данных в промежутке между выходами совокупности операций 3.1…3.Θ и входами совокупности операций 4.1…4.P. Эта (т.е. поясняемая) совокупность операций в состав заявляемого способа не входит (т.к. к собственно помехоустойчивому кодированию/декодированию она не относится), но ее пояснение существенно для раскрытия принципа действия заявляемого способа.The following is an explanation of the set of operations performed during data transmission in the interval between the outputs of the set of operations 3.1 ... 3.Θ and the inputs of the set of operations 4.1 ... 4.P. This (i.e., explained) set of operations is not part of the proposed method (since it does not apply to noise-resistant coding / decoding itself), but its explanation is essential for disclosing the principle of operation of the proposed method.
Результаты выполнения совокупности операций 3.1…3.Θ передаются на приемную сторону системы связи (обмена данными) классически. (Иллюстрирующая это положение общая структурная схема способа передачи данных приведена в [1] перед каждой главой; при этом совокупность операций, составляющих заявляемый способ в [1], именуется как «канальное кодирование» (при передаче) и «канальное декодирование» (при приеме)). При этом условно показанная на фиг. 1 (на выходах совокупности операций 3.1…3.Θ) совокупность потоков данных перед непосредственно передачей в канал обмена (связи) объединяется в один поток данных. В этом потоке (при передаче каждого блока) последовательно во времени расположены K P-разрядных информационных символов передаваемого сообщения, а также Θ избыточных P-разрядных символов. Указанные информационные символы (они являются входными данными заявляемого способа) при выполнении совокупностей операций 1.1…1.P, 2.1…2.P и 3.1…3.Θ просто транслируются на выход совокупности операций 3.1…3.Θ и к ним в потоке добавляются указанные Θ избыточных P-разрядных символов.The results of a set of operations 3.1 ... 3.Θ are transferred to the receiving side of the communication system (data exchange) in a classical manner. (The general structural diagram of the data transmission method illustrating this point is given in [1] before each chapter; in this case, the set of operations that make up the inventive method in [1] is referred to as “channel coding” (during transmission) and “channel decoding” (when receiving )). Moreover, conditionally shown in FIG. 1 (at the outputs of the set of operations 3.1 ... 3.Θ), the set of data streams before being transferred directly to the exchange (communication) channel is combined into one data stream. In this stream (during transmission of each block), K P-bit information symbols of the transmitted message and расположены redundant P-bit symbols are sequentially located in time. The specified information symbols (they are the input data of the proposed method) when performing sets of operations 1.1 ... 1.P, 2.1 ... 2.P and 3.1 ... 3.Θ are simply transmitted to the output of the set of operations 3.1 ... 3.Θ and the indicated ones are added to them in the stream Θ redundant P-bit characters.
На приемной стороне по принимаемым сигналам в результате выполнения операции предварительного декодирования (детектирования) так же классически осуществляется формирование потока данных. Последний содержит (при приеме каждого блока) K информационных P-разрядных символов, отличающихся от потока данных, подлежащих передаче (т.е. поступающих на общий вход совокупности операций 1.1…1.P) только с возможным несовпадением ряда битов вследствие ошибок, возникших при предварительном декодировании, а также Θ избыточных P-разрядных символов (которые также могут содержать ошибки, возникшие при предварительном декодировании).At the receiving side, on the received signals as a result of the preliminary decoding (detection) operation, the formation of a data stream is also classically performed. The latter contains (at the reception of each block) K information P-bit symbols that differ from the data stream to be transmitted (i.e., received at the common input of a set of operations 1.1 ... 1.P) only with possible mismatch of a number of bits due to errors that occurred during pre-decoding, as well as Θ redundant P-bit characters (which may also contain errors that occurred during pre-decoding).
На приемной стороне осуществляется предварительное декодирование каждого принятого блока символов.At the receiving side, a preliminary decoding of each received symbol block is performed.
Этим пояснения по выходящей за рамки заявляемого способа совокупности операций, выполняемых в системе связи при передаче данных в промежутке между выходами совокупности операций 3.1…3.Θ и входами совокупности операций 4.1…4.P, завершаются.This explains the combination of operations outside the scope of the proposed method that are performed in the communication system during data transfer between the outputs of the set of operations 3.1 ... 3.Θ and the inputs of the set of operations 4.1 ... 4.P, are completed.
После предварительного декодирования на приемной стороне реализуется переформатирование принимаемого потока данных. Это переформатирование осуществляется в процессе выполнении совокупности операций 4.1…4.P (представление каждого принятого блока данных в виде совокупности P матриц) вначале путем преобразования K=M·N информационных P-разрядных символов в совокупность P матриц размерами M·N по правилу, полностью совпадающему с содержанием совокупности операций 1.1…1.P. В итоге этого действия по каждому передаваемому блоку сформированы те же P матриц, что и в итоге выполнения совокупности операций 1.1…1.P, но с возможными ошибками, возникшими при предварительном декодировании. Далее в эти матрицы добавляются бинарные избыточные символы, являющиеся соответствующими разрядами принятых в данном блоке избыточных P-разрядных символов. Правило распределения (размещения) разрядов принятых в данном блоке избыточных P-разрядных символов в указанных матрицах полностью определяется приведенным выше правилом формирования на передающей стороне избыточных P-разрядных символов по избыточным (проверочным) битам матриц (т.е. по тому правилу, по которому на передающей стороне из совокупности бинарных избыточных символов всех матриц были сформированы совокупности разрядов избыточных P-разрядных символов, на приемной стороне из разрядов избыточные P-разрядных символов сформированы избыточные бинарные символы всех матриц). В итоге выполнения последней операции сформированы P матриц, содержащих в каждых строке по N информационных символов и один избыточный, а в каждом столбце - по M информационных символов и также один избыточный, т.е. сформированы P матриц размерами (M+1)·(N+1).After preliminary decoding at the receiving side, reformatting of the received data stream is implemented. This reformatting is carried out in the process of performing a set of operations 4.1 ... 4.P (representing each received data block as a set of P matrices) first by converting K = M · N information P-bit characters into a set of P matrices with sizes M · N according to the rule, completely coinciding with the contents of the totality of operations 1.1 ... 1.P. As a result of this action, for each transmitted block, the same P matrices are formed as in the result of performing the set of operations 1.1 ... 1.P, but with possible errors that occurred during preliminary decoding. Further, binary redundant symbols are added to these matrices, which are the corresponding bits of the redundant P-bit symbols accepted in this block. The rule for the distribution (placement) of bits of redundant P-bit symbols received in this block in the indicated matrices is completely determined by the above rule for generating redundant P-bit symbols on the transmitting side by redundant (check) matrix bits (i.e., according to the rule by which on the transmitting side, from the set of binary redundant symbols of all matrices, the sets of bits of redundant P-bit symbols were formed, on the receiving side from the bits of redundant P-bit symbols, s redundant binary characters of all matrices). As a result of the last operation, P matrices were formed containing N information symbols and one redundant in each row, and M information symbols and one redundant in each column, i.e. formed by P matrices with sizes (M + 1) · (N + 1).
Содержание совокупности операций 5.1…5.P (определение в каждой p-й матрице номеров строки и столбца, в которых обнаружены ошибки) состоит в следующем. В каждой строке каждой матрицы размерами (M+1)·(N+1), сформированной в результате выполнении совокупности операций 4.1…4.P, независимо осуществляется подсчет количества единиц. Те строки, в которых количество единиц оказалось четным, признаются не содержащими ошибок предварительного декодирования, а те строки, в которых количество единиц оказалось нечетным, признаются содержащими такие ошибки (т.е. в них обнаружены ошибки; указанное правило обнаружения ошибок соответствует приведенному выше описанию алгоритма формирования бинарных избыточных символов при выполнении операций 2.1…2.P). Номера строк каждой матрицы, в которых обнаружены ошибки, запоминаются.The contents of the set of operations 5.1 ... 5.P (determination in each pth matrix of row and column numbers in which errors are detected) is as follows. In each row of each matrix with dimensions (M + 1) · (N + 1), formed as a result of performing a set of operations 4.1 ... 4.P, the number of units is independently calculated. Those lines in which the number of units turned out to be even are recognized as not containing preliminary decoding errors, and those lines in which the number of units turned out to be odd are recognized to contain such errors (i.e. errors were detected in them; the indicated error detection rule corresponds to the description above algorithm for generating binary redundant characters in operations 2.1 ... 2.P). The row numbers of each matrix in which errors are detected are stored.
Аналогично этому подсчитываются количества единиц во всех столбцах матриц и те столбцы каждой матрицы, в которых количество единиц оказалось четным, признаются не содержащими ошибок предварительного декодирования, а те столбцы, в которых количество единиц оказалось нечетным, признаются содержащими такие ошибки; номера столбцов каждой матрицы, в которых обнаружены ошибки, запоминаются.Similarly, the number of units in all columns of the matrices is counted and those columns of each matrix in which the number of units turned out to be even are recognized as not containing preliminary decoding errors, and those columns in which the number of units turned out to be odd are recognized to contain such errors; the column numbers of each matrix in which errors are detected are stored.
В итоге выполнения совокупности операций 5.1…5.P по каждой матрице сформированы номера тех ее строк и столбцов, в которых обнаружены ошибки предварительного декодирования. Эти результаты далее используются для выполнения совокупности операций 6.1…6.P, а также 8 (возможен также эквивалентный вариант реализации заявляемого способа в котором при реализации операции 8 может быть использована и информация, выработанная в результате выполнения операций 6.1…6.P вместо операций 5.1…5.P).As a result of performing the set of operations 5.1 ... 5.P, the numbers of those rows and columns in which the preliminary decoding errors are detected are formed for each matrix. These results are further used to perform a combination of operations 6.1 ... 6.P, as well as 8 (an equivalent embodiment of the proposed method is also possible in which, when implementing
Содержание совокупности операций 6.1…6.P (определение в каждой p-й матрице бинарных символов, являющихся для определенных при выполнении соответствующей из операций 5.1…5.P строк и столбцов общими) состоит в следующем. Пусть каждый бинарный символ, расположенный в m-й строке и в n-м столбце (т.е. являющийся для сочетания этих строки и столбца общим) каждой p-й матрицы, обозначен как βpmn. Тогда при обнаружении в некоторой p-й матрице ошибки в m0-й строке и n0-м столбце общим бинарным символом этой матрицы (называем его потенциально подлежащим корректировке) является символ βpm0n0. Результатами выполнения совокупности операций 5.1…5.P являются выявленные сочетания указанных трех индексов (это понятие ниже уточнено в Примечании) каждого потенциально подлежащего корректировке бинарного символа (в этой части заявляемый способ отличается от прототипа только тем, что данная операция производится одновременно над P матрицами, т.е. она многоканальна). Совокупность кодов бинарных символов всех матриц, а также все указанные выявленные сочетания трех индексов каждого потенциально подлежащего корректировке бинарного символа являются исходными данными для выполнения совокупности операций 7.1…1.P. Кроме того, как отмечено выше, все указанные выявленные сочетания трех индексов каждого потенциально подлежащего корректировке бинарного символа могут являться исходными данными и для выполнения операции 8.The contents of the set of operations 6.1 ... 6.P (the definition in each pth matrix of binary symbols that are common for certain rows and columns common when performing the corresponding operations 5.1 ... 5.P) is as follows. Let each binary symbol located in the mth row and in the nth column (i.e., which is common for the combination of these rows and the column) of each pth matrix, be designated as βpmn. Then when detecting in a p-th error matrix 0 m th row and n th column 0 common binary symbol of the matrix (call it a potentially subject to adjustment) is the symbol βpm 0 0 n. The results of the set of operations 5.1 ... 5.P are the identified combinations of the indicated three indices (this concept is specified below in the Note) of each binary symbol potentially subject to adjustment (in this part, the claimed method differs from the prototype only in that this operation is performed simultaneously on P matrices, i.e. it is multi-channel). The set of binary symbol codes of all matrices, as well as all the indicated combinations of three indices of each binary symbol potentially subject to adjustment, are the initial data for performing the set of operations 7.1 ... 1.P. In addition, as noted above, all of the indicated combinations of three indices of each binary symbol potentially subject to adjustment can be the source data for performing
Примечание. В том случае (случаях), когда ошибки предварительного декодирования произошли в двух бинарных символах хотя бы некоторой одной (p-й) матрицы и они принадлежат одной и той же строке (или одному и тому же столбцу), то при проверке на четность ошибка в этой строке (или соответственно столбце) указанной матрицы обнаружена не будет (поскольку при проверке на четность четное количество ошибок не выявляется). При этом в заявляемом способе реализуется, например, присвоение указанной строке (или столбцу) условного индекса wm (или соответственно wn, что означает отсутствие информации о номере строки (или соответственно столбца), содержащей ошибочный бит. При нумерации строк и столбцов каждой матрицы в диапазонах соответственно 1…M и 1…N значения индексов wm и wn могут быть положены, например, равными 0. В итоге выполнения соответствующей данной матрице операции 5.p будут сформированы сочетания индексов вида: pwmn1 и pwmn2 (в случае отсутствия информации о номере строки) либо pm1wn и pm2wn (в случае отсутствия информации о номере столбца).Note. In the case (cases) when preliminary decoding errors occurred in two binary symbols of at least one single (pth) matrix and they belong to the same row (or the same column), then when checking for parity, the error in this row (or column, respectively) of the specified matrix will not be detected (since when checking for parity an even number of errors are not detected). Moreover, in the inventive method, for example, assignment of the specified row (or column) to the conditional index w m (or w n , respectively, which means there is no information about the number of the row (or column) containing the erroneous bit. When numbering rows and columns of each matrix in the ranges 1 ... M and 1 ... N, respectively, the values of the indices w m and w n can be set, for example, to 0. As a result of performing operation 5.p corresponding to this matrix, combinations of indices of the form pw m n 1 and pw m n 2 (in the absence of information row number) or pm 1 w n and pm 2 w n (if there is no information about the column number).
Далее по аналогии с прототипом коды всех этих потенциально подлежащих корректировке бинарных символов при выполнении совокупности операций 7.1…7.P (изменение кодов ошибочных бинарных символов, определенных при выполнении соответствующей из операций 6.1…6.P, на дополнительные) корректируются в соответствии с наименованием этой совокупности операций. При этом коды бинарных символов тех матриц, в которых при выполнении совокупности операций 5.1…5.P не обнаружены ошибки ни в одной паре номеров строки и столбца, и, соответственно, при выполнении совокупности операций 6.1…6.P не выявлены сочетания индексов каждого потенциально подлежащего корректировке бинарного символа, при выполнении совокупности операций 7.1…7.P остаются без изменений (не корректируются).Further, by analogy with the prototype, the codes of all these binary symbols that are potentially subject to correction when performing the set of operations 7.1 ... 7.P (changing the codes of erroneous binary symbols determined by performing the corresponding from operations 6.1 ... 6.P to additional ones) are adjusted in accordance with the name of this set of operations. In this case, the binary symbol codes of those matrices in which when performing a combination of operations 5.1 ... 5.P did not show errors in any pair of row and column numbers, and, accordingly, when performing a combination of operations 6.1 ... 6.P, combinations of indices of each potentially the binary symbol to be adjusted, when performing a set of operations 7.1 ... 7.P remain unchanged (not adjusted).
Коды бинарных символов тех матриц, в которых при выполнении совокупности операций 5.1…5.P обнаружена ошибка в одной паре номеров строки и столбца, и, соответственно, при выполнении совокупности операций 6.1…6.P выявлено одно сочетание индексов каждого потенциально подлежащего корректировке бинарного символа, при выполнении совокупности операций 7.1…7.P корректируются аналогично прототипу (т.е. коды тех бинарных символов, позиции которых в соответствующих им матрицах определяются указанным сочетанием индексов, меняются на дополнительные).The binary symbol codes of those matrices in which, when performing the set of operations 5.1 ... 5.P, an error was detected in one pair of row and column numbers, and, accordingly, when performing the set of operations 6.1 ... 6.P, one combination of indices of each binary symbol potentially subject to correction was revealed , when performing the set of operations 7.1 ... 7.P, they are adjusted similarly to the prototype (i.e., codes of those binary symbols whose positions in the corresponding matrices are determined by the indicated combination of indices are changed to additional ones).
Коды бинарных символов тех матриц, в которых при выполнении совокупности операций 5.1…5.P обнаружена ошибка более чем в одной паре номеров строки и столбца, и, соответственно, при выполнении совокупности операций 6.1…6.P выявлено более одного сочетания индексов каждого потенциально подлежащего корректировке бинарного символа, при выполнении совокупности операций 7.1…1.P корректируются также аналогично тому, как это происходит в прототипе, но с учетом меток («подсказок»), выработанных для каждой их таких матриц при выполнении операции 8. Продолжение пояснения содержания совокупности операций 7.1…7.P (т.е. пояснение принципа учета указанных меток при выполнении этой совокупности операций) ниже совмещено с описанием содержания операции 8.The binary symbol codes of those matrices in which, when performing the set of operations 5.1 ... 5.P, an error was detected in more than one pair of row and column numbers, and, accordingly, when performing the set of operations 6.1 ... 6.P, more than one combination of indices of each potentially when adjusting a binary symbol, when performing a set of operations 7.1 ... 1.P, they are also adjusted in the same way as in the prototype, but taking into account the labels (“hints”) generated for each of these matrices during
Содержание операции 8 (определение символов, в которых произошли ошибки) состоит в следующем. Исходными данными для выполнения этой операции являются выявленные при выполнении совокупности операций 5.1…5.P (или, как отмечено выше, 6.1…6.P) сочетания трех индексов каждого потенциально подлежащего корректировке бинарного символа.The contents of operation 8 (determining the characters in which errors occurred) is as follows. The initial data for performing this operation is the combination of three indices of each binary symbol potentially subject to correction that was revealed during the execution of a set of operations 5.1 ... 5.P (or, as noted above, 6.1 ... 6.P).
При ошибках (предварительного декодирования) в двух P-разрядных символах могут иметь место ошибки в двух бинарных символах одной матрицы (далее, если это не оговорено особо, речь идет именно о такой ситуации). При этом, если фактически имеют место ошибки в бинарных символах βpm1n2 и βpm2n2, то тогда в итоге выполнения операции 5.p будут определены (как содержащие ошибки) m1-я и m2-я строки и n1-й и n2-й столбцы p-й матрицы. И тогда при m1≠m2 и n1≠n2 в итоге выполнения операции 6.p в качестве общих для сочетания строк и столбцов p-й матрицы бинарных символов будут определены как символы βpm1n1, βpm2n2, в данной ситуации действительно являющиеся ошибочными, так и символы βpm1n2, βpm2n1, в данной ситуации ошибочными не являющиеся. При этом то, какая именно из этих двух пар бинарных символов содержит ошибки предварительного декодирования, декодеру заранее неизвестно.In case of errors (preliminary decoding) in two P-bit symbols, errors may occur in two binary symbols of the same matrix (hereinafter, unless otherwise specified, this is precisely the case). Moreover, if in fact there are errors in the binary symbols βpm 1 n 2 and βpm 2 n 2 , then as a result of operation 5.p, the mth and mth strings of the 1st and the 2nd lines and n 1 will be determined (as containing errors) th and n 2nd columns of the pth matrix. And then, for m 1 ≠ m 2 and n 1 ≠ n 2, as a result of the operation 6.p, as common for the combination of rows and columns of the pth matrix of binary symbols, βpm 1 n 1 , βpm 2 n 2 , in in this situation are really erroneous, and the symbols βpm 1 n 2 , βpm 2 n 1 , in this situation are not erroneous. At the same time, which of these two pairs of binary symbols contains preliminary decoding errors, the decoder is not known in advance.
Указанный эффект может быть проиллюстрирован геометрически следующим образом: две взаимно перпендикулярные прямые («проведенные» по строке и столбцу матрицы) имеют одну точку пересечения, и эта точка соответствует месторасположению бинарного символа, являющегося для указанных строки и столбца матрицы общим; четыре же попарно взаимно перпендикулярные прямые (их именно столько при ошибках в двух бинарных символах одной и той же матрицы, расположенных в разных ее строках и разных ее столбцах) имеют четыре точки пересечения, и каждая из этих точек также соответствуют месторасположению бинарного символа, являющегося для одной из пар указанных строки и столбца матрицы общим.The indicated effect can be illustrated geometrically as follows: two mutually perpendicular straight lines (“drawn” along the row and column of the matrix) have one intersection point, and this point corresponds to the location of the binary symbol, which is common for the indicated row and column of the matrix; four mutually perpendicular straight lines (there are exactly so many errors in two binary symbols of the same matrix located in different rows and its different columns) have four intersection points, and each of these points also corresponds to the location of the binary symbol, which is for one of the pairs of the specified row and column matrix is common.
В рассматриваемой ситуации (наличия двух ошибочных бинарных символов в одной и той же матрице) для корректной реализации совокупности операций 7.1…7.P этой совокупности операций надо «подсказать», какая именно пара бинарных символов (в рассмотренном выше примере это либо βpm1n1 и βpm2n2, либо βpm1n2 и βpm2n1) предварительно декодирована ошибочно. Необходимая «подсказка» формируется следующим образом.In the situation under consideration (the presence of two erroneous binary symbols in the same matrix) for the correct implementation of the set of operations 7.1 ... 7.P this set of operations, you need to "tell" which pair of binary symbols (in the above example, this is either βpm 1 n 1 and βpm 2 n 2 , or βpm 1 n 2 and βpm 2 n 1 ) were previously decoded erroneously. The necessary "hint" is formed as follows.
Как отмечено выше, при ошибочно предварительно декодированном P-разрядном символе могут быть ошибки в определении от одного до всех P бит (разрядов) этого символа. При этом практически наверняка при ошибочном предварительном декодировании двух P-разрядных символов хотя бы для одного из P разрядов выполняется следующее условие: в одном из этих символов данный разряд декодирован правильно, а во втором - ошибочно. Вероятность такого события вычисляется следующим образом. При ошибочно предварительно декодированном P-разрядном символе вероятность ошибки в его конкретном разряде примерно равна 0.5. Тогда вероятность того, что некоторый разряд одного символа декодирован правильно, а этот же разряд второго символа - ошибочно, также равна ηош р=0.5. При этом вероятность того, что указанное условие выполнено хотя бы в одном из P разрядов, определяется как η=1-(1-ηош р)P. Так, при P=8→η=0.996, а при P=12→η=0.9998, т.е. оговоренное выше условие действительно выполняется практически наверняка.As noted above, with an erroneously pre-decoded P-bit symbol, there may be errors in the determination of one to all P bits (bits) of this symbol. At the same time, it is almost certain that the following condition is fulfilled if two P-bit characters are erroneously pre-decoded for at least one of the P bits: this bit is correctly decoded in one of these symbols, and erroneously in the second. The probability of such an event is calculated as follows. With an erroneously pre-decoded P-bit character, the probability of an error in its specific discharge is approximately 0.5. Then the probability that some bit of one symbol is decoded correctly, and the same bit of the second symbol is erroneous, is also equal to η er p = 0.5. Moreover, the probability that this condition is fulfilled in at least one of the P digits is defined as η = 1- (1-η ош р ) P. So, at P = 8 → η = 0.996, and at P = 12 → η = 0.9998, i.e. the condition stated above is indeed almost certainly fulfilled.
Обозначим тот разряд, который в одном их символов (речь идет о тех двух P-разрядных символах, которые предварительно декодированы с ошибками) предварительно декодирован правильно, в во втором - с ошибкой, как p0-й. Тогда при выполнении операции 5.p0 будет обнаружено только одно сочетание строки и столбца, в котором обнаружена ошибка. Пусть, например, общим для этих строки столбца будет бинарный символ βp0m1n1. Из того, что при появлении ошибки предварительного декодирования в некоторых P-разрядных символах ошибки в бинарных символах (являющихся элементами каждой из P матриц) имеют место только в разрядах (хотя и не обязательно во всех разрядах) указанных P-разрядных символов, следует, что из двух альтернативных пар возможных ошибочных бинарных символов (βpm1n1 и βpm2n2, либо βpm1n2 и βpm2n1) действительно ошибочной является та пара, в которую входит символ, совпадающий по паре индексов m и n с бинарным символом βp0m1n1, т.е. пара символов βpm1n1 и βpm2n2.Let us denote the bit that in one of their symbols (we are talking about those two P-bit symbols that were previously decoded with errors) is pre-decoded correctly, in the second - with an error, like p 0th . Then, when performing operation 5.p 0 , only one combination of row and column in which an error is detected will be detected. Suppose, for example, that the binary character βp 0 m 1 n 1 is common to these column rows. The fact that when a preliminary decoding error occurs in some P-bit symbols, errors in binary symbols (which are elements of each of the P matrices) occur only in the bits (although not necessarily in all bits) of the indicated P-bit symbols, it follows that of the two alternative pairs of possible erroneous binary symbols (βpm 1 n 1 and βpm 2 n 2 , or βpm 1 n 2 and βpm 2 n 1 ), the pair that contains the symbol that matches the pair of indices m and n with the binary symbol βp 0 m 1 n 1 , i.e. symbol pair βpm 1 βpm n 1 and n 2 2.
В связи с изложенным, «подсказка» совокупности операций 7.1…7.P, обеспечивающая исправление ошибок предварительного декодирования двух P-разрядных символов, формирует следующим образом. При выполнении операции 8 осуществляется определение матрицы, содержащей только одну строку и только один столбец, в которых найдены ошибки предварительного декодирования (т.е. p0-й матрицы). Этот поиск начинается, например, с p=1-й матрицы, и далее ее номер последовательно увеличивается до тех пор, пока не будет найдена требуемая (определяемая как p0-я) матрица. Эта операция поиска выполняется путем подсчета в каждой матрице количества строк и столбцов, в которых обнаружены ошибки предварительного декодирования, и фиксации той матрицы, в которой (впервые с начала выполнения этой операции поиска) каждый из результатов подсчетов (т.е. и результат подсчетов указанных строк, и результат подсчетов указанных столбцов) совпадет с единицей. В этой матрице фиксируются номера строки m и столбца n, соответствующие позиции ошибочного бинарного символа. Эти два номера или индекса (mn) передаются на управляющий вход совокупности операций 7.1…7.P (на фиг. 1 это общий для них нижний вход). При выполнении совокупности операций 7.1…7.P в качестве подлежащих коррекции (т.е. замене их кодов на дополнительные) выбираются те пары бинарных символов, которые содержат в своем составе один символ с индексами m и n, совпадающими с зафиксированными в p0-й матрице и переданными на входы совокупности операций 7.1…7.P в качестве «подсказки» (метки). Таким образом, в основу заявляемого способа положен тот эффект, что при не более чем двух ошибках предварительного кодирования блока P-разрядных символов все предварительно декодированные ошибочно бинарные символы во всех тех матрицах, где они имеются, могут находиться только в совпадающих позициях (т.е. при совпадающих парах индексов m и n).In connection with the foregoing, the "hint" of the set of operations 7.1 ... 7.P, which provides the correction of preliminary decoding errors of two P-bit characters, is generated as follows. In
Приведенное выше описание совокупности признаков заявляемого способа в статике совмещено с описанием принципа его действия.The above description of the combination of features of the proposed method in statics is combined with a description of the principle of its action.
Для определения (обнаружения) ошибок в каждых строке и столбце каждой из P матриц может быть без изменения изобретательского замысла использована любая из известных процедур. В связи с этим объект, сформированный путем замены в заявляемом способе процедуры проверки на четность на иную известную процедуру обнаружения ошибок (при соответствующем ей изменении формирования проверочных символов), заявляемому способу эквивалентен.To determine (detect) errors in each row and column of each of the P matrices, any of the known procedures can be used without changing the inventive concept. In this regard, the object formed by replacing the parity check procedure in the claimed method with another known error detection procedure (with a corresponding change in the formation of the check characters), the claimed method is equivalent.
Вариант реализации выполняемых на передающей стороне операций способа, отличающийся от описанного выше только тем, что указанные M+N P-разрядных избыточных символов формируются без образования указанных матриц (т.е. без переформатирования данных), а непосредственно на основе описанной выше обработки совокупностей одноименных разрядов подлежащих передаче M·N P-разрядных информационных символов с тем же результатом, является эквивалентным описанному выше. Аналогичное замечание справедливо и по отношению к необходимости процедуры переформатирования на приемной стороне.An embodiment of the method operations performed on the transmitting side, which differs from the one described above only in that the indicated M + N P-bit redundant symbols are generated without generating the indicated matrices (i.e., without reformatting the data), but directly on the basis of the processing of the sets of the same name described above bits to be transmitted M · N P-bit information symbols with the same result, is equivalent to that described above. A similar remark is true with respect to the need for reformatting procedures on the receiving side.
Итак, в прототипе в случае помехоустойчивого декодирования блока бинарных символов единичная в этом блоке ошибка исправляется с вероятностью, равной 1, а единичная ошибка в блоке многоразрядных символов - с вероятностью 0.5; при двух же ошибках прототип вообще не работоспособен. При применении заявляемого способа при работе с многоразрядными символами в случае единичной ошибки обеспечивается ее исправление с вероятностью, равной 1, а в случае двух ошибок в блоке - их исправление с вероятностью, практически равной также 1. Таким образом, цель изобретения достигнута.So, in the prototype, in the case of noise-free decoding of a binary symbol block, a single error in this block is corrected with a probability of 1, and a single error in a multi-bit symbol block is corrected with a probability of 0.5; with two errors, the prototype is generally not operational. When applying the proposed method when working with multi-bit characters in the case of a single error, its correction is ensured with a probability equal to 1, and in the case of two errors in a block, their correction with a probability almost equal to also 1. Thus, the purpose of the invention is achieved.
Литература.Literature.
1. Скляр Б. Цифровая связь. Теоретические основы и практическое применение. 2-е издание. М.: Издательский дом «Вильяме». 2003.1. Sklyar B. Digital communication. Theoretical foundations and practical application. 2nd edition. M .: Publishing House "William". 2003.
2. Брауде-Золотарев Ю.М., Лаврентьев М.А. Способ помехоустойчивого кодирования и декодирования. Патент РФ №2214678.2. Braude-Zolotarev Yu.M., Lavrentiev M.A. Method of error-correcting coding and decoding. RF patent No. 2214678.
3. Брауде-Золотарев Ю.М., Грибань С.В. Способ помехоустойчивого кодирования и декодирования. Патент РФ №2213416.3. Braude-Zolotarev Yu.M., Griban S.V. Method of error-correcting coding and decoding. RF patent No. 2213416.
4. Смирнов О.В., Вергелис Н.И. Декодер с обнаружением и исправлением ошибок. Патент РФ №2370887.4. Smirnov OV, Vergelis N.I. Decoder with detection and correction of errors. RF patent No. 2370887.
5. Липкин И.А. Статистическая радиотехника. Теория информации и кодирования. М.: Вузовская книга, 2002.5. Lipkin I.A. Statistical radio engineering. Theory of information and coding. M.: University book, 2002.
6. Кларк Дж., Кейн Дж. Кодирование с исправлением ошибок в системах цифровой связи. Вып. 28. М.: Радио и связь. 1987.6. Clark J., Kane J. Error correction coding in digital communication systems. Vol. 28. M.: Radio and communications. 1987.
7. Хемминг Р.В. Теория кодирования и теория информации. М.: Радио и связь, 1983.7. Hamming R.V. Coding theory and information theory. M .: Radio and communications, 1983.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2015109793/08A RU2585977C1 (en) | 2015-03-19 | 2015-03-19 | Method for noiseless encoding and decoding of digital data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2015109793/08A RU2585977C1 (en) | 2015-03-19 | 2015-03-19 | Method for noiseless encoding and decoding of digital data |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2585977C1 true RU2585977C1 (en) | 2016-06-10 |
Family
ID=56115221
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2015109793/08A RU2585977C1 (en) | 2015-03-19 | 2015-03-19 | Method for noiseless encoding and decoding of digital data |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2585977C1 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4336612A (en) * | 1978-01-17 | 1982-06-22 | Mitsubishi Denki Kabushiki Kaisha | Error correction encoding and decoding system |
RU2213416C1 (en) * | 2002-12-30 | 2003-09-27 | Общество с ограниченной ответственностью "Альтоника" | Noise-immune coding and decoding method |
RU2214678C1 (en) * | 2003-01-05 | 2003-10-20 | Общество с ограниченной ответственностью "Альтоника" | Process of noise-immune coding and decoding |
EA009629B1 (en) * | 2006-06-21 | 2008-02-28 | Некоммерческая Организация «Фонд Сопровождения Инвестиционных Проектов "Генкей"» | Method of antinoise coding of digital information and method for decoding thereof |
RU2370887C1 (en) * | 2008-05-16 | 2009-10-20 | Федеральное государственное учреждение 16 Центральный научно-исследовательский испытательный институт Министерства обороны Российской Федерации имени маршала войск связи А.И. Белова | Decoder with detection and correction of errors |
-
2015
- 2015-03-19 RU RU2015109793/08A patent/RU2585977C1/en not_active IP Right Cessation
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4336612A (en) * | 1978-01-17 | 1982-06-22 | Mitsubishi Denki Kabushiki Kaisha | Error correction encoding and decoding system |
RU2213416C1 (en) * | 2002-12-30 | 2003-09-27 | Общество с ограниченной ответственностью "Альтоника" | Noise-immune coding and decoding method |
RU2214678C1 (en) * | 2003-01-05 | 2003-10-20 | Общество с ограниченной ответственностью "Альтоника" | Process of noise-immune coding and decoding |
EA009629B1 (en) * | 2006-06-21 | 2008-02-28 | Некоммерческая Организация «Фонд Сопровождения Инвестиционных Проектов "Генкей"» | Method of antinoise coding of digital information and method for decoding thereof |
RU2370887C1 (en) * | 2008-05-16 | 2009-10-20 | Федеральное государственное учреждение 16 Центральный научно-исследовательский испытательный институт Министерства обороны Российской Федерации имени маршала войск связи А.И. Белова | Decoder with detection and correction of errors |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8631309B2 (en) | Forward error correction with extended effective block size | |
EP3602796A1 (en) | Polar coding with dynamic frozen bits | |
US9471416B2 (en) | Partitioned error code computation | |
US8365053B2 (en) | Encoding and decoding data using store and exclusive or operations | |
US9917599B2 (en) | Coding schemes including alternative codings for a single code construct | |
RU2379841C1 (en) | Decoder with erasure correction | |
KR20130014484A (en) | Coding and decording method and codec of error correction code | |
RU2585977C1 (en) | Method for noiseless encoding and decoding of digital data | |
GB1274706A (en) | Correction of block errors in transmission of data | |
RU164633U1 (en) | STORAGE AND TRANSMISSION DEVICE WITH ERROR DETECTION | |
EP3737013B1 (en) | Encoding method, decoding method and device | |
JP2019125949A5 (en) | Transmitter, transmitter, receiver, and receiver | |
RU2633148C2 (en) | Method for code frame synchronization for cascade code when applying strict solutions | |
US9236890B1 (en) | Decoding a super-code using joint decoding of underlying component codes | |
RU2542665C1 (en) | Device of data storage and transmission with detection and correction of errors in information bytes | |
WO2018132982A1 (en) | Codeword generation method, error bit determination method and circuit thereof | |
Hirschfeld | Coding theory | |
RU2571605C2 (en) | Method for noiseless encoding and decoding of digital data | |
RU2725699C1 (en) | Method for soft decoding of noise-immune code | |
RU2428801C1 (en) | Device of code cycle synchronisation with soft decisions | |
RU2617929C1 (en) | Method of error control coding and decoding of digital data to be transmitted | |
RU2637426C1 (en) | Device for storing and transmitting data with error detection | |
KR20200046938A (en) | Overhead minimized coding technique and hardware implementation method including transmission/reception error correction technique for high-speed serial interface | |
CN106134086B (en) | Method and apparatus for controlling interleaving depth | |
RU2536384C2 (en) | Method of receiving information over two parallel channels |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20210320 |