Синусно-косинусный преобразователь

Иллюстрации

Показать все

Реферат

 

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

СОЮЗ СОВЕТСНИХ

СОЦИАЛИСТИЧЕСНИХ

РЕСПУБЛИК (29) (21) (51)4 С 06 У 7/548

ВСЕСЯ1)о12 S «1 .,1З

ЯЦБ ) Уо" t 2

ОПИСАНИЕ ИЗОБРЕТЕНИЯ

ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР

ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЫТИЙ

К А BTOPCKOMV СВИДЕТЕЛЬСТВУ (21) 4088106/24-24 (22) 12.05.86 (46) 15.04.88. Бюл. У 14 (71) Ленинградский институт точной механики и оптики (72) И. В. Меськин, Л. И. Дорожко и А. А. Баркалов (53) 681.325(088.8) (56) Авторское свидетельство СССР

Ф 1042013, кл. G 06 F 7/548, 1981. (54) СИНУСНО-КОСИНУСНЫЙ ПРЕОБРАЗОВАТЕЛЬ (57) Изобретение относится к вычислительной технике и может быть использовано в цифроаналоговых вычислительных устройствах, работающих с датчиками, в которых углы выдаются в цифровом коде с преобразователей угол-код любого типа, например фото1388855 электрических преобразователей. Цель изобретения — повышение точности преобразования за счет уменьшения дискретности изменения аргумента и функции без увеличения: объема памяти. В синусно-косинусный преобразователь, содержащий линейный преобразователь 1 углового перемещения в код, регистр 2 аргумента, блок 3 вычисления знака, сумматор 4 по модулю два, преобразователь 5 прямого кода в обратный, сумматор 6 дополнительного кода, регистр 7 нуля, блок 8 памяти, регистр 10 функции, элемент

ИЛИ 12, блок 13 синхронизации, дополнительно введен вычислительный блок

9, выполненный на основе микропроцессора. Значение функции sinx или созх, Изобретение относится к вычислительной технике и может быть использовано в цифроаналоговых управляющих вычислительных устройствах, работающих с датчиками,, в которых углы выдаются в цифровом коде с преобразователей угол-код любого типа, например фотоэлектрических преобразователей.

Цель изобретения — повышение точности вычислений за счет уменьшения дискретности изменения аргумента и функции без увеличения объема памяти.

На фиг, 1 представлена структурная схема предлагаемого преобразователя; на фиг. 2 — схема преобразователя кода; на фиг, 3 — схема блока вычисления знака,.

Синусно-косинусный преобразователь (фиг. 1) содержит линейный преобразователь 1 углового перемещения в код, регистр 2 аргумента, блок 3 вычисления знака, сумматор 4 по модулю. два, преобразователь 5 прямого кода в обратный, преобразователь 6 прямого кода в обратный регистр 7 нуля, блок 8 памяти, вычислительный блок 9, регистр 10 функции, кнопку

11 "Пуск", элемент ИЛИ 12, блок 13 синхронизации. считанное-из блока памяти по значению п-разрядного кода угла, уточняется на микропроцессоре с учетом уменьшения дискретности входного угла до m разрядов. В результате анализа (и+2)"ro и (п+3) -го разрядов регистра прямого кода, определяющих номер квадранта, в котором находится угол х, а также типа функции, в блоке знака определяется знак функции, а на сумматоре по модулю два— вид кода, прямой или дополнительный, передаваемый на вход, блока памяти, в котором записано значение функции

sinx в первом квадранте, а на преобразователе кода и сумматоре дополнительного кода формируется требуемый код угла. 3 ил.

Преобразователь 5 (фиг. 2) содержит и сумматоров 4 по модулю два, Первые входы сумматоров 14 по модулю соединены с соответствующими разрядами входа преобразователя 5, а вторые их входы соединены с управляющим входом преобразователя 5, выходы и сумматоров 14 по модулю.два соединены с соответствующими разрядами вы10 хода преобразователя 5.

Блок 3 (фиг. 3) содержит сумматор 15 мо модулю два, элемент ИЛИНЕ 16, элемент И .17> элемент ИЛИ 18.

Преобразование кода угла, полученного на линейном преобразователе, в код синуса (косинуса) этого угла может выполняться с помощью постоян" ных запоминающих устройств (ПЗУ), в которых записана таблица двоичных кодов значений функции sinx в пределах квадранта при изменении угла аргумента (0-90 ) (1-2 ), где и — число.разрядов адреса ПЗУ, разрядов кода, подаваемого в ПЗУ угла.

Поскольку микросхемы блоков памяти выпускаются с числом разрядов кодов функции siiix на несколько разрядов превышающим число разрядов кодов аргумента, то появляется воэможность уменьшить дискретность изменения аргумента в 2 раэ, где m — - раз1388855 рядность кода sinx в блоке 8 памяти, применяя известные тригонометрические соотношения.

Код угла можно представить в ви5 де нескольких полей: N, х, дх, ка ь где N„ - номер квадранта, определяемый значениями старших (m+2)-ro u (m+1) разрядов регистра аргумента, значению этих разрядов 00, 01, 10, 1ð

11 соответствуют первый, второй, третий, четвертый квадранты; х„-n "" разрядный код угла х (значение угла х, определяемое старшими разрядами регистра аргумента с m-го по (ш-и+

+1)-й; дх- — приращение угла х, определяемое младшими разрядами регистра аргумента с 1-ro по (m-n)-й.

Вычисление, например, функции sinx производится вычислительными 20 блоками выполненных на основе микропроцессора по формуле

sinx =sin(x +дх) = sinx +cosx

tll ll о н

1,5 ° дх, (1) где х — m-разрядный код угла х, - 25 коэффициент 1,5= /2 определяет перевод угла д х, представленного в виде правильной двоичной дроби от угла 90, в радианы.

При этом в первом квадранте код 30 функции sinx получают при подаче в

ПЗУ прямого кода угла, а код функции совх - при подаче в ПЗУ дополнительного кода угла. В других квадрантах коды функций sinx и cosx, в том числе и их знаки получают по известным в тригонометрии соотношениям, связывающим эти функции с функциями sinx u cosx угла х, расположенного в первом квадранте: /sinx / 4О

sinx„ (I) в первом и третьем квадрантах, где sinx „ (I) — синус n-pasрядного кода угла в первом квадранте

sinx„! совх (I) ВО втОрОм и четвертом квадрантах, где cosx„ (I) 45 косинус п-разрядного кода угла в а первом. квадранте. При х „ 90 -х„, совх„ (Х) sinx>„(I), где х» дополнительный код угла х„.

Аналогично для функции созх„ можно показать, что jcosx„J asinx„ (I) во втором и четвертом квадрантах, jсоах„I s1nx „(I) в первом H третьем квадрантах. Следовательно. при необходимости прочесть значение созх„, необходимо получить значение

55 функции sinx „(I) во втором и четвертом квадрантах при значении (а+1)-го разряда регистра аргумента равного единице и значение з пх „(?), если (m+1) разряд регистра аргумента равен нулю (первый и третий квадранты). Сумматор 4 по модулю два формирует единицу на выходе, если угол находится в первом или третьем квадранте и нуль в противном случае. При получении функции з1.пх „ сумматор 4 по модулю два формирует единицу соответственно во втором и четвертом квадрантах.

Через преобразователь 5 на вход преобразователя б прямого кода в дополнительный передается не измененный код регистра аргумента, если состояние управляющего входа преобразователя 5 нулевое, таким образом, на входе блока 8 памяти формируется прямой код угла, в противном случае код инвертируется преобразователем

5 и к его младшему разряду прибавляется единица на преобразователь 6 прямого кода в дополнительный в результате на преобразователь 5 поступает дополнительный код угла.

Управление передачей прямого или дополнительногo кода угла на вход преобразователя 5 производится сумматором 4 по модулю два.

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

Определение знака производится с учетом того, что функция синус отрицательна в третьем и четвертом квадрантах, когда jm+1) =1, где 1т+1) -го разряда регистра аргумента, функция косинус отрицательна во втором и третьем квадрантах, когда (т+2 ф

+)m+1) =1, где (m+2) — значение (m+2)-ro разряда регистра аргумента.

Выход блока 3 (ЗН) равен единице в том случае, если .функция отрицательная и определяется формулой

3Н-зр а ({+И) v 3И((+1)) О+ pm+23) =

3Р м 1ш+ Ц ч 3P Q(pm> 1) Ят+2) ), где 3P - значение входа задания режима работы преобразователя.

В регистр аргумента запоминается значение угла перед началом вычислений и остается неизменным до его окончания, Аналогично по окончании вычислений значение функции автоматически записывается в регистр функции, таким образом, достигается асин1388855 хронная работа преобразователя и устройства — потребителя вычисленных функций.

Кнопкой "Пуск" осуществляется на5 чальный запуск преобразователя, а блок синхронизации в совокупности с элементом ИЛИ осуществляют перезапуск преобразователя на новое вычисление. 1О

Синусно-косинусный преобразователь работает следующим образом.

После включения питания нажатием кнопки 11 "Пуск" блок 9 переводится в начальное состояние сигналами блока 13 синхронизации, а по сигналу синхронизации от элемента ИЛИ 12 в регистр 2 аргумента записывается (ш+2)-разрядный код угла Х, полученный на линейном преобразователе.

Единичное состояние входа задания режима работы преобразователя определяет воспроизведение функции cosx, а нулевое - sinx. управляющие воздействия на этот вход поступают от внешнего вычислительного устройства, работающего с преобразователем. Рассмотрим пример вычисления sinx, Вычисления по формуле 1 произво". дят блоком 9 под управлением микропрограммы за девять тактов.

В первом такте блока 9 формирует" ся константа, содержащая в ш-п млад,ших разрядах единицы„ для выделения аХ. На первом и втором выходах блока

9 формируется значение единицы, вто35 .рые выходы регистра 2 аргумента и выходы блока 8 памяти этими единицами переводятся в состояние высокого сопротивления и, следовательно, ин- 4 формация на схемы обмена блока 9 извне не поступает.

Во втором такте блок 9 формирует на первом выходе единицу, поддерживающую выходы блока 8 памяти в состоянии высокого сопротивления, а на втором выходе — нуль, разрешающий передачу на схемы обмена блок 9 разрядов a roporo выхода регистра 2 аргумента. В блоке 9 происходит выделение и запоминание младших m"n разрядов кода угла ьх.

В третьем такте в блоке 9 6х сдвигается влево на один разряд, т ° а определяется 0,5 . х.

В четвертом такте в блоке 9 суммируется значения 1 х и 0,5 ° ьх, в результате получается один из сомножителей 1,5 ° О,х. В пятом такте на

Если R (R - разрядность кода угла х, выдаваемого линейным преобразователем 1) меньше m, n (R m, то на входы младших ш-R разрядов аргумента 2 необходимо подключить эна" чение логического нуля, например ОВ.

Ф о р м у л а

Синусно-косинусный преобразователь, содержащий линейный преобразо. ватель углового перемещения в код, изобретения первом выходе блока 9 формируется значение нуля, на втором и третьем выходах — единица. Вторые выходы регистра 2 аргумента переводятся в состояние высокого сопротивления, а выходы блока 8 памяти открываются для передачи данных. На сумматоре 4 по модулю два определяется вид кода угла х, передаваемого на входы блока 8 памяти, таким образом, чтобы на выходе блока 8 памяти формировалось значение функции cosx„ которое передается в блок 9.

В шестом такте блока 9 определяется поправка к функции sin х путем и умножения cos х на 1,5- 1 х ° п

В седьмом такте на третьем входе блока 9 формируется значение нуля, иэ блока 8 памяти считывается значение g sin х и передается в блок 9.

В восьмом такте в блоке 9 производится суммирование функции sin x„ с его поправкой, эта сумма является искомой функцией sin x

Щ

В девятом такте код искомой функции выдается на выходы схемы обмена блока 9, а на его четвертом выходе формируется единица, стробирующая прием кода функции в регистр 10 функции и через элемент ИЛИ 12 прием в регистр 2 аргумента кода нового угла х, блок 9 переводится в начальное состояние, вычисления повторяются для нового угла х. Знак функции считывается с блока 3.

Выработка функции cos х осуществляется аналогично. На входе зада" ния режима работы формируется единица. В соответствии с этик из блока 8 памяти по управлению от сумматора

4 по модулю два считывается значение

sin х и определяется поправка к кои синусу, затем считывается cos хп и определяется значение cos хп, с учетом поправки.

1388855 регистр аргумента, преобразователь прямого кода в обратный, регистр нуля, преобразователь прямого кода в дополнительный, блок синхронизации, элемент ИЛИ, блок памяти, регистр

5 функции, блок вычисления знака, сум матор по модулю два, причем вход аргумента преобразователя является входом линейного преобразователя углового перемещения в код, выход ко" торого соединен с информационным входом регистра аргумента, выходы и-х разрядов которого (n — разрядность адреса блока памяти) соединены с информационными входами преобразователя прямого кода в обратный, выход которого соединен с входом первого операнда преобразователя прямого кода в дополнительный, вход второго операнда которого соединен с выходом регистра нуля, выход преобразователя прямого кода в дополнительный соединен с адресным входом блока памяти, выход (m+2)-ro разря" да регистра аргумента (ш — разрядность продолжения функции) соединен с первым входом блока вычисления зна» ка, выход которого является выходом знака искомой функции преобразователя, выход (m+I)-ro разряда регистра

30 аргумента соединен с первым входом сумматора по модулю два и вторым входом блока вычисления знака, выход сумматора по модулю два соединен с управляющими. входами преобразователя прямого кода в обратный и преобразователя прямого кода в дополнительный, отличающийся тем, что, с целью повышения точности вычислений за счет уменьшения дискретности изменения аргумента и функции без увеличения объема памяти, в него введен вычислительный блок, выходы с первого по третий которого соединены с входами разрешения чтения блока памяти, регистра аргумента и вторыми входами сумматора по моду" лю два соответственно, вход задания режима работы преобразователя соединен с третьим входом сумматора по модулю два и блока вычисления знака, вход "Пуск" преобразователя соединен с первым входом элемента ИЛИ, выход которого соединен с входом синхронизации регистра аргумента и входом запуска блока синхронизации, группа выходов которого соединена с .группой синхровходов вычислительного блока, четвертый выход которого соединен с входом синхронизации регистра функции и вторым входом элемента ИЛИ, выходы ш-х разрядов блока памяти объединены с выходными одноименными разрядами регистра аргумента и соединены с информационным входом вычислительного блока, пятый выход которого соединен с информационным входом регистра функции, выход которого является выходом искомой функции преобразователя °

Составитель 3. Шершнева

Редактор И. Середа Техред М.Дидык Корректор Н, Король

Заказ 1580/49 Тираж 704 Подписное

ВНИИПИ Государственного комитета СССР по делам изобретений и открытий

113035, Москва, Ж-35, Раушская наб., д. 4/5

Производственно-полиграфическое предприятие, r. Ужгород, ул. Проектная, 4