ПО
название | год | авторы | номер документа |
---|---|---|---|
Синусно-косинусный преобразователь | 1986 |
|
SU1339555A1 |
Устройство для вычисления элементарных функций | 1982 |
|
SU1061136A1 |
Устройство для вычисления функций @ и @ | 1980 |
|
SU978146A1 |
Цифровой синтезатор частот | 1983 |
|
SU1190457A1 |
Устройство для вычисления тригонометрических функций | 1984 |
|
SU1236465A1 |
Устройство для вычисления тригонометрических функций | 1985 |
|
SU1257639A1 |
Устройство для вычисления функций SIN х и coS х | 1981 |
|
SU974371A1 |
Устройство для вычисления функций синуса и косинуса | 1986 |
|
SU1322272A1 |
Устройство для вычисления функций синуса и косинуса | 1980 |
|
SU907546A1 |
Устройство для вычисления тригонометрических функций | 1984 |
|
SU1262486A1 |
Изобретение относится к вычислительной технике и может быть использовано в цифроаналоговых вычислительных устройствах, работающих с датчиками, в которых углы выдаются в цифровом коде с преобразователей угол-код любого типа, например фото
со
СХ)
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
(риг.Э
Авторское свидетельство СССР , кл | |||
Приспособление для точного наложения листов бумаги при снятии оттисков | 1922 |
|
SU6A1 |
Авторы
Даты
1988-04-15—Публикация
1986-05-12—Подача