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

 

Союз Советскик

Социалистических

Республик (61) Дополнительное к авт. свид-еу(22) Заявлено 020 1.80 (21) 2861377/18-24 с присоединением заявки Йо(23) Приоритет

Опубликовано 300981.Бюллетень 89 36

Дата опубликования описания 309981

С 06 F 7/548

Государственный комитет

СССР но делам нзобретеннй н открытий (53) УДК ь81.3 (088.8) (54) ЦИФРОВОЕ УСТРОЙСТВО ДЛЯ ВЫЧИСЛЕНИЯ

СИНУСНО-КОСИНУСНЫХ ФУНКЦИЙ

Изобретение относится к вычислительной технике и предназначено для использования преимущественно в синхронных вычислительных устройствах.

Известно быстродействующее устройство для вычисления синусно-косинусных функций, реализующее итерационный алгоритм Волдера и содержащее регистр кода угла, регистр синусов, регистр косинусов, два регистра сдвига и три сумматора-вычислителя (1), Недостатками укаэанного устройства являются малое быстродействие ввиду необходимости выполнения количества итераций, численно равного 15 количеству двоичных разрядов, задающих угол Ц, а также недостаточная точность за счет накопления ошибки округления (усеченйя) при выполнении указанного количества итераций. 20

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

;регистра сдвига, три сумматора-вычислителя, формирователь опорного сигнала и элемент ИЛИ, причем выход ре- . 30 гистра кода угла соединен с первым и третьим входами первого сумматоравычитателя, выход которого подключен к первому входу регистра кода угла, и третьими входами второго и треть- его сумматоров-вычитателей, первый вход второго сумматора-вычитателя подключен к первому выходу регистра синусов, второй выход которого через первый регистр сдвига соединен со вторым входом третьего сумматора-вычитателя, первый вход которого подключен к первому выходу регистра косинусов, второй выход которого через второй регистр сдвига соединен со вторым входом второго сумматора-вычитателя, выход которого подключен ко входу регистра синусов, а выход третьего сумматора-вычитателя соединен с первым входом регистра косинусов, выход формирователя опорного сигнала через элемент ИЛИ соединен со вторым входом регистра кода угла, а первый выход регистра синусов подключен ко второму входу регистра косинусов (2).

Недостатком известного устройства является низкое быстродействие.

Цель изобретения - повышение быстродействия.

868753

Х

1 у„.

М ьЧ1

COSA rn к п- 1п

З1П А

1(/ —

И- П1 с б0

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

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

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

На чертеже приведена блок-схема

:предлагаемого устройства. 50

Устройство содержит регистр 1 кода угла, регистр 2 синусов, регистр 3 косинусов, сумматоры-вычитатели 4, 5 и 6, сдвигатели 7 и 8, регистр 9 сдвига, триггер 10 и блок 11 памяти.

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

Алгоритм работы устройства заключается в следующем.

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

-(1-S)

)(.-z. .. (.„а

1л 1 iЛ + „)

М.=Ч. +S.. ь

1 1 Л 1 1 где 1 = 1, 2, 3...;

n — номер выполняемой итерации;

n — число выполняемых итераций;

R„.=s;gn(V- „л);

ЬЧ,= arCt% rl-1-1); абсцисса вектора после Е итерации; ордината вектора после итерации; угол вектора после i итерации; угол поворота вектора в i итерации.

Допустим, что значение заданного угла Ч представлено и разрядным кодом. Начальное положение вектора с координатами х и у определяется на основе анализа старших m разрядов заданного угла М . Остальные (и-m) разрядов угла / при определении исходного положения вектора принимаются равными нулю: Тогда исходный вектор представлен углом (щ, а общее количество возможных первоначальных положений вектора определяется величиной 2 ..Таким образом, первые

m итераций не выполняются. Модуль вектора выбирается равным такой величине, чтобы при выполнении оставших ся (n-m) итераций он увеличился до единичного значения.

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

Первые m разрядов угла 4,,таким образом, являются соответственно адресом постоянного запоминающего устройства или входом-программно-логической матрицы.

Значения начальных координат вектора х и уо вычисляются заранее следующими вйражениями и к -=П к „/2 („,1Я(1 л)) //1 1 П1 1=ЩФ1 1

868753

А так как tq аЧ„„ g ".y gq., то дЦ, и 1.дц т.е. последующий итерационный угол д и (получается из предыдущего итерационного угла поворота ь ч путем .

1+ 1

25 логического сдвига.

Устройство работает следующим образом.

Значение угла Ч поступает на вход устройства. При этом значении разря- 30 дов с 1-ohio no m являются входом блока 11, а значения разрядов с m+1 до и запоминаются в регистре 1 угла.

В регистре 9 сдвига, записывается значение первого итерационного угла поворота вектора Ц . Значения начальных координат вектора хо и у„, вырабатываемые блоком 11, запоминаются в регистрах 3 и 2 косинуса и синуса соответсвенно. Затем осущест- @ ! вляется поворот вектора на угол М =

= /-,, заданный (n-m) младшимй разрядами угла Ч . При этом первый поворот вектора производится на положительный угол

45 „„„=а"с g. при

Формула изобретения где к„— коэффициент удлинения век= тора в i итерации при повороте вектора на угол ь Ч„

После выполнения (и-й) итераций вектор занимает положение, характеризующееся углом Y и единичным значением модуля. При этом координаты вектора х и у принимают значения п

CosV u sin 4 соответственно.

Обычно применяемый при осуществлении алгоритма Волдера блок памяти, хранящий итерационные углы поворота вектора аЧ ° при наличии блока 11, работающего при величинах m больше некоторого значения при заданной разрядности угла Ч, может быть заменен на сдвиговый регистр, так как при 35 этом условии выполняется соотношение

Ещ. = 1

Щ+1 .Таким образом, триггер 10 знака первоначально всегда устанавливается 5р

В нулевое состояние.

Далее начинается выполнение первой по счету итерации.

Сдвинутая сдвигателем 7 информация-регистра 2 складывается на сумматоре-вычитателе б с информацией регистра 3, сдвинутая сдвигателем 8 информация регистра 3 вычитается на сумматоре-вычитателе 5 из информации регистра 2. Полученные результаты записываются вновь в регистры 2 60 и 3.

Значение регистра 1 корректируется сумматором-вычитателем 4 на величину 59 „, которая находится в регистре 9 сдвига. После этого содер- 55 жимое регистра 9 сдвига сдвигается на один разряд вправо, а в триггер

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

На этом выполнение первой итерации заканчивается.

Остальные итерации выполняются аналогично первой. Триггер 10 знака при этом постоянно следит эа режимами работы (суммирование или вычитание) сумматоров-вычитателей 4, 5 и б. После выполнения последней итерации искомые значения синуса угла 4 и косинуса угла Ч будут содержаться в регистрах 2 и 3.

Быстродействие предлагаемого устройства по сравнению с известным увеличивается более чем в два раза. Вопервых, выполняется одна операция поворот вектора, в то время как в известном устройстве выполняются ве таких операции. Во-вторых, предварительная установка вектора в исходное положение, определяемое старшими m разрядами значения угла У, позволяет дополнительно сЬкратить количество итераций при выполнении одной операции . "поворот вектора" с п до (n-m), при этом разрядность сдвигателей 7 и 8 регистра 1 угла Ч и сумматора-вычитателя 4 уменьшается на щ разрядов. Таким образом, быстродействие предлагаемого устройства по сравнению с известным увеличивается в и раз.

П-

Быстродействие предлагаемого устройства выше в раэ по сравнеll- т нию с известным за счет меньшего количества итераций при выполнении одной операции поворбт вектора .

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

Составитель A.Çoðèí

Техред М.Голинка Корректор У.Пономаренко

Редактор М.Митровка

Заказ 8330/71 Тираж 748 Подписное

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

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

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

1. Оранский A.М. и др. Быстродействуюшее устройство вычисления синусно-косинусных функций. Вестник, БГУ, 1969, сер. 1, Р 3, с,72.

2. Авторское свидетельство СССР

Р 591862, кл. G 06 F 15/34, 1978 (прототип) .

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

 

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

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

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

Изобретение относится к вычислительной технике, системам технического зрения, тренажерам различного назначения, а также может быть использовано в телевизионной технике

Изобретение относится к вычислительной технике и может быть использовано при моделировании динамики и управления полетами летательных аппаратов
Наверх