УСТРОЙСТВО ДЛЯ ВЫЧИСЛЕНИЯ ФУНКЦИЙ
DEVICE FOR CALCULATING FUNCTIONS

Изобретение относится к области автоматики и вычислительной техники и может быть использовано в устройствах цифровых разверток, в устройствах цифрового автоматического управления, в тригонометрических вычислителях, в устройствах аппаратурной реализации средств математического обеспечения ЦВМ и других для преобразования декартовых координат в полярные, а также для определения параметров прямоугольного треугольника по двум линейным параметрам.
Известны устройства преобразования цифровых электрических сигналов, использующие операционные методы [патент GB №1331410, кл. G4A, 1973, патент GB №1328567, кл. G4A, 1973], однако указанные устройства имеют большое время вычисления.
Все указанные устройства не дают высокой точности при вычислении функции  (X, Y - декартовы координаты объекта), особенно при значениях X, Y одного порядка малости.
Наиболее близким техническим решением к предлагаемому изобретению является устройство для вычисления функций [авт. св. 660059 СССР, 1979 г.]. Оно содержит схему управления, блок сдвига, сумматор, компаратор, сумматор, счетчик искомого угла, блок умножителей, первая группа входов которого объединена со входами блока сдвига, цифровой функциональный генератор, выходы которого соединены со второй группой входов блока умножителей, вход сравнения компаратора через элемент ИЛИ связан с первой парой выходов блока умножителей, установочные входы сумматора подключены ко входам X устройства, а другие входы соединены со второй парой выходов блока умножителей, вторая группа входов которого подключена к выходам X и Y устройства, причем группа кодовых выходов Y блока сдвига соединена с установочными входами компаратора, выход которого связан со входами останова сумматора и счетчика искомого угла.
Недостатком этого устройства является его низкая достоверность (информативность) полученных результатов: вместо величин  и  оно выдает величины, пропорциональные им. Причем не в общепринятых единицах измерения (радианы, градусы и т.п.). Это снижает информативность выходных данных.
Задачей настоящего изобретения является повышение достоверности (информативности) выходного результата.
Технический результат настоящего изобретения - возможность получения выходного результата в требуемых для пользователя единицах измерения. Это повышает достоверность (информативность) выходной информации.
Технический результат достигается предложенным устройством для вычисления функций, которое содержит блок сдвига, компаратор, сумматор, счетчик искомого угла, блок умножителей, первая группа входов которого объединена со входами блока сдвига, цифровой функциональный генератор, выходы которого соединены со второй группой входов блока умножителей, вход сравнения компаратора через элемент ИЛИ связан с первой парой выходов блока умножителей, установочные входы сумматора подключены ко входам X устройства, а другие входы соединены со второй парой выходов блока умножителей, вторая группа входов которого подключена к выходам X и Y устройства, причем группа кодовых выходов Y блока сдвига соединена с установочными входами компаратора, выход которого связан со входами останова сумматора и счетчика искомого угла, дополнительно содержит регистр метрологической константы, блок элементов И, накапливающий сумматор с разрядом переполнения, причем его выход связан со схемой управления и через нее - с регистром нормализации результата , а выход регистра метрологической константы через блок элементов И, управляемых генератором импульсов соединен со входом накапливающего сумматора.
Введение сдвигающего регистра и блока размерности результата , содержащего накапливающий сумматор с разрядом переполнения, блок элементов И и регистр константы, с их связями с выходным сумматором и с выходом генератора импульсов, а также со схемой управления позволило преобразование выходных данных со счетчика искомого угла и сумматора в более достоверные (информативные) величины в общепринятых, т.е. в удобных для пользователя единицах измерения. Это является новым техническим решением в технике цифровых вычислений функции, поскольку результаты проведенного заявителем анализа аналогов и прототипа не позволили выявить признаки, тождественные всем существенным признакам данного изобретения.
Предложенное устройство имеет изобретательский уровень, так как из опубликованных научных данных и существующих технических решений явным образом не следует, что заявляемая совокупность блоков, узлов и связей между ними позволяет повысить достоверность (информативность) выходных результатов.
Предложенное устройство для вычисления функций промышленно применимо, поскольку его техническая реализация возможна с использованием типовых элементов микроэлектронной техники (интегральных логических схем).
На чертеже представлена структурная схема устройства для вычисления функций. Заявленное устройство содержит блок 1 сдвига, осуществляющий операцию сдвига кодов X и Y, блок 2 умножителей для умножения кодов синуса и косинуса на коды входных переменных X и Y, цифровой функциональный генератор 3 для генерирования синусоидально меняющихся кодов, элемент ИЛИ 4, компаратор 5 для сравнения вычисленных значений с заданными, сумматор 6 для образования суммы двух вычисленных значений, счетчик 7 искомого угла для формирования кода искомого угла, схему 8 управления, генератор 9 импульсов, кроме того, дополнительно введены регистр 10 нормализации результата  и блок 11 размерности результата , включающий регистр 12 метрологической константы, блок 13 элементов И, накапливающий сумматор 14 с разрядом 15 переполнения.
a
Ко входам X и Y блока 1 сдвига подключены кодовые шины входных переменных, а также группа входов X и Y блока 2 умножителей. Выходы цифрового функционального генератора 3 соединены с другими входами блока 2 умножителей. Вход сравнения компаратора 5 соединен через элемент ИЛИ 4 с одной парой выходов блока 2 умножителей, а установочные входы указанного компаратора подключены к группе кодовых выходов Y блока 1 сдвига. Установочные входы сумматора 6 подключены ко входам X переменной блока 1 сдвига, другие входы указанного сумматора соединены с другой парой выходов блока 2 умножителей.
a
a
a
a
Группы входов X и Y блока 2 умножителей подключены к кодовым выходам X и Y блока 1 сдвига. Выход компаратора 5 соединен со входами остановки сумматора 6 и счетчика 7 искомого угла, счетный вход которого через схему 8 управления соединен с выходом блока 11 размерности результата .
Блок 11 размерности результата  состоит из регистра 12 метрологической константы, блока 13 элементов И, накапливающего сумматора 14 с разрядом 15 переполнения. При этом выход сумматора 6 связан со входом регистра 10 нормализации результата , а выход регистра 12 метрологической константы через блок 13 элементов И, управляемых генератором 9 импульсов, соединен шиной из ”n” линий со входом накапливающего сумматора 14, разряд 15 переполнения которого связан со схемой 8 управления.
Рассмотрим работу предлагаемого устройства для случая определения гипотенузы А и одного из углов θ по двум известным катетам X и Y.
a
a
a
a
K
K
Входные переменные X и Y в виде параллельного двоичного кода поступают на вход блока 1 сдвига, где происходит сдвиг переменных X и Y влево до появления старшей значащей единицы, наибольшей из входных переменных X и Y в старшем разряде, при этом число сдвигов входных переменных одинаково. Так, например, если X=00001010, Y=00100110, то на выходе блока 1 сдвига получим сдвинутые коды входных переменных X=00101000, Y=10011000, т.е. X=X·2, Y=Y·2, где K=2.
а
a
Далее, сдвинутые коды входных переменных поступают на группы входов X, Y блока 2 умножителей, где первой парой двоичных умножителей, входящих в состав этого блока, производится умножение указанных кодов на синусоидальный и косинусоидальный числоимпульсный код, подаваемый с цифрового функционального генератора 3 на входы синуса и косинуса блока 2 умножителей.
a
a
a
Причем цифровой функциональный генератор вырабатывает коды синуса и косинуса, сдвинутые относительно друг друга на один такт. На выходах указанных двоичных умножителей получаем числоимпульсные коды X·sinθ и Y· cosθ, которые через элемент ИЛИ 4 поступают на вход сравнения компаратора 5, функцию которого выполняет вычитающий счетчик, который в начальный момент устанавливается в положение, равное величине Y.
a
a
Через некоторое время Т после начала счета, при выполнении условия X·sinθ=Y·cosθ, компаратор 5 устанавливается в нулевое положение и на его выходе вырабатывается сигнал, поступающий на входы остановки сумматора 6 и счетчика 7 искомого угла. Импульсы на вход этого счетчика поступают от блока 11 размерности. Принцип его действия состоит в том, что он равномерно прореживает импульсы от генератора 9 импульсов. Степень (коэффициент) прореживания зависит от содержимого регистра 12 метрологической константы. Назначая эту константу, можем менять размерность выходного результата . Показания счетчика 7 искомого угла через время Т получаем в необходимых единицах измерения.
Импульсы на вход этого счетчика поступают от блока 11 размерности. Принцип его действия состоит в том, что он равномерно прореживает импульсы от генератора 9 импульсов. Степень (коэффициент) прореживания зависит от содержимого регистра 12 метрологической константы. Назначая эту константу, можем менять размерность выходного результата . Показания счетчика 7 искомого угла через время Т будут в необходимых единицах измерения.
На группы входов X и Y блока 2 умножителей подаются коды входных переменных X и Y. Вторая пара двоичных умножителей вырабатывает числоимпульсные последовательности произведений X·cosθ и Y·sinθ, поступающие на входы сумматора 6, функцию которого выполняет реверсивный двоичный счетчик, при этом код произведения X·cosθ подается на счетный вход вычитания, а код Y·sinθ - на счетный код сложения. Причем сумматор 6 в начальный момент устанавливается в положение, равное величине X. При поступлении сигнала с выхода компаратора 5 на вход остановки сумматора 6 с выходов последнего получаем величину  т.е. величину искомой стороны прямоугольного треугольника. Счетчик 7 искомого угла производит подсчет количества импульсов от блока 11 размерности результата  за интервал времени Т, соответствующий измеренному  Схема 8 управления коммутирует эти же импульсы на вход сложения при вычислении в или на вход вычитания при вычислении угла 90°- θ.
Соответственно, путем сдвига вправо регистра 10 сдвига на нужное число разрядов образуется нормализованный результат. Это происходит под управлением схемы 8 управления.
a
а
При решении прямоугольного треугольника по гипотенузе и катету код гипотенузы подается на кодовые шины входной переменной X, а код катета - на кодовые шины переменной Y. При этом на блок 2 умножителей подается команда, запрещающая выработку произведений вида Y·cosθ и X·sinθ. Работа схемы происходит в дальнейшем аналогично работе схемы, описанной выше.