RU75072U1 - Устройство для вычисления тригонометрических функций - Google Patents

Устройство для вычисления тригонометрических функций Download PDF

Info

Publication number
RU75072U1
RU75072U1 RU2008106142/22U RU2008106142U RU75072U1 RU 75072 U1 RU75072 U1 RU 75072U1 RU 2008106142/22 U RU2008106142/22 U RU 2008106142/22U RU 2008106142 U RU2008106142 U RU 2008106142U RU 75072 U1 RU75072 U1 RU 75072U1
Authority
RU
Russia
Prior art keywords
input
inputs
output
elements
block
Prior art date
Application number
RU2008106142/22U
Other languages
English (en)
Inventor
Леонид Павлович Лобанов (UA)
Леонид Павлович Лобанов
Виталий Анатольевич Терсков (RU)
Виталий Анатольевич Терсков
Елена Геннадиевна Тимофеева (RU)
Елена Геннадиевна Тимофеева
Сергей Николаевич Ефимов (RU)
Сергей Николаевич Ефимов
Original Assignee
Леонид Павлович Лобанов
Виталий Анатольевич Терсков
Елена Геннадиевна Тимофеева
Сергей Николаевич Ефимов
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Леонид Павлович Лобанов, Виталий Анатольевич Терсков, Елена Геннадиевна Тимофеева, Сергей Николаевич Ефимов filed Critical Леонид Павлович Лобанов
Priority to RU2008106142/22U priority Critical patent/RU75072U1/ru
Application granted granted Critical
Publication of RU75072U1 publication Critical patent/RU75072U1/ru

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

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

Description

Изобретение относится к области автоматики и вычислительной техники и может быть использовано в арифметико-логических устройствах вычислительных систем различного назначения при аппаратной реализации вычислений тригонометрических функций.
Известно устройство [1] для вычисления тригонометрических функций, содержащее блок односторонней памяти, блоки умножения, сумматоры, работа которого основана на использовании таблично-алгоритмического метода, достоинством которого является высокое быстродействие.
Недостатком устройства является значительный объем требуемой памяти, так для предоставления величины функции пятнадцатиразрядным двоичным кодом общее число ячеек памяти составляет 4564 бита.
Наиболее близким является устройство [2] для вычисления тригонометрических функций, содержащее блок односторонней памяти, блок умножения, первый и второй алгебраический сумматоры, счетчик итераций, сдвиговый регистр, коммутатор, схему сравнения и накапливающий сумматор аргумента, причем первый и второй выходы блока умножения соединены соответственно с первым и вторым алгебраическими сумматорами, вход счетчика итераций и первый вход сдвигового регистра соединены с тактовым входом устройства, второй вход сдвигового регистра соединен с первой входной шиной устройства, выход сдвигового регистра соединен с первым входом накапливающего сумматора аргумента и входом блока односторонней памяти, выход которого соединен с первым входом блока умножения, второй и третий входы которого соединены соответственно с выходами первого и второго алгебраических сумматоров, вторые входы которых соединены с выходом схемы сравнения и вторым входом накапливающего сумматора аргумента, выход которого соединен с первым входом коммутатора, второй и третий входы которого соединены соответственно с выходами первого и второго алгебраических сумматоров и с первым и вторым выходами устройства, выход коммутатора соединен со вторым входом схемы сравнения, третий вход которой соединен со второй входной шиной устройства, управляющий вход коммутатора соединен с управляющим входом устройства.
Недостатком данного устройства является то, что оно настроено на определенное количество итераций, в частности девять итераций. В каждом конкретном случае может оказаться, что девять итераций не смогут обеспечить необходимой точности вычисления тригонометрических функций или окажется, что для достижения требуемой точности необходимо меньше, чем конкретное (девять) число итераций, что может снизить быстродействие устройства в каждом конкретном случае.
Техническим результатом является повышение точности вычисления прямых и обратных тригонометрических функций за счет того, что в каждом конкретном случае осуществляется сравнение заданной величины (заданного угла при вычислении прямых функций или заданной функции при вычислении обратных функций синуса или косинуса) с накапливаемой в процессе вычисления величиной (накапливаемого угла при вычислении прямых функций или накапливаемых функций при вычислении обратных функций).
Технический результат достигается тем, что в устройство для вычисления тригонометрических функций, содержащее блок односторонней памяти, блок умножения, первый и второй алгебраические сумматоры, накапливающий сумматор аргумента и сдвиговый регистр, выход которого соединен с четвертым входом накапливающего сумматора аргумента и входом блока односторонней памяти, первый выход которого соединен с первым входом первого блока умножения, второй вход которого соединен с выходом первого алгебраического сумматора, вход сдвигового регистра соединен с первой входной шиной устройства, дополнительно введены три выходных регистра, три блока умножения, блок определения точности вычислений и блок определения знака, первый вход которого соединен с первой входной шиной устройства, второй вход которого соединен со второй входной шиной устройства, а третий вход соединен с третьей входной шиной устройства, вход режима которого соединен с восьмым входом блока определения точности вычислений и четвертым входом блока определения знака, пятый вход которого соединен с входом четвертой входной шиной устройства и пятым входом блока определения точности вычислений, шестой вход которого соединен с шестым входом блока определения знака и пятой входной шиной устройства, шестая входная шина которого соединена с седьмым входом блока определения точности вычислений и седьмым входом блока определения знака, первый выход которого соединен с первым входом блока определения точности вычислений, первым инвертором, пятым входом накапливающего сумматора аргумента и первым входом первого алгебраического сумматора, третий вход которого объединен с третьими входами второго алгебраического сумматора, накапливающего сумматора аргумента, тактовым входом сдвигового регистра и тактовым выходом блока определения точности вычислений, второй вход которого соединен с вторым выходом блока определения знака, входом второго инвертора, шестым входом накапливающего сумматора аргумента и вторым входом первого алгебраического сумматора, четвертый вход которого соединен с выходом второго блока умножения, первый вход которого соединен с первым входом четвертого блока умножения и вторым выходом блока односторонней памяти, первый выход которого соединен с первым входом третьего блока умножения, второй вход которого соединен с объединенными вторыми входами второго блока умножения, вторым входом второго выходного регистра, десятым входом блока определения точности вычислений и выходом второго алгебраического сумматора, первый и второй входы
которого соединены с выходами соответственно первого и второго инверторов, а пятый вход соединен с выходом третьего блока умножения, пятый вход первого алгебраического сумматора соединен с выходом первого блока умножения, второй которого соединен с объединенными вторыми входами первого выходного регистра, вторым входом четвертого блока умножения, одиннадцатым входом блока определения точности вычислений и выходом первого алгебраического сумматора, первые входы первого и второго регистров объединены и соединены с двенадцатым выходом считывания прямых функций блока определения точности вычислений, тринадцатый выход считывания обратных функций которого соединен с первым входом третьего выходного регистра, второй вход которого соединен с девятым входом блока определения точности вычисления и выходом накапливающего сумматора аргумента, первый вход которого соединен с третьим выходом блока определения знака и третьим входом блока определения точности вычислений, четвертый вход которого соединен с четвертым выходом блока определения знака и вторым входом накапливающего сумматора аргумента, тактовый вход устройства соединен с тактовым входом блока определения точности вычислений, причем блок определения точности вычислений содержит двенадцать групп элементов И по N элементов в каждой группе, где N равно количеству разрядов аргумента, шесть схем сравнения, два инвертора, одиннадцать элементов И, элемент ИЛИ, одну линию задержки и один триггер, единичный выход которого соединен с первым входом седьмого элемента И, второй вход которого соединен с тактовым входом блока, а выход - с первым входом восьмого элемента И, выход которого соединен с тактовым выходом блока и входом линии задержки, выход которой соединен с первым входом девятого элемента И, второй вход которого соединен с выходом второго инвертора, а выход - с объединенными нулевым входом триггера и первыми входами десятого и одиннадцатого элементов И, выходы которых соединены с двенадцатым выходом считывания прямых и тринадцатым выходом обратных функций блока, восьмой вход которого соединен с объединенными вторыми входами первого, второго и десятого элементов И, и входом первого инвертора, выход которого соединен с объединенными вторыми входами с третьего по шестой и одиннадцатого элементов И, первые входы с первого по шестой элементов И соединены с выходами соответственно с первого по шестую схем сравнения, выходы с первого по шестой элементов И соединены с соответствующими входами элемента ИЛИ, выход которого соединен со вторым входом восьмого элемента И и входом второго инвертора, седьмые входы блока соединены с первыми входами первой и третьей групп элементов И, девятые входы блока соединены с первыми входами второй и четвертой групп элементов И, первый вход блока соединен со вторыми входами первой и второй групп элементов И, выходы которых соединены соответственно с первыми и вторыми входами первой схемы сравнения, второй вход блока соединен со вторыми входами третьей и четвертой групп элементов И, выходы которых соединены соответственно с
первыми и вторыми входами второй схемы сравнения, третий вход блока соединен с объединенными вторыми входами с пятой по восьмую групп элементов И, а четвертый вход блока соединен с объединенными вторыми входами с девятой по двенадцатую групп элементов И, шестые входы блока соединены с объединенными первыми входами пятой и девятой групп элементов И, одиннадцатые входы блока соединены с объединенными первыми входами шестой и десятой групп элементов И, пятые входы блока соединены с объединенными первыми входами седьмой и одиннадцатой групп элементов И, десятые входы блока соединены с объединенными первыми входами восьмой и двенадцатой групп элементов И, выходы пятой и шестой групп элементов И соединены соответственно с первыми и вторыми входами третьей схемы сравнения, выходы седьмой и восьмой групп элементов И соединены соответственно с первыми и вторыми входами четвертой схемы сравнения, выходы девятой и десятой групп элементов И соединены соответственно с первыми и вторыми входами пятой схемы сравнения, выходы одиннадцатой и двенадцатой групп элементов И соединены соответственно с первыми и вторыми входами шестой схемы сравнения, причем блок определения знака содержит шесть групп элементов И по N элементов в каждой группе, где N равно количеству разрядов аргумента, три схемы сравнения, четыре инвертора и два элемента ИЛИ, выходы которых соединены соответственно с третьим и четвертым выходами блока, первый выход которого соединен с выходом первой схемы сравнения и входом первого инвертора, выход которого соединен со вторым выходом блока, седьмые входы которого соединены с первыми входами первой группы элементов И, вторые входы которого соединены со вторыми входами второй группы элементов И, входом четвертого инвертора и четвертым входом блока, первые входы которого соединены с первыми входами второй группы элементов И, выходы которой соединены со вторыми входами первой схемы сравнения, первые входы которой соединены с выходами первой группы элементов И, вторые входы с третьей по шестую групп элементов И объединены и соединены с выходом четвертого инвертора, шестые входы блока соединены с первыми входами третьей группы элементов И, первые входы четвертой группы элементов И соединены с третьими входами блока, пятые входы которого соединены с первыми входами пятой группы элементов И, выходы которой соединены с первыми входами третьей схемы сравнения, вторые входы которой соединены с выходами шестой группы элементов И, первые входы которой соединены со вторыми входами блока, выход второй схемы сравнения соединен со вторым входом второй группы элемента ИЛИ и входом второго инвертора, выход которого соединен с первым входом первого элемента ИЛИ, второй вход которого соединен с выходом третьей схемы сравнения и входом третьего инвертора, выход которого соединен с первым входом второго элемента ИЛИ.
Введение указанных дополнительных элементов и последовательности их соединения позволяет обеспечить возможность повышения точности
вычисления прямых и обратных тригонометрических функций за счет того, что в каждом конкретном случае осуществляется сравнение заданной величины (заданного угла при вычислении прямых функций или заданной функции при вычислении обратных функций синуса или косинуса) с накапливаемой в процессе вычисления величиной (накапливаемого угла при вычислении прямых функций или накапливаемых функций при вычислении обратных функций). В других известных технических решениях отсутствуют подобные признаки в их совокупности, что приводит к положительному эффекту, так как исключая любой из элементов или нарушая порядок их соединения невозможно достичь указанного технического результата.
На фиг.1 - представлена блок-схема устройства;
На фиг.2 - представлена схема блока определения точности вычислений;
На фиг.3 - представлена схема блока определения знака;
Устройство содержит (фиг.1) сдвиговый регистр 1, блок 2 односторонней памяти, четыре блока 3 умножения, два алгебраических сумматора 4, два инвертора 5, накапливающий сумматор аргумента, блок 7 определения точности вычисления, блок 8 определения знака и три выходных регистра 9.
Блок 7 определения точности вычисления содержит (фиг.2) двенадцать групп элементов И 10.1...10.2, по N элементов в каждой группе, где N равно количеству разрядов аргумента, шесть схем сравнения 11.1...11.6, одиннадцать элементов И 12.1...12.11, два инвертора 13.1...13.2, одну линию задержки 14, один элемент ИЛИ 15 и триггер 16.
Блок 8 определения знака содержит (фиг.3) шесть групп элементов И 17.1...17.6, по N элементов в каждой группе, три схемы сравнения 18.1...18.3, четыре инвертора 19.1...19.4 и два элемента ИЛИ 20.1...20.2.
Устройство для вычисления тригонометрических функций содержит сдвиговый регистр 1, блок 2 односторонней памяти, четыре блока 3.1...3.4 умножения, два алгебраических сумматора 4.1...4.2, два инвертора 5.1...5.2, накапливающий сумматор 6 аргумента, блок 7 определения точности вычислений, блок 8 определения знака и три выходных регистра 9.1...9.3, выход сдвигового регистра 1 соединен с четвертым входом накапливающего сумматора 6 аргумента и входом блока 2 односторонней памяти, первый выход которого соединен с первым входом первого блока 3.1 умножения, второй вход которого соединен с выходом первого алгебраического сумматора 4.1, вход сдвигового регистра 1 соединен с первой входной шиной устройства, первый вход блока 8 определения знака соединен с первой входной шиной устройства, второй вход которого соединен со второй входной шиной устройства, а третий вход соединен с третьей входной шиной устройства, вход режима которого соединен с восьмым входом блока 7 определения точности вычислений и четвертым входом блока 8 определения знака, пятый вход которого соединен с входом четвертой входной шиной устройства и пятым входом блока 7 определения точности вычислений, шестой вход которого соединен с шестым входом блока 8 определения знака
и пятой входной шиной устройства, шестая входная шина которого соединена с седьмым входом блока 7 определения точности вычислений и седьмым входом блока 8 определения знака, первый выход которого соединен с первым входом блока 7 определения точности вычислений, первым инвертором 5.1, пятым входом накапливающего сумматора аргумент 6 и первым входом первого алгебраического сумматора 4.1, третий вход которого объединен с третьими входами второго алгебраического сумматора 4.2, накапливающего сумматора аргумента 6, тактовым входом сдвигового регистра 1 и тактовым выходом блока 7 определения точности вычислений, второй вход которого соединен с вторым выходом блока 8 определения знака, входом второго инвертора 5.2, шестым входом накапливающего сумматора аргумента 6 и вторым входом первого алгебраического сумматора 4.1, четвертый вход которого соединен с выходом второго блока 3.2 умножения, первый вход которого соединен с первым входом четвертого блока 3.4 умножения и вторым выходом блока 2 односторонней памяти, первый выход которого соединен с первым входом третьего блока 3.3 умножения, второй вход которого соединен с объединенными вторыми входами второго блока 3.2 умножения, второго выходного регистра 9.2, десятым входом блока 7 определения точности вычислений и выходом второго алгебраического сумматора 4.2, первый и второй входы которого соединены с выходами соответственно первого 5.1 и второго 5.2 инверторов, а пятый вход - соединен с выходом третьего блока 3.3 умножения, пятый вход первого алгебраического сумматора 4.1 соединен с выходом первого блока умножения 3.1, второй вход второго блока умножения 4.2 соединен с объединенными вторыми входами первого выходного регистра 9.1, вторым входом четвертого блока 3.4 умножения, одиннадцатым входом блока 7 определения точности вычислений и выходом первого алгебраического сумматора 4.1, первые входы первого 9.1 и второго 9.2 регистров объединены и соединены с двенадцатым выходом считывания прямых функций блока 7 определения точности вычислений, тринадцатый выход считывания обратных функций которого соединен с первым входом третьего выходного регистра 9.3, второй вход которого соединен с девятым входом блока 7 определения точности вычисления и выходом накапливающего сумматора аргумента 6, первый вход которого соединен с третьим выходом блока 8 определения знака и третьим входом блока 7 определения точности вычислений, четвертый вход которого соединен с четвертым выходом блока 8 определения знака и вторым входом накапливающего сумматора аргумента 6, тактовый вход устройства соединен с тактовым входом блока 7 определения точности вычислений, причем блок 7 определения точности вычислений содержит двенадцать групп элементов И 10.1...10.12 по N элементов в каждой группе, где N равно количеству разрядов аргумента, шесть схем 11.1...11.6 сравнения, два инвертора 13.1...13.2, одиннадцать элементов И 12.1...12.11, элемент ИЛИ 15, одну линию задержки 14 и один триггер 16, единичный выход которого соединен с первым входом седьмого элемента И 12.7, второй вход которого соединен с тактовым входом блока, а
выход - с первым входом восьмого элемента И 12.8, выход которого соединен с тактовым выходом блока и входом линии задержки 14, выход которой соединен с первым входом девятого элемента И 12.9, второй вход которого соединен с выходом второго инвертора 13.2, а выход - с объединенными нулевым входом триггера 16 и первыми входами десятого 12.10 и одиннадцатого 12.11 элементов И, выходы которых соединены с двенадцатым выходом считывания прямых и тринадцатым выходом обратных функций блока, восьмой вход которого соединен с объединенными вторыми входами первого 12.1, второго 12.2 и десятого 12.10 элементов И, и входом первого инвертора 13.1, выход которого соединен с объединенными вторыми входами с третьего по шестой 12.3...12.6 и одиннадцатого элементов И 12.11, первые входы с первого по шестой элементов И 12.1...12.6 соединены с выходами соответственно с первого по шестую схем сравнения 11.1...11.6, выходы с первого по шестой элементов И 12.1...12.6 соединены с соответствующими входами элемента ИЛИ 15, выход которого соединен со вторым входом восьмого элемента И 12.8 и входом второго инвертора 13.2, седьмые входы блока соединены с первыми входами первой и третьей групп элементов И 10.1...10.3, девятые входы блока соединены с первыми входами второй 10.2 и четвертой 10.4 групп элементов И, первый вход блока соединен со вторыми входами первой 10.1 и второй 10.2 групп элементов И, выходы которых соединены соответственно с первыми и вторыми входами первой схемы сравнения 11.1, второй вход блока соединен со вторыми входами третьей 10.3 и четвертой 10.4 групп элементов И, выходы которых соединены соответственно с первыми и вторыми входами второй схемы сравнения 11.2, третий вход блока соединен с объединенными вторыми входами с пятой по восьмую 10.5...10.8 групп элементов И, а четвертый вход блока соединен с объединенными вторыми входами с девятой по двенадцатую 10.9...10.12 групп элементов И, шестые входы блока соединены с объединенными первыми входами пятой 10.5 и девятой 10.9 групп элементов И, одиннадцатые входы блока соединены с объединенными первыми входами шестой 10.6 и десятой 10.10 групп элементов И, пятые входы блока соединены с объединенными первыми входами седьмой 10.7 и одиннадцатой 10.11 групп элементов И, десятые входы блока соединены с объединенными первыми входами восьмой 10.8 и двенадцатой 10.12 групп элементов И, выходы пятой 10.5 и шестой 10.6 групп элементов И соединены соответственно с первыми и вторыми входами третьей схемы сравнения 11.3, выходы седьмой 10.7 и восьмой 10.8 групп элементов И соединены соответственно с первыми и вторыми входами четвертой схемы сравнения 11.4, выходы девятой 10.9 и десятой 10.10 групп элементов И соединены соответственно с первыми и вторыми входами пятой схемы сравнения 11.5, выходы одиннадцатой 10.11 и двенадцатой 10.12 групп элементов И соединены соответственно с первыми и вторыми входами шестой схемы сравнения 11.6 причем блок 8 определения знака содержит шесть групп элементов И17.1...17.6 по N элементов в каждой группе, где N равно количеству разрядов аргумента, три схемы сравнения 18.1...18.3,
четыре инвертора 19.1...19.4 и два элемента ИЛИ 20.1...20.2, выходы которых соединены соответственно с третьим и четвертым выходами блока, первый выход которого соединен с выходом первой схемы сравнения 18.1 и входом первого инвертора 19.1, выход которого соединен с вторым выходом блока, седьмые входы которого соединены с первыми входами первой группы элементов И 17.1, вторые входы которого соединены со вторыми входами второй группы элементов И 17.2, входом четвертого инвертора 19.4 и четвертым входом блока, первые входы которого соединены с первыми входами второй группы элементов И 17.2, выходы которой соединены со вторыми входами первой схемы сравнения 18.1, первые входы которой соединены с выходами первой группы элементов И 17.1, вторые входы с третьей по шестую групп элементов И 17.1...17.6 объединены и соединены с выходом четвертого инвертора 19.4, шестые входы блока соединены с первыми входами третьей группы элементов И 17.3, первые четвертой группы элементов И 19.4 соединены с третьими входами блока, пятые входы которого соединены с первыми входами пятой группы элементов И 17.5, выходы которой соединены с первыми входами третьей схемы сравнения 18.3, вторые входы которой соединены с выходами шестой группы элементов И 17.6, первые входы которой соединены со вторыми входами блока, выход второй схемы сравнения 18.2 соединен со вторым входом второй группы элемента ИЛИ 20.2 и входом второго инвертора 19.2, выход которого соединен с первым входом первого элемента ИЛИ 20.1, второй вход которого соединен с выходом третьей схемы сравнения 18.3 и входом третьего инвертора 19.3, выход которого соединен с первым входом второго элемента ИЛИ 20.2.
Устройство позволяет одновременно вычислять тригонометрические функции sin θ, cos θ, или обратные функции arcsin χ и arcos χ.
Для их вычисления используются следующие выражения:
где причем α0=0;
βi - значение угла, выдаваемого с сдвигового регистра
При вычислении прямых функций sinθ и cos θ, где θ - заданный угол, значение функций которого необходимо вычислить, возможно два варианта.
Первый вариант: когда значение угла θ больше первого базового угла в этом случае необходимо в каждой итерации вычисления
функций к значению угла βi-1 необходимо добавлять очередное приращение угла βi, до тех пор, пока сумма всех приращений угла βi будет равна или
больше заданного угла в. При этом для вычисления sin θ в соответствии с выражением (1) слагаемые должны суммироваться, а для вычисления cos θ - вычитаться. При втором варианте, когда θ меньше значение угла βi, должно уменьшаться (вычитаться) до тех пор, пока разность всех приращений углаβi-1 будет равна или меньше заданного угла θ. При этом для вычисления sin θ в соответствии с выражением (1) слагаемые должны вычитаться, а для вычисления cos θ - суммироваться. При достижении равенства заданного угла θ и приращений βi или незначительного отличия (в первом варианте больше θ, а во втором варианте меньше в) вычисление прямых функций заканчивается.
Рассмотрим работу устройства для вычисления значения sin θ и cos θ, представляемое в радианах. В начальный момент времени триггер 16 в блоке 7 определения точности вычислений (фиг.2) установлен в единичное состояние. В сдвиговый регистр 1 (фиг.1) и на первый вход блока 8 определения знака подается двоичный код базового угла . На пятый вход блока 8 определения знака и седьмой вход блока 7 определения точности вычисления подается код угла θ, значения прямых функций которого необходимо вычислить. В первом алгебраическом сумматоре 4.1 и накапливающем сумматоре аргумента 6 записан код нуля (sin0=0, β0=0), а во втором алгебраическом сумматоре 4.2 - код 1 (cos0=1). Устанавливается режим вычисления прямых функций, который подается на четвертый вход блока 8 определения знака и восьмой вход блока определения точности вычислений.
В блоке 8 (фиг.3) определения знака значение угла θ поступает на первые входы первой группы 17.1 элементов И, на вторые входы которых поступает сигнал режима вычисления прямых функций с четвертого входа блока, который так же поступает на вторые входы второй группы 17.2 элементов И на первые входы которой с первого входа блока поступают
значения базового угла Значение углов θ и β1 с выходов соответственно первой 17.1 и второй 17.2 групп элементов И поступают на входы первой схемы сравнения 18.1, которая представляют собой вычитатель (βi-θ) (все схемы сравнения представляют собой вычитатель). Если значение угла θ больше значения базового угла то с выхода первой схемы сравнения 18.1 на первый выход блока выдается сигнал, который поступает на первый вход блока 7 определения точности вычислений, вход первого инвертора 5.1 и первый вход первого алгебраического сумматора 4.1 и пятый вход накапливающего сумматора аргумента. Сигнал поступивший на первый вход блока 7 (фиг.2) определения точности вычислений поступает на вторые входы первой 10.1 и второй 10.2 групп элементов И. На первые входы первой группы 10.1 с седьмого входа поступает значение угла
θ, а с девятого входа блока на первые входы второй группы 10.2 поступает значение приращений угла βi с выхода накапливающего сумматора аргумента (в первой итерации оно равно нулю). Значение углов с выходов первой 10.1 и второй 10.2 групп элементов И поступает на входы первой 11.1 схемы сравнения, которые настроены следующим образом. С выхода схемы сравнения 11.1 выдается сигнал в том случае, когда значение угла θ больше накопленного (суммарного) в накапливающем сумматоре аргумента угла βi. С выхода первой схемы сравнения сигнал поступает на второй вход первого элемента И 12.1, на второй вход которого с восьмого входа блока поступает сигнал режима вычисления прямых функций. Так как значение угла θ в первой итерации (и возможно в последующих итерациях) оказывается больше накопленного значения βi, то с выхода первого 12.1 элемента И сигнал поступает на один из входов элемента ИЛИ 15. Так как триггер 16 находится в единичном состоянии с его единичного выхода выдается разрешающий сигнал на второй вход седьмого блока 12.7 элемента И, на первый вход которого с тактового входа блока поступают тактовые импульсы. Тактовые импульсы (в первой итерации первый импульс) поступают на один из входов восьмого 12.8 элементов И, на другой вход которого поступает разрешающий сигнал с выхода элемента ИЛИ 15. С выхода восьмого 12.8 элемента И тактовые импульсы поступают на тактовый выход блока и с его тактового выхода поступают на третьи входы всех сумматоров (4.1, 4.2 и 6) и тактовый вход сдвигового регистра 1. По этому тактовому импульсу производится вычисление прямых функций согласно выражения (1) (в первом алгебраическом сумматоре 4.1 и накапливающем сумматоре аргумента 6 сложение, а во втором алгебраическом сумматоре 4.2 вычитание). В результате этого в алгебраических сумматорах 4.1 и 4.2 и накапливающем сумматоре аргумента 6 будет сформировано первое приближение значений sin θ и cos θ и угла. При поступлении очередного тактового импульса происходит сдвиг содержимого сдвигового регистра 1 в право на один разряд, то есть значение угла уменьшается в два раза В блоке 2 односторонней памяти считываются очередные значения sin βi и cos βi, которые поступают на соответствующие входы блоков умножения 4.1...4.4, где формируются очередные произведения. Сформированные произведения поступают на входы соответствующих сумматоров и процесс формирования очередного значения приближения (вычисления функций) будет повторяться. Как только суммарное значение угла βi, выдаваемое с выхода накапливающего сумматора аргумента 6 на девятый вход (фиг.3) блока 7 определения точности вычислений, окажется равно или больше значения угла θ с выхода первой схемы сравнения 11.1 сигнал выдаваться не будет, а значит не будет выдаваться разрешающий сигнал с выхода первого 12.1 элемента И и выхода элемента ИЛИ 15. Тактовые импульсы не будут также выдаваться на тактовый выход блока. Предыдущий (последний) тактовый импульс выдаваемый с восьмого 12.8
элемента И задержанный на половину периода тактовых импульсов элементом задержки 14 поступает на один из входов девятого 12.9 элемента И, на другой вход которого с выхода второго инвертора 13.2 поступит разрешающий сигнал (с выхода элемента ИЛИ 15 в этом случае поступит запрещающий сигнал). С выхода девятого 12.9 элемента И, задержанный импульс поступает на нулевой вход триггера 16 и переводит его в нулевое состояние. Кроме того этот сигнал поступает на второй вход десятого 12.10 элемента И, на первый вход которого с восьмого входа блока поступает сигнал режима вычисления прямых функций. Так как триггер 16 установлен в нулевое состояние, то с его единичного выхода выдается запрещающий сигнал на один из входов седьмого 12.7 элемента И, запрещая выдавать тактовые импульсы на выход блока. С выхода десятого 12.10 элемента И сигнал выдается на двенадцатый выход блока и с него - на первые входы первого и второго выходных регистров 9.1 и 9.2 (фиг.1), на которые записываются по этому сигналу значение вычисленных прямых функций.
Если значение угла меньше значения базового угла , то с выхода первой схемы сравнения 18.1 (фиг.3) блока 8 определения знака выдается запрещающий сигнал, который через первый инвертор выдается на второй выход блока, как разрешающий сигнал. Этот сигнал (фиг.1) поступает на вторые входы блока 7 определения точности вычисления, первого алгебраического сумматора 4.1, через второй инвертор 5.2 - второго алгебраического сумматора 4.2 и вход накапливающего сумматора аргумента 6. Со второго входа блока 7 определения точности вычисления (фиг.2) разрешающий сигнал поступает на вторые входы третьей 10.3 и четвертой 10.4 групп элементов И, на первые входы которых поступают соответственно значения углов θ (с седьмого входа блока) и уменьшаемое значение базового угла βi (с девятого входа блока). Значения углов с выходов третьей 10.3 и четвертой 10.4 групп элементов И поступают на входы второй 11.2 схемы сравнения, с выхода которой разрешающий сигнал выдается до тех пор, пока значения угла в не будет больше или равно суммарному уменьшаемому значению угла βi. С выхода второй схемы сравнения сигнал через второй элемент И 12.2 поступает на другой вход элемента ИЛИ 15. В дальнейшем процесс вычисления осуществляется аналогично процессу вычисления функций для первого варианта (когда θ>βi).
При вычислении обратных функций (arcsin x и arccos x) начальное состояние всех блоков, такие же как и при вычислении прямых функций. Сигнал режим на соответствующие входы блоков определения точности вычислений 7 и блока определения знака 8 не поступает. Так же как при вычислении прямых функций возможны два варианта. Первый вариант:
когда значение функций sin x или cos x больше значения синуса или косинуса базового угла (sin x>sinβi, cos x>cosβ1), в этом случае в каждой итерации вычисления необходимо для sin x добавлять приращения вычисленных значений синуса до тех пор, пока сумма всех приращений sinβi
будет равна или больше значения sin x. Для cos x необходимо вычитать приращения вычисленных значений косинуса до тех пор, пока разность всех приращений cos βi Д будет равна или меньше значения cos x.
Для второго варианта, когда значение функций sin x или cos x будет меньше значения синуса или косинуса базового угла (sin x <sinβi, cos x <cosβi). Операции в каждой итерации вычислений и условия прекращения вычислений будут обратными. Действия по вычислению обратных функций соответствует действиям при вычислении прямых функций. При этом кроме общих элементов устройства будут использоваться следующие элементы: в блоке 7 определения точности вычисления - группа элементов И с пятую по двенадцатую (10.5...10.12) с третью по шестую схемы сравнения (11.3...11.6), с третьего по шестой и одиннадцатый элемент И (12.3...12.6, 12.11) и инвертор 13.1, в блоке 8 определения знака будет использоваться с третьей по шестую групп элементов И (17.3...17.6), вторая и третья схема сравнения (18.2, 18.3), со второго по четвертый инверторы (19.2...19.4) и два элемента ИЛИ (20.1, 20.2), а так же третий выходной регистр устройства.
Таким образом, устройство позволяет обеспечить необходимую точность и в некоторых случаях повышение быстродействия вычисления прямых и обратных тригонометрических функций в каждом конкретном случае.
ЛИТЕРАТУРА
1. Авторское свидетельство СССР №47811, G08F 15/34.
Устройство для вычисления тригонометрических функций./Половинкин Р.П, Пономарев А.И., Старобинец С.М., Фролов Н.Е., Бурлака Г.А. - Опубл. 1975.06.25.
2. Авторское свидетельство СССР №832555, G06F 7/548. Устройство для вычисления тригонометрических функций./ Ахметов В.Н., Гусев А.В., Циделко В.Д. - Опубл. 1981.05.23.

Claims (3)

1. Устройство для вычисления тригонометрических функций, содержащее блок односторонней памяти, блок умножения, первый и второй алгебраические сумматоры, накапливающий сумматор аргумента и сдвиговый регистр, выход которого соединен с четвертым входом накапливающего сумматора аргумента и входом блока односторонней памяти, первый выход которого соединен с первым входом первого блока умножения, второй вход которого соединен с выходом первого алгебраического сумматора, вход сдвигового регистра соединен с первой входной шиной устройства, отличающееся тем, что в него дополнительно введены три выходных регистра, три блока умножения, блок определения точности вычислений и блок определения знака, первый вход которого соединен с первой входной шиной устройства, второй вход которого соединен со второй входной шиной устройства, а третий вход соединен с третьей входной шиной устройства, вход режима которого соединен с восьмым входом блока определения точности вычислений и четвертым входом блока определения знака, пятый вход которого соединен с входом четвертой входной шиной устройства и пятым входом блока определения точности вычислений, шестой вход которого соединен с шестым входом блока определения знака и пятой входной шиной устройства, шестая входная шина которого соединена с седьмым входом блока определения точности вычислений и седьмым входом блока определения знака, первый выход которого соединен с первым входом блока определения точности вычислений, первым инвертором, пятым входом накапливающего сумматора аргумента и первым входом первого алгебраического сумматора, третий вход которого объединен с третьими входами второго алгебраического сумматора, накапливающего сумматора аргумента, тактовым входом сдвигового регистра и тактовым выходом блока определения точности вычислений, второй вход которого соединен с вторым выходом блока определения знака, входом второго инвертора, шестым входом накапливающего сумматора аргумента и вторым входом первого алгебраического сумматора, четвертый вход которого соединен с выходом второго блока умножения, первый вход которого соединен с первым входом четвертого блока умножения и вторым выходом блока односторонней памяти, первый выход которого соединен с первым входом третьего блока умножения, второй вход которого соединен с объединенными вторыми входами второго блока умножения, вторым входом второго выходного регистра, десятым входом блока определения точности вычислений и выходом второго алгебраического сумматора, первый и второй входы которого соединены с выходами соответственно первого и второго инверторов, а пятый вход соединен с выходом третьего блока умножения, пятый вход первого алгебраического сумматора соединен с выходом первого блока умножения, второй которого соединен с объединенными вторыми входами первого выходного регистра, вторым входом четвертого блока умножения, одиннадцатым входом блока определения точности вычислений и выходом первого алгебраического сумматора, первые входы первого и второго регистров объединены и соединены с двенадцатым выходом считывания прямых функций блока определения точности вычислений, тринадцатый выход считывания обратных функций которого соединен с первым входом третьего выходного регистра, второй вход которого соединен с девятым входом блока определения точности вычисления и выходом накапливающего сумматора аргумента, первый вход которого соединен с третьим выходом блока определения знака и третьим входом блока определения точности вычислений, четвертый вход которого соединен с четвертым выходом блока определения знака и вторым входом накапливающего сумматора аргумента, тактовый вход устройства соединен с тактовым входом блока определения точности вычислений
2. Устройство для вычисления тригонометрических функций по п.1, отличающееся тем, что блок определения точности вычислений содержит двенадцать групп элементов И по N элементов в каждой группе, где N равно количеству разрядов аргумента, шесть схем сравнения, два инвертора, одиннадцать элементов И, элемент ИЛИ, одну линию задержки и один триггер, единичный выход которого соединен с первым входом седьмого элемента И, второй вход которого соединен с тактовым входом блока, а выход - с первым входом восьмого элемента И, выход которого соединен с тактовым выходом блока и входом линии задержки, выход которой соединен с первым входом девятого элемента И, второй вход которого соединен с выходом второго инвертора, а выход - с объединенными нулевым входом триггера и первыми входами десятого и одиннадцатого элементов И, выходы которых соединены с двенадцатым выходом считывания прямых и тринадцатым выходом обратных функций блока, восьмой вход которого соединен с объединенными вторыми входами первого, второго и десятого элементов И, и входом первого инвертора, выход которого соединен с объединенными вторыми входами с третьего по шестой и одиннадцатого элементов И, первые входы с первого по шестой элементов И соединены с выходами соответственно с первого по шестую схем сравнения, выходы с первого по шестой элементов И соединены с соответствующими входами элемента ИЛИ, выход которого соединен со вторым входом восьмого элемента И и входом второго инвертора, седьмые входы блока соединены с первыми входами первой и третьей групп элементов И, девятые входы блока соединены с первыми входами второй и четвертой групп элементов И, первый вход блока соединен со вторыми входами первой и второй групп элементов И, выходы которых соединены соответственно с первыми и вторыми входами первой схемы сравнения, второй вход блока соединен со вторыми входами третьей и четвертой групп элементов И, выходы которых соединены соответственно с первыми и вторыми входами второй схемы сравнения, третий вход блока соединен с объединенными вторыми входами с пятой по восьмую групп элементов И, а четвертый вход блока соединен с объединенными вторыми входами с девятой по двенадцатую групп элементов И, шестые входы блока соединены с объединенными первыми входами пятой и девятой групп элементов И, одиннадцатые входы блока соединены с объединенными первыми входами шестой и десятой групп элементов И, пятые входы блока соединены с объединенными первыми входами седьмой и одиннадцатой групп элементов И, десятые входы блока соединены с объединенными первыми входами восьмой и двенадцатой групп элементов И, выходы пятой и шестой групп элементов И соединены соответственно с первыми и вторыми входами третьей схемы сравнения, выходы седьмой и восьмой групп элементов И соединены соответственно с первыми и вторыми входами четвертой схемы сравнения, выходы девятой и десятой групп элементов И соединены соответственно с первыми и вторыми входами пятой схемы сравнения, выходы одиннадцатой и двенадцатой групп элементов И соединены соответственно с первыми и вторыми входами шестой схемы сравнения.
3. Устройство для вычисления тригонометрических функций по п.1, отличающееся тем, что блок определения знака содержит шесть групп элементов И по N элементов в каждой группе, где N равно количеству разрядов аргумента, три схемы сравнения, четыре инвертора и два элемента ИЛИ, выходы которых соединены соответственно с третьим и четвертым выходами блока, первый выход которого соединен с выходом первой схемы сравнения и входом первого инвертора, выход которого соединен со вторым выходом блока, седьмые входы которого соединены с первыми входами первой группы элементов И, вторые входы которого соединены со вторыми входами второй группы элементов И, входом четвертого инвертора и четвертым входом блока, первые входы которого соединены с первыми входами второй группы элементов И, выходы которой соединены со вторыми входами первой схемы сравнения, первые входы которой соединены с выходами первой группы элементов И, вторые входы с третьей по шестую групп элементов И объединены и соединены с выходом четвертого инвертора, шестые входы блока соединены с первыми входами третьей группы элементов И, первые входы четвертой группы элементов И соединены с третьими входами блока, пятые входы которого соединены с первыми входами пятой группы элементов И, выходы которой соединены с первыми входами третьей схемы сравнения, вторые входы которой соединены с выходами шестой группы элементов И, первые входы которой соединены со вторыми входами блока, выход второй схемы сравнения соединен со вторым входом второй группы элемента ИЛИ и входом второго инвертора, выход которого соединен с первым входом первого элемента ИЛИ, второй вход которого соединен с выходом третьей схемы сравнения и входом третьего инвертора, выход которого соединен с первым входом второго элемента ИЛИ.
Figure 00000001
RU2008106142/22U 2008-02-21 2008-02-21 Устройство для вычисления тригонометрических функций RU75072U1 (ru)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2008106142/22U RU75072U1 (ru) 2008-02-21 2008-02-21 Устройство для вычисления тригонометрических функций

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2008106142/22U RU75072U1 (ru) 2008-02-21 2008-02-21 Устройство для вычисления тригонометрических функций

Publications (1)

Publication Number Publication Date
RU75072U1 true RU75072U1 (ru) 2008-07-20

Family

ID=48233434

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2008106142/22U RU75072U1 (ru) 2008-02-21 2008-02-21 Устройство для вычисления тригонометрических функций

Country Status (1)

Country Link
RU (1) RU75072U1 (ru)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2595906C1 (ru) * 2015-03-13 2016-08-27 Федеральное государственное бюджетное образовательное учреждение высшего образования "Кубанский государственный технологический университет" (ФГБОУ ВО "КубГТУ") Устройство для вычисления функций
RU2614931C1 (ru) * 2016-02-25 2017-03-30 Федеральное государственное бюджетное образовательное учреждение высшего образования "Кубанский государственный технологический университет" (ФГБОУ ВО "КубГТУ") Устройство для вычисления тригонометрических функций

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2595906C1 (ru) * 2015-03-13 2016-08-27 Федеральное государственное бюджетное образовательное учреждение высшего образования "Кубанский государственный технологический университет" (ФГБОУ ВО "КубГТУ") Устройство для вычисления функций
RU2614931C1 (ru) * 2016-02-25 2017-03-30 Федеральное государственное бюджетное образовательное учреждение высшего образования "Кубанский государственный технологический университет" (ФГБОУ ВО "КубГТУ") Устройство для вычисления тригонометрических функций

Similar Documents

Publication Publication Date Title
CN102314331A (zh) 除法器及其实现方法
RU2500017C1 (ru) Накапливающий сумматор по модулю
Nykolaychuk et al. Theoretical foundations for the analytical computation of coefficients of basic numbers of Krestenson’s transformation
CN102799412A (zh) 基于并行流水线设计的cordic加速器
RU75072U1 (ru) Устройство для вычисления тригонометрических функций
CN102129419A (zh) 基于快速傅立叶变换的处理器
RU2653263C1 (ru) Арифметико-логическое устройство для умножения чисел по модулю
RU102407U1 (ru) Процессор эвм
RU2711051C1 (ru) Арифметико-логическое устройство для сложения, вычитания и умножения чисел по модулю
RU2595906C1 (ru) Устройство для вычисления функций
Wang et al. A new algorithm for designing square root calculators based on fpga with pipeline technology
CN115328438B (zh) 一种数据处理方法、装置及电子设备
RU2618188C1 (ru) Устройство для вычисления модуля комплексного числа
RU2661789C1 (ru) Цифровой преобразователь координат
US20220374201A1 (en) Digital Signal Processing Device
US10754648B2 (en) Microprocessor with circuit for series calculation
RU2642381C1 (ru) Цифровой функциональный преобразователь
CN109343825B (zh) 一种约翰逊计数器装置
Nandini et al. High Speed and Power Optimized Parallel Prefix Modulo Adders using Verilog
Shang Implementation of ip core of fast sine and cosine operation through FPGA
RU2291557C1 (ru) Цифровой фильтр в системе остаточных классов
SU607214A1 (ru) Устройство дл извлечени корн третьей степени из частного и произведени
SU1357951A2 (ru) Устройство дл вычислени тригонометрических функций
RU2248094C2 (ru) Устройство преобразования из десятичной системы счисления в двоичную
SU922734A1 (ru) Устройство дл вычислени функций синуса и косинуса

Legal Events

Date Code Title Description
MM1K Utility model has become invalid (non-payment of fees)

Effective date: 20090222