Цифровое устройство для вычисления синусно-косинусных функций Советский патент 1981 года по МПК G06F7/548 

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

(54) ЦИФРОВОЕ УСТРОЙСТВО ДЛЯ ВЫЧИСЛЕНИЯ СИНУСНО-КОСИНУСНЫХ ФУНКЦИЙ

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

название год авторы номер документа
Цифровое устройство для вычисления синусно-косинусных функций 1980
  • Абашин Юрий Константинович
  • Крюков Юрий Владимирович
SU926651A1
Устройство для вычисления синусно- косинусных функций 1978
  • Морозевич Анатолий Николаевич
  • Леусенко Александр Ефимович
  • Немытов Борис Васильевич
SU750495A1
Цифровое устройство для вычисления синусно-косинусных функций 1976
  • Глезин Фальк Борисович
  • Лысенко Тамара Михайловна
SU591862A1
Цифровой гармонический анализатор 1979
  • Морозевич Анатолий Николаевич
  • Лазарева Ирина Константиновна
SU873148A1
Устройство для вычисления направляющих косинусов вектора в пространстве 1982
  • Грабовецкий Леонид Абрамович
  • Курбатов Алексей Владиславович
  • Лазарев Михаил Иванович
SU1164700A1
Устройство для вычисления тригонометрических функций 1986
  • Санников Илья Викторович
  • Чуватин Александр Николаевич
SU1370653A1
Устройство для вычисления тригонометрических функций 1986
  • Чуватин Александр Николаевич
SU1332313A1
Арифметическое устройство 1978
  • Титов Олег Александрович
SU780004A1
Цифровой функциональный преобразователь 1977
  • Рейхенберг Анатолий Леонидович
SU678488A1
Конвейерное устройство для вычисления функций синуса и косинуса 1987
  • Нагорный Леонид Яковлевич
  • Сингх Джай
  • Жуков Игорь Анатольевич
  • Жига Ирина Константиновна
  • Андреев Владимир Ильич
SU1476462A1

Реферат патента 1981 года Цифровое устройство для вычисления синусно-косинусных функций

Формула изобретения SU 868 753 A1

