Синусно-косинусный преобразователь

Иллюстрации

Показать все

Реферат

 

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

СОЮЗ СОВЕТСНИХ

СОЦИАЛИСТИЧЕСНИХ

РЕСПУБЛИН

555 А1 (19) (11) (би 4 G 06 F 7 548.

ОПИСАНИЕ ИЗОБРЕТЕНИЯ . К ASTOPCHOMY СВИДЕТЕЛЬСТВУ,13

ГОСУДАРСТВЕННЫЙ НОМИТЕТ СССР

ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЫТИЙ (21) 4045344/24-24 (22) 03.04.86 (46) 23.09.87. Бюл. № 35 (71) Ленинградский институт точной механики и оптики (72) И.В.Меськин и Л.ИДорожко (53) 681.325(088.8) (56) Авторское свидетельство СССР № 1005040, кл. G 06 F 7/548, 198 1.

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

¹ 1042013, кл. G 06 F 7/548, 198 1. (54) СИНУСНО-КОСИНУСНЫЙ ПРЕОБРАЗОВАТЕЛЬ (57) Изобретение относится к вычислительной технике и может быть использовано в цифроаналоговых вычислительных устройствах, например в навигационных вычислительных устройствах, работающих с датчиками, в которых углы выдаются в цифровом коде с преобразователей любого типа. Цель изоб1339555 ретения расширение функциональных возможностей преобразователя за счет определения значений функций о

sinX u < osX в интервале 0-360 . В синусно-косинусный преобразователь, содержащий регистр 2 прямого кода, регистр 11 нуля, элемент ИЛИ 6, сумматоры 10 и 12, регистр 13, группу

14 элементов И, блок 9 синхронизации, сумматор 4 дополнительного кода и блок 5 памяти, дополнительно введены (и+2)-й и (n+3)-й разряды регистра 2 прямого кода, преобразователь 1 углового перемещения в код, блок 7 вычисления знака, сумматор 8 по модулю два и преобразователь 3 прямого кода в обратный. В результате анализа (п+ ) — ro и (n+3) -ro разрядов

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

Цель изобретения — расширение функциональных возможностей преобразователя за счет определения значений функций sinX u cosX в интервале от 0 до 360 .

На фиг. 1 представлена структурная схема предлагаемого преобразователя, на фиг. 2 — схема преобразователя кода; на фиг. 3 — схема блока анализа знака; на фиг. 4 — схема блока синхронизации.

Синусно-косинусный преобразователь (фиг. 1) содержит преобразователь 1 углового перемещения в код, регистр

2 прямого кода, преобразователь 3

25 прямого кода в обратный код, преобразователь 4 обратного кода в дополнительный, блок 5 памяти, элемент

ИЛИ 6, блок 7 вычисления знака, сумматор 8 по модулю два, блок 9 синхронизации, сумматор 10, регистр 11 нуля, сумматор 12, регистр 13, группу

14 элементов И, регистра 2 прямого кода, определяющих номер квадранта, в котором находится угол Х, а также типа функции в блоке 7 анализа знака определяется знак функции, а на сумматоре 8 по модулю два — вид кода, прямой или дополнительный, передаваемый на вход блока памяти, в котором записано значение функции sinX в первом квадранте. На преобразователе 3 кода и сумматоре 4 дополнительногб кода формируется требуемый код угла. Функция, считанная из блока 5 памяти, уточняется на группе 14 элементов И и сумматоре 10 с учетом (n+1)-ro разряда кода угла и поправки, полученной на промежуточном сумматоре и записанной в промежуточный регистр. 4 ил.

На фиг. 2 представлен пример выполнения схемы преобразователя 3, содержащего (n+1) сумматоров 15 по модулю два, причем, управляющий вход преобразователя 3 соединен с первыми входами сумматоров 15 по модулю два, вторые входы которых соединены с одноименными (и+1) разрядами входа преобразователя 3 кода, а выходы— с выходами преобразователя 3 кода.

На фиг. 3, в качестве примера, пред- ставлена реализация схемы блока 7 вычисления знака, содержащего сумматор 16 по модулю два, элемент ИЛИНЕ 17, элемент И 18 и элемент ИЛИ 19.

На фиг. 4 приведена схема блока 9 синхронизации, содержащего сумматор

20 по модулю два, элементы ИЛИ-НЕ 21 и 22 и генератор 23 одиночного импульса.

Преобразование кода угла, полученного на преобразователе 1, в код синуса (косинуса) этого угла может выполняться с помощью постоянных запоминающих устройств (ПЗУ), в которых записана таблица двоичных кодов значений функции sinX в пределах квадранта при изменении угла аргумента (О90 ) (1-2 "), где п — число разрядов адреса ПЗУ вЂ” разрядов кода, подаваемого в ПЗУ угла.

При этом в первом квадранте код функции sinX получают в ПЗУ при пода1339555

)sinN„(= вшМ„(1) 30 че в него прямого кода угла, а код функции cosX при подаче в ПЗУ дополнительного кода угла. В других квадрантах коды функций sinX и cosX, в ром числе и знаки величин, получают по известным в тригонометрии соотношениям, связывающим эти функции с функциями s inX u cosX угла Х, расположенного в первом квадранте: в первом и третьем квадрантах, где (sinN„t — модуль синуса и-разрядного

15 кода угла Х sinN (I) — синус и-разряди ного кода угла Х в первом (I) квадранте, s пИ„ =созе„(I) во втором ичет—

1 вертом квадрантах,где сояИ „(Т) — коси— нус и-разрядного кода угла Х в пер20 вом квадранте. и

Если N „= 90 -N„, то cosN„(I)

= sinN „(I), где N „— дополнительный код кода угла N<.

Аналогично для функции cosN мож25 но показать, что jcosN„ = sinN„(I) во втором и четвертом квадрантах, I cosN„(= sinN „(I) в первом и третьем квадрантах.

Следовательно, при наличии на первом выходе блока 9 синхронизации сигнала нуль (выработки яЫИ„) на вход блока 5 памяти требуется передать Ni1 в первом и третьем квадрантах ((и+3)-й разряд регистра прямого кода равен нулю), а во втором и четвертом квадрантах — N)„ ((n +

+ 3)-й разряд регистра 2 прямого кода равняется единице) . При наличии 40 на первом выходе блока 9 синхронизации сигнала единица (выработки сояИ„) на вход блока 5 памяти передается N во втором и четвертом квадрантах и

И,д в первом и третьем квадрантах.

Преобразованием кода угла управляет сумматор 8 по модулю два. Единичное состояние на выходе сумматора

8 по модулю два при формировании функции синуса во втором и четвертом квадрантах, а косинуса в первом и третьем квадрантах определяет получение на выходе преобразователя 3 инверсного кода (n+0, а на преобразователе 4 получение дополнительного

55 кода И „„1путем сложения инверсного кода Н „,1 с единицей в младшем (и+1)-м разряде, где N „+, -(и+1) — разрядный код угла Х.

На блоке 7 производится анализ номера квадранта, в котором расположен угол и вид функции (sinX или cosX) на основании этого формируется знак функции.

Функция синус отрицательна в третьем и четвертом квадрантах, когда (n+2 =1, где (и+2) — значение (n+2)— го разряда регистра прямого кода.

Функция косинус отрицательна во вто ром и третьем квадрантах, когда (n +

+ 2p+(n + 3) = 1, где (и + 3) — значение (n+3)-го разряда регистра прямого кода, а Я вЂ” означает суммирова) ние по модулю два. Выход блока знака имеет единичное значение, если функция отрицательна и описывается формулой

ЗН=БС g (n+2J V BC K ((и+2)8(п+3) ) БС Ч (n+2) V БС(pn+2)CB(n+3) ), где ЗН вЂ” выход блока знака, БС- первый выход блока синхронизации, определяющий тип функции, вырабатываемой преобразователем.

Группа 14 элементов И используется для учета нуля или единицы (n+ 1) -го по старшинству разряда кода угла и последующего округления полученного кода синуса (косинуса) угла по значению (и+2)-го по старшинству разряда кода функции угла.

Поскольку выпускаемые микросхемы блоков памяти выпускаются с числом разрядов кодов функции sinX на несколько разрядов превышающим число разрядов кода аргумента, то при использовании только (n+1) разрядов кода функции sinX отбрасывание разрядов, начиная с (n+2)-го, приводит к ошибке до единицы оставляемого (n +

+ 1)-го, разряда.

Для повышения точности выработки (n+1) ðàçðÿäíûõ кодов синуса (косинуса) угла используется элемент ИЛИ 6.

Указанная единица вводится в (и+

+2)-й разряд вырабатываемого кода для округления результата.

Однако при кодах функции sinX, состоящих только из единиц от первого до (n+2)-го по старшинству разрядов, добавление к выданному из блока памяти коду синуса (косинуса) угла единицы (n+2)-го разряда приводит к переполнению.

1339555 где ЬИ

Для устранения переполнения выда-. ваемых кодов используется элемент

ИЛИ 6, вырабатывающий нуль при коде угла на выходе преобразователей 4, 5 меньшем угла - 12 2 " рад, и единицу при кодах углов, больших этого угла.

Синусно-косинусный преобразователь работает следующим образом. 10

В блок 9 синхронизации поступает сигнал выработки кода функции з пХ или cosX а в регистр 2 прямого кода (n+1)-разрядный код угла N(n„i и два разряда (n+2) -й и (n+3) -й, значе — 15 ния которых 00, 01, 10, 11 соответствуют первому, второму, третьему или четвертому квадранту, в котором находится угол Х, и по импульсу на синхронизирующем входе преобразовате- 20 ля записывается в регистр 2 прямого кода. По этому же импульсу производится запуск блока 9 синхронизации.

Если, например, поступил сигнал выработки кода sinX, вычисление его производится по известной формуле

sin(X+AX) = sinX+cosX Х„ где Х вЂ” угол, а Х вЂ” приращение угла, 30 или

sinN =sin(N +ь11) = sinN +cosN N (1) (n i) и " и приращение и-разрядного 35 кода угла при (n+ 1) -разрядном коде.

Согласно формуле (1) блок 9 синхронизации выдает сигнал выработки функции cosN 40 .Старшие и разрядов кода угла поступают на адресные входы блока 5 памяти и по ним выдается код функ— ции sinN<(I) или sinN (I) в зависимости от номера квадранта и соответ- 45 ствующий коду функции cosN в данном квадранте.

Старшие (m-n-1) разрядов этого кода (в рассматриваемом примере — четыре) поступают на входы сумматора 12, 50 как четырехразрядный код, причем он поступает на первые входы соответ ствующих разрядов сумматора 12 и, сдвинутый монтажно на один разряд, поступает на вторые входы сумматора

12. Таким образом, в сумматоре 12 этот код складывается с кодом, умножением на 2, т.е. происходит умножение кода на 1, 5. Этот код поступает из сумматора 12 на регистр 13 и записывается там пс сигналу записи, поступающему из блока 9 синхронизации. Из регистра 13 код поступает на входы группы 14 элементов И, затем блок 9 синхронизации выдает сигнал выработки функции sinN„.

Из блока 5 памяти на входы выходного сумматора 1О выдается код функции з пИ„ в соответствующем квадранте, на другие входы и старших разрядов поступают нули, а (и+1)-го и следующих по старшинству разрядов сумматора 10 поступает код с выходов группы 14 элементов И, на первые входы которых подается (п+1)-й разряд кода угла с выходного преобразователя

4. Если значение этого разряда равно нулю, код из регистра 13 через группу 14 элементсв И не проходит, в противном случае код с регистра 13 проходит на вход сумматора 10. Таким образом, группа 14 элементов И осуществляет умножение одноразрядного числа = значения (п+1)-ro разряда кода угла (nN) на четырехразрядный код функции 1,5 cosN „. Если обозначить код на выходе группы 14 элементов И через N то получим

N„= 1,5 cosN ÜN = cosN 1,5ьИ, Двоичный код, поступающий в блок

5 памяти, представляет собой правильо ную двоичную дробь от угла 90, если этот код умножить на Т/2 = 1,5, то 1,5 h N — это угол в радианах, а

N n H sDjeHne H UH sinN при изменении угла на Л11. Таким образом, сумматор 10 осуществляет выработку функции з пК1„,,1 .

При этом весовой коэффициент (n+

+i)-го разряда кода, поступающего с преобразователя 4, будет 2, и (пл элементы И группы 14 производят умножение кода 1,5 на угол 90 2 т.е. производится дополнительный сдвиг на (n+1) разрядов в сторону младших разрядов. Этот сдвиг выполнен монтажно, за счет соединения выходов элементов И группы 14 с младшими разрядами сумматора 10.

Для округления по этому разряду кода функции sinN „,1на этот вход промежуточного сумматора 12 подается единица с выхода элемента ИЛИ 6.

Для устранения случаев переполнения эта единица подается, когда код синуса угла в первом квадранте не

1339555 содержит единицы во всех старших разрядах до (n+2)-го включительно, т.е. при углах, которые не превышают угла о

90-о r e д

cC- =12 2 рад = 90 2

Но тогда дополнительный код должен быть не меньше с . При вычислении ко- 10 синуса угла в первом квадранте угол должен быть также не меньше о . Такая проверка производится элементом ИЛИ 6.

На втором этапе во время сложения кода sinN с его поправкой на сумматоре 10 в блоке 7 анализа знака формируется знак функции.

Выработка функции cosN „„ осуществляется аналогично, но при Этом сначала вырабатывается функция sinN

0 поправка к косинусу п-разрядного кода угла, и запоминается на регистре

13, а затем вырабатывается функция

cosN которая суммируется со своей поправкой на сумматоре 10, включающей 2б единицу (n+2)-го разряда для округления, и производится определение знака.

Блок 9 синхронизации работает следующим образом.

По приходу импульса на вход за— пуска блока 9 синхронизации запускается генератор 23 одиночного импульса, на выходе которого генерируется отрицательный импульс, длительность 35 которого определяется временем задержки записи информации в регистр 2 прямого кода, преобразования ее на преобразователе 3 и преобразователе

4, считывания кода функции из блока 4р

5 памяти и прохождения его через промежуточный сумматор 12. На это время внутренний триггер, собранный на элементах ИЛИ-HE 21 и 22, устанавливается в единичное состояние им- 4 пульсом с входа запуска, длительность которого должна быть больше времени срабатывания генератора 23 одиночного импульса, а на выходе сумматора

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

Формула изобретения

Синусно-косинусный преобразователь, содержащий регистр прямого кода, регистр нуля, элемент ИЛИ, регистр, два сумматора, группу элементов И, блок синхронизации, преобразователь обратного кода в дополнительный, блок памяти, ш выходов которого (m — разрядность представления функции в блоке памяти) соединены с первой группой входов первого сумматора, и входов (n+1 — разрядность входного кода) второй группы которого соединены с выходами регистра нуля, вход первого операнда преобразователя обратного кода в дополнительный соединены с выходом регистра нуля, управляющий вход блока синхронизации соединен с входом задания режима работы преобразователя, первый выход блока синхронизации соединен с входом разрешения записи регистра, разряды информационного входа которого, кроме старшего, соединены с выходом суммы второго сумматора, выход переполнения которого соединен со старшим разрядом информационного входа регистра, выходы которого соединены с первыми входами элементов И группы, выходы которых соединены с (m-n) входами второй группы первого сумматора, выходы j-x старших разрядов блока памяти (j — 1,2,...m-n-2) соединены с первой группой входов второго сумматора и со сдвигом на один разряд в сторону старших разрядов с второй группой входов второго сумматора, выход (m-n-1)-ro старшего разряда блока памяти соединен с первым входом (ши-1)-го разряда второго сумматора, второй вход первого разряда которого соединен с выходом элемента ИЛИ, выходы старших разрядов с первого по (n+1)-й первого сумматора соединены с выходом преобразователя, о т— л и ч а ю шийся тем, что, с целью расширения функциональных возможностей преобразователя, за счет определения значений функций sinX u cosX о в интервале от 0 до 360, в него введены преобразователь углового перемещения в код, блок вычисления зна1339555 ка, сумматор по модулю два, преобразователь прямого кода в обратный, выход которого соединен с входом второго операнда преобразователя обрат5 ного кода в дополнительный вход аргумента преобразователя является входом преобразователя углового перемещения в код, выход которого соединен с информационным входом регистра пря- 1п мого кода, выходы (n+1) разрядов которого соединен с информационными входами преобразователя прямого кода в обратный, выход (и+2)-го разряда регистра прямого кода соединен с пер- 15 вым входом блока вычисления знака, выход (n+3)-го разряда регистра прямого кода соединен с первым входом сумматора по модулю два и вторым вхо-, дом блока вычисления знака„ выход рб которого является выходом знака искомой функции преобразователя, вход задания режима работы преобразоватепя соединен с входом разрешения записи регистра. прямого кода, второй выход блока синхронизации соединен с третьим входом блока вычисления знака и вторым входом сумматора по модулю два, выход которого соединен с управляющими входами преобразователя прямого кода в обратный и преобразователя обратного кода в дополнительный, выходы и-х старших разрядов которого соединен с адресными входами блока памяти, выход (и+1)-го разряда преобразователя обратного кода в дополнительный соединен с вторыми входами элементов И группы, выходы с первого по к-й (к с n/2 + 1), где к — ближайшее целое преобразователя обратного кода в дополнительный соединены с входами элемента ИЛИ, выход первого сумматора является выходом искомой функции преобраэоватеЛяа

ФигЗ ц

Составитель З.Шершнева

Редактор Е.Папп Техред М.Дидык Корректор M.Äåì÷èê

Заказ 4223/39 Тираж 672 Подписное

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

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

Производственно-полиграфическое предприятие, г. Ужгород, ул. Проектная, 4