ПРЕОБРАЗОВАТЕЛЬ ЛИНЕЙНЫХ ПЕРЕМЕЩЕНИЙ С ПСЕВДОСЛУЧАЙНОЙ КОДОВОЙ ШКАЛОЙ НА ОСНОВЕ ПЕРЕСЧЕТНОЙ СХЕМЫ
УДК 621.3.085.42
ПРЕОБРАЗОВАТЕЛЬ ЛИНЕЙНЫХ ПЕРЕМЕЩЕНИЙ С ПСЕВДОСЛУЧАЙНОЙ КОДОВОЙ ШКАЛОЙ НА ОСНОВЕ
ПЕРЕСЧЕТНОЙ СХЕМЫ
А.А. Ожиганов, Жуань Чжипэн
В статье рассматриваются принципы построения однодорожечных псевдослучайных кодовых шкал для преобразователей линейных перемещений, а также предлагается структура кодопреобразователя псевдослучайного кода в обыкновенный двоичный код. Ключевые слова: кодовая шкала, М-последовательность, считывающие элементы.
Введение
Технический прогресс в науке и технике непрерывно связан с широким использованием вычислительных и управляющих машин, специфика работы которых предопределила развитие устройств ввода-вывода информации в ЭВМ. Задачи названных устройств – преобразование поступающей информации в виде аналоговых сигналов в числовой эквивалент и преобразование кода в аналоговый сигнал.
Преобразователи угловых и линейных перемещений в цифровой код предназначены для решения первой задачи и являются одними из востребованных устройств ввода информации в ЭВМ. Можно назвать много объектов – летательные аппараты, корабли, астрономические инструменты, станки с программным управлением и т.д. – точность управления которыми, а также их надежность, в первую очередь, зависит от точности и надежности преобразователей перемещений в цифровой код.
В настоящее время можно проследить тенденцию в развитии преобразователей перемещений за счет совершенствования существующих и разработки новых типов кодирующих устройств преобразователей [1]. При этом наибольшее внимание уделяется улучшению технологических, надежностных, а также массо-габаритных характеристик преобразователей перемещений. Исследованию вопросов повышения качественных показателей устройств преобразования информации посвящено большое число работ, однако в большинстве случаев анализируются возможности улучшения свойств преобразователей при использовании классических принципов их организации.
В данной работе рассматривается принципиально новый подход к построению кодовых шкал преобразователей линейных перемещений, базирующийся на использовании псевдослучайных двоичных последовательностей максимальной длины (Мпоследовательностей). Основной отличительной чертой таких кодовых шкал является использование всего одной информационной кодовой дорожки, что, естественно, позволяет улучшить основные технологические характеристики преобразователей перемещения на их основе.
Теоретические аспекты построения псевдослучайных кодовых шкал для преобразователей линейных перемещений
Круговая псевдослучайная кодовая шкала (ПСКШ) имеет всего одну информационную кодовую дорожку, выполненную в соответствии с символами Мпоследовательности, и n считывающих элементов (СЭ), размещенных вдоль дорожки. При полном перемещении шкалы считывающие элементы дают возможность получить M = 2n −1 различных n-разрядных кодовых комбинаций, что обеспечивает разрешающую способность преобразователя угловых перемещений на основе ПСКШ δ=2π/М [2].
Для генерации М-последовательности а длиной M = 2n −1 используется прими-
тивный полином h(x) степени n с коэффициентами поля Галуа GF(2) [3], т.е.
n
h(x) = ∑ hi xi , i=0
где h0 = hn = 1, а hi = 0,1 при 0 < i < n . удовлетворяют рекурсивному соотношению
Символы
(1) М-последовательности an+ j
n−1
an+ j
=
⊕
i=0
ai+
j
hi
,
j = 0, 1, …,
(2)
где знак ⊕ означает суммирование по модулю два, а индексы при символах М-последо-
вательности берутся по модулю M. Начальные значения символов М-последо-
вательности a0a1…an−1 могут выбираться произвольно, за исключением нулевой
комбинации. М-последовательности относятся к классу циклических кодов и могут задаваться
с помощью порождающего полинома g(x) = (xM +1) / h( x) . Для каждой М-последо-
вательности длины M существует ровно M различных циклических сдвигов, которые
могут быть получены путем умножения порождающего полинома g(x) на x j , где
j = 0, 1, …M −1 .
Поскольку ПСКШ строятся в соответствии с символами М-последовательности, можно путем циклических сдвигов определить порядок размещения на шкале n СЭ, т.е.
m-му СЭ, m = 1, 2,…, n , ставится в соответствие jm-й циклический сдвиг x jm g(x) М-
последовательности. Тогда полином, определяющий порядок размещения на шкале n СЭ, имеет вид
n
∑r(x) = x jm ,
(3)
m=1
где jm ∈{0,1,…, M −1}. Положив j1 = 0 , согласно (3), получим положения 2-го, 3-го,...,
n-го СЭ, смещенные относительно первого СЭ на j2, j3,..., jn элементарных участков
информационной дорожки шкалы соответственно [4].
Основные подходы к построению однодорожечных ПСКШ для преобразователей
линейных перемещений рассмотрены в [5]. Разрешающая способность таких шкал
δл = L / M = L / (2n −1) , где L – длина кодируемого перемещения, а n – разрядность КШ.
В отличие от круговой шкалы, линейная ПСКШ разомкнута, поэтому для
обеспечения заданной разрешающей способности шкалы необходимо получить
соответствующую последовательность символов A={Ai}, i = 0, 1,…, пригодную для
синтеза единственной информационной дорожки линейной ПСКШ. Задача генерации
последовательности A в общем виде решается с использованием рекурсивного
соотношения (2) в предположении, что размещение СЭ на ПСКШ корректно и задается
полиномом (3). Для определенности начальные значения символов последовательности
A выбираются A0 = A1 = = An−2 = 0 , An−1 = 1.
Очевидно, символы последовательности A должны полностью включать в себя символы M-последовательности a, а также некоторые дополнительные символы этой же последовательности, число которых зависит от выбранного полинома размещения r(x) на ПСКШ СЭ.
Определим разность между номерами циклических сдвигов М-последовательности, соответствующих размещению на шкале двух соседних СЭ, как
di = jm − jm−1 , где i = 1, 2, …, n −1, m = 2, 3, …, n . Тогда число применений рекурсивного
соотношения (2) при заданных начальных условиях, необходимое для генерации по-
следовательности A, может быть получено по формуле
n−1
∑t = 2n − (n + 1) + di . i =1
С учетом того, что
(4)
n−1
∑ di = d1 + …di + …d n−1 = ( j2 − j1 ) + … + ( jm − jm−1 ) + … + ( jn − jn−1 ) = jn ,
i =1
соотношение (4) в конечном виде принимает вид
t = 2n − (n + 1) + jn .
(5)
Общее число символов последовательности A с учетом n задаваемых начальных
значений может быть найдено из соотношения
T = 2n + jn −1 . Сформулируем основные принципы построения линейных ПСКШ.
(6)
1. В зависимости от требуемой разрядности линейной ПСКШ выбирается примитив-
ный полином h(x).
2. С учетом требований к размещению на шкале считывающих элементов формирует-
ся полином размещения r(x) .
3. На основе рекурсивного соотношения (2) с учетом выражений (5) и (6) генерирует-
ся последовательность A. 4. Рисунок линейной ПСКШ выполняется в соответствии с символами последова-
тельности A, при отображении их на информационной дорожке шкалы, например,
слева направо в последовательности A0 A1 ... AT-1. Поясним изложенный принцип построения линейной ПСКШ на примере трехраз-
рядной шкалы, которая приведена на рис. 1.
Рис. 1. Трехразрядная линейная ПСКШ с размещением СЭ в соответствии
с полиномом r(x) = 1+ x + x2
Информационная дорожка шкалы соответствует символам последовательности 001011100, для построения которой использован примитивный полином
h(x) = x3 + x +1. Размещение трех СЭ вдоль дорожки линейной ПСКШ определяется полиномом r(x) = 1+ x + x2 . В примере получаем семь различных трехразрядных кодо-
вых комбинаций: 001, 010, 101, 011, 111, 110, 100. Из рис. 1 видно, что последовательно снимаемый со шкалы код отличается от обыкновенного двоичного кода (ОДК). Поэтому для преобразования такого кода в ОДК необходим кодопреобразователь.
Преобразование псевдослучайных кодов в обыкновенный двоичный код
В данной работе задача преобразования псевдослучайного кода (ПК), получаемого с ПСКШ, в ОДК решена посредством пересчетной схемы (ПС). На рис. 2 приведена структура такого преобразователя. Операторный блок предназначен для преобразования ПК, снимаемого со шкалы, при произвольном полиноме размещения СЭ, заданного
в соответствии с соотношением (3), в код, получаемый с ПСКШ при размещении СЭ с шагом в один квант. Естественно, что при размещении СЭ на ПСКШ с шагом в один квант операторный блок в схеме кодопреобразователя отсутствует.
Рис. 2. Структура преобразователя псевдослучайного кода, получаемого с ПСКШ, в ОДК на основе ПС
Работа схемы осуществляется следующим образом. По сигналу «Установка» приемный регистр, двоичный счетчик и триггер устанавливаются в нулевое состояние. По этому же сигналу в генератор псевдослучайных кодов записывается код, соответствующий положению ПСКШ, принятому за исходное. По сигналу «Запрос кода» текущий псевдослучайный код со шкалы после преобразования в операторном блоке записывается в приемный регистр, триггер устанавливается в единичное состояние, и импульсы с генератора импульсов через вентильную схему начинают поступать на счетный вход двоичного счетчика и на вход синхронизации генератора псевдослучайных кодов.
Псевдослучайный код 001 010 101 011 111 110 100
Обыкновенный двоичный код 000 001 010 011 100 101 110
Таблица. Последовательность кодовых комбинаций, получаемых с ПСКШ и с выходов ПС
В момент совпадения кода, хранящегося в приемном регистре, и кода, снимаемого с генератора псевдослучайных кодов, на выходе схемы сравнения вырабатывается импульс, который сбрасывает триггер в нулевое состояние. После этого поступление импульсов через вентильную схему на входы генератора псевдослучайных кодов и двоичного счетчика прекращается.
С выхода счетчика снимается обыкновенный двоичный код, соответствующий текущему положению ПСКШ. Для приведенного примера трехразрядной шкалы операторный блок отсутствует, поскольку СЭ вдоль информационной дорожки ПСКШ размещаются с шагом в один квант. В таблице приведены кодовые комбинации, поступающие на вход ПС и получаемые на ее выходе.
Заключение
В статье рассмотрены принципы построения однодорожечных псевдослучайных кодовых шкал для преобразователей линейных перемещений, а также предложена структура кодопреобразователя псевдослучайного кода в обыкновенный двоичный код.
Литература
1. Домрачев В.Г., Мейко Б.С. Цифровые преобразователи угла: принципы построения, теория точности, методы контроля. – М.: Энергоатомиздат, 1984. – 328 с.
2. Ожиганов А.А. Псевдослучайные кодовые шкалы // Пpибоpостроение. – 1987. – Т. 30. – № 2. – С. 40–43.
3. Макуильямс Ф.Д., Слоан Н.Д. Псевдослучайные последовательности и таблицы // ТИИЭР. – 1976. – Т. 64. – № 12. – С. 80–95.
4. Ожиганов А.А. Алгоритм размещения считывающих элементов на псевдослучайной кодовой шкале // Приборостроение. – 1994. – Т. 37. – № 2. – С. 22–27.
5. Ожиганов А.А. Псевдослучайные кодовые шкалы для преобразователей линейных перемещений // Приборостроение. – 1995. – Т. 38. – № 11–12. – С. 37–39.
Ожиганов Александр Аркадьевич Жуань Чжипэн
– Санкт-Петербургский государственный университет информационных технологий, механики и оптики, доктор технических наук, профессор, ojiganov@mail.ifmo.ru Санкт-Петербургский государственный университет информационных технологий, механики и оптики, аспирант, zhipeng_ruan@mail.ru
ПРЕОБРАЗОВАТЕЛЬ ЛИНЕЙНЫХ ПЕРЕМЕЩЕНИЙ С ПСЕВДОСЛУЧАЙНОЙ КОДОВОЙ ШКАЛОЙ НА ОСНОВЕ
ПЕРЕСЧЕТНОЙ СХЕМЫ
А.А. Ожиганов, Жуань Чжипэн
В статье рассматриваются принципы построения однодорожечных псевдослучайных кодовых шкал для преобразователей линейных перемещений, а также предлагается структура кодопреобразователя псевдослучайного кода в обыкновенный двоичный код. Ключевые слова: кодовая шкала, М-последовательность, считывающие элементы.
Введение
Технический прогресс в науке и технике непрерывно связан с широким использованием вычислительных и управляющих машин, специфика работы которых предопределила развитие устройств ввода-вывода информации в ЭВМ. Задачи названных устройств – преобразование поступающей информации в виде аналоговых сигналов в числовой эквивалент и преобразование кода в аналоговый сигнал.
Преобразователи угловых и линейных перемещений в цифровой код предназначены для решения первой задачи и являются одними из востребованных устройств ввода информации в ЭВМ. Можно назвать много объектов – летательные аппараты, корабли, астрономические инструменты, станки с программным управлением и т.д. – точность управления которыми, а также их надежность, в первую очередь, зависит от точности и надежности преобразователей перемещений в цифровой код.
В настоящее время можно проследить тенденцию в развитии преобразователей перемещений за счет совершенствования существующих и разработки новых типов кодирующих устройств преобразователей [1]. При этом наибольшее внимание уделяется улучшению технологических, надежностных, а также массо-габаритных характеристик преобразователей перемещений. Исследованию вопросов повышения качественных показателей устройств преобразования информации посвящено большое число работ, однако в большинстве случаев анализируются возможности улучшения свойств преобразователей при использовании классических принципов их организации.
В данной работе рассматривается принципиально новый подход к построению кодовых шкал преобразователей линейных перемещений, базирующийся на использовании псевдослучайных двоичных последовательностей максимальной длины (Мпоследовательностей). Основной отличительной чертой таких кодовых шкал является использование всего одной информационной кодовой дорожки, что, естественно, позволяет улучшить основные технологические характеристики преобразователей перемещения на их основе.
Теоретические аспекты построения псевдослучайных кодовых шкал для преобразователей линейных перемещений
Круговая псевдослучайная кодовая шкала (ПСКШ) имеет всего одну информационную кодовую дорожку, выполненную в соответствии с символами Мпоследовательности, и n считывающих элементов (СЭ), размещенных вдоль дорожки. При полном перемещении шкалы считывающие элементы дают возможность получить M = 2n −1 различных n-разрядных кодовых комбинаций, что обеспечивает разрешающую способность преобразователя угловых перемещений на основе ПСКШ δ=2π/М [2].
Для генерации М-последовательности а длиной M = 2n −1 используется прими-
тивный полином h(x) степени n с коэффициентами поля Галуа GF(2) [3], т.е.
n
h(x) = ∑ hi xi , i=0
где h0 = hn = 1, а hi = 0,1 при 0 < i < n . удовлетворяют рекурсивному соотношению
Символы
(1) М-последовательности an+ j
n−1
an+ j
=
⊕
i=0
ai+
j
hi
,
j = 0, 1, …,
(2)
где знак ⊕ означает суммирование по модулю два, а индексы при символах М-последо-
вательности берутся по модулю M. Начальные значения символов М-последо-
вательности a0a1…an−1 могут выбираться произвольно, за исключением нулевой
комбинации. М-последовательности относятся к классу циклических кодов и могут задаваться
с помощью порождающего полинома g(x) = (xM +1) / h( x) . Для каждой М-последо-
вательности длины M существует ровно M различных циклических сдвигов, которые
могут быть получены путем умножения порождающего полинома g(x) на x j , где
j = 0, 1, …M −1 .
Поскольку ПСКШ строятся в соответствии с символами М-последовательности, можно путем циклических сдвигов определить порядок размещения на шкале n СЭ, т.е.
m-му СЭ, m = 1, 2,…, n , ставится в соответствие jm-й циклический сдвиг x jm g(x) М-
последовательности. Тогда полином, определяющий порядок размещения на шкале n СЭ, имеет вид
n
∑r(x) = x jm ,
(3)
m=1
где jm ∈{0,1,…, M −1}. Положив j1 = 0 , согласно (3), получим положения 2-го, 3-го,...,
n-го СЭ, смещенные относительно первого СЭ на j2, j3,..., jn элементарных участков
информационной дорожки шкалы соответственно [4].
Основные подходы к построению однодорожечных ПСКШ для преобразователей
линейных перемещений рассмотрены в [5]. Разрешающая способность таких шкал
δл = L / M = L / (2n −1) , где L – длина кодируемого перемещения, а n – разрядность КШ.
В отличие от круговой шкалы, линейная ПСКШ разомкнута, поэтому для
обеспечения заданной разрешающей способности шкалы необходимо получить
соответствующую последовательность символов A={Ai}, i = 0, 1,…, пригодную для
синтеза единственной информационной дорожки линейной ПСКШ. Задача генерации
последовательности A в общем виде решается с использованием рекурсивного
соотношения (2) в предположении, что размещение СЭ на ПСКШ корректно и задается
полиномом (3). Для определенности начальные значения символов последовательности
A выбираются A0 = A1 = = An−2 = 0 , An−1 = 1.
Очевидно, символы последовательности A должны полностью включать в себя символы M-последовательности a, а также некоторые дополнительные символы этой же последовательности, число которых зависит от выбранного полинома размещения r(x) на ПСКШ СЭ.
Определим разность между номерами циклических сдвигов М-последовательности, соответствующих размещению на шкале двух соседних СЭ, как
di = jm − jm−1 , где i = 1, 2, …, n −1, m = 2, 3, …, n . Тогда число применений рекурсивного
соотношения (2) при заданных начальных условиях, необходимое для генерации по-
следовательности A, может быть получено по формуле
n−1
∑t = 2n − (n + 1) + di . i =1
С учетом того, что
(4)
n−1
∑ di = d1 + …di + …d n−1 = ( j2 − j1 ) + … + ( jm − jm−1 ) + … + ( jn − jn−1 ) = jn ,
i =1
соотношение (4) в конечном виде принимает вид
t = 2n − (n + 1) + jn .
(5)
Общее число символов последовательности A с учетом n задаваемых начальных
значений может быть найдено из соотношения
T = 2n + jn −1 . Сформулируем основные принципы построения линейных ПСКШ.
(6)
1. В зависимости от требуемой разрядности линейной ПСКШ выбирается примитив-
ный полином h(x).
2. С учетом требований к размещению на шкале считывающих элементов формирует-
ся полином размещения r(x) .
3. На основе рекурсивного соотношения (2) с учетом выражений (5) и (6) генерирует-
ся последовательность A. 4. Рисунок линейной ПСКШ выполняется в соответствии с символами последова-
тельности A, при отображении их на информационной дорожке шкалы, например,
слева направо в последовательности A0 A1 ... AT-1. Поясним изложенный принцип построения линейной ПСКШ на примере трехраз-
рядной шкалы, которая приведена на рис. 1.
Рис. 1. Трехразрядная линейная ПСКШ с размещением СЭ в соответствии
с полиномом r(x) = 1+ x + x2
Информационная дорожка шкалы соответствует символам последовательности 001011100, для построения которой использован примитивный полином
h(x) = x3 + x +1. Размещение трех СЭ вдоль дорожки линейной ПСКШ определяется полиномом r(x) = 1+ x + x2 . В примере получаем семь различных трехразрядных кодо-
вых комбинаций: 001, 010, 101, 011, 111, 110, 100. Из рис. 1 видно, что последовательно снимаемый со шкалы код отличается от обыкновенного двоичного кода (ОДК). Поэтому для преобразования такого кода в ОДК необходим кодопреобразователь.
Преобразование псевдослучайных кодов в обыкновенный двоичный код
В данной работе задача преобразования псевдослучайного кода (ПК), получаемого с ПСКШ, в ОДК решена посредством пересчетной схемы (ПС). На рис. 2 приведена структура такого преобразователя. Операторный блок предназначен для преобразования ПК, снимаемого со шкалы, при произвольном полиноме размещения СЭ, заданного
в соответствии с соотношением (3), в код, получаемый с ПСКШ при размещении СЭ с шагом в один квант. Естественно, что при размещении СЭ на ПСКШ с шагом в один квант операторный блок в схеме кодопреобразователя отсутствует.
Рис. 2. Структура преобразователя псевдослучайного кода, получаемого с ПСКШ, в ОДК на основе ПС
Работа схемы осуществляется следующим образом. По сигналу «Установка» приемный регистр, двоичный счетчик и триггер устанавливаются в нулевое состояние. По этому же сигналу в генератор псевдослучайных кодов записывается код, соответствующий положению ПСКШ, принятому за исходное. По сигналу «Запрос кода» текущий псевдослучайный код со шкалы после преобразования в операторном блоке записывается в приемный регистр, триггер устанавливается в единичное состояние, и импульсы с генератора импульсов через вентильную схему начинают поступать на счетный вход двоичного счетчика и на вход синхронизации генератора псевдослучайных кодов.
Псевдослучайный код 001 010 101 011 111 110 100
Обыкновенный двоичный код 000 001 010 011 100 101 110
Таблица. Последовательность кодовых комбинаций, получаемых с ПСКШ и с выходов ПС
В момент совпадения кода, хранящегося в приемном регистре, и кода, снимаемого с генератора псевдослучайных кодов, на выходе схемы сравнения вырабатывается импульс, который сбрасывает триггер в нулевое состояние. После этого поступление импульсов через вентильную схему на входы генератора псевдослучайных кодов и двоичного счетчика прекращается.
С выхода счетчика снимается обыкновенный двоичный код, соответствующий текущему положению ПСКШ. Для приведенного примера трехразрядной шкалы операторный блок отсутствует, поскольку СЭ вдоль информационной дорожки ПСКШ размещаются с шагом в один квант. В таблице приведены кодовые комбинации, поступающие на вход ПС и получаемые на ее выходе.
Заключение
В статье рассмотрены принципы построения однодорожечных псевдослучайных кодовых шкал для преобразователей линейных перемещений, а также предложена структура кодопреобразователя псевдослучайного кода в обыкновенный двоичный код.
Литература
1. Домрачев В.Г., Мейко Б.С. Цифровые преобразователи угла: принципы построения, теория точности, методы контроля. – М.: Энергоатомиздат, 1984. – 328 с.
2. Ожиганов А.А. Псевдослучайные кодовые шкалы // Пpибоpостроение. – 1987. – Т. 30. – № 2. – С. 40–43.
3. Макуильямс Ф.Д., Слоан Н.Д. Псевдослучайные последовательности и таблицы // ТИИЭР. – 1976. – Т. 64. – № 12. – С. 80–95.
4. Ожиганов А.А. Алгоритм размещения считывающих элементов на псевдослучайной кодовой шкале // Приборостроение. – 1994. – Т. 37. – № 2. – С. 22–27.
5. Ожиганов А.А. Псевдослучайные кодовые шкалы для преобразователей линейных перемещений // Приборостроение. – 1995. – Т. 38. – № 11–12. – С. 37–39.
Ожиганов Александр Аркадьевич Жуань Чжипэн
– Санкт-Петербургский государственный университет информационных технологий, механики и оптики, доктор технических наук, профессор, ojiganov@mail.ifmo.ru Санкт-Петербургский государственный университет информационных технологий, механики и оптики, аспирант, zhipeng_ruan@mail.ru