псевдослучайная кодовая шкала
Классы МПК: | H03M1/24 с использованием подвижных считывающих устройств и дисков или лент |
Автор(ы): | Ожиганов Александр Аркадьевич (RU), Прибыткин Павел Александрович (RU), Павлов Владимир Викторович (RU), Канышева Ольга Павловна (RU), Шубарев Валерий Антонович (RU) |
Патентообладатель(и): | Открытое акционерное общество "Авангард" (RU) |
Приоритеты: |
подача заявки:
2012-10-29 публикация патента:
27.03.2014 |
Изобретение относится к измерительной технике, в частности к аналого-цифровому преобразованию, а именно к кодовым шкалам преобразователей угла поворота вала в код. Технический результат - повышение информационной надежности псевдослучайной кодовой шкалы за счет формирования с нее корректирующих кодов с исправлением одиночных ошибок и обнаружением двойных. Псевдослучайная кодовая шкала содержит информационную дорожку, выполненную в виде градаций псевдослучайной двоичной последовательности максимальной длины периода M=2n-1, n информационных считывающих элементов, размещенных вдоль информационной дорожки с угловыми шагами, кратными величине кванта шкалы =360°/M, с возможностью получения с них M различных n разрядных кодовых комбинаций, k корректирующих считывающих элементов, размещенных вдоль информационной дорожки с возможностью получения с них совместно с n информационными считывающими элементами M различных (n+k)-разрядных кодовых комбинаций, представляющих собой код Хемминга с обнаружением и исправлением одиночной ошибки, контрольный считывающий элемент, размещенный вдоль информационной дорожки с возможностью получения с него совместно с (n+k) считывающими элементами M различных (n+k+1)-разрядных кодовых комбинаций, представляющих собой код Хемминга с исправлением одиночной и обнаружением двойной ошибки, выходы n информационных считывающих элементов. 1 ил., 7 табл.
Формула изобретения
Псевдослучайная кодовая шкала, содержащая информационную дорожку, выполненную в виде градаций псевдослучайной двоичной последовательности максимальной длины периода M=2n-1, построенной посредством примитивного многочлена h(x) степени n, где n - разрядность шкалы, n информационных считывающих элементов, размещенных вдоль информационной дорожки с угловыми шагами, кратными величине кванта шкалы =360°/M, с возможностью получения с них M различных n разрядных кодовых комбинаций, k корректирующих считывающих элементов, размещенных вдоль информационной дорожки с возможностью получения с них совместно с n информационными считывающими элементами M различных (n+k)-разрядных кодовых комбинаций, представляющих собой код Хемминга с обнаружением и исправлением одиночной ошибки, отличающаяся тем, что, псевдослучайная кодовая шкала снабжена контрольным считывающим элементом, размещенным вдоль информационной дорожки с возможностью получения с него совместно с (n+k) считывающими элементами M различных (n+k+1)-разрядных кодовых комбинаций, представляющих собой код Хемминга с исправлением одиночной и обнаружением двойной ошибки, выходы n информационных считывающих элементов, выходы k корректирующих считывающих элементов и выход контрольного считывающего элемента являются выходами псевдослучайной кодовой шкалы.
Описание изобретения к патенту
Изобретение относится к измерительной технике, в частности к аналого-цифровому преобразованию, а именно к кодовым шкалам преобразователей угловых перемещений в код.
Известна псевдослучайная кодовая шкала [1], содержащая информационную дорожку, выполненную в виде градаций псевдослучайной двоичной последовательности максимальной длины периода М=2n -1, n считывающих элементов, дополнительный контрольный считывающий элемент.
Недостатком известной псевдослучайной кодовой шкалы является низкая информационная надежность, поскольку в ней не обеспечена возможность исправления одиночных и обнаружения двойных ошибок.
Наиболее близкой по техническому решению и выбранной авторами за прототип является псевдослучайная кодовая шкала [2], содержащая информационную дорожку, выполненную в виде градаций псевдослучайной двоичной последовательности максимальной длины периода М=2n-1, построенной посредством примитивного многочлена h(x) степени n, где n - разрядность шкалы, n информационных считывающих элементов, размещенных вдоль информационной дорожки с угловыми шагами, кратными величине кванта шкалы =360°/M, с возможностью получения с них M различных n разрядных кодовых комбинаций [3], k корректирующих считывающих элементов, размещенных вдоль информационной дорожки с возможностью получения с них совместно с n информационными считывающими элементами M различных (n+k)-разрядных кодовых комбинаций, представляющих собой код Хемминга с обнаружением и исправлением одиночной ошибки.
Недостатком прототипа является невысокая информационная надежность, поскольку в ней не обеспечена возможность обнаружения двойных ошибок.
В предлагаемом изобретении решается задача повышения информационной надежности псевдослучайной кодовой шкалы за счет формирования с нее корректирующих кодов с обнаружением двойных ошибок при сохранении возможности исправления одиночных ошибок.
Для достижения технического результата псевдослучайная кодовая шкала, содержащая информационную дорожку, выполненную в виде градаций псевдослучайной двоичной последовательности максимальной длины периода М=2n-1, построенной посредством примитивного многочлена h(x) степени n, где n - разрядность шкалы, n информационных считывающих элементов, размещенных вдоль информационной дорожки с угловыми шагами, кратными величине кванта шкалы =360°/M, с возможностью получения с них M различных n разрядных кодовых комбинаций, k корректирующих считывающих элементов, размещенных вдоль информационной дорожки с возможностью получения с них совместно с n информационными считывающими элементами M различных (n+k)-разрядных кодовых комбинаций, представляющих собой код Хемминга с обнаружением и исправлением одиночной ошибки, снабжена контрольным считывающим элементом, размещенным вдоль информационной дорожки с возможностью получения с него совместно с (n+k) считывающими элементами M различных (n+k+1)-разрядных кодовых комбинаций, представляющих собой код Хемминга с исправлением одиночной и обнаружением двойной ошибки, выходы n информационных считывающих элементов, выходы k корректирующих считывающих элементов и выход контрольного считывающего элемента являются выходами псевдослучайной кодовой шкалы.
Новым в предлагаемом изобретении является снабжение псевдослучайной кодовой шкалы контрольным считывающим элементом, соответствующее размещение которого вдоль информационной дорожки шкалы позволяет получить с него совместно с n информационными считывающими элементами и k корректирующими считывающими элементами M различных (n+k+1)-разрядных кодовых комбинаций, представляющих собой код Хемминга с исправлением одиночной и обнаружением двойной ошибки.
Совокупность существенных признаков в предлагаемом изобретении позволила повысить информационную надежность псевдослучайной кодовой шкалы.
В результате этого можно сделать вывод о том, что предлагаемое изобретение обладает изобретательским уровнем и позволяет получить технический результат.
Изобретение является новым, так как из уровня техники по доступным источникам информации не выявлено аналогов с подобной совокупностью признаков.
Изобретение является промышленно применимым, так как может быть использовано во всех областях, где требуется высокоточное позиционное определение углового положения объекта с использованием преобразователей угловых перемещений повышенной информационной надежности на основе заявляемых псевдослучайных кодовых шкал.
Предлагаемое изобретение поясняется чертежом, где показана линейная развертка круговой четырехрядной псевдослучайной кодовой шкалы.
Заявляемая псевдослучайная кодовая шкала содержит информационную кодовую дорожку 1, информационные считывающие элементы 2, 3, 4, 5 (n=4), корректирующие считывающие элементы 6, 7, 8 (k=3) и контрольный считывающий элемент 9.
Для пояснения сути изобретения приведем некоторые теоретические предпосылки.
В [1] рассмотрены использованные в изобретении кодовые шкалы, получившие название псевдослучайные (ПСКШ), и строящиеся на основе теории M-последовательностей. ПСКШ имеют всего одну информационную кодовую дорожку, выполненную в соответствии с символами M-последовательности a=а0 а1 aM-1 и n информационных считывающих элементов (СЭ), размещенных вдоль дорожки. Считывающие элементы дают возможность получить при полном обороте шкалы M=2n-1 различных n-разрядных кодовых комбинаций, что обеспечивает разрешающую способность ПСКШ 8-360°/M. В общем виде задача размещения информационных СЭ на ПСКШ решена в [3].
Для генерации M-последовательности с периодом М=2n-1 используется примитивный неприводимый многочлен h(x) степени n с коэффициентами поля Галуа GF(2) [4], т.е.
где h0=hn=1, а h i=0,1 при 0<i<n.
Символы М-последовательности an+j удовлетворяют рекуррентному выражению
где знак означает суммирование по модулю два, а индексы при символах М-последовательности берутся по модулю M. Начальные значения символов M-последовательности а0а 1 an-1 могут выбираться произвольно, за исключением нулевой комбинации. Для определенности при построении круговой ПСКШ символы М-последовательности а0 а1 aM-1 отображаются на информационной дорожке по ходу часовой стрелки.
М-последовательности относятся к классу циклических кодов и могут задаваться с помощью порождающего многочлена g(x)=(xM+1)/h(x), где h(x) определяется в соответствии с выражением (1), М=2n -1.
Для каждой M-последовательности длины M существует ровно M различных циклических сдвигов, которые могут быть получены путем умножения порождающего многочлена g(x) на xj , где j=0, 1, , M-1.
Поскольку ПСКШ строятся в соответствии с символами M-последовательности, можно путем циклических сдвигов определить порядок размещения на шкале n информационных считывающих элементов, т.е. m-му СЭ, m=1, 2, , n, ставится в соответствие jm-й циклический сдвиг xjm g(x) M-последовательности.
Тогда многочлен, определяющий порядок размещения n информационных СЭ на шкале имеет вид:
где jm {0, 1, , M-1}.
Положив j1=0, согласно полинома (3) получим положения 2-го, 3-го, , n-го информационных СЭ, смещенные относительно первого СЭ на j2, j3, , jn квантов информационной дорожки шкалы соответственно.
В табл.1 приведены многочлены h(x) до n=12 включительно, которые могут быть использованы для генерации соответствующих M-последовательностей [4].
Таблица 1 | ||
n | h(х) | M=2 n-1 |
1 | x+1 | 1 |
2 | x2+х+1 | 3 |
3 | x 3+х+1 | 7 |
4 | х4+х+1 | 15 |
5 | x 5+х2+1 | 31 |
6 | х6+х+1 | 63 |
7 | х7+x+1 | 127 |
8 | x8+х6+х5 +х+1 | 255 |
9 | x9+х4+1 | 511 |
10 | x10+x3+1 | 1023 |
11 | х11 +х2+1 | 2047 |
12 | X12+x7+x 4+x3+1 | 4095 |
Поясним вариант построения ПСКШ, приведенной на чертеже.
В примере для простоты принято n=4 и соответственно из табл.1 выбран примитивный неприводимый многочлен h(x)=x4+х+1, где h0=h1=h 4=1, h2=h3=0. Здесь период M-последовательности М=24-1=15, а сама M-последовательность a= a0a1a2a 3a4a5a 6a7a8a9 a10a11a12 a13a14=000100110101111. При начальных значениях M-последовательности a0 =a1=a1=0, a3 =1 остальные символы последовательности получены в соответствии с рекуррентным соотношением (2), которое в данном примере имеет вид a4+j=a1+j aj, j=0, 1, , 10. Размещение четырех информационных считывающих элементов СЭ1 (на чертеже позиция 2), СЭ2 (на чертеже позиция 3), СЭ3 (на чертеже позиция 4) и СЭ4 (на чертеже позиция 5) вдоль информационной дорожки шкалы задано согласно (3) многочленом r(x)=1+х+x2+x3 .
При построении информационной дорожки 1 M-последовательность с периодом M=15 должна быть нанесена на шкалу в виде пассивных (нули M-последовательности) и активных (единицы M-последовательности) участков информационной дорожки, например, по ходу часовой стрелки, причем на информационную дорожку шкалы наносится только один период M-последовательности. M-последовательность с периодом М=2n-1 определяет число квантов информационной дорожки шкалы, которое в данном примере равно M=15. Отсюда величина кванта =360°/M=360°/15=24°. Информационные считывающие элементы, числом 4, должны быть размещены вдоль информационной дорожки согласно r(x) с шагом, равным величине одного кванта шкалы , например, по ходу часовой стрелки. Отметим, что возможны и другие варианты размещения информационных СЭ вдоль информационной дорожки шкалы [3].
Последовательно фиксируя информационными СЭ четырехразрядную кодовую комбинацию при перемещении шкалы на один квант против хода часовой стрелки, получаем 15 различных четырехразрядных кодовых комбинаций. Эти кодовые комбинации, соответствующие 15 различным угловым положениям ПСКШ, приведены в табл.2.
Таблица 2 | |||||
№ положения ПСКШ | СЭ, | СЭ2 | СЭ3 | СЭ4 | Десятичный эквивалент кода |
0 | 0 | 0 | 0 | 1 | 1 |
1 | 0 | 0 | 1 | 0 | 2 |
2 | 0 | 1 | 0 | 0 | 4 |
3 | 1 | 0 | 0 | 1 | 9 |
4 | 0 | 0 | 1 | 1 | 3 |
5 | 0 | 1 | 1 | 0 | 6 |
6 | 1 | 1 | 0 | 1 | 13 |
7 | 1 | 0 | 1 | 0 | 10 |
8 | 0 | 1 | 0 | 1 | 5 |
9 | 1 | 0 | 1 | 1 | 11 |
10 | 0 | 1 | 1 | 1 | 7 |
11 | 1 | 1 | 1 | 1 | 15 |
12 | 1 | 1 | 1 | 0 | 14 |
13 | 1 | 1 | 0 | 0 | 12 |
14 | 1 | 0 | 0 | 0 | 8 |
Поскольку технический результат изобретения достигается за счет использования корректирующих кодов Хемминга с исправлением одиночных и исправлением двойных ошибок, покажем, как такой код должен быть реализован в предлагаемом изобретении. В рассматриваемом изобретении под ошибками будем понимать неправильную работу считывающих элементов (например, их выход из строя).
В разработке и создании ряда помехоустойчивых кодов существенная роль отводится различным способам проверки на четность принимаемых кодовых комбинаций. В начале 50-х годов Хеммингом [5] был предложен код, в котором контрольные символы размещались в кодовой комбинации не произвольно, а на строго определенных местах, что, естественно, облегчало декодирование.
Была разработана система проведения проверок правильности переданного кодированного сообщения, включающая алгоритм определения синдрома ошибки, указывающего не только на наличие ошибки, но и номер искаженной кодовой позиции.
Наибольшее распространение получили две модели кода Хемминга: код с обнаружением и исправлением одиночной ошибки (минимальное кодовое расстояние d=3) и код с исправлением одиночной ошибки и обнаружением двойной (d=4).
Для синтеза кода Хемминга необходимо решить следующие задачи.
1. Определить число контрольных символов, обеспечивающих заданные требования по помехозащищенности.
2. Установить, на каких позициях кодовой комбинации следует разместить контрольные символы и какие позиции займут информационные символы.
3. Собрав макет кодовой комбинации, определить значение каждого контрольного символа.
4. Составить кодовые комбинации, включающие как контрольные, так и информационные символы.
5. Дать алгоритм проверок, позволяющий установить наличие и место ошибки. Вначале, применительно к изобретению, рассмотрим синтез кода Хемминга с d=3.
Число корректирующих СЭ k равно числу контрольных символов в коде Хемминга и определяется из соотношения
где n - число информационных СЭ, равное числу информационных символов в коде Хемминга, а знак] [означает округление до ближайшего большего целого.
Используя выражение (4), рассчитаем число корректирующих СЭ k для n=4, , 12. Соответствующие расчеты представлены в табл.3.
Таблица 3 | ||||||||||
Число информационных СЭ | n | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
Число корректирующих СЭ | k | 3 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 5 |
Далее определяются места, на которых в общей кодовой комбинации должны располагаться контрольные разряды. Контрольные символы должны составить двоичное число (синдром ошибки), которое бы указывало номер ошибочной позиции. В результате первой частной проверки на четность получается символ первого (младшего) разряда синдрома, в результате второй проверки - символ второго и т.д. Итак, если синдром ошибки представить в виде двоичного числа, а рядом записать соответствующие десятичные эквиваленты, то получим табл.4.
Таблица 4 | |||
Синдром ошибки | Десятичный эквивалент | Синдром ошибки | Десятичный эквивалент |
00001 | 1 | 01010 | 10 |
00010 | 2 | 01011 | 11 |
00011 | 3 | 01100 | 12 |
00100 | 4 | 01101 | 13 |
00101 | 5 | 01110 | 14 |
00110 | 6 | 01111 | 15 |
00111 | 7 | 10000 | 16 |
01000 | 8 | 10001 | 17 |
01001 | 9 |
Далее последовательно выписываются номера позиций, участвующих в каждой проверке на четность.
В первой проверке должны участвовать те позиции, которые содержат единицу в младшем разряде. Исходя из табл.3, это будут 1, 3, 5, 9, 11, 13, 15, 17.
Во второй проверке должны участвовать те позиции, которые содержат единицу во втором разряде. По табл.3 это будут 2, 3, 6, 7, 10, 11, 14, 15.
В третьей проверке должны участвовать - 4, 5, 6, 7, 12, 13, 14, 15 позиции.
В четвертой проверке должны участвовать - 8, 9, 10, 11, 12, 13, 14, 15 позиции.
В пятой проверке должны участвовать - 16, 17 позиции.
В результате получаем табл.5.
Таблица 5 | |||||||||
Номер проверки | Номера позиций, охватываемых этой проверкой | ||||||||
Первая | 1 | 3 | 5 | 7 | 9 | 11 | 13 | 15 | 17 |
Вторая | 2 | 3 | 6 | 7 | 10 | 11 | 14 | 15 | |
Третья | 4 | 5 | 6 | 7 | 12 | 13 | 14 | 15 | |
Четвертая | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
Пятая | 16 | 17 |
Анализируя табл.4, можно заключить, что контрольные символы Km должны размещаться на следующих позициях:
K1 на позиции 1, т.е. 20;
K2 на позиции 2, т.е. 21;
K3 на позиции 4, т.е. 22;
K4 на позиции 8, т.е. 23;
К5 на позиции 16, т.е. 24.
Позиции 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17 должны занять соответственно информационные символы И11, И10, И9, И 8, И7, И6, И5, И4 , И3, И2, И1, И0.
Применительно к изобретению этот результат необходимо применить следующим образом.
С первого информационного СЭ должны формироваться символы И0, со второго - И 1, , с двенадцатого - И11, с первого корректирующего СЭ должны формироваться символы К1, со второго - символы К2, , с пятого - символы K5.
В соответствии с вышеизложенным макет кода Хемминга для d=3 должен выглядеть следующим образом.
№ позиции | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
Символ | K1 | K2 | И11 | К3 | И10 | И9 | И8 | К4 | И7 | И6 | И5 | И4 | И3 | И2 | И1 | К5 | И0 |
Определение значений каждого контрольного символа определяется по следующим выражениям.
K1=И11 И10 И8 И7 И5 И3 И1 И0;
K2=И11 И9 И8 И6 И5 И2 И1;
К3=И10 И9 И8 И4 И3 И2 И1;
К4=И7 И6 И5 И4 И3 И2 И1;
К5=И0 .
Поясним приведенные выше теоретические рассуждения на примере четырехразрядной псевдослучайной кодовой шкалы.
Из табл.3 для n=4 находим k=3.
Из табл.5 имеем номера позиций, участвовавших в каждой проверке на четность.
№ проверки | № № позиций, охватываемых этой проверкой |
1 | 1, 3, 5, 7 |
2 | 2, 3, 6, 7 |
3 | 4, 5, 6, 7 |
Контрольные символы должны размещаться на следующих позициях: K1 - на позиции 1, К2 - на позиции 2, К 3 - на позиции 4. Позиции 3, 5, 6, 7 займут соответственно информационные символы И3, И2, И1 , И0.
Макет кода Хемминга в этом случае будет выглядеть следующим образом.
№ позиции | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
Символ | K1 | K2 | И3 | K3 | И2 | И1 | И0 |
С первого информационного СЭ должны формироваться символы И0, со второго - И 1, с третьего - И2, с четвертого - И3 , с первого корректирующего СЭ должны формироваться символы К 1, со второго - символы К2, с третьего - символы К3.
Для получения со шкалы семиразрядного кода Хемминга определим позиции размещения вдоль информационной дорожки трех корректирующих СЭ.
Исходными данными для расчета являются выражения для определения контрольных символов K1=И3 И2 И0, К2=И3 И1 И0, К3=И2 И1 И0, а также многочлен, определяющий размещение вдоль информационной дорожки кодового диска четырех информационных СЭ r(x)=1+х+х2+х3.
Для определения позиции первого корректирующего СЭ по выражению для К1 с учетом r(x) сформируем многочлен, который будет иметь вид r1(х)=1+х2+х3.
Далее разделим этот многочлен по модулю два со стороны младших степеней на примитивный многочлен h(x)=x4+х+1 до получения остатка в виде одночлена, причем степень одночлена берется по модулю M-15, т.е.
Степень одночлена определяет позицию размещения на шкале первого корректирующего СЭ, причем он должен быть смещен относительно первого информационного СЭ на 13 квантов шкалы по ходу часовой стрелки.
Для определения позиции второго корректирующего СЭ по выражению для К2 с учетом r(x) сформируем многочлен, который будет иметь вид r2(х)=1+х+х3. Далее разделим этот многочлен по модулю два со стороны младших степеней на примитивный многочлен h(x)=x4+х+1 до получения остатка в виде одночлена, причем степень одночлена берется по модулю M=15, т.е.
Степень одночлена определяет позицию размещения на шкале второго корректирующего СЭ, причем он должен быть смещен относительно первого информационного СЭ на 7 квантов шкалы по ходу часовой стрелки.
Для определения позиции третьего корректирующего СЭ по выражению для К3 с учетом r(x) сформируем многочлен, который будет иметь вид r3(х)=1+х+х2. Далее разделим этот многочлен по модулю два со стороны младших степеней на примитивный многочлен h(x)=х4+х+1 до получения остатка в виде одночлена, причем степень одночлена берется по модулю М=15, т.е.
Степень одночлена определяет позицию размещения на шкале третьего корректирующего СЭ, причем он должен быть смещен относительно первого информационного СЭ на 10 квантов шкалы по ходу часовой стрелки.
Теперь совместное размещение четырех информационных считывающих элементов СЭ 1, СЭ2, СЭ3, СЭ4 и трех корректирующих считывающих элементов КСЭ1, КСЭ 2, КСЭ3 (на чертеже позиции 6, 7 и 8 соответственно) вдоль информационной дорожки шкалы будет определяться многочленом rсовм(x)=r(х)+гкоррект(х)=1+х+х2 +х3+х7+х10+х13.
Последовательно фиксируя СЭ семиразрядную кодовую комбинацию при перемещении шкалы на один квант против хода часовой стрелки, получаем 15 различных семиразрядных комбинаций кода Хемминга с минимальным кодовым расстоянием d=3. Известно [5], что такой код позволяет исправлять одиночную ошибку. Эти кодовые комбинации, соответствующие 15 различным угловым положениям ПСКШ, а также соответствия между информационными СЭ и информационными символами, корректирующими СЭ и контрольными символами кода Хемминга, приведены в табл.6.
Покажем, каким образом в предлагаемом изобретении решается задача повышения информационной надежности псевдослучайной кодовой шкалы за счет формирования с нее корректирующего кода Хемминга с обнаружением двойных ошибок при сохранении возможности исправления одиночных ошибок.
На примере полученного кода Хемминга с d=3 покажем, как строится код Хемминга с d=4, позволяющий обнаруживать двойные ошибки. Число контрольных символов в таком коде должно быть на единицу больше, т.е. для kd=4=kd=3+1.
Таблица 6 | |||||||
№ положения ПСКШ | КСЭ1 | КСЭ2 | СЭ 4 | КСЭ3 | СЭ3 | СЭ2 | СЭ1 |
К1 | К2 | И3 | К3 | И2 | И1 | И0 | |
0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 |
1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 |
2 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
3 | 0 | 0 | 1 | 1 | 0 | 0 | 1 |
4 | 0 | 1 | 1 | 1 | 1 | 0 | 0 |
5 | 1 | 1 | 0 | 0 | 1 | 1 | 0 |
6 | 0 | 1 | 1 | 0 | 0 | 1 | 1 |
7 | 0 | 1 | 0 | 0 | 1 | 0 | 1 |
8 | 1 | 0 | 1 | 1 | 0 | 1 | 0 |
9 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
10 | 0 | 0 | 1 | 0 | 1 | 1 | 0 |
11 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
12 | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
13 | 1 | 0 | 0 | 0 | 0 | 1 | 1 |
14 | 1 | 1 | 0 | 1 | 0 | 0 | 1 |
Принцип получения такого кода следующий:
- к каждой кодовой комбинации добавляется еще один дополнительный контрольный символ, позволяющий осуществить общую проверку на четность;
- значение дополнительного контрольного символа определяется исходя из наличия в каждой комбинации кода Хемминга (т.е. учитывая и контрольные символы) четного числа единиц.
В соответствии с вышеизложенным макет кода Хемминга для d=4 должен выглядеть следующим образом.
№ позиции | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
Символ | К1 | К2 | И11 | К3 | И10 | И9 | И8 | К4 | И7 | И6 | И5 | И4 | И3 | И2 | И1 | К5 | И0 | Кд |
Определение значения дополнительного контрольного символа определяется по следующему выражению
Кд=К1 И11 К3 И10 И9 И8 К4 И7 И6 И5 И5 И4 И3 И2 И1 К5 И0. ^КзФИюФИдеиве^ФИтФИбеизеизеи^еизеигеи^Кзеио.
Для рассматриваемого примера макет кода Хемминга будет выглядеть следующим образом
№ позиции | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
Символ | К1 | К2 | И3 | К3 | И2 | И1 | И0 | Кд |
При этом определение значения дополнительного контрольного символа определяется по следующему выражению
Кд=К1 К2 И3 К3 И2 И1 И0.
Таким образом, с контрольного СЭ должны формироваться символы Кд.
Для получения со шкалы восьмиразрядного кода Хемминга определим позицию размещения вдоль информационной дорожки контрольного СЭ.
Исходными данными для расчета являются выражения для определения контрольного символа Кд=К1 К2 И3 К3 И2 И1 И0, а также многочлен, определяющий размещение вдоль информационной дорожки шкалы четырех информационных и трех корректирующих СЭ, т.е. rсовм(x)=r(Х)+rкоррект (x)=1+x+x2+x3+x7+х10 +х13.
Далее разделим многочлен г совм(х) по модулю два со стороны младших степеней на примитивный многочлен h(x)=х4+х+1 до получения остатка в виде одночлена, причем степень одночлена берется по модулю М=15, т.е.
Степень одночлена определяет позицию размещения на шкале контрольного СЭ, причем он должен быть смещен относительно первого информационного СЭ на 11 квантов шкалы по ходу часовой стрелки.
Теперь совместное размещение четырех информационных считывающих элементов СЭ 1, СЭ2, СЭ3, СЭ4, трех корректирующих считывающих элементов КСЭ1, КСЭ 2, КСЭ3 и контрольного СЭ (позиция 9) вдоль информационной дорожки шкалы будет определяться многочленом
Последовательно фиксируя СЭ восьмиразрядную кодовую комбинацию при перемещении шкалы на один квант против хода часовой стрелки, получаем 15 различных восьмиразрядных комбинаций кода Хемминга с минимальным кодовым расстоянием d=4. Известно [5], что такой код позволяет исправлять одиночную ошибку и обнаруживать двойную. Эти кодовые комбинации, соответствующие 15 различным угловым положениям ПСКШ, а также соответствия между информационными СЭ и информационными символами, корректирующими СЭ и контрольными символами кода Хемминга, контрольным СЭ и дополнительным контрольным символом кода Хемминга, приведены в табл.7.
Таблица 7 | ||||||||
№ положения ПСКШ | КСЭ1 | КСЭ2 | СЭ 4 | КСЭ3 | СЭ3 | СЭ2 | СЭ1 | Контр. СЭ |
К1 | К2 | И3 | К3 | И2 | И1 | И0 | Кд | |
0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 1 |
1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 |
2 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
3 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 |
4 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 0 |
5 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 |
6 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 |
7 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 1 |
8 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 0 |
9 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
10 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 |
11 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
12 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 |
13 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 |
14 | 1 | 1 | 0 | 1 | 0 | 0 | 1 | 0 |
Таким образом, в предлагаемом изобретении решена задача повышения информационной надежности псевдослучайной кодовой шкалы за счет формирования с нее корректирующих кодов с обнаружением двойных ошибок при сохранении возможности исправлением одиночных. Как отмечалось ранее, под ошибкой в работе псевдослучайной кодовой шкалы в рассматриваемом изобретении понимается выход из строя считывающих элементов. Еще одним применением изобретения является его использование там, где информация со шкалы должна передаваться в устройство обработки по каналу связи, подверженному помехам.
Предлагаемая псевдослучайная кодовая шкала может быть положена в основу построения преобразователей угловых перемещений повышенной информационной надежности. В свою очередь, такие преобразователи целесообразно использовать в различных системах управления летательными аппаратами или технике специального назначения, где обеспечение надежности их работы является первостепенным требованием.
Литература
1. Ожиганов А.А. Псевдослучайные кодовые шкалы // Изв. вузов СССР. Приборостроение, 1987. Т.30. № 2. С.40-43.
2. Ожиганов А.А., Лукьянов В.Д. Кодовые шкалы на основе рекуррентных последовательностей для преобразователей перемещений повышенной информационной надежности // Датчики и системы. - Москва, 2012. - № 2. - С.13-17.
3. Ожиганов А.А. Алгоритм размещения считывающих элементов на псевдослучайной кодовой шкале // Изв. вузов СССР. Приборостроение, 1994. Т.37. № 2. С.22-27.
4. Макуильямс Ф.Д., Слоан Н.Д. Псевдослучайные последовательности и таблицы // ТИИЭР. 1976. Т.64. № 12. С.80-95.
5. Хемминг Р.В. Теория кодирования и теория информации: Пер. с англ. - М.: Радио и связь, 1983. - 176 с, ил.
Класс H03M1/24 с использованием подвижных считывающих устройств и дисков или лент
кодовая шкала - патент 2497275 (27.10.2013) | |
кодовая шкала - патент 2490790 (20.08.2013) | |
рекурсивная кодовая шкала - патент 2450437 (10.05.2012) | |
рекурсивная кодовая шкала - патент 2446557 (27.03.2012) | |
рекурсивная кодовая шкала - патент 2444126 (27.02.2012) | |
преобразователь линейных перемещений в код - патент 2400014 (20.09.2010) | |
преобразователь угла поворота вала в код - патент 2375817 (10.12.2009) | |
преобразователь угла поворота вала в код - патент 2286012 (20.10.2006) | |
преобразователь угла поворота вала в код - патент 2282938 (27.08.2006) | |
преобразователь угла, угловой скорости и углового ускорения вала в код - патент 2280322 (20.07.2006) |