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

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

Авторы: Бельцер, Маркус

ZIP архив

Текст

СОЮЗ СОВЕТСКИСОЦИАЛИСТИЧЕРЕСПУБЛИК 7/54 а) а ССУД АРСТВЕННО ДЕЛАМ ИЗО ОМИТЕТ СССРРЕТЕНИЙ И ОТНРЫТИЙ САНИ ОРСНОМУ ЕТ у)-го й коммутатора, вы в с первого по умматора соедираэователя. ходы старших разр И+1)-й выходного ены с выходом пре(54)(57) СИНУСНО-КОСИНУСНЫЙ ПРЕОБРАЗОВАТЕЛЬсодержащий регистр прямого кода, сумматор дополнительного кода, коммутатор, блок памяти на и входов (где И +1 - разрядность входного кода) и блок синхронизации, первый выход которого соединен с управляющим входом коммутатора, И старших разрядных выходов которого соединены с"входом блока памяти, первая группа И +1 информационных входов коммутатора соединена с прямыми выходами П +1 разрядов регистра прямо;го кода, вход которого соединен с (й+1)м разрядным входом аргумента преобразователя, выходы сумматора ,дополнительного кода соединены с второй группой И +1 информационных входов коммутатора, о т л и ч .а ю-. щ и й с я тем, что, с целью повыше-. ния точности за счет уменьшения дис. кретности измерения аргумента и функ" ции беэ увеличения объема памяти, в . него введены регистр нулевого кода, . триггер, элемент ИЛИ, выходной сум-матор, промежуточный сумматор, промежуточный,регистр и группа элементов И, первые входы которых соединены с выходом старшего разряда коммута-,: тора, В выходов блока памяти (гдей) ф разрядность представления функции в 1 п Х в блоке памятиуй и) соедине-. " ны с первыми входами соответствую-щих разрядов выходного сумматора, вторые входы И старших разрядов выходного сумматора соединены с выходом регистра нуля и первыми входами И старших разрядов сумматора дополнительного кода, первый вход (0+1)-го разряда которого соединен с выходом триггера, вторые входы разрядов сумматора дополнительного кода соединены с инверсными выходами разрядов регистра прямого кода, вход блока синхронизации соединен с входом задания режима работы преобразователя, второй выход блока синхронизации соединен с входом разрешения записи промежуточного регистра,й -Ивходов старших разрядов которого сое" динены с кодовыми выходами промежуточного сумматора, выход переполнения которого соединен с входом старшего разряда промежуточного регистра, выходы всех разрядов которого соединены с вторыми входами соответствующих элементов И группы, выходы которых с первого по (и 1-и -й соединены с вторыми входами младших . разрядов выходного сумматора соответственно с первогопо (э-,И)-й, :выход-го старшего разряда блока памяти (где ) = 1,2й-и) соединен с первым входом ) -го и вторивши входом +1-го .разрядов промежуточного сумматора, выход Ои-1)-го старшего разряда блока памяти соединен с первым входом 9 и-и)-го раз-,. ряда промежуточного сумматора, второй вход первого разряда которого соединен с выходом элемента ИЛИ, входы которого соединены с выходамиИзобретение относится к вычислйтельной технике и может быть использовано в цифро-аналоговых вычислитель ных устройствах (ВУ), например в навигационных ВУ, работающих с датчиками и потребителями, в которых углы выдаются и принимаются с помощью синусно-косинусных вращающихся трансформаторов или сельсинов.Одной из наиболее частых операций в таких цифро-аналоговых ВУ является преобразование двоичных кодов обрабатываемых углов в двоичные коды синусов и косинусов этих углов, в том числе для последующего преобразования кодов синусов и косинусов углов в напряжения. Такое преобразование кода угла в код синуса (ко" синуса) этого угла может выполнять- ся с помощью постоянных запоминающих устройств (ПЗУ), в которых записана таблица двоичных кодов значений функций я 1 и х в пределах квадранта - при изменении угла-аргумента (ОЯ (1-2 ), где и - число разрядов адреса ПЗУ - разрядов кода, подаваемого в ПЗУ угла. При этом в первом квадранте код функции я 1 и х получают в ПЗУ при подаче в него прямого кода угла, а код функции сов х - при подаче в ПЗУ я 1 п х дополнительного кода угла, В других квадрантах коды функций я 1 и х и сов х (в том числе знаки величин) получают по Известным из тригонометрии соотношениям, связывающим эти функции с функциями в 1 и х соя х угла х, расположенного в первом квадранте.Известен преобразователь, сконструированный на базе стандартного/ постоянного запоминающего устройства. Коды значений функции в 1 и х, записанные в ПЗУ имеют число двоичных разрядов, большее чем число разрядов адреса ПЗУ (число разрядов двоичного кода аргумента, подаваемого в ПЗУ). При использовании ПЗУ это позволяет интерполировать значения функции в 1 и х (сов х) в промежутках между значениями, записанными в ПЗУ, и тем самым уменьшить дискретность изменения аргумента. В указанном преобразователе число разрядов адреса - 10, так что дискретность из-, менения угла, подаваемого в ПЗУ, рав на 5,3 (90 ф/ 2),. Значения же функции в 1 и х записаны в виде 16-ти разрядных кодов, так что при интерполяции можно уменьшить дискретность изменения угла от 2 до 64 раз 1),Цель изобретения - повышение точности эа счет уменьшения дискретности изменения аргумента и функции 40 без увеличения объема памяти.Поставленная цель достигается тем,что в синусно-косинусный преобразо,ватель, содержащий регистр прямого кода, сумматор дополнительного кода,45 коммутатор, блок памяти на и входов,(где и + 1 - разрядность входного кода) и блок синхронизации, первый выход которого соединен с управляющим входом коммутатора, и старших разрядных выходов которого соединены 50 с входом. блока памяти, первая группа и + 1 информационных входов коммутатора соединена с прямыми выходами и + 1 разрядов регистра прямого кода, вход которого соединен с 55 (и + 1)-м разрядным входом аргумента преобразователя, выходы сумматора дополнительного кода соединены с второй группой и + 1.информационных входов коммутатора, дополнительно Известное устройство имеет следующие недостатки: во"первых, при необходимости уменьшения дискретности изменения аргумента для них требуется ЦВМ или заменяющее ее ВУ, осуществляющее интерполяцию; во-вторых, при интерполяции для уменьшения дис 60 введены регистр нулевого кода, триггер, элемент ИЛИ, выходной сумматор,промежуточный сумматор, промежуточный регистр и группа элементов И,первые входы которых соединены с вы ходом старшего разряда коммутатора,65 кретности изменения аргумента дажетолько в 2 раза требуется по два обращения ПЗУ при выработке каждой иэфункций я 1 и х и сов х (для получения двух соседних значений функции)и вычисления разностей соседнихзначений.Наиболее близким по техническойсущности к изобретению является преобразователь двоичного кода угла в О двоичный код синуса (косинуса) этого угла, содержащий датчик прямогои дополнительного кодов угла, блокпамяти с записанной в нем таблицейдвоичных кодов значений функции в 1 и х 1 при изменении угла в пределах квадранта, коммутатор и блок синхронизации, адресные входы блока памятиимеют и разрядов и через коммутаторподключены к выходам датчиков прямого и дополнительного кодов углов,управляющий вход коммутатора подключен к выходу блока синхронизации, адатчики прямого и дополнительногокода выполняют функции регистра и 25 сумматора )21.Недостатком данного преобразователя является то, что без ВУ-интерполятора он позволяет вырабатыватькоды значений функций в 1 и х (сов х)при изменении аргумента с дискрет"ностью 90 /2", определяемой числомразрядов адреса блока памяти, а принеобходимости уменьшить вдвое этудискретность позволяет выполнить этотолько путем удвоенйя объема блока 35 памяти.а выходов блока памяти (где в - разрядность представления функции з 1 п хв блоке памяти, в п ) соединены спервыми входами соответствующих разрядов выходного сумматора, вторыевходы п старших разрядов выходногосумматора соединены с выходом ре-,гистра нуля и первыми входами и стар.ших разрядов сумматора дополнительного кода, первый вход (и + 1)-горазряда которого соединен с выходомтриггера, вторые входы разрядов сумматора дополнительного кода соеди-нены с инверсными выходами разрядоврегистра прямого кода, вход блокасинхронизации соединен с входом задания режима работы преобразователя,второй выход блока синхронизациисоединен. с входом разрешения записипромежуточного регистра, в-ивхо-дов старших разрядов которого соединены с кодовыми выходами промежуточного сумматора, выход переполнениякоторого соединен с входом старшегоразряда промежуточного регистра выходы всех Разрядов которого соединены 25е вторыми входами соответствующих :элементов И группы, выходы которых спервого по (в-и) -й соединены с вто-.рыми входами младших разрядов выходного сумматора соответственно с первого по (ш-п)-й, выход 3-го старше:- . ЗОго разряда блока памяти (где 3 = 1,2,ш-и) соединен с первым входом 3-го и вторым входом (3+1)-горазрядов промежуточного сумматора,выход (в-и)-го старшего разряда " 35блока памяти соединен с первым вхо-,. дом (ш-и)-го разряда промежутбч",ного сумматора, второй .вход первогоразряда которого соединен с выходомэлемента ИЛИ входы которого соедиУиены с выходами с (- + 1)-го по п-.й.йкоммутатора, выходы старших разрядовс первого по (и + 1)-й выходногосумматора соединены с выходом преобразователя,45На чертеже представлена блоксхема предлагаемого преобразователя.Синусно-косинусный преобразова -тель содержит регистр 1 прямого кодасумматор 2 дополнительного кода,регистр 3 нуля, триггер 4, коммутатор 5, блок 6 синхронизации, .блок 7памяти, элемент 8 ИЛИ, сумматор 9промежуточный, сумматор 10 выходной,регистр 11 и группу 12 элементов КПрименение предложенного преобразователя позволяет уменьшить вдвоедискретность изменения аргументафункции без удвоения объема блокапамяти, причем это осуществляетсявведением нескольких простых.микро 60схем-сумматоров и элементов И.При этом. элементы и используютсядля учета нуля или единицы (и+1)-Го .по старшинству разряда кода угла, иэтих схем вводится не менее двух,65 так как одна требуется для собственного учета (и+1)-го разряда кодаугла, вторая - для последующего округления тем или иным способом полученного кода синуса (косинуса) углапо значению (и+2)-го по старшинству разряда кода синуса (косинуса)угла.Поскольку выпускаемые микросхемыблоков памяти выпускаются с .числомразрядов кодов функции в 1 п х, нанесколько разрядов превышающим числоп разрядов адреса (разрядов кода аргумента), то при использовании только и+1 разрядов кодов функции з 1 п хотбрасывание разрядов, начиная с(и+2)-го разряда, приводит к ошибкедо единицы оставляемого (и+1)-го разряда (в случае, когда отбрасываетсякод 1111).Для повышения точности выработки(п+1)-разрядных кодов синуса (косинуса) угла используется элементИЛИ 8.Указанная единица вводится в(и+2)-й разряд вырабатываемого кодасинуса (косинуса) угла, и благодарй этому выполняется округлениеэтого кода по первому отбрасываемому(и+2)-му разряду вследствие чегоошибка уменьшается вдвое.Однако при кодах функции з 1 п х,состоящих только из единиц от первого до (и+2)-го по старшинству двоичных разрядов, добавление к выданному из блока 7 памяти коду синуса(косинуса) угла единицы (и+2)-го разряда приводит к переполнению. При использовании данного преобразователяв составе ВУ, содержащего устройст-,ва, которые могут обнаружить переполнение,и устранить его тем или.иным способом, например в ВУ на основе микропроцессоров, такой недостаток отсутствует.В ВУ, в которых выработанные преобразователем коды синуса (косинуса)аргумента используются бее анализа иисправления переполнения, переполнение не должно возникать,Для повышения точности выработки(и+1)-разрядных кодов синуса (коси"нуса) угла и устранения случаев переполнения выдаваемых кодов испольвуется элемент ИЛИ 1, вырабатывающий нуль при коде угла на выхо е коммутатора, меньшем угла2 2 (" ф рад, и единицу при кодахуглов, больших этого угла.Триггер 4 обеспечивает преобразование прямого кода аргумента в дополнительный путем подключения единичного выхода ко входу младшего разряда сумматора 2Преобразователь работает следующим образом, В блок б синхронизации поступает сигнал выработки кода функции з 1 п х30 илк сов х, а в регистр 1 - (и+1)-разрядный код угла В(, )(индексом п+1внизу обозначена разрядность кодаЯ(и )Если, например, поступил сигнал выработки кода функции в 1 п х по кодуЯ(,) угла х, то блок б синхронизациивыдает в коммутатор 5 сигнал подключения адресных входов блока 7 памятик выходам сумматора 2, вырабатывающего дополнительный код Яя,),Старшие и разрядов дополнительного кода угла в виде кода Я, поступают на адресные входы блока 7памяти, и по ним выдается код функции в 1 п Вя (конкРетные эначениЯ (5функций, получаемые по соответствующим кодам, в дальнейшем обозначаются как функции этих кодов)Старшие щ-иразрядов этого кода(в рассматриваемом примере - четы"ре) поступают на входы сумматора 9как 4-х разрядный код, причем он поступает на первые входы соответствующих разрядов сумматора 9, и сдвинутый монтажно на один разряд, - навторые входы сумматора 9, Таким образом, в сумматоре 9 этот код склаг 1дывается с кодом, умноженным на 2т.е. происходит умножение этого кодана 1,5. Этот код поступает иэ сум.матора 9 на входы регистра 11 изаписывается там по сигналу записикода, поступающему в регистр 11 изблока б синхронизации с задержкрйот укаэанного выше сигнала в коммутатор 5 о передаче в блок 7 кода Я 35на время прохождения кода через коммутатор 5, выработки кода в 1 п Яя покоду Вя и суммирования кодов в сумматоре 9.Из регистра 11 код поступает на 40входы двухвходовыхэлементов И 12,затем блок б синхронизации выдает вкоммутатор 5 сигнал передачи на адресные входы блока прямого кода Вугла из датчика 1, При этОм иэ блО 45ка 7 на входы сумматора 10 выдаетсякод функции в 1 п В, на другие входыи старших. разрядов поступают нули,а (и+1)-го и следующих по старшинству разрядов сумматора 10 поступаеткод с выходов элементов И. На первые входы элементов И 12 подается(и+1)-й разряд кода угла с выходакоммутатора 5. Если значение этогоразряда равно О, код из регистра11 через элементы И 12 не проходит, . 55если оно равно 1, то код с ре.гистра 11 проходит на сумматор 10.Таким образом, элементы И 12 осущест.вляют умножение одноразрядного числа - значения (и+1)-го разряда кода )угла - на 4-х разрядный код функциив 1 п В, умноженный иа 1,5. Если кодна выходе элементов И 12 обозначитькак 1, (и+1)-й разряд кода В(4) какДЯ, то получим65 Я= 1,5 в 1 п Яи 0 ЯНо, так как В+ Я -90, тоов 1 п Яр сов ВпСледовательноВц=1,5 сов Я 3 В = сов В,1,58 Я.Но двоичные коды, поступающие в блок 7 представляют собой правиль 10 ные двоичные дроби от угла 90 , в которых опущены О единиц и запятая перед дробью. Если любой иэ этих кодов умножить на Я /2 % 1, 5, то получатся коды, представляющие собой двоичные дроби от радиана, так что 1, 5Я - это угол в радианах. Но тогда код В представляет собой приращение функции в 1 п Я при изменении угла на 8 В.8 вйп Я= сов Яп 0 Я (рад).А сумма значения функции в 1 п Яя и приращения 8 в 1 п Я представляет собой значение функции в 1 п(В,+Я)81 п(В+3 Я) =в 1 п Я+сов Я ЗЯ(рад)Таким образом, сумматор 10 осуществляет выработку функции в 1 п(В+ +0 В)=в 1 п Я т.е. значение синуса угла, заданного (п+1)-разрядным кодом, что и требуется для уменьшения вдвое дискретности изменения углапосравнению с углом, заданным и-разрядным кодом, поступающим в блок 7 памяти.При этом необходимо учитываты зна. чения функции" вхп х,записанные в бло ке 7 памяти, всегда меньше единицы и представляют собой правильные двоичные дроби, в которых опущены О единиц и запятая перед дробью; единица первого по старшинству разряда этой дроби .обозначает 2 , второго разряда - 2 и т.д.; первый по старшинству разряд кода в 1 п Яр=сов Я подается на блок 7 памяти на вход первого по старшинству разряда сумматора 9, так что на выходе этого разряда сумматора 9 единица означает ту же величину, что и единица старшего разряда кода в 1 п В, т.е. 2 ; единицы на выходах следующих по стар. шинству разрядов сумматора 9 означают соответственно 2 , 2 и т.д единица на выходе переноса изстаршего разряда сумматора 9 означает 1; регистр 11 повторяет код на выходах сумматора 9, так что на его выходах единицы кода означают соответственно 1, 2 , 2, 2 , 24; значение угла, выражаемое единицей (и+1)го разряда, поступающего с (и+1)-го разряда выхода коммутатора 5,иа вторые входы элементов И 12, равно 90 ф2-.("+"; элементы И 12 умножают угол 90 ф 2(щ ) на величину 1, 5 сов Я), поступающую из регистра 11 в зиде кодасо значениями единиц: 1, 2 ф, 2"и т.д., поэтому на выходах элементов И 12 единицы кода означают соответственно (учитывая перевод в радианы за счет коэффициента 1 /2 Ф 1, 5):-( - (и(я 2)2-Я, 2-0 Н 1) Ф 1)ф 4)2-4, 2-ни -(пю) 0 При монтажном сдвиге кода с выходов старших разрядов блока 7 памяти при подаче его в сумматор 9 ос тается свободным второй вход старшего разряда, который соответствует после прохождения через элементы И 12 (и+2)-му разряду кода з 1 п Я).Для округления по этому разряду кода Функция я 1 п НП на этот вход сумматора 9 подается единица с элемента ИЛИ 8,Для устранения случаев переполнения эта единицаподается, когда код синуса угла не содержит единицы во всех старших разрядах до (и+2)-го включительно, т.е. при углах, которые не превышают угла (90 ф-), где)К =42 2рад% 9 Оф 2 (2 )Но тогда дополнительный код должен быть не меньше О(,.Такая проверка дополнительного кода М я производится элементом ИЛИ 8.Выработка кода Функции соз М(-) осуществляется аналогично, но прн этом сначала передается прямой код Нд, по нему вырабатывается н запоминается поправка к косинусу п-разряд-. ного кода угла, а потом подается дополнитеЛьный код Бц, в блоке 7 памяти вырабатывается значение соз И, которое в сумматоре 9 суммируется со своей поправкой, включающей единицу (и+2)-го разряда для округления.Применение предлагаемого преобразователя позволяет уменьшить вдвое ошибки из-за дискретности изменения аргумента функции е 1 п х (соя х) без увеличения объема блока памяти с помощью несложной схемы.1042013 Составитель А. Зоринелемеш Техред Т.Маточка Корректор О. Тиг едактор каз 712 лиа П Патентф, г. Ужгород, ул. Проектная 49 Тираж 706ВНИИПИ Государств по делам изобрет 113035, Москва, Ж,Подписное5 ного комитета СССРий и открытийаушская наб., д. 4/

Смотреть

Заявка

3314638, 06.07.1981

ПРЕДПРИЯТИЕ ПЯ В-8117

БЕЛЬЦЕР ЛЕОНИД СОЛОМОНОВИЧ, МАРКУС ВЛАДИМИР СЕМЕНОВИЧ

МПК / Метки

МПК: G06F 7/548

Метки: синусно-косинусный

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

Код ссылки

<a href="https://patents.su/6-1042013-sinusno-kosinusnyjj-preobrazovatel.html" target="_blank" rel="follow" title="База патентов СССР">Синусно-косинусный преобразователь</a>

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