Синусно-косинусный преобразователь Советский патент 1988 года по МПК G06F7/548 

Описание патента на изобретение SU1388855A1

ПО

Похожие патенты SU1388855A1

название год авторы номер документа
Синусно-косинусный преобразователь 1986
  • Меськин Игорь Вениаминович
  • Дорожко Леонид Иванович
SU1339555A1
Устройство для вычисления элементарных функций 1982
  • Лукашенко Валентина Максимовна
SU1061136A1
Устройство для вычисления функций @ и @ 1980
  • Евдокимов Виктор Федорович
  • Плющ Юрий Алексеевич
  • Кизим Юрий Тихонович
  • Мохор Владимир Владимирович
  • Литвиненко Виталий Владимирович
SU978146A1
Цифровой синтезатор частот 1983
  • Григорьев Виталий Савельевич
  • Капустин Вячеслав Юрьевич
  • Гадяцкий Павел Андреевич
  • Молчанов Павел Иванович
SU1190457A1
Устройство для вычисления тригонометрических функций 1984
  • Золотовский Виктор Евдокимович
  • Коробков Роальд Валентинович
SU1236465A1
Устройство для вычисления тригонометрических функций 1985
  • Скегин Эдуард Яковлевич
  • Моргунов Анатолий Васильевич
  • Вайнштейн Геннадий Михайлович
SU1257639A1
Устройство для вычисления функций SIN х и coS х 1981
  • Бархоткин Вячеслав Александрович
  • Бельц Виктор Андреевич
  • Генералов Анатолий Викторович
  • Васильченко Николай Владимирович
  • Мотин Петр Ермолаевич
SU974371A1
Устройство для вычисления функций синуса и косинуса 1986
  • Мих Александр Данилович
SU1322272A1
Устройство для вычисления функций синуса и косинуса 1980
  • Филатов Евгений Иванович
SU907546A1
Устройство для вычисления тригонометрических функций 1984
  • Ваврук Евгений Ярославович
  • Захарко Юрий Михайлович
  • Мельник Анатолий Анатольевич
  • Цмоць Иван Григорьевич
SU1262486A1

Иллюстрации к изобретению SU 1 388 855 A1

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

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

Формула изобретения SU 1 388 855 A1

со

СХ)

00

00 СП СП

электрических преобразователей. Цель изобретения - повышение точности пре образования за счет уменьшения дискретности изменения аргумента и функции без увеличения: объема памяти. В синусно-косинусный преобразователь, содержащий линейный преобразователь I углового перемещения в код, регистр 2 аргумента, блок 3 вычисления знака, сумматор 4 по модулю два, преобразователь 5 прямого кода в обратный, сумматор 6 дополнительно го кода, регистр 7 нуля, блок 8 памяти, регистр 10 функции, элемент ИЛИ 12, блок 13 синхронизации, дополнительно введен вьгаислйтельный блок 9, выполненный на основе микропроцес- сора. Значение функции sinx или cosx

1

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

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

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

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

88855

считанное-из блока памяти по значению п-разрядного кода угла, уточняется на микропроцессоре с учетом уменьщения дискретности входного угла до m разрядов. В результате анализа (п+2)-го и (п+3)-го разрядов регистра прямого кода, определяющих номер квадранта, в котором находится угол X, а также типа функции, в блоке знака определяется знак функции, а на сумматоре по модулю два - вид кода, прямой или дополнительный, передаваемый на вход/ блока памяти, в котором записано значение функции sinx в первом квадранте, а на преобразователе кода и сумматоре дополнительного кода формируется требуемый код угла. 3 ил.

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

Блок 3 (фиг. 3) содержит сумматор 15 МО модулю два, элемент ИЛИ- НЕ 16, элемент И .17, элемент ИЛИ 18. Преобразование кода угла, полученного на линейном преобразователе, в код синуса (косинуса) этого угла может выполняться с помощью постоянных запоминающих устройств (ПЗУ), в которых записана таблица двоичных

кодов значений функции sinx в пределах квадранта при изменении угла аргумента (0-90°) (1-2 ), где п - число, разрядов адреса ПЗУ, разрядов кода, подаваемого в ПЗУ угла.

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

Код угла можно представить в ви- де нескольких полей: N, х, их, где номер квадранта, определяемый значениями старших (пН-2)-го и (т+1) разрядов регистра аргумента, значению этих разрядов 00, 01, 10, 11 соответствуют первый, второй, третий, четвертый квадранты; х„-п - разрядный код угла х (значение угла X, определяемое старшими разрядами регистра аргумента с т-го по (тп-п+ +1)-й; Дх-- приращение угла х, определяемое младшими разрядами регистра аргумента с 1-го по (т-п)-й.

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

sinx sin(x +ux) sinx -i-cosx-

mnrj 1

1,5.лх,(1)

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

При этом в первом квадранте код функции sinx получают при подаче в ПЗУ прямого кода угла, а код функции COSX - при подаче в ПЗУ дополнительного кода угла. В других квад- рантах коды функций sinx и cosx, в. том числе и их знаки получают по известньм в тригонометрии соотношениям, связывающим эти функции с функциями sinx и COSX угла х, расположенного в первом квадранте: /sinx sinx (I) в первом и третьем квадрантах, где sinxn (I) - синус п-раз- р ядного кода угла в первом квадранте jsinXnl -cosx „ (I) во втором и четвертом квадрантах, где cosx (I косинус п-разрядного кода угла в первом квадранте. При Xj, 90 -х, С08х„ (I) sinxj(l), где Хд„ - дополнительный код угла х.

Аналогично для функции со8х„ можно показать, что fcosx l usinx (i) во втором и четвертом квадрантах, jcosxnl sinxgn(I) в первом и.третьем квадрантах. Следовательно, при необходимости прочесть значение cosx, необходимо получить значение функции sinx n (I) во втором и четвертом квадрантах при значении

(т+1)-го разряда регистра аргумента

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

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

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

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

Определение знака производится с

учетом того, что функция синус отрицательна в третьем и четвертом квадрантах, когда l, где fm+lj-ro разряда регистра аргумента, функция косинус отрицательна во втором и третьем квадрантах, когда ra+ZJiJ + , где itH-2 - значение (т-ь2)-го разряда регистра аргумента. Выход блока 3 (ЗН) равен единице в том случае, если функция отрицательная и определяется формулой

,& (Д V ЗРХ(пН-1) ±) Ст+2) 3Px; m+i v3P8;-(Im+l ( ) , где ЗР - значение входа задания режима работы преобразователя.

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

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

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

После включения питания нажатием кнопки I1 Пуск блок 9 переводится в начальное состояние сигналами блока 13 синхронизации, а по сигналу синхронизации от элемента ИЛИ 12 в регистр 2 аргумента записывается (т+2)-разрядный код угла X, полученный на линейном преобразователе, Единичное состояние зхода задания режима работы преобразователя определяет воспроизведение функции cosx а нулевое - sinx. Управляющие воздействия на этот вход поступают от внешнего вычислительного устройства, работающего с преобразователем. Рассмотрим пример вьмисления sinx.

Вычисления по формуле 1 производят блоком 9 под управлением микропрограммы за девять тактов.

Б первом такте блока 9 формирует™ ся константа, содержащая в m-n млад- .ших разрядах единицы,, для выделения лх. На первом и втором выходах блока 9 формируется значение «гдиницы, вторые выходы регистра 2 аргумента и выходы блока 8 памяти этими единицами переводятся в состояние высокого сопротивления и, следовательно, информация на схемы обмена блока 9 из вне не поступает.

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

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

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

5

0

5

0

5

0

5

0

5

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

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

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

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

искомой функцией sin х .

m

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

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

Если R (R - разрядность кода угла X, выдаваемого линейным преобразователем 1) меньше т, niR«:m, то на входы младших m-R разрядов аргумента 2 необходимо ПОДКЛЮЧИТЬ зна- чение логического нуля, например ОВ.

Формула изобретения

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

регистр аргумента, преобразователь прямого кода в обратный, регистр нуля, преобразователь прямого кода в дополнительный, блок синхронизации, элемент ИЛИ, блок памяти, регистр функции, блок вычисления знака, сумматор по модулю два, причем вход аргумента преобразователя является входом линейного преобразователя углового перемещения в код, выход которого соединен с информационным входом регистра аргумента, выходы . п-х разрядов которого (п - разрядность адреса блока памяти) соединены с информационными входами преобразователя прямого кода в обратный, вьпсод которого соединен с входом первого операнда преобразователя прямого кода в дополнительный, вход второго операнда которого соединен с выходом регистра нуля, выход преобразователя прямого кода в дополнительный соединен с адресным входом блока памяти, выход (т+2)-го разряда регистра аргумента (т - разрядность продолжения функции) соединен с первым входом блока вычисления зна ка, выход которого является выходом знака искомой функции преобразователя, выход (т+1)-го разряда регистра аргумента соединен с первым входом сумматора по модулю два и вторым входом блока вычисления знака, выход сумматора по модулю два соединен с управляющими входами преобразова5

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

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

0

5

0

fffue.2

/5

/7

16

(риг.Э

Документы, цитированные в отчете о поиске Патент 1988 года SU1388855A1

Авторское свидетельство СССР , кл
Приспособление для точного наложения листов бумаги при снятии оттисков 1922
  • Асафов Н.И.
SU6A1

SU 1 388 855 A1

Авторы

Меськин Игорь Вениаминович

Дорожко Леонид Иванович

Баркалов Александр Александрович

Даты

1988-04-15Публикация

1986-05-12Подача