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

Номер патента: 926651

Авторы: Абашин, Крюков

ZIP архив

Текст

ОПИСАНИЕ ИЗОБРЕТЕНИЯ Союз СоветскихСоциалистическихРеслублик К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ(22) Заявлено 070180 (21) 2895991/18-24 (51) М, Кл,з 6 06 Г 7/548 с присоединением заявки Мо -(23) Приоритет -Государственный комитет СССР по делам изобретений и открытий(54) ЦИФРОВОЕ УСТРОЙСТВО ДЛЯ ВЫЧИСЛЕНИЯ СИНУСНО- КОСИНУСНЫХ ФУНКЦИЙ ИзобретЕние относится к вычислительной технике н предназначено для использования в асинхронных вычислительных устройствах.Известно быстродействующее устройство вычисления синусно-косинусных функций, реализующее итерационный алгоритм Волдера и содержащее регистр кода угла, регистр синусов, реГистр косинусов, два регистра сдвига и три сумматора-вычитателя. Выход регистра кода угла соединен с первым и третьим входами первого сумматора-вычитателя, выход которого подключен к первому входу регистра ф кода угла, и третьими входами второго и третьего сумматоров-вычитателей. Первый вход второго сумматоравычитателя подключен к первому выходу регистра синусов, второй выход которого через первый регистр сдвига соединен со вторым входом третьего сумматора-вычитателя,первый вход которого подключен к первому выходу регистра косинусЬв, второй выход которого через второй регистр сдвига соединен со вторым входом второго Сумматора-вычитателя. Васод второго сумматора-вычитателя подключен ко входу регистра синусов, а 2выход третьего сумматора-вычитателясоедннен с первым входом регистракосинусов (1).5 Недостаток известного устройства " малое быстродействие ввиду необходимости выполнения количестваитераций, численно равного количеству двоичных разрядов, задающих уголЧ, а также недостаточная точностьза счет накопления ошибки округления (усечения) при выполнении указанного количества итераций.Наиболее близким по техническойсущности к предлагаемому являетсяцифровое устройство для вычислениясинусно-косинусных функций, реализующее итерационный алгоритм Волде"ра, содержащее регистр кода угла,регистр синусов, регистр косинусов,два регистра сдвига, трн сумматоравычитателя, формирователь опорногосигнала и элемент ИЛИ. Выход ре"гистра кода угла соединен с первыми третьим входами первого. сумматоравычитателя, выход которого подключенк первому входу регистра кода угла,и третьими входами второго и третьего сумматоров-вычитателей. Первыйвход второго сумматора-вычнтателяподключен к первому выходу регистравычитатель, шифратор и элемент ИЛИ,при этом входы блока выделения первой единицы и вычитателя объединеныи являются входом устройства, первыйвыход блока выделения первой единицыподключен ко входу шифратора, выходкоторого соединен со входом счетчикаитераций, ко входу блока заданияначального положения вектора, первый,выход которого соединен со вторым10 входом регистра синусов, а второйвыход - со вторым входом регистракосинусов, и к первому входу элемента ИЛИ, ко второму входу которогоподключен второй выход блока выделе 15 ния первой единицы, выход элементаИЛИ через вычитатель соединен совторым входом регистракода угла.При таком построении быстродействие предлагаемого устройства по20 сравнению с прототипом увеличиваетсяболее чем в два раза, так как выполняетя одна операция Поворотвектора и, кроме того, при выполнении этой операции производится25 меньшее число итераций, так как начальное положение вектора задаетсязаранее, При этом точность вычисления значенИй синусно-косинусныхФункций в предлагаемом устройствене хуже, чем в прототипе.На фиг. 1 представлена блок-схема устройства; на фиг.2 - вариантвыполнения блока выделения первойединицы,Устройство содержит регистр 1кода угла, регистры 2 синуса и 3 косинуса, сумматоры-вычитатели 4 - б,сдвигатели 7 и 8, блок 9 памяти,счетчик 10 итераций, блок 11 управления, блок 12 выделения первой единицы; вычитатель 13, шифратор 14,блок 15 задания начального положения вектора, элемент ИЛИ 16.Блок выделения первой единицысодержит элементы ИЛИ 17.,элементы45 НЕ 18 и элементы И 19.Блок задания начального положения вектора 15 может быть выполненв виде постоянного запоминающегоустройства на число слов, равное ко 50 личеству разрядов слова, задающегоугол У или в виде программно-логической матрицы.В основе вычисления синусно-косинусных функций лежит известный ите 55 рационный алгоритм Волдера, а именно поворот вектора на плоскости назаданный угол М : р,1х. - ,х 1 е;1. )с, Х 2Х; =Х; +;,х;260 Ч - л- +-где 1 = 1,2,3,п - номер выполняемой итерации;и - номер последней выполняемойи терации .Ю; = з 1 дп ( - - )йЧ;-.,= агс 192синусов второй выход которого черезпервый регистр сдвига соединен совторым входом третьего сумматоравычитателя, первый вход которого подключен к первому выходу регистракосинусов, второй выход которогочерез второй регистр сдвига соединен со вторым входом второго сумматора-вычитателя. Выход второго сумматора-вычитателя подключен ко входурегистра синусов, а выход третьегосумматора-вычитателя соединен с первым входом регистра косинусов, ВыходФормирователя опорного сигнала черезэлемент ИЛИ соединен со вторым входом регистра кода угла, а первыйвыход регистра синусов подключен ковторому входу регистра косинусов.Указанное устройство имеет болеевысокую точность по сравнению с известным устройством. Это увеличениеточности достигается за счет уменьшения быстродействия по сравнению с. устройством 11 в два раза, так какв прототипе два раза осуществляетсяоперация фПоворот вектора 2.Недостаток прототипа - низкоебыстродействие.Цель изобретения - повышениебыстродействия,Поставленная цель достигается засчет того, .что в цифровое устройстводля вычисления синусно-косинусныхфункций, содержащее регистр кода угла, регистр синусов, регистр косинусов, два сдвигателя, три сумматоравычитателя, счетчик итераций, блокпамяти и блок синхронизации, выходыкоторого подключены к тактовым входам регистров, причем выход регистракода угла соединен с первым входомпервого сумматора-вычитателя, выходкоторого подключен к первому входурегистра кода угла, первый вход второго сумматора-вычитателя подключенк первому выходу регистра синусов,второй выход которого через первыйсдвигатель соединен с первым входомтретьего сумматора-Вычитателя, второй вход которого подключен к перво.му выходу регистра косинусов, второйвыход которого черезбвторой сдвигатель соединен со вторым входом второго сумматора-вычитателя, выходвторого сумматора-вычитателя подключен к первому входу регистра синусов, выход третьего сумматора-вычитателя соединен с первым входом регистра косинусов, выход счетчикаитераций подключен ко вторым входамсдвигателей и ко входу блока памяти,выход которого соединен со вторымвходом пеРвого сумматора-вычитателя,третьи входы сумматоров-вычитателейподключены к выходу регистра кодаугла, дополнительно введены блоквыделения первой единицы, блок задания начального положения вектора,Особенностью выполнения операций (1) является удлинение вектора на каждой итерации вК; раз, где К= (1 + 2 1(" ") )11Таким образом, общее удлинение вектора за и итераций равно К =ПК;.Свойство удлинения вектора прй повороте заставляет при создании устройств разрабатывать специальные блоки коррекции, что отрицательно сказывается на быстродействии устройств.При вычислении же синусно- косинусных функций можно заранее учесть удлинение вектора за определенное количество итераций.Если задаться исходным значением Ч и начальными координатами вектора1.П КЬ 1 ( О 15 Уо = О, Ч = О, то при осу 20 ществлении и поворотов вектора отзначения угла Чо = 0 до Мр1дуль вектора примет единичное значение. Тогда координата х равна сояЧ,а координата у и примет значение 25япЧ .,Вычисление значений я 1 иМ и сояЧможно ускорить, если в качестве начального вектора брать Ое вектор с30координатами х, = р , Уо= 0),ПК,1 ъ 1 1 Количество итераций, необходньых для отыскания значений яХи Ч и сояЧ является переменным в зависимости. от области значений угла Ч . Для самого неблагоприятного значения, когда угол Ч лежит в пределах измЕнения от 45 О до 90 О, количество поворотов вектора уменьшено на два, т.е. операция поворот вектора начинается сразу с 3 ей итерации, и начальный 55ООугол поворота равен не 45, а 14 8 уменьшение числа итераций приводит к увеличению быстродействия и увеличению точности вычислений за счет уменьшения ошибок округления при 60 вычислениях.Значения координат векторов, задаваемых углами Ч, могут быть вычислены заранее по следующим соотношениям: 65 Чо = О, а вектор с углом Ч, незначительно отличающимся от угла Ч . 35В качестве угла М выбирается угол, численно равный двоичному значению, у которого все разряды равны . нулю, кроме того разряда, значениекоторого равно первой единице вправо от знакового разряда значения угла Ч и разряда, следующего за ним. Например, углу Ч : 0,0001001101110010 будет соответствовать угол0,0001100000000000. 1- С 05 МофП Кщ 1где щ - номер начальной итерации.Тогда при количестве поворотоввектора, равном (и - в +.1) происхо 7т увеличение модуля вектора вК раз. При этом значение модуляаП (вектора принимает единичное значение с координатами х = созе; У и == я 1 и.Устройство работает следующимобразом.Значение угланапример,0,000111010111011 поступает на блоквыделения первой единицы 12, На выходе блока 12 число 0,000100000000000преобразуется элементом ИЛИ 16 вчисло 0,0001100000000000, Полученнаяна выходе вычитателя 13 разностьМ - Ю = 0,0000010101110110 записывается в регистр 1. Знаковый разрядзначения Ч - 9 определяет режим работы сумматоров 4-6 в соответствиис выражением (1), Выработанные блокомзадания начального положения вектора15 значения х и уо записываются вОрегистры 2 и 3. Код на выходе шифра"тора 14, соответствующий значению начальной итерации, запоминается всчетчике 10 итераций и является адресом для блока 9 памяти и отысканиипервоначального угла поворота вектора ьЧщ . Этот код является также указателем для сдвигателей 7 и 8 на необходимую величину сдвига.После этого начинается выполнениепервой по счету итерации. Сдвинутаясдвигателем 7 информация регистра 2складывается (вычитается) на сумматоре б с содержимым регистра 3, асдвинутая сдвигателем 8 информациярегистра 3 вычитается (складывается)на сумматоре 5 из информации регистра 2. Полученные результаты заносятся, соответственно в регистры 3 и 2,Значение регистра 1 корректируетсясумматором 4 на величину ьЮр 1, выбранную из блока 9 памяти. Счетчик.10 итераций увеличивает свое значение на единицу. На этом выполнениепервой итерации заканчиваетсяОстальные итерации выполняютсяаналогично первой. Конец вычисления значений я 1 п Чи созе определяется по переполнению счетчика 10итераций. Устройство управления вырабатывает синхросигналы, необходимые для правильной работы устройства.Быстродействие предлагаемого устройства по сравнению с прототипомувеличивается более, чем в два раза,Во-первых, выполняется одна операция ффПоворот вектора, в то времякак в прототипе выполняются две та"ких операции. Кроме того, выполнение перед началом вычисления начальной установки положения векторапозволяет уменьшить количество необходимых итераций, что особенно заметно при малых значениях угла М и,таким образом, еще дополнительноповысить быстродействие вычислениязначений в 1 п Ч и соэ Ч, а также увеличить точность вычисления за счетотсутствия ошибок округления прк выполнении меньшего количества итераций,Быстродействие предлагаемого устройства ввюе и по сравнению с известным,устройством за счет меньшегоколичестваитераций при выполненииодной операции фПоворот вектораф.20формула. изобретения Цифровое устройство для вычисления синусно-косннусных функцийр со держащее регистр кода угла, регистр2 синусов, регистр косинусов, два сдви-. гателя, три сумматора-вычитателя, счетчик итераций, блок памяти и блок синхронизации, выходы котороГо подключены,к тактовым входам регист- З 0 ров, причем выход регистра кода угла соединен с первым входом первого сумматора-вычитателя, выход которого подключен к первому входу регистра кода угла, первый вход второго сумматора-вычктателя подключен к первому выходу регистра синусов, второй выход которого через первый сдвига- тель соединен с первым входом третьего сумматора-вычитателя, второй . 40 вход которого подключен к первому выходу регистра косинусов, второй выход. которого через второй сдвигатель соединен со вторым входом второго сумматора-вычитателя, выходкоторого подключен к первому входурегистра синусов, выход третьегосумматора-вычитателя соединен с первым входом регистра косинусов, выход счетчика итераций подключен ковторым входам сдвигателей и к входублока памяти, выход которого соединен со вторым входом первого сумматора-вычктателя, третьи входы сумматоров-вычитателей подключены к выходу регистра кода угла, о т л ич а ю щ е е с я тем, что, с цельюповышения быстродействия, в неговведены блок выделения первой единицы, блок задания начального положения вектора, вычитатель, шифратори элемент ИЛИ, при этом входы блокавыделения первой единицы и вычитателя объединены и являются входомустройства, первый выход блока выделения первой единицы подключенк входу шифратора, выход которого.соединен с входом счетчика итераций,к входу блока задания начальногоположения вектора, первый выход которого соединен со вторым входомрегистра синусов, а второй выход -со. вторым входом регистра косинусови к первому входу элемента ИЛИ, ковторому входу которого поцключенвторой выход блока выделения первойединицы, выход элемента ИЛИ черезвычитатель соединен со вторым входомрегистра кода угла.Источники информации,принятые во внимание при экспертизе1. Оранский А.И. и др. Быстродействующее устройство вычислениясинусно-косинусиых функций, Изд.Б 1 УффВестник, сер. 1, 1969, 9 3, с.7 Х2. Авторское свидетельство СССРР 591862, кл. 6 06 Р 1.5/34, 1977926651 Етпорвий разред Ьг Г Составитель А. Зоринедактор И, Ковальчук Техред Ж. Кастелевич Корректор М. Коста акциз 2982/41 ПП Патентф, г. Ужгород, ул, Проектная, 4 фил Тираж 73 ИИПИ Государстве по делам изобрет 5, Москва, Ж,Подписиного комитета СССРний н открытийРаушская наб., д. 4/

Смотреть

Заявка

2895991, 07.01.1980

ПРЕДПРИЯТИЕ ПЯ Р-6510

АБАШИН ЮРИЙ КОНСТАНТИНОВИЧ, КРЮКОВ ЮРИЙ ВЛАДИМИРОВИЧ

МПК / Метки

МПК: G06F 7/548

Метки: вычисления, синусно-косинусных, функций, цифровое

Опубликовано: 07.05.1982

Код ссылки

<a href="https://patents.su/6-926651-cifrovoe-ustrojjstvo-dlya-vychisleniya-sinusno-kosinusnykh-funkcijj.html" target="_blank" rel="follow" title="База патентов СССР">Цифровое устройство для вычисления синусно-косинусных функций</a>

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