RU2510572C1 - Pseudorandom code scale - Google Patents
Pseudorandom code scale Download PDFInfo
- Publication number
- RU2510572C1 RU2510572C1 RU2012146022/08A RU2012146022A RU2510572C1 RU 2510572 C1 RU2510572 C1 RU 2510572C1 RU 2012146022/08 A RU2012146022/08 A RU 2012146022/08A RU 2012146022 A RU2012146022 A RU 2012146022A RU 2510572 C1 RU2510572 C1 RU 2510572C1
- Authority
- RU
- Russia
- Prior art keywords
- code
- information
- scale
- reading elements
- pseudo
- Prior art date
Links
Landscapes
- Detection And Correction Of Errors (AREA)
- Error Detection And Correction (AREA)
Abstract
Description
Изобретение относится к измерительной технике, в частности к аналого-цифровому преобразованию, а именно к кодовым шкалам преобразователей угловых перемещений в код.The invention relates to measuring equipment, in particular to analog-to-digital conversion, and in particular to the code scales of angular displacement converters to code.
Известна псевдослучайная кодовая шкала [1], содержащая информационную дорожку, выполненную в виде градаций псевдослучайной двоичной последовательности максимальной длины периода М=2n-1, n считывающих элементов, дополнительный контрольный считывающий элемент.Known pseudo-random code scale [1], containing an information track made in the form of gradations of a pseudo-random binary sequence of a maximum period length M = 2 n -1, n reading elements, an additional control reading element.
Недостатком известной псевдослучайной кодовой шкалы является низкая информационная надежность, поскольку в ней не обеспечена возможность исправления одиночных и обнаружения двойных ошибок.A disadvantage of the known pseudo-random code scale is low information reliability, since it does not provide the ability to correct single and detect double errors.
Наиболее близкой по техническому решению и выбранной авторами за прототип является псевдослучайная кодовая шкала [2], содержащая информационную дорожку, выполненную в виде градаций псевдослучайной двоичной последовательности максимальной длины периода М=2n-1, построенной посредством примитивного многочлена h(x) степени n, где n - разрядность шкалы, n информационных считывающих элементов, размещенных вдоль информационной дорожки с угловыми шагами, кратными величине кванта шкалы δ=360°/M, с возможностью получения с них M различных n разрядных кодовых комбинаций [3], k корректирующих считывающих элементов, размещенных вдоль информационной дорожки с возможностью получения с них совместно с n информационными считывающими элементами M различных (n+k)-разрядных кодовых комбинаций, представляющих собой код Хемминга с обнаружением и исправлением одиночной ошибки.Closest to the technical solution and chosen by the authors for the prototype is a pseudo-random code scale [2] containing an information track made in the form of gradations of a pseudo-random binary sequence of maximum period length M = 2 n -1 constructed by means of a primitive polynomial h (x) of degree n, where n is the bit depth of the scale, n of information reading elements located along the information track with angular steps that are multiples of the quantum of the scale δ = 360 ° / M, with the possibility of obtaining from them M different n bit single combinations [3], k corrective reading elements located along the information track with the possibility of receiving together with n information reading elements M different (n + k) -bit code combinations, which are a Hamming code with detection and correction of a single error.
Недостатком прототипа является невысокая информационная надежность, поскольку в ней не обеспечена возможность обнаружения двойных ошибок.The disadvantage of the prototype is the low information reliability, since it does not provide the ability to detect double errors.
В предлагаемом изобретении решается задача повышения информационной надежности псевдослучайной кодовой шкалы за счет формирования с нее корректирующих кодов с обнаружением двойных ошибок при сохранении возможности исправления одиночных ошибок.The present invention solves the problem of increasing the information reliability of a pseudo-random code scale by generating corrective codes from it with the detection of double errors while maintaining the ability to correct single errors.
Для достижения технического результата псевдослучайная кодовая шкала, содержащая информационную дорожку, выполненную в виде градаций псевдослучайной двоичной последовательности максимальной длины периода М=2n-1, построенной посредством примитивного многочлена h(x) степени n, где n - разрядность шкалы, n информационных считывающих элементов, размещенных вдоль информационной дорожки с угловыми шагами, кратными величине кванта шкалы δ=360°/M, с возможностью получения с них M различных n разрядных кодовых комбинаций, k корректирующих считывающих элементов, размещенных вдоль информационной дорожки с возможностью получения с них совместно с n информационными считывающими элементами M различных (n+k)-разрядных кодовых комбинаций, представляющих собой код Хемминга с обнаружением и исправлением одиночной ошибки, снабжена контрольным считывающим элементом, размещенным вдоль информационной дорожки с возможностью получения с него совместно с (n+k) считывающими элементами M различных (n+k+1)-разрядных кодовых комбинаций, представляющих собой код Хемминга с исправлением одиночной и обнаружением двойной ошибки, выходы n информационных считывающих элементов, выходы k корректирующих считывающих элементов и выход контрольного считывающего элемента являются выходами псевдослучайной кодовой шкалы.To achieve a technical result, a pseudo-random code scale containing an information track made in the form of gradations of a pseudo-random binary sequence of maximum period length M = 2 n -1, constructed by means of a primitive polynomial h (x) of degree n, where n is the bit depth of the scale, n information reading elements placed along the information track with angular steps that are multiples of the quantum of the scale δ = 360 ° / M, with the possibility of obtaining from them M different n bit code combinations, k correcting reading x elements located along the information track with the possibility of receiving together with n information reading elements M different (n + k) -bit code combinations, which are a Hamming code with the detection and correction of a single error, is equipped with a control reading element located along the information track with the possibility of receiving from it together with (n + k) readout elements M different (n + k + 1) -bit code combinations representing a Hamming code with correction of single and zheniem double error, n outputs information sensing elements outputs k correcting sensing elements and an output controlling the read element are the outputs of the pseudorandom code scale.
Новым в предлагаемом изобретении является снабжение псевдослучайной кодовой шкалы контрольным считывающим элементом, соответствующее размещение которого вдоль информационной дорожки шкалы позволяет получить с него совместно с n информационными считывающими элементами и k корректирующими считывающими элементами M различных (n+k+1)-разрядных кодовых комбинаций, представляющих собой код Хемминга с исправлением одиночной и обнаружением двойной ошибки.New in the present invention is the provision of a pseudo-random code scale with a control reading element, the corresponding placement of which along the information track of the scale allows to receive together with n information reading elements and k correct reading elements M of various (n + k + 1) -bit code combinations representing Hamming code with the correction of a single and the detection of a double error.
Совокупность существенных признаков в предлагаемом изобретении позволила повысить информационную надежность псевдослучайной кодовой шкалы.The set of essential features in the present invention has improved the information reliability of the pseudo-random code scale.
В результате этого можно сделать вывод о том, что предлагаемое изобретение обладает изобретательским уровнем и позволяет получить технический результат.As a result of this, we can conclude that the invention has an inventive step and allows to obtain a technical result.
Изобретение является новым, так как из уровня техники по доступным источникам информации не выявлено аналогов с подобной совокупностью признаков.The invention is new, since the prior art on available sources of information did not reveal analogues with a similar set of features.
Изобретение является промышленно применимым, так как может быть использовано во всех областях, где требуется высокоточное позиционное определение углового положения объекта с использованием преобразователей угловых перемещений повышенной информационной надежности на основе заявляемых псевдослучайных кодовых шкал.The invention is industrially applicable, as it can be used in all areas where high-precision positional determination of the angular position of an object is required using angular displacement transducers of increased information reliability based on the claimed pseudo-random code scales.
Предлагаемое изобретение поясняется чертежом, где показана линейная развертка круговой четырехрядной псевдослучайной кодовой шкалы.The invention is illustrated in the drawing, which shows a linear scan of a circular four-row pseudo-random code scale.
Заявляемая псевдослучайная кодовая шкала содержит информационную кодовую дорожку 1, информационные считывающие элементы 2, 3, 4, 5 (n=4), корректирующие считывающие элементы 6, 7, 8 (k=3) и контрольный считывающий элемент 9.The inventive pseudo-random code scale contains an information code track 1, information reading elements 2, 3, 4, 5 (n = 4), correcting reading elements 6, 7, 8 (k = 3) and a control reading element 9.
Для пояснения сути изобретения приведем некоторые теоретические предпосылки.To clarify the essence of the invention, we give some theoretical background.
В [1] рассмотрены использованные в изобретении кодовые шкалы, получившие название псевдослучайные (ПСКШ), и строящиеся на основе теории M-последовательностей. ПСКШ имеют всего одну информационную кодовую дорожку, выполненную в соответствии с символами M-последовательности a=а 0 а 1…a M-1 и n информационных считывающих элементов (СЭ), размещенных вдоль дорожки. Считывающие элементы дают возможность получить при полном обороте шкалы M=2n-1 различных n-разрядных кодовых комбинаций, что обеспечивает разрешающую способность ПСКШ 8-360°/M. В общем виде задача размещения информационных СЭ на ПСКШ решена в [3].In [1], code scales used in the invention, called pseudorandom random codes (PSCS), and constructed on the basis of the theory of M-sequences, are considered. PCSS have only one information code track, made in accordance with the symbols of the M-sequence a = a 0 a 1 ... a M-1 and n information reading elements (SE) located along the track. Reading elements make it possible to obtain, with a full turn of the scale M = 2 n -1, various n-bit code combinations, which provides a resolution of 8–360 ° / M for the PCSS. In general terms, the problem of placing informational SCs on the PCSS was solved in [3].
Для генерации M-последовательности с периодом М=2n-1 используется примитивный неприводимый многочлен h(x) степени n с коэффициентами поля Галуа GF(2) [4], т.е.To generate an M-sequence with a period of M = 2 n -1, a primitive irreducible polynomial h (x) of degree n with Galois field coefficients GF (2) is used [4], ie
где h0=hn=1, а hi=0,1 при 0<i<n.where h 0 = h n = 1, and h i = 0.1 for 0 <i <n.
Символы М-последовательности a n+j удовлетворяют рекуррентному выражениюThe symbols of the M-sequence a n + j satisfy the recurrence expression
где знак
М-последовательности относятся к классу циклических кодов и могут задаваться с помощью порождающего многочлена g(x)=(xM+1)/h(x), где h(x) определяется в соответствии с выражением (1), М=2n-1.M-sequences belong to the class of cyclic codes and can be specified using the generating polynomial g (x) = (x M +1) / h (x), where h (x) is determined in accordance with the expression (1), M = 2 n -one.
Для каждой M-последовательности длины M существует ровно M различных циклических сдвигов, которые могут быть получены путем умножения порождающего многочлена g(x) на xj, где j=0, 1, …, M-1.For each M-sequence of length M, there are exactly M different cyclic shifts that can be obtained by multiplying the generating polynomial g (x) by x j , where j = 0, 1, ..., M-1.
Поскольку ПСКШ строятся в соответствии с символами M-последовательности, можно путем циклических сдвигов определить порядок размещения на шкале n информационных считывающих элементов, т.е. m-му СЭ, m=1, 2, …, n, ставится в соответствие jm-й циклический сдвиг xjm g(x) M-последовательности.Since PCSS are constructed in accordance with the symbols of the M-sequence, it is possible by cyclic shifts to determine the order in which n information reading elements are placed on the scale, i.e. m-th SE, m = 1, 2, ..., n, corresponds to the j mth cyclic shift x jm g (x) of the M-sequence.
Тогда многочлен, определяющий порядок размещения n информационных СЭ на шкале имеет вид:Then the polynomial that determines the order of placement of n informational FEs on a scale is
где jm∈{0, 1, …, M-1}.where j m ∈ {0, 1, ..., M-1}.
Положив j1=0, согласно полинома (3) получим положения 2-го, 3-го, …, n-го информационных СЭ, смещенные относительно первого СЭ на j2, j3, …, jn квантов информационной дорожки шкалы соответственно.Setting j 1 = 0, according to polynomial (3), we obtain the positions of the 2nd, 3rd, ..., n-th information SCs shifted relative to the first SC by j 2 , j 3 , ..., j n quanta of the information track of the scale, respectively.
В табл.1 приведены многочлены h(x) до n=12 включительно, которые могут быть использованы для генерации соответствующих M-последовательностей [4].Table 1 shows the polynomials h (x) up to n = 12 inclusive, which can be used to generate the corresponding M-sequences [4].
Поясним вариант построения ПСКШ, приведенной на чертеже.Let us explain the option of building PCSS, shown in the drawing.
В примере для простоты принято n=4 и соответственно из табл.1 выбран примитивный неприводимый многочлен h(x)=x4+х+1, где h0=h1=h4=1, h2=h3=0. Здесь период M-последовательности М=24-1=15, а сама M-последовательность a=a 0 a 1 a 2 a 3 a 4 a 5 a 6 a 7 a 8 a 9 a 10 a 11 a 12 a 13 a 14=000100110101111. При начальных значениях M-последовательности a 0=a 1=a 1=0, a 3=1 остальные символы последовательности получены в соответствии с рекуррентным соотношением (2), которое в данном примере имеет вид a 4+j=a 1+j⊕a j, j=0, 1, …, 10. Размещение четырех информационных считывающих элементов СЭ1 (на чертеже позиция 2), СЭ2 (на чертеже позиция 3), СЭ3 (на чертеже позиция 4) и СЭ4 (на чертеже позиция 5) вдоль информационной дорожки шкалы задано согласно (3) многочленом r(x)=1+х+x2+x3.In the example, for simplicity, n = 4 was taken and, accordingly, a primitive irreducible polynomial h (x) = x 4 + x + 1 was chosen from Table 1, where h 0 = h 1 = h 4 = 1, h 2 = h 3 = 0. Here, the period of the M-sequence is M = 2 4 -1 = 15, and the M-sequence itself is a = a 0 a 1 a 2 a 3 a 4 a 5 a 6 a 7 a 8 a 9 a 10 a 11 a 12 a 13 a 14 = 000100110101111. For the initial values of the M-sequence a 0 = a 1 = a 1 = 0, a 3 = 1, the remaining characters of the sequence are obtained in accordance with the recurrence relation (2), which in this example has the form a 4 + j = a 1 + j ⊕ a j , j = 0, 1, ..., 10. Placement of four information reading elements SE 1 (position 2 in the drawing), SE 2 (position 3 in the drawing), SE 3 (position 4 in the drawing) and SE 4 (in the drawing position 5) along the information track of the scale is defined according to (3) by the polynomial r (x) = 1 + x + x 2 + x 3 .
При построении информационной дорожки 1 M-последовательность с периодом M=15 должна быть нанесена на шкалу в виде пассивных (нули M-последовательности) и активных (единицы M-последовательности) участков информационной дорожки, например, по ходу часовой стрелки, причем на информационную дорожку шкалы наносится только один период M-последовательности. M-последовательность с периодом М=2n-1 определяет число квантов информационной дорожки шкалы, которое в данном примере равно M=15. Отсюда величина кванта δ=360°/M=360°/15=24°. Информационные считывающие элементы, числом 4, должны быть размещены вдоль информационной дорожки согласно r(x) с шагом, равным величине одного кванта шкалы δ, например, по ходу часовой стрелки. Отметим, что возможны и другие варианты размещения информационных СЭ вдоль информационной дорожки шкалы [3].When constructing the information track 1, the M-sequence with a period of M = 15 should be plotted on the scale in the form of passive (zeros of the M-sequence) and active (units of the M-sequence) sections of the information track, for example, clockwise, and on the information track scale is applied only one period of the M-sequence. M-sequence with a period of M = 2 n -1 determines the number of quanta of the information track of the scale, which in this example is equal to M = 15. Hence, the quantum value is δ = 360 ° / M = 360 ° / 15 = 24 °. Information reading elements, number 4, should be placed along the information track according to r (x) with a step equal to the value of one quantum of the scale δ, for example, clockwise. Note that other options for placing informational solar cells along the information track of the scale are possible [3].
Последовательно фиксируя информационными СЭ четырехразрядную кодовую комбинацию при перемещении шкалы на один квант против хода часовой стрелки, получаем 15 различных четырехразрядных кодовых комбинаций. Эти кодовые комбинации, соответствующие 15 различным угловым положениям ПСКШ, приведены в табл.2.Consistently fixing four-digit code combination by informational SEs when moving the scale one quantum counterclockwise, we get 15 different four-digit code combinations. These code combinations corresponding to 15 different angular positions of the PCSS are shown in Table 2.
Поскольку технический результат изобретения достигается за счет использования корректирующих кодов Хемминга с исправлением одиночных и исправлением двойных ошибок, покажем, как такой код должен быть реализован в предлагаемом изобретении. В рассматриваемом изобретении под ошибками будем понимать неправильную работу считывающих элементов (например, их выход из строя).Since the technical result of the invention is achieved through the use of Hamming correcting codes with the correction of single and double errors, we show how such a code should be implemented in the present invention. In the present invention, by errors we mean the malfunctioning of reading elements (for example, their failure).
В разработке и создании ряда помехоустойчивых кодов существенная роль отводится различным способам проверки на четность принимаемых кодовых комбинаций. В начале 50-х годов Хеммингом [5] был предложен код, в котором контрольные символы размещались в кодовой комбинации не произвольно, а на строго определенных местах, что, естественно, облегчало декодирование.In the development and creation of a number of error-correcting codes, a significant role is given to various methods of checking for the parity of received code combinations. In the early 1950s, Hamming [5] proposed a code in which control characters were placed in a code combination not arbitrarily, but in strictly defined places, which naturally facilitated decoding.
Была разработана система проведения проверок правильности переданного кодированного сообщения, включающая алгоритм определения синдрома ошибки, указывающего не только на наличие ошибки, но и номер искаженной кодовой позиции.A system was developed to conduct verification of the transmitted encoded message, including an algorithm for determining the syndrome of the error, indicating not only the presence of an error, but also the number of the distorted code position.
Наибольшее распространение получили две модели кода Хемминга: код с обнаружением и исправлением одиночной ошибки (минимальное кодовое расстояние d=3) и код с исправлением одиночной ошибки и обнаружением двойной (d=4).Two Hamming code models were most widely used: a code with detection and correction of a single error (minimum code distance d = 3) and a code with correction of a single error and detection of a double (d = 4).
Для синтеза кода Хемминга необходимо решить следующие задачи.To synthesize the Hamming code, it is necessary to solve the following problems.
1. Определить число контрольных символов, обеспечивающих заданные требования по помехозащищенности.1. Determine the number of control characters that provide the specified requirements for noise immunity.
2. Установить, на каких позициях кодовой комбинации следует разместить контрольные символы и какие позиции займут информационные символы.2. To establish at what positions of the code combination the control symbols should be placed and which positions the information symbols will occupy.
3. Собрав макет кодовой комбинации, определить значение каждого контрольного символа.3. Having collected the layout of the code combination, determine the value of each control character.
4. Составить кодовые комбинации, включающие как контрольные, так и информационные символы.4. Create code combinations that include both control and information symbols.
5. Дать алгоритм проверок, позволяющий установить наличие и место ошибки. Вначале, применительно к изобретению, рассмотрим синтез кода Хемминга с d=3.5. Give a check algorithm to determine the presence and place of the error. First, in relation to the invention, we consider the synthesis of a Hamming code with d = 3.
Число корректирующих СЭ k равно числу контрольных символов в коде Хемминга и определяется из соотношенияThe number of corrective FEs k is equal to the number of control characters in the Hamming code and is determined from the relation
где n - число информационных СЭ, равное числу информационных символов в коде Хемминга, а знак]…[означает округление до ближайшего большего целого.where n is the number of informational FEs equal to the number of informational symbols in the Hamming code, and the sign] ... [means rounding to the nearest larger integer.
Используя выражение (4), рассчитаем число корректирующих СЭ k для n=4, …, 12. Соответствующие расчеты представлены в табл.3.Using expression (4), we calculate the number of corrective solar cells k for n = 4, ..., 12. The corresponding calculations are presented in Table 3.
Далее определяются места, на которых в общей кодовой комбинации должны располагаться контрольные разряды. Контрольные символы должны составить двоичное число (синдром ошибки), которое бы указывало номер ошибочной позиции. В результате первой частной проверки на четность получается символ первого (младшего) разряда синдрома, в результате второй проверки - символ второго и т.д. Итак, если синдром ошибки представить в виде двоичного числа, а рядом записать соответствующие десятичные эквиваленты, то получим табл.4.Next, the places where the control bits should be located in the common code combination are determined. The control characters must be a binary number (error syndrome), which would indicate the number of the error position. As a result of the first private parity check, the symbol of the first (lower) category of the syndrome is obtained, as a result of the second check, the symbol of the second, etc. So, if the error syndrome is represented in the form of a binary number, and the corresponding decimal equivalents are written nearby, then we get Table 4.
Далее последовательно выписываются номера позиций, участвующих в каждой проверке на четность.Next, the numbers of the positions involved in each parity check are written out sequentially.
В первой проверке должны участвовать те позиции, которые содержат единицу в младшем разряде. Исходя из табл.3, это будут 1, 3, 5, 9, 11, 13, 15, 17.The first check should include those positions that contain a unit in the lower order. Based on table 3, it will be 1, 3, 5, 9, 11, 13, 15, 17.
Во второй проверке должны участвовать те позиции, которые содержат единицу во втором разряде. По табл.3 это будут 2, 3, 6, 7, 10, 11, 14, 15.The second check should include those positions that contain a unit in the second category. According to Table 3, these will be 2, 3, 6, 7, 10, 11, 14, 15.
В третьей проверке должны участвовать - 4, 5, 6, 7, 12, 13, 14, 15 позиции.The third check should include 4, 5, 6, 7, 12, 13, 14, 15 positions.
В четвертой проверке должны участвовать - 8, 9, 10, 11, 12, 13, 14, 15 позиции.The fourth check should be attended by 8, 9, 10, 11, 12, 13, 14, 15 positions.
В пятой проверке должны участвовать - 16, 17 позиции.The fifth check should be attended by 16, 17 positions.
В результате получаем табл.5.As a result, we obtain Table 5.
Анализируя табл.4, можно заключить, что контрольные символы Km должны размещаться на следующих позициях:Analyzing table 4, we can conclude that the control characters K m should be placed at the following positions:
K1 на позиции 1, т.е. 20;K 1 at position 1, i.e. 2 0 ;
K2 на позиции 2, т.е. 21;K 2 at position 2, i.e. 2 1 ;
K3 на позиции 4, т.е. 22;K 3 at position 4, i.e. 2 2 ;
K4 на позиции 8, т.е. 23;K 4 at position 8, i.e. 2 3 ;
К5 на позиции 16, т.е. 24.K 5 at position 16, i.e. 2 4 .
Позиции 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17 должны занять соответственно информационные символы И11, И10, И9, И8, И7, И6, И5, И4, И3, И2, И1, И0.Positions 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17 should occupy information symbols And 11 , And 10 , And 9 , And 8 , And 7 , And 6 , And 5 , respectively. And 4 , And 3 , And 2 , And 1 , And 0 .
Применительно к изобретению этот результат необходимо применить следующим образом.In relation to the invention, this result must be applied as follows.
С первого информационного СЭ должны формироваться символы И0, со второго - И1, …, с двенадцатого - И11, с первого корректирующего СЭ должны формироваться символы К1, со второго - символы К2, …, с пятого - символы K5.Symbols And 0 should be formed from the first informational SE, from the second - And 1 , ..., from the twelfth - And 11 , from the first corrective SC should be formed K 1 symbols, from the second - K 2 , ... symbols, from the fifth - K 5 symbols.
В соответствии с вышеизложенным макет кода Хемминга для d=3 должен выглядеть следующим образом.In accordance with the foregoing, the layout of the Hamming code for d = 3 should look as follows.
Определение значений каждого контрольного символа определяется по следующим выражениям.The definition of the values of each control character is determined by the following expressions.
K1=И11⊕И10⊕И8⊕И7⊕И5⊕И3⊕И1⊕И0;K 1 = AND 11 ⊕ AND 10 ⊕ AND 8 ⊕ AND 7 ⊕ AND 5 ⊕ AND 3 ⊕ AND 1 ⊕ AND 0 ;
K2=И11⊕И9⊕И8⊕И6⊕И5⊕И2⊕И1;K 2 = AND 11 ⊕ AND 9 ⊕ AND 8 ⊕ AND 6 ⊕ AND 5 ⊕ AND 2 ⊕ AND 1 ;
К3=И10⊕И9⊕И8⊕И4⊕И3⊕И2⊕И1;K 3 = AND 10 ⊕ AND 9 ⊕ AND 8 ⊕ AND 4 ⊕ AND 3 ⊕ AND 2 ⊕ AND 1 ;
К4=И7⊕И6⊕И5⊕И4⊕И3⊕И2⊕И1;K 4 = AND 7 ⊕ AND 6 ⊕ AND 5 ⊕ AND 4 ⊕ AND 3 ⊕ AND 2 ⊕ AND 1 ;
К5=И0.K 5 = And 0 .
Поясним приведенные выше теоретические рассуждения на примере четырехразрядной псевдослучайной кодовой шкалы.Let us explain the above theoretical reasoning by the example of a four-digit pseudo-random code scale.
Из табл.3 для n=4 находим k=3.From table 3 for n = 4 we find k = 3.
Из табл.5 имеем номера позиций, участвовавших в каждой проверке на четность.From Table 5, we have the numbers of positions that participated in each parity check.
Контрольные символы должны размещаться на следующих позициях: K1 - на позиции 1, К2 - на позиции 2, К3 - на позиции 4. Позиции 3, 5, 6, 7 займут соответственно информационные символы И3, И2, И1, И0.The control symbols should be placed at the following positions: K 1 - at position 1, K 2 - at position 2, K 3 - at position 4. Positions 3, 5, 6, 7 will occupy respectively the information symbols I 3 , I 2 , I 1 , And 0 .
Макет кода Хемминга в этом случае будет выглядеть следующим образом.The layout of the Hamming code in this case will look as follows.
С первого информационного СЭ должны формироваться символы И0, со второго - И1, с третьего - И2, с четвертого - И3, с первого корректирующего СЭ должны формироваться символы К1, со второго - символы К2, с третьего - символы К3.Symbols And 0 should be formed from the first informational SE, from the second - And 1 , from the third - And 2 , from the fourth - And 3 , from the first corrective SE should be formed the symbols K 1 , from the second - symbols K 2 , from the third - symbols K 3 .
Для получения со шкалы семиразрядного кода Хемминга определим позиции размещения вдоль информационной дорожки трех корректирующих СЭ.To obtain a seven-digit Hamming code from the scale, we determine the placement positions along the information track of the three corrective SCs.
Исходными данными для расчета являются выражения для определения контрольных символов K1=И3⊕И2⊕И0, К2=И3⊕И1⊕И0, К3=И2⊕И1⊕И0, а также многочлен, определяющий размещение вдоль информационной дорожки кодового диска четырех информационных СЭ r(x)=1+х+х2+х3.The initial data for the calculation are the expressions for determining the control symbols K 1 = AND 3 ⊕ AND 2 ⊕ AND 0 , K 2 = AND 3 ⊕ AND 1 ⊕ AND 0 , K 3 = AND 2 ⊕ AND 1 ⊕ AND 0 , as well as the polynomial, determining the placement along the information track of the code disk of four informational SEs r (x) = 1 + x + x 2 + x 3 .
Для определения позиции первого корректирующего СЭ по выражению для К1 с учетом r(x) сформируем многочлен, который будет иметь вид r1(х)=1+х2+х3.To determine the position of the first corrective FE by the expression for K 1 , taking into account r (x), we form a polynomial that will have the form r 1 (x) = 1 + x 2 + x 3 .
Далее разделим этот многочлен по модулю два со стороны младших степеней на примитивный многочлен h(x)=x4+х+1 до получения остатка в виде одночлена, причем степень одночлена берется по модулю M-15, т.е.Next, we divide this polynomial modulo two from the side of the lower degrees into the primitive polynomial h (x) = x 4 + x + 1 to obtain the remainder as a monomial, and the degree of the monomial is taken modulo M-15, i.e.
Степень одночлена определяет позицию размещения на шкале первого корректирующего СЭ, причем он должен быть смещен относительно первого информационного СЭ на 13 квантов шкалы δ по ходу часовой стрелки.The degree of the monomial determines the placement position on the scale of the first corrective SC, and it should be shifted relative to the first information SC by 13 quanta of the scale δ clockwise.
Для определения позиции второго корректирующего СЭ по выражению для К2 с учетом r(x) сформируем многочлен, который будет иметь вид r2(х)=1+х+х3. Далее разделим этот многочлен по модулю два со стороны младших степеней на примитивный многочлен h(x)=x4+х+1 до получения остатка в виде одночлена, причем степень одночлена берется по модулю M=15, т.е.To determine the position of the second corrective FE by the expression for K 2 , taking into account r (x), we form a polynomial that will have the form r 2 (x) = 1 + x + x 3 . Next, we divide this polynomial modulo two from the side of the lower degrees into the primitive polynomial h (x) = x 4 + x + 1 to obtain the remainder as a monomial, and the degree of the monomial is taken modulo M = 15, i.e.
Степень одночлена определяет позицию размещения на шкале второго корректирующего СЭ, причем он должен быть смещен относительно первого информационного СЭ на 7 квантов шкалы δ по ходу часовой стрелки.The degree of the monomial determines the position of the second corrective SC on the scale, and it should be shifted relative to the first information SC by 7 quanta of the scale δ clockwise.
Для определения позиции третьего корректирующего СЭ по выражению для К3 с учетом r(x) сформируем многочлен, который будет иметь вид r3(х)=1+х+х2. Далее разделим этот многочлен по модулю два со стороны младших степеней на примитивный многочлен h(x)=х4+х+1 до получения остатка в виде одночлена, причем степень одночлена берется по модулю М=15, т.е.To determine the position of the third corrective FE by the expression for K 3 , taking into account r (x), we form a polynomial that will have the form r 3 (x) = 1 + x + x 2 . Next, we divide this polynomial modulo two from the side of the lower degrees into the primitive polynomial h (x) = x 4 + x + 1 to obtain the remainder in the form of a monomial, and the degree of the monomial is taken modulo M = 15, i.e.
Степень одночлена определяет позицию размещения на шкале третьего корректирующего СЭ, причем он должен быть смещен относительно первого информационного СЭ на 10 квантов шкалы δ по ходу часовой стрелки.The degree of the monomial determines the position of placement on the scale of the third corrective SC, and it should be offset relative to the first information SC by 10 quanta of the scale δ clockwise.
Теперь совместное размещение четырех информационных считывающих элементов СЭ1, СЭ2, СЭ3, СЭ4 и трех корректирующих считывающих элементов КСЭ1, КСЭ2, КСЭ3 (на чертеже позиции 6, 7 и 8 соответственно) вдоль информационной дорожки шкалы будет определяться многочленом rсовм(x)=r(х)+гкоррект(х)=1+х+х2+х3+х7+х10+х13.Now the joint placement of four information reading elements СЭ 1 , СЭ 2 , СЭ 3 , СЭ 4 and three corrective reading elements КСЭ 1 , КСЭ 2 , КСЭ 3 (in the drawing, positions 6, 7 and 8, respectively) along the information track of the scale will be determined by the polynomial r sovm (x) = r (x) + r correctly (x) = 1 + x + x 2 + x 3 + x 7 + x 10 + x 13 .
Последовательно фиксируя СЭ семиразрядную кодовую комбинацию при перемещении шкалы на один квант против хода часовой стрелки, получаем 15 различных семиразрядных комбинаций кода Хемминга с минимальным кодовым расстоянием d=3. Известно [5], что такой код позволяет исправлять одиночную ошибку. Эти кодовые комбинации, соответствующие 15 различным угловым положениям ПСКШ, а также соответствия между информационными СЭ и информационными символами, корректирующими СЭ и контрольными символами кода Хемминга, приведены в табл.6.Consistently fixing the SE seven-digit code combination when moving the scale one quantum counterclockwise, we get 15 different seven-digit combinations of the Hamming code with a minimum code distance d = 3. It is known [5] that such a code allows correcting a single error. These code combinations corresponding to 15 different angular positions of the PCSS, as well as the correspondence between informational FEs and informational symbols, corrective FEs and control symbols of the Hamming code, are given in Table 6.
Покажем, каким образом в предлагаемом изобретении решается задача повышения информационной надежности псевдослучайной кодовой шкалы за счет формирования с нее корректирующего кода Хемминга с обнаружением двойных ошибок при сохранении возможности исправления одиночных ошибок.We show how the invention solves the problem of increasing the information reliability of the pseudo-random code scale by generating a Hamming correcting code from it with the detection of double errors while maintaining the ability to correct single errors.
На примере полученного кода Хемминга с d=3 покажем, как строится код Хемминга с d=4, позволяющий обнаруживать двойные ошибки. Число контрольных символов в таком коде должно быть на единицу больше, т.е. для kd=4=kd=3+1.Using the obtained Hamming code with d = 3 as an example, we show how the Hamming code with d = 4 is constructed, which allows one to detect double errors. The number of control characters in such a code should be one more, i.e. for k d = 4 = k d = 3 +1.
Принцип получения такого кода следующий:The principle of obtaining such a code is as follows:
- к каждой кодовой комбинации добавляется еще один дополнительный контрольный символ, позволяющий осуществить общую проверку на четность;- to each code combination one more additional control character is added, which allows for a general parity check;
- значение дополнительного контрольного символа определяется исходя из наличия в каждой комбинации кода Хемминга (т.е. учитывая и контрольные символы) четного числа единиц.- the value of the additional control character is determined on the basis of the presence in each combination of a Hamming code (i.e. taking into account the control characters) an even number of units.
В соответствии с вышеизложенным макет кода Хемминга для d=4 должен выглядеть следующим образом.In accordance with the foregoing, the layout of the Hamming code for d = 4 should look as follows.
Определение значения дополнительного контрольного символа определяется по следующему выражениюThe definition of the value of the additional control character is determined by the following expression
Кд=К1⊕И11⊕К3⊕И10⊕И9⊕И8⊕К4⊕И7⊕И6⊕И5⊕И5⊕И4⊕И3⊕И2⊕И1⊕К5⊕И0. ^КзФИюФИдеиве^ФИтФИбеизеизеи^еизеигеи^Кзеио.К d = К 1 ⊕И 11 ⊕К 3 ⊕И 10 ⊕И 9 ⊕И 8 ⊕К 4 ⊕И 7 ⊕И 6 ⊕И 5 ⊕И 5 ⊕И 4 ⊕И 3 ⊕И 2 ⊕И 1 ⊕К 5 ⊕and 0 . ^ KzFIyuFideiva ^ FITPhibeizeysey ^ eizeeigey ^ Kzeio.
Для рассматриваемого примера макет кода Хемминга будет выглядеть следующим образомFor the example in question, the Hamming code layout will look like this
При этом определение значения дополнительного контрольного символа определяется по следующему выражениюThe determination of the value of the additional control character is determined by the following expression
Кд=К1⊕К2⊕И3⊕К3⊕И2⊕И1⊕И0.K d = K 1 ⊕К 2 ⊕И 3 ⊕К 3 ⊕И 2 ⊕И 1 ⊕И 0 .
Таким образом, с контрольного СЭ должны формироваться символы Кд.Thus, symbols K d should be formed from the control SE.
Для получения со шкалы восьмиразрядного кода Хемминга определим позицию размещения вдоль информационной дорожки контрольного СЭ.To obtain an eight-digit Hamming code from the scale, we determine the position of placement along the information track of the control solar cell.
Исходными данными для расчета являются выражения для определения контрольного символа Кд=К1⊕К2⊕И3⊕К3⊕И2⊕И1⊕И0, а также многочлен, определяющий размещение вдоль информационной дорожки шкалы четырех информационных и трех корректирующих СЭ, т.е. rсовм(x)=r(Х)+rкоррект(x)=1+x+x2+x3+x7+х10+х13.The initial data for the calculation are the expressions for determining the control symbol K d = K 1 ⊕K 2 ⊕I 3 ⊕K 3 ⊕I 2 ⊕I 1 ⊕I 0 , as well as the polynomial that determines the placement along the information track of the scale of four information and three corrective SC , i.e. r total (x) = r (X) + r correct (x) = 1 + x + x 2 + x 3 + x 7 + x 10 + x 13 .
Далее разделим многочлен гсовм(х) по модулю два со стороны младших степеней на примитивный многочлен h(x)=х4+х+1 до получения остатка в виде одночлена, причем степень одночлена берется по модулю М=15, т.е.Further Akad divide polynomial g (x) modulo two by the lowest degrees on a primitive polynomial h (x) = x 4 + x + 1 and a residue in the form of a monomial, the degree monomial taken modulo M = 15, i.e.,
Степень одночлена определяет позицию размещения на шкале контрольного СЭ, причем он должен быть смещен относительно первого информационного СЭ на 11 квантов шкалы δ по ходу часовой стрелки.The degree of the monomial determines the position of placement on the scale of the control FE, and it should be shifted relative to the first information FE by 11 quanta of the scale δ clockwise.
Теперь совместное размещение четырех информационных считывающих элементов СЭ1, СЭ2, СЭ3, СЭ4, трех корректирующих считывающих элементов КСЭ1, КСЭ2, КСЭ3 и контрольного СЭ (позиция 9) вдоль информационной дорожки шкалы будет определяться многочленомNow the joint placement of four information reading elements СЭ 1 , СЭ 2 , СЭ 3 , СЭ 4 , three correcting reading elements КСЭ 1 , КСЭ 2 , КСЭ 3 and the control СЭ (position 9) along the information track of the scale will be determined by the polynomial
Последовательно фиксируя СЭ восьмиразрядную кодовую комбинацию при перемещении шкалы на один квант против хода часовой стрелки, получаем 15 различных восьмиразрядных комбинаций кода Хемминга с минимальным кодовым расстоянием d=4. Известно [5], что такой код позволяет исправлять одиночную ошибку и обнаруживать двойную. Эти кодовые комбинации, соответствующие 15 различным угловым положениям ПСКШ, а также соответствия между информационными СЭ и информационными символами, корректирующими СЭ и контрольными символами кода Хемминга, контрольным СЭ и дополнительным контрольным символом кода Хемминга, приведены в табл.7.Consistently fixing the SE eight-bit code combination when moving the scale one quantum counterclockwise, we get 15 different eight-bit combinations of the Hamming code with a minimum code distance d = 4. It is known [5] that such a code allows correcting a single error and detecting a double one. These code combinations, corresponding to 15 different angular positions of the PCSS, as well as the correspondence between informational FEs and informational symbols, corrective FEs and control symbols of the Hamming code, control FEs and additional control symbols of the Hamming code, are given in Table 7.
Таким образом, в предлагаемом изобретении решена задача повышения информационной надежности псевдослучайной кодовой шкалы за счет формирования с нее корректирующих кодов с обнаружением двойных ошибок при сохранении возможности исправлением одиночных. Как отмечалось ранее, под ошибкой в работе псевдослучайной кодовой шкалы в рассматриваемом изобретении понимается выход из строя считывающих элементов. Еще одним применением изобретения является его использование там, где информация со шкалы должна передаваться в устройство обработки по каналу связи, подверженному помехам.Thus, in the present invention, the problem of increasing the information reliability of a pseudo-random code scale is solved by generating corrective codes from it with the detection of double errors while maintaining the possibility of correcting single ones. As noted earlier, the error in the operation of the pseudo-random code scale in the present invention refers to the failure of the reading elements. Another application of the invention is its use where information from the scale should be transmitted to the processing device via a communication channel susceptible to interference.
Предлагаемая псевдослучайная кодовая шкала может быть положена в основу построения преобразователей угловых перемещений повышенной информационной надежности. В свою очередь, такие преобразователи целесообразно использовать в различных системах управления летательными аппаратами или технике специального назначения, где обеспечение надежности их работы является первостепенным требованием.The proposed pseudo-random code scale can be the basis for the construction of angular displacement transducers of increased information reliability. In turn, it is advisable to use such converters in various control systems for aircraft or special-purpose equipment, where ensuring the reliability of their operation is a paramount requirement.
ЛитератураLiterature
1. Ожиганов А.А. Псевдослучайные кодовые шкалы // Изв. вузов СССР. Приборостроение, 1987. Т.30. №2. С.40-43.1. Ozhiganov A.A. Pseudorandom code scales // Izv. universities of the USSR. Instrument Engineering, 1987.V.30. No. 2. S.40-43.
2. Ожиганов А.А., Лукьянов В.Д. Кодовые шкалы на основе рекуррентных последовательностей для преобразователей перемещений повышенной информационной надежности // Датчики и системы. - Москва, 2012. - №2. - С.13-17.2. Ozhiganov A.A., Lukyanov V.D. Code scales based on recurrence sequences for displacement transducers of increased information reliability // Sensors and Systems. - Moscow, 2012. - No. 2. - S.13-17.
3. Ожиганов А.А. Алгоритм размещения считывающих элементов на псевдослучайной кодовой шкале // Изв. вузов СССР. Приборостроение, 1994. Т.37. №2. С.22-27.3. Ozhiganov A.A. Algorithm for placing reading elements on a pseudo-random code scale // Izv. universities of the USSR. Instrument Engineering, 1994. V.37. No. 2. S.22-27.
4. Макуильямс Ф.Д., Слоан Н.Д. Псевдослучайные последовательности и таблицы // ТИИЭР. 1976. Т.64. №12. С.80-95.4. McWilliams F.D., Sloan N.D. Pseudorandom sequences and tables // TIIER. 1976.V.64. No. 12. S.80-95.
5. Хемминг Р.В. Теория кодирования и теория информации: Пер. с англ. - М.: Радио и связь, 1983. - 176 с, ил.5. Hamming R.V. Coding Theory and Information Theory: Per. from English - M .: Radio and communications, 1983. - 176 p., Ill.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2012146022/08A RU2510572C1 (en) | 2012-10-29 | 2012-10-29 | Pseudorandom code scale |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2012146022/08A RU2510572C1 (en) | 2012-10-29 | 2012-10-29 | Pseudorandom code scale |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2510572C1 true RU2510572C1 (en) | 2014-03-27 |
Family
ID=50343124
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2012146022/08A RU2510572C1 (en) | 2012-10-29 | 2012-10-29 | Pseudorandom code scale |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2510572C1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2660609C1 (en) * | 2017-03-10 | 2018-07-06 | Открытое акционерное общество "Авангард" | Pseudorandom code scale |
RU2709666C1 (en) * | 2019-02-08 | 2019-12-19 | Открытое акционерное общество "Авангард" | Pseudo-random code scale |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4123444C1 (en) * | 1991-07-16 | 1992-10-01 | Gms Gesellschaft Fuer Mikrotechnik Und Sensorik Mbh, 7742 St Georgen, De | Rotating shaft angular position coder - has ring fitted on coding disc with pattern of points whose density varies with angular position |
EP0911610A1 (en) * | 1997-10-21 | 1999-04-28 | Eaton Corporation | Angle sensor using a multi-pixel optical device |
RU2434323C1 (en) * | 2010-08-16 | 2011-11-20 | Открытое акционерное общество "Авангард" | Recursive code scale |
RU2444126C1 (en) * | 2010-11-22 | 2012-02-27 | Открытое акционерное общество "Авангард" | Recursive code scale |
RU2446557C1 (en) * | 2011-03-17 | 2012-03-27 | Открытое акционерное общество "Авангард" | Recursive code scale |
RU2450437C1 (en) * | 2011-04-29 | 2012-05-10 | Открытое акционерное общество "Авангард" | Recursive code scale |
-
2012
- 2012-10-29 RU RU2012146022/08A patent/RU2510572C1/en active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4123444C1 (en) * | 1991-07-16 | 1992-10-01 | Gms Gesellschaft Fuer Mikrotechnik Und Sensorik Mbh, 7742 St Georgen, De | Rotating shaft angular position coder - has ring fitted on coding disc with pattern of points whose density varies with angular position |
EP0911610A1 (en) * | 1997-10-21 | 1999-04-28 | Eaton Corporation | Angle sensor using a multi-pixel optical device |
RU2434323C1 (en) * | 2010-08-16 | 2011-11-20 | Открытое акционерное общество "Авангард" | Recursive code scale |
RU2444126C1 (en) * | 2010-11-22 | 2012-02-27 | Открытое акционерное общество "Авангард" | Recursive code scale |
RU2446557C1 (en) * | 2011-03-17 | 2012-03-27 | Открытое акционерное общество "Авангард" | Recursive code scale |
RU2450437C1 (en) * | 2011-04-29 | 2012-05-10 | Открытое акционерное общество "Авангард" | Recursive code scale |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2660609C1 (en) * | 2017-03-10 | 2018-07-06 | Открытое акционерное общество "Авангард" | Pseudorandom code scale |
RU2709666C1 (en) * | 2019-02-08 | 2019-12-19 | Открытое акционерное общество "Авангард" | Pseudo-random code scale |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3742389B2 (en) | Cyclic position code | |
Jo et al. | Blind reconstruction of BCH codes based on consecutive roots of generator polynomials | |
US6449746B1 (en) | Decoding method for correcting both erasures and errors of reed-solomon codes | |
EP0112988A2 (en) | Syndrome processing for multibyte error correcting systems | |
US8694872B2 (en) | Extended bidirectional hamming code for double-error correction and triple-error detection | |
RU2510572C1 (en) | Pseudorandom code scale | |
RU79360U1 (en) | CONVERTER ANGLE CODE | |
Mathew et al. | Hardware implementation of (63, 51) bch encoder and decoder for WBAN using LFSR and BMA | |
Comer et al. | Sparse polynomial interpolation and Berlekamp/Massey algorithms that correct outlier errors in input values | |
Mi et al. | Asymptotically good quasi-cyclic codes of fractional index | |
RU2660609C1 (en) | Pseudorandom code scale | |
US20150007000A1 (en) | Additional Error Correction Apparatus and Method | |
RU2530336C1 (en) | Angle-to-digital converter | |
RU2709666C1 (en) | Pseudo-random code scale | |
Kandasamy et al. | Erasure Techniques in MRD codes | |
CN1601913B (en) | Parallelized CRC calculation method and system | |
KR100281946B1 (en) | Syndrome calculation device | |
Nabipour et al. | Arithmetic Operators over Finite Field GF ($2^ m $) in BCH and Reed-Solomon Codes | |
US20150249470A1 (en) | Combined block-style error correction | |
Martínez-Moro et al. | On repeated-root multivariable codes over a finite chain ring | |
RU2777832C1 (en) | Pseudo-random code scale | |
CN1167373A (en) | Multinominal evaluation device used for Read-Solomon decoder | |
RU2706171C1 (en) | Method for decoding block noise-immune codes based on the criterion of minimum average risk | |
RU2761058C1 (en) | Pseudo-random code scale | |
Ho et al. | An odd kind of BCH code |