Цифровой функциональный преобразователь
Иллюстрации
Показать всеРеферат
Союз Соввтсими
Соцмалмстмчвсимк
Рвслублми
ОП ИСАНИЕ
ИЗОБРЕТЕН ИЯ
К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ (i t) 955082 (61) Дополнительное к авт. свид-ву— (22) Заявлено 28. 07. 80 (21) 2963313/18-24 с присоединением заявки № (23) Приоритет
Опубликовано 30.08.82. бюллетень №32
Дата опубликования описания 30.08.82 (5t)M. Кл. г 06 F 15/31
6 06 F 7/548
Ркударствекны1 квмитет
СССР ао дмем изобретений и аткрытий (53) УДК681.325 (088.8) «
В. Н. Ахметов и А. В. 1 усев.
«
k (72) Авторы изобретения! («
:« 1
«
«
«
««
« (71) Заявитель (54) ЦИФРОВОЙ ФУНКЦИОНАЛЬНЫЙ ПРЕОБРАЗОВАТЕЛЬ
2 .е
Изобретение относится к цифровой вычислительной технике и может быть использовано в устройствах цифрового автоматического управления, в тригонометрических и навигационнных
5 вычислителях, при аппаратном вычислении элементарных функций в ЦВМ и др.
Известно устройство (1), основанное на итерационных методах "цифра за цифрой", недостатком которого является методическая погрешность от деформации вектора, в результате че го нарушается сходимость алгоритма, например, при вычислении некоторых обратных тригонометрических функций.
Для устранения указанных погрешностей необходимо значительно усложнить структуру устройства, при этом уменьшается его надежность, быстродейст- 2о вие и функциональные возможности, Наиболее близким техническим решением к данному является устройство для преобразования прямоугольных координат в полярные, содержащее блок памяти синуса и косинуса, блок умножения, регистры, сумматор-вычитатель, коммутаторы кодов, адресный счетчик, а также триггеры и логические элементы для управления уст. ройством.
Преобразователь основан на использовании таблично-алгоритмического метода, достоинством которого является высокое быстродействие (2$ .
Недостатком устройства является отсутствие возможности непосредственного вычисления таких функций, как
arcsin /y, areas >/у и других. Кроме того, устройство характеризуется значительным объемом памяти для полной таблицы значений синуса и косинуса, составляющим при десяти разрядах десять тысяч бит для каждой Функции.
Цель изобретения — расширение класса решаемйх задач за счет дополнительного вычисления функций вида
arcs ï "/у и arccos<.
95508
Поставленная цель достигается тем, что в преобразователь „содержащий блок управления, промежуточный регистр, регистр координаты Х, регистр координаты У, блок умножения, коммутатор, блок памяти, регистр адреса, сумматор-вычитатель и регистр угла, причем выход регистра адреса соединен с входом блока памяти, дополнительно введена схема сравнения, при- >6 чем блок управления содержит коммутатор, генератор пачки импульсов и элемент И, прямой и инверсный входы которого соединены соответственно с выходами коммутатора и генератора пачки импульсов, выход генератора пачки импульсов блока управления соединен с синхровходами промежуточного регистра коммутатора, входами сдвига, регистра адреса, регистра угла и управляющим входом сумматора-вычитателя, выход элемента И блока управления соединен с синхровходами регистров координаты Х и координаты
Y и последовательным информационным входом регистра угла, параллельный информационный вход которого соеди,нен с входом записи преобразователя, выходы регистров угла соединены с выходом угла преобразователя, выход разрядов сумматора-вычитателя1 соединен с первым входом схемы сравнения, второй вход которой соединен с вхо" дом задания аргумента координаты преобразователя, выход схемы сравнения соединен с первым входом коммутатора блока управления, второй . и третий входы которого соединены соответственно с выходом старшего разряда регистра угла и знаковым вы4О ходом сумматора-вычитателя, информационный вход промежуточного регистра соединен с выходом разрядов сумматора-вычитателя и информацион-: ным входом регистра координаты Х, вход записи которого соединен с входом координаты X преобразователя, вход координаты Y которого соединен входом записи регистра координаты
У, информационный вход которого соединен с выходом промежуточного регистра, выходы регистров координаты
X u Y соединены с первым и вторым входами блока умножения, второй и третий входы которого соединены с выходами коммутатора, вход которого через блок памяти соединен с выходом регистра адреса, выход блока умножения соединен с входами сумматора2 4 вычитателя выход знакового разряда которого соединен с выходом преобразователя.
На фиг, 1 представлена блок-схема преобразователя; на фиг. 2 и 3 соответственно блок-схема и временные диаграммы работы блока управления. .Устройство содержит промежуточный регистр 1, регистр 2, координатыХ,регистр 3 координаты Y,ðåãèñòð 4 адреса, регистр 5 угла, блок 6 памяти, коммутатор 7, блок умножения 8, сумматор-вычитатель 9, блок 10 управления, схему 11 сравнения, входы
12 и 13, выходы 14, выходы 15 и 16 блока управления, входы 17-19 блока управления, вход 20 схемы сравнения, выходы 21 и 22 преобразователя.
Блок управления содержит элемент
И 23, коммутатор 24 и генератор 25 пачек импульсов.
Процесс воспроизведения функциональных зависимостей основан на использовании поворота вектора в прямоугольной системе координат, при этом можно получить широкий к.пасс тригонометрических функций одной и двух переменных с
Х1 = Хосоз + Y sin 8
Y Y cos8 - ХОз п (1)
Подбор угла 9 осуществляется путем последовательных поворотов на некоторые фиксированные базисные углы P„, удовлетворяющих условиям:
,) =" /4,) (1„= Pg 2,... „Pn=P 2 ", где n - заданная разрядность, и для каждого i-co шага или поворота ис" пользуется какое-то одно значение
P„ = a 8„ . Очередное приближение ис-,. комого угла равно
8= 8i =Å где - знак поворота,. который может принимать значения 0 или 1 и вырабатывается в зависимости от типа воспроизводимых функций на знаковом выходе 21 или на выходе 22 старшего разряда регистра 5 угла либо на выходе схемы 11 сравнения.
Ниже приводится описание работы устройства для представления чисел с фиксированной запятой перед старшим разрядом, т.е. для чисел по модулю меньше единицы, Перед началом работы задается режим работы и начальное состояние блоков устройства согласно таблице.
955082
Воспроизводимые функции
Состояние входов
Начальное и конечное состояния регистров устройства
16 12
17 18 19 15
13 20 началько конечконеч- нача" не льное ное ное но ное ь, 1
51пое, cosIx, 0 inn ж 0 0
0 0
cos oa
1 l2, Х
О Y оi =arcsin"/p
v =67-х2
0 Y
Х 0 оа
L 0
0 0 Р
g =ar ccosv >,(2„(1 (0 ос
g =arctgX
p= > x
g = arcsinZ
0 ("1Ьт
1 с05о6 0 51 в| 0 о
0 0 0
Х < Q
Х = Х со5М4 1 У 51по оС 0
Х вЂ” COSIx,1 — Х sino(, 0 блока 10 управления подается тактовый импульс с1, который своим передним фронтом устанавливает регистр 4 адреса в состояние О. 100...0, соответствующее значению Po /4, а также производит установку сумматора-вычитателя 9 в режим суммирования. Бло", ком 6 памяти, запрограммированным на систему базисных функций углов P,, вырабатываются значения 51п8 и cos@II, При вычислении па ы функций оь
=arctg " у и p= XO У,, т,е. в режиме построения полярного вектора по известным декартовым координатам Х о и
Уо, перед началом работы регистры 1, 4 и 5, и сумматор-вычитатель 9 устанавливаются в нулевое состояние, Координаты Хо и Уо с входа 12 записываются соответственно в регистры 3 и 2, координат X u Y. С выхода 15 к, =агссо52
Х = (со5о
= $ 51Пф. остояние Состояние ходов бло- выходов а управле- блока упия равления
7 95508 поступающие через коммутатор 7 кодов на соответствующие входы блока
8 умножения для перемножения со значениями координат Хо и У . ПолученI-IIIe произведения X cosp и Yo sin p суммируются в сумматоре-вычитателе 9, т.е. получаем приближение X систе1 мы уравнений (1) .
Полученное значение Х, записывается в накапливающий регистр, 1, по 10 заДнему фронту тактового импульса „ с выхода 15, по которому также производится переключение коммутатора
7 кодов выходов синуса и косинуса блока 6 памяти и установка сумматора-вычитателя 9 в режим вычитания.
Блоком 8 умножения вырабатываются произведения вида Х sin P u Y cos(,которые подаются на входы сумматора-вычитателя 9,выполняющего операцию вычитания, рц в результате которого получаем первое приближение Y системы уравнений 1 .
С выхода 21 знакового разряда сумматора-вычитателя 9, т,е. в зависимости от знака У формируется сигнал, у5 поступающий на вход 18 блока 10 управления.
Если величина Y положительная, то на выходе 16 блока 10 управления появляется тактовый импульс с, который разрешает запись Х, из накапливающего регистра 1 в регистр 3 координаты Х, запись У в регистр 2 координаты У, а также запись единицы в младший разряд регистра 5 угла. Если
35 величина У отрицательная, то в регистрах 2 и 3, координат Х и У сохраняется информация Хо и Уо, а в млад-. ший разряд регистра 5 угла заносится ноль, т.е. производится пропуск о 4О результата такта для -угла (kо =45, та к как искомый угол Ы меньше по крайней мере 45 град.
При поступлении следующего тактового импульса I< с выхода 15 его и. передним фронтом производится сдвиг
g$ содержимого регистра 4 адреса. на один разряд вправо, т.е. в состояние, О. 010 ...О, что соответствует 13, = «/8 сумматор-вычитатель 9 устанавлйвается в режим суммирования, каналы синуса и косинуса коммутатором 7 переключаются в исходное положение, а содержимое регистра 5 угла продвигается на один разряд влево для приема очередной цифры искомого угла. В дальнейшеЪ вычислительный процесс продолжается согласно описанному выше до набора заданного чиспа итераций, которое
2 8 определяется заданной точностью и в конкретном устройстве постоянно. В результате чего в накапливающем регистре 1 получаем модуль полярного вектора., а в регистре 5 угла полярный угол с
При вычислении пары функций sin< и cnsg устройство работает аналогично. вышеописанному, Разница состоит в том, что в регистры 2 и 3 координат
Х и Y вводятся соответственно Y =1 и Х вЂ” — О, что ссответствует начальным условиям cos 90 и sin 90 . Код аргуО мента ас через вход 13 вводится s регистр 5 угла. Сдвигая содержимое регистра 5 угла, каждый разряд кода аргумента последовательно выводится, начиная со старшего разряда, через выход 22 регистра 5 угла на вход 17 блока 10 управления. Если на выходе 22 имеется единица, то на выходе 16 блока l0 управления появляется тактовый имупльс с2, который раз" решает запись вычисленных Х„ из накапливающего регистра 1 и У, в регистры 2 и 3 координат Х,У. Если на выходе 22 имеется ноль, то в регистрах 2 и 3 координат Х и Y сохраняются результаты предыдщуей итерации
Х, и Y . Результат s inK u cosK получаем в регистрах 2 и 3 координат Хи Y.
При вычислении пары функций Ж =
=arcs in " и Ч=" р -хтотааоие а работе от вышеописанного состоит в том, что согласно таблице, на информационные входы схемы 11 сравнения подается через вход 20 код известной координаты Х, в регистр 3 координаты Y вводится код известного модуля радиуса-вектора р регистр
5 угла устанавливается в нулевое со стояние. На каждом шаге вычис.пений производится выдача сигнала с выхода схемы 11 сравнения на вход 19 блока 10 управления. Если X > X, то
1 на выходе схемы 11 сравнения,устанавливается единица, и на выходе 16 блока управления появляется тактовый импульс tq, который разрешает запись X и У< в регистры 2 и 3, а также производится запись единицы в младший разряд регистра 5 угла . Если
Х < Х, то на выходе схемы 11 cpasнения устанавливается ноль и в регистрах 2 и 3 сохраняются значения
Х„ „ и Y g, а в младший разряд регистра 5 угла заносится ноль, Воспро. изведение других функциональных за9 955О8 висимостей осуществляется согласно таблице с учетом заданного режима работы.
Эффективность предлагаемого цифрового функционального преобразователя заключается в расширении класса решаемых задач за счет увеличения числа воспроизведений функций одной и двух переменных, приведенных в таблице. Кроме того; возможно 10 в несколько раз по сравнению с прототипом уменьшить объем дорогостоя1 их блоков памяти, так как блок памяти прототипа содержит значения функций синуса и косинуса с дискретностью по аргументу 0,352о, что для интервала. (0+90 ), составляет 2(8 2Й бит, Для такой жв точности предлагаемому устройству необходимы не более десяти l0-разрядных слоев синуса и столько же для .косинуса, итого не более 200 бит. Таким образом, объем -блоков памяти уменьшается почти в двадцать раз.
2$ формула изобретения
1. А
Источники информации, принятые во внимание при экспертизе
1. Авторское свидетельство СССР 546890, кл. G 06 F 15/34, 1977.
2. Патент CllN М 3952187, кл, 235-186, опублик. 1978 (прототип).
Цифровой функциональный преобразователь, содержащий блок управления, 30 промежуточный регистр, регистр координаты Х, регистр координаты У, блок умножения, коммутатор, блок памяти, регистр адреса,- сумматор-вычитатель и регистр угла, причем выход регистра адреса соединен с входом бло-З% ка памяти, отличающийся тем, что, с целью расширения класса решаемых задач путем дополнительного вычисления функций вида @resin /<и
at"cos /, в него введена схема срав- О нения, причем блок управления содержит коммутатор, генератор пачки импульсов и элемент И, прямой и инверсный входы которого соединены соответственно с выходами коммутатора и 4S генератора пачки импульсов, выход генератора пачки импульсов блока управления соединен с синхровходами промежуточного регистра коммутатора, 2 10 входами сдвига регистра адреса, регистра угла и управляющим входом сумматора-вычитателя, выход элемента И блока управления соединен с синхровходами регистров координаты Х и координаты Y и последовательным информационным входом регистра угла, параллельный информационный вход которого соединен с входом записи преобразователя, выход регистра угла соединен. с выходом угла преобразователя, выход разрядов сумматора-вычитателя соединен с первым входом схемы сравнения, второй вход которой соединен с входом задания аргумента координаты преобразователя, выход схемы сравнения соединен р первым входом коммутатора блока управления, второй и третий входы которого соединены соответственно с выходом старшего разряда регистра угла и знаковым выходом сумматора-вычитателя, информа ционный вход промежуточного регистра соединен с выходом разрядов сумматора-вычитателя и информационным,.вхо-дом регистра координаты Х, вход записи которого соединен с входом координаты Х преобразователя, вход координаты Y которого соединен с входом записи регистра координаты У, информационный вход которого соединен с выходом промежуточного регистра, выходы регистров координаты Х и Y соединены с первым и вторым входами блока умножения, второй и третий входы которого соединены с выходами коммутатора, вход которого через блок памяти соединен с выходом регистра адреса, выход блока умножения сощич нен с входами сумматора-вычитателя выход знакового разряда которого соединен с выходом преобразователя.
955082
4Ь 3
Составитель A. Зорин
Редактор С. Тараненко Техред H.Tenep Корректор А. Гриценко
Заказ 6439/55 Тираж 73 Подписное
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
II3035, Москва, Ж-35, Раушская наб., д. 4/5
Филиал ППП "Патент", г. Ужгород, ул. Проектная, 4