Изобретение относится к вычислител ной технике и предназначено для использования преимущественно в синхронных вычислительных устройствах. Известно быстродействующее устрой ство для вычисления синусно-косинусных функций, реализующее итерационный алгоритм Воядера и содержащее регистр кода угла,регистр синусов, регистр косинусов, два регистра сдви га и три сумматора-вычислителя 1. Недостатками указанного устройства являются малое быстродействие ввиду необходимости выполнения количества итераций, численно равного количеству двоичных разрядов, задающих угол Ч , а также недостаточная точность а счет накопления ошибки округления (усечения) при выполнении указанного количества итераций. Наиболее близким по технической сущности к изобретению является цифровое устройство для вычисления синусно-косинусных функций, реализующее итерационный алгоритм Волдера и содержащее регистр кода угла, регистр синусов, регистр косинусов, дв ;регистра сдвига, три сумматора-вычис лителя, формирователь опорного сигнала и элемент ИЛИ, причем выход регистра кода угла соединен с первым и третьим входами первого сумматоравычитателя, выход которого подключен к первому входу регистра кода угла, и третьими входами второго и третьего суммато Уов-вычитателей, первый вход второго С5№1матора-вычитателя подключен к первому выходу регистра синусов, второй выход которого через первый регистр сдвига соединен со Вторым входом третьего сумматора-вычитателя, первый вход которого подключен к первому выходу регистра косинусов, второй выход которого через второй регистр сдвига .соединен со вторым входом второго сумматора-вычитателя, выход которого подключен ко входу регистра синусов, а выход третьего сумматора-вычитателя соединен с первым входом регистра косинусов, выход формирователя опорного сигнала через элемент ИЛИ соединен со вторым входом регистра кода угла, а первый выход регистра синусов подключен ко второму входу регистра косинусов 2. Недостатком известного устройства является низкое быстродействие. Цель изобретения - повышение, быстродействия. Поставленная цель достигается тем что в цифровое устройство для вычисления синусно-косинусных функций, со держаще регистр кода угла, регистр синусов, регистр косинусов, два сдви (Гателя и три сумматора-вычитателя, причем выход регистра кода угла сое.цинен с первым входом первого сумматора-вычитателя , выход которого подключен к первому входу регистра кода угла, первый вход второго сумматоравычитателя подключен к первому выходу регистра синусов, второй выход которого через первый сдвигатель соединен с первым входом третьего сум матора, вычитателя, второй вход которого подключен к первому-выходу регистра косинусов,второй выход которо го через второй сдвигатель соединен со вторым входом второго сумматора-вы читателя, выход которого подключен к первому входу регистра синусов, а выход третьего сумматора-вычитателя соединен с первым входом регистра косинусов, дополнительно введены блок памяти, регистр сдвига и триггер, при этом второй вход регистра кода угла и вход блока памяти объединены и являются входом устройства, первый и второй выходы блока памяти подключены ко вторым входам регистров синусов и косинусов соответствен но, выход регистра сдвига соединен со вторым входом первого сумматоравычитателя, выход которого подключен через триггер к третьим входам первого, второго и третьего сумматороввычитателей. При таком построении быстродействие «предлагаемого устройства по сравнению с известным увеличивается более чем в два раза, так как выполняется одна операция поворот вектора и; кроме того, не выполняются первые m итераций, так как начальное положение вектора задается заранее блоком памяти. При этом точность вычисления значений синусно-косинусных функций в предлагаемом устройстве не хуже, -чем в известном. На чертеже приведена блок-схема Предлагаемого устройства. Устройство содержит регистр 1 код угла, регистр 2 синусов, регистр 3 косинусов, сумматоры-вычитатели 4, 5 и -б, сдвигатели 7 и 8, регистр 9 сдвига, триггер 10 и блок 11 памяти. Блок 11 может быть выполнен в виде постоянного запоминающего устройства или комбинационной схемы на основе программной-логической матрицы. Алгоритм работы устройства заключается в следующем, В основе вычисления синусно-косинусных функций лежит известный итерационный алгоритм Волдера, а имено поворот вектора на плоскости на аданный угол и г и ;::;. ..,.V ( .где i 1,2,3,..; п - номер выполняемой итерации; п - число выполняемых 1 тераций; e (tf-4,..)i utf.r arctqf , Х - абсциссавектора после L итерации; у. - ордината вектора после итерации; 1. - угол вектора после i итерации ; йЧ.- угол поворота вектора в i итерации. Допустим, что значение заданного угла W представлено п разрядным кодом. Начальное положение вектора с координатами у определяется на основе анализа старших m разрядов заданного угла if . Остальные (n-m) разрядов угла (f при определении исходного положения вектора принимаются равными нулю.- Тогда исходный вектор представлен углом (( , а общее количество возможных первоначальных положений вектора определяется величиной 2 . .Таким образом, первые m итераций не выполняются. Модуль вектора выбирается равным такой ве- личине, чтобы при выполнении оставшихся (п-т) итераций он увеличился до единичного значения. Начальные координаты вектора Хд и Уд определяются с помощью блока 11, представляющего собой постоянное запоминающее устройство емкостью 2 слов или комбинационную схему на основе программно-логической матрицы. Первые m разрядов угла М , таким образом, являются соответственно адресом постоянного запоминающего уст ройства или входом-программно-логической матрицы. Значения начальных координат вектора Xjj и YQ вычисляются заранее следующими выражениями к - 0-цТ V -111 ,-2(1-1). Wll...a--) K..), где к - коэффициент удлинения вектора в i итерации при повороте вектора на угол и 7 . ГЬосле выполнения (п-Ш) итераций вектор занимает положение, характеризующееся углом Ч и единичным значением модуля. При этом координаты принимают значени вектора х и у CosM и sin Ч соответственно. Обычно применяемый при осуществл нии алгоритма Волдера блок памяти, хранящий итерационные углы поворота вектора d Ч при наличии блока 11, ра ботающего при величинах m больше не которого значения при заданной разрядности угла V , может быть замене на сдвиговый регистр, так как при этом условии вьаполняется соотношени А так как t( uM i1 --|:с{лЧ- , то , . т.е. последующий итерационный угол йЧ. получается из предыдущего ит 14рационного угла поворота л Ч- путем . логического сдвига. Устройство работает следующим об разом. Значение угла Ч поступает на вход устройства. При этом значении разря дов с 1-ого по m являются входом блока 11, а значения разрядов с т+1 до п запоминаются в регистре 1 угл В регистре 9 сдвига .записывается значение первого итерационного угла поворота вектора uMf Значения начальных координат вектора Хд и Ур, вырабатываемые блоком 11, запоми наются в регистрах 3 и 2 косинуса и синуса соответсвённо. Затем осущест вляется поворот вектора на угол -f-4vn f заданный (n-m) младшими ра рядами угла Ч. При этом первый поворот вектора производится на положительный угол ,,arct,y г, €„. + -Таким образом, триггер 10 знака первоначально всегда устанавливается fi нулевое состояние. Далее начинается выполнение перво по счету итерации. Сдвинутая сдвигателем 7 информация регистра 2 складывается на сумматоре-вычитателе 6 с информацией регистра 3, сдвинутая сдвигателем 8 информация регистра 3 вычитается на сумматоре-вычитателе 5 из информации регистра 2. Полученные результаты записываются вновь в регистры 2 и 3. Значение регистра 1 корректируется сумматором-вычитателем 4 на величину аЧг , которая находится в регистре 9 сдвига. После зтого содержимое регистра 9 сдвига сдвиг ается на один разряд вправо, а в триггер 10, управляющий режимами работы сумматоров-вычитателей 4, 5 и 6, записывается значение, соответствугощее знаку результата вычисления, произведенного сумматором-внчитателем 4. На этом выполнение первой итерации заканчивается. Остальные итераиии выполняются аналогично первой. Триггер 10 знака при этом постоянно следитза режимами работы (суммирование или вычитание) сумматоров-вычитателей 4, 5 и 6. После выполнения последней итерации искомые значения синуса угла Ч и косинуса угла Ч будут содержаться в регистрах 2 и 3. .Быстродействие предлагаемого устройства по сравнению с известным увеличивается более чем в два раза. Вопервых, выполняется одна операция поворот вектора , в то время как в известном устройстве выполняются две таких операции. Во-вторых, предварительная установка вектора в исходное положение, определяемое старшими m разрядами значения угла V, позволяет дополнительно сЪкратить количество итераций при вьтолнении одной операции поворот вектора с п до (п-га), при этом разрядность сдвигателей 7 и 8 регистра 1 угла V и сумматора-вычитателя 4 уменьшается на т. разрядов. Таким образом, быстродействие предлагаемого устройства по сравнению с известным увеличивается в раз. . n-mБыстродействие предлагаемого устройства выше в -- раз по сравнеf - VD ним с известным за счет меньшего количества итераций при выполнении одной операции поворот вектора . Формула изобретения Цифровое устройство для вычисления синусно-косинусных функций, содержащее регистр кода угла, регистр синусов, регистр косинусов, два сдвигателя и три сумматора-вычитателя, причем выход регистра кода угла соединен с первым входом первого сумматора-вычитателя, выход которого подключен к первому входу регистра кода угла, первый вход второго сумматора-вычитателя подключен к первому выходу регистра синусов, второй выход которого через первый сдвигатель соединен с первым входом третьего сумматоравычитателя, второй вход которого подключен к первому выходу регистра косинусов, второй выход которого через второй сдвигатель соединен со вторым входом второго сумматора-вычитателя, выход которого подключен к первому, входу регистра синусов, а выход тре

SU 868 753 A1

Авторы

Абашин Юрий Константинович

Крюков Юрий Владимирович

Даты

1981-09-30Публикация

1980-01-02Подача