Цифровой преобразователь координат
Похожие патенты | МПК / Метки | Текст | Заявка | Код ссылки
Текст
(19) (11) 3(51) С 06 Р 7/548 ОПИСАНИЕ ИЗОБРЕТЕНИЯ Н АВТОРСКОМУ СВИДЕТЕЛЬСТВУ выходу третьего сумматора-вычитателя,второй информационный вход третьего множительного блока подключен к ныходу блока памяти масштабного коэффици. ента,выходы программного блока управ ления с десятого по двенадцатый подключены к управляющим нходам четвертого, пятого и шестого коммутаторов соответственно. ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССРПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ(56) 1. Авторское свидетельство СССР Р 445042, кл. С 06 Г 7/38, 1973.2, Авторское свидетельство СССР591860, кл. ( 06 Г 7/548, 1976,3, Байков В.Д., Смолон В.Б, Аппаратурная реализация элементарных Функций в ЦВМ. Л., Изд-во ЛТУ, 1975, с. 71, рис. 21 (прототип).(54)(57) ЦИФРОВОЯ ПРЕОБРАЗОВАТЕЛЬ КООРДИНАТ, содержащий блок памяти исходных координат и угла, первый, второй и третий сумматоры-вычислители, первый и второй сдвигатели, первый, второй и третий коммутаторы, блок памяти констант, блок памяти величины, обратной коэффициенту деформации, и программный блок управления, причем первый информационный вход первого коммутатора подключен к выходу второго сумматора-вычитателя, а выход - к информационному входу первого сдвигателя, выход которого подключен к информационному входу перного сумматора-вычитателя, пер вый,информационный вход второго коммутатора подключен к выходу первого сумматора-вычитателя, а выход - к информационному входу второго сдвигателя, выход которого подключен к информационному входу второго сумматора-вычитателя, первый информационный вход третьего коммутатора подключен к выходу блока памяти констант, а выход - к информационному входу третьего сумматора-вычитателя, нход которого соединен с входом прсдраммного блока управления, выходы которого с перного по денятыи подключены к управляющим входам первого, второго и третьего коммутаторов, первого и второго сдвигателей, первого,второго и третьего сумматоров-вычитателей и блока памяти констант соот.ветственно,ныходы первого и второго сумматоров-вычитателей являютсявыходами преобразователя, о т л ич а ю щ и й с я тем, что, с цельюповышения быстродействия, в неговведены первый, второй и третий мнс.жительные блоки, четвертый, пятыйи шестой коммутаторы и блок памятимасштабного коэффициента, причемпервый, второй и третий выходы бло -ка памяти исходных координат и углаподключены к первым информационнымвходам четвертого и пятого коммутаторов и третьего множительного блокасоответственно, вторые информационные входы четвертого и пятого комму- Са таторов подключены к выходам соответстненно второго и первого сумматоров вычитателей, а выходы - к первым Информационным входам соответственно первого и второго множительных бло:ков, выходы которых подключены к вто рым информационным входам соответственно первого и второго коммутатороввторые информационные входы первого и второго множительных блоков подключены к выходу шестого коммутатора, информационные входы которого подключены к выходу блока памяти величины, обратной коэФфициенту деформации, и. Изобретение относится к вычисли-тельной технике и может быть исполь зовано в цифровых вычислительных устройствах для решения некоторых тригонометрических задач,Одной из задач, часто решаерах, 5 например, в вычислительных устройствах навигационных систем, является задача преобразования координат при повороте системю координат на угол фИзвестен алгорим Волдера для ны полнения преобразования коордйнат в цифровых вычислительных машинах (ЦВИ), заключающийся в следующем.Преобразование координат на угол О осуществляется последовательными, 15 поворотами. осей координат на углы ; дс 1 ф 2, представляющие собой члены ряда, в которых раскладывается угол й д 90 и 20н:Р ;огсЕ 2, ф ггде коэффициентыравны +1 или -1и определяются по зависимости25 5,=э 1 о(М,-Е М,;о 2 с 1(2 ) 6 соскф30 Угол ас 1 ф 2добавляется к частной суммек, =,2аес 12 2 если эта сум-Оме после (1.-1)-1 итерации меньше уг ла Ж (угол Ко (;.,)О), и вычитается из частной суммы к .если эта сумма больше угла К (угол 0 с.,)О) .Координаты х . и у при . й итерации вычисляются по координатам 40 х;., и у , полученным при предыдущей (1-1)-й итерации, и коэффициенту ; из зависимостейи) 50 Число (и+1) итераций определяетсятребуемой точностью вычислений: причисле итераций (и+1) погрешностьсуммарного поворота осей координатне превышает угла 2" 45.В связи с тем, что при каждой1-й итерации при поворотеосей коор. динат на уголагс 1 2 координаты,вычисляемые по алгоритму Волдера,деформируются по сравнению с координатами, которые были бы вычисленыпо точным формулам преобразования ко.ординат, и Бес (агсегг 2) гее 2-г: рае,после (и+1);итераций 1 координаты деформируются в К раз, где К в .коэффициент деформации2,П ЕЕг 2 ег 1,1:О 65 Эту деформацию устраняют, умножив исходные координаты хи уна величину 1/К, обратную коэффициенту деформации К (или же деформация устраняется умножением на величину 1/К координат х и у, нычисленных при последней и-й итерации) .В снязи с простотой операций (суммирование и сдвиг кодов) и малым числом запоминаемых констант (кодов углов огс(Г 2 ) аглоритм Волдера часто используется в ЦВИ.Известно предназначенное для решения тригонометрических задач по алгоритму Волдера арифметическое устройстно, которое содержит четыре канала координат х и у, угла Ж и величины Е , задаваемой для выработки функции К:агсэ и Х/х. В каналах х, у, г содержатся сдвигающие регистры, подключенные к их выходам и управляющим входам устройства коммутаторы, и подключенные к выходам регистров и коммутаторов сумматор в канале г и нычитатели н каналах х и у. Выход сумматора в канале г подключен к входу сдвигающего регист. ра и к выходу г устройства, подключенному .к входу блока управления.Выходы вычитателей в каналах х и у подключены к перным входам сумматоров-вычитателей, вторые входы которых через коммутаторы подключены к управляющим входам устройства и выходам сдвигающих регистров; коммутатор канала х - к выходу регистра канала у, коммутатор канала у - к выходу регистра канала х. Выходы сумматоров-вычитателей являются выходами х и у устройства, подключенными к входам блока управления. Канал ж содержит сумматор-вычитаетель и сдвигающий регистр, вход которого подключен к выходу, а выход - к первому входу сумматора-вычитателя.Второй нход сумматора-вычитателя подключен к входу к устройства, а выход является выходом Ж устройства и подключен к входам блока управления, Выходы устройства подключены к выходам блока управления, который содержит узел памяти константас(р 2 и вычитатели, определяющие знаки разности (г-у,) при выработке функциидгсчи г(х и разности (3) при преоб. разовании координат по алгоритму Волдера (13Однако данное устройство реализует алгоритм Волдера со следующими особенностями.При каждой 1-й итерации По алгоритму Волдера угсол;ас 1 г 2вводится два раза, в связи с чем 1-й коэффициент деформации К;=1+2 ;Поэтому после двойной 1-й итера- циикн 1)х х г1 НЧ = Чн("ф ) =1 ф Угде х у - недеформированные ко,ф (нординаты, которые были 5бы выработаны послеэтой итерации по точным формулам преобразования координат.При каждой итерации в каждом из .10 каналов деформация устраняется тем, что в сумматор и вычитатели из сдви. гающих регистров вводятся как сама координата, так и 1 (через коммутатор) эта же координата, сдвинутая вправо на 1 разрядов, причем благодаря выполнению итерации два раза полный сдвиг координаты вправо происходит на 21 разрядов. Сдвинутая на 21 разрядов вправо координата вычитается из несдвинутой координаты, деформированной после выполнения преобразования по алгоритму Волдера и содержащей дополнительное деформирующее координату слагаемое х 2н или у; 2 . Вычитание из деформированной координаты указанной (сдви. нутой на 21 разрядов вправо) устраняет деформацию.Кроме того, реализация трех зависимостей (3) - (5) алгоритма Волде ра производится не в одном вычислительном блоке, а в трех параллельно работающих каналах х, у и К (канал к при решении задачи преобразования координат не используется) . Однако 35 время вычисления увеличивается из-. за устранения деФормации не один раз, а (п+1) раз - при каждой итера. ции, причем итерации в устройстве двоичные. 40Таким образом, данное устройство характеризуется низким быстродействием.Известно также устройство для вычисления значений координат; 45 вектора, содержащее три канала х, у и К , выходы которыхходами устройства. Каждый канал содержит сумматор-вычитатель и сдвигаю щий регистр, вход которого подключен к выходу своего сумматора-вычитателя, а выход - к входу этого сумматора-вычитателя, второй вход которого в каналах х и у через коммутатор подключен к выходам сдвигаю- щего регистра другого канала, Вто рой вход сумматора-вычитателя канала й подключен к выходу четвертого сдвигающего регистра, входы которого подключены к выходам блока памятиконстант и элемента И. Входы элемента И подключены к выходам четвертого сдвигающего регистра и управляюще .му входу устройства (2.В данном устройстве зависимости (3) - (5) алгоритма Волдера решаются 65 в трех параллельных каналах, что сокращает время вычисления. Кроме того,в блоке памяти констант запоминаются.(и+1) /3 различных констант асС 2которые при выполнении первых (и+1) /3итераций поступают из блока памяти Лконстант в сумматор-вычитатель канала к, через четвертый сдвигающий регистр без сдвига кода, так как элемент И закрыт. После этого сигналом,поступающим на вход устройства, элемент И открывается, и все следующиеконстанты ас 1(5 2 , поступающие всумматор-вычитатель канала к, из четвертого сдвигающего регистра, образуются путем сдвига последней записанной в блоке памяти константывправо на число разрядов начиная содного разряда до числа 2(3 и разрядов, Благодаря этому в три раза сок.ращается число констант, подле--жащих хранению в блоке памяти кон-Фстант, но несколько увеличиваетсявремя вычисления из-за необходимостисдвига кодов для формирования констант. Недостатком указанного устройства является большое время вычисленияиз-за необходимости выполнения всех(и+1) итераций по алгоритму Волдера,причем с увеличением номера итерации увеличивается время ее выполнения из-за увеличения числа разрядовсдвига кодов координат перед пересылкой их в другой канал,Наиболее близким к изобретениюпо технической сущности являетсяцифровой преобразователь координат,содержащий блок памяти исходных координат и угла, три подключенных к нему канала м , х и у, в каждом изкоторых решаются зависимости соответственно (3) - (5), программныйблок управления и блок памяти величины 1/1, обратной коэффициенту деформации. Каждый из каналов х и усодержит последовательно включенныекоммуТатор, сдвигатель и накапливающий сумматор-вычитатель, причем вто.рой вход каждого коммутатора подключен к блоку памяти исходных координат и угла, первый вход - к выходудругого канала, а выходы каналовявляются выходами преобразователя,Канал Ю содержит блок памяти констант, подключенный к нему первымвходом третий коммутатор и подключенный к коммутатору накапливающийсумматор-вычитатель, Второй входкоммутатора подключен к блоку памяти исходных координат и угла, выход.сумматора-вычитателя подключен квходу программного блока управления,к другому входу которого подключенвыход; блока памяти величины 1/)с.Управляющие входы сумматоров-вычитателей, сдвигателей, коммутаторови блока памяти констант подключенык выходам программного блока управления от первого до девятого (31.Известный цифровой преобразователь координат работает по командамиэ программного блока управления,в котором содержится программа вычисления в виде последовательностинаборов команд, посылаемых в следующих друг эа другом тактах в управляемые блоки. 1 ОВ йачале работы коды исходных координат и угла через коммутаторы вводятся в регистры сумматоров-вычитателей, Потом по командам из программного блока управления выполняются 15итерации по алгоритму Волдера от1=0 до 1=п. При каждой 1-й итерациивод одной координаты поступает в канал другой координаты, сдвигаетсявправо на 1 Разрядов и алгебраически суммируется с хранящимся в регистре сумматора-вычитдтеля кодом другойкоординаты: прибавляется и вычитается в соответствии со знаком плюсдля координат х и минус дляординаты у и со значением коэффициента ( . Одновременно в канале с(,иэ полученного при предыдущей итерации остаточного угла и в(;,1) вычитается угол ; ас 1 Г 2 ", а программныйблок управления по знаку полученноГонового остаточного угла к О определяет значение коэффициента ;, дляследующей (1+1)-й итерации.После выработки кодов х и у привыполнении последней итерации с номером 1=п эти коды по командам программы умножения умножаются в сумматорахвычитателях на величину 1/Е, чемустраняется деформация координат,возникающая при выполнении итераций 40по алгоритму Волдера,Благодаря одновременному решениювсех трех зависимостей(3) - (5) алгоритма Волдера для преобразованиякоординат цифровой преобразователь 45кодрдинат выполняет вычисление эавремя примерно в три раза меньшеечем классическая ЦВМ, содержащая одно арифметическое устройство. Темне менее время вычисления в указанном преобразователе остается большим иэ-эа необходимости выполнениявсех (и+1) итераций по алгоритмуВолдера, особенно в тех случаях,когда требуется высокая точность вы"числения и, соответственно большоечисло итераций и сдвиг кодов координат во второй половине итераций набольшое число разрядов..Цель изобретения - повышение быстО родействия цифрового преобразователя координат,Поставленная цель достигается тем, что в цифровой преобразователь координат, содержащий блок памяти 65 исходных координат н угла, первый, второй и третий сумматоры-вычитателн, первый н второй сдвигатели, первый, второй и третий коммутаторь 1, блок памяти констант, блок памяти величины, обратной коэффициенту де - формации, и программный блок управления, причем первый информационный вход первого коммутатора подключен к выходу второго сумматора-вычитателя, а выход - к информационному входу первого сдвигателя, выход которого подключен к информационному входу первого сумматора-вычитателя, пер вый информационный вход второго коммутатора подключен к выходу первого сумматора-вычитателя, а выход - к информационному входу второго сдвигателя, выход которого подключен к информационному входу второго сумматора-вычитателя, первый информацион - ный вход третьего коммутатора подключен к выходу блока памяти констант а выход - к информационному входу третьего сумматора-вычитателя, выход которого соединен с входом программного блока управления, выходы ко - торого с первого по девятый подключены к управляющим входам первого, второго и третьего коммутаторов, первого и второго сдвигателей, первого, второго и третьего сумматоров-вычитателей и блока памяти констант соответственно, выходы первого и второго сумматоров-вычитателей являются выходами преобразователя, введены первый, второй и третий множительные блоки, четвертый, пятый и шестой коммутаторы и блок памяти масштабного коэффициента, причем первый, второй и третий выходы блока памяти исходных координат и угла подключены к первым информационным входам четвертого и пятого коммутаторов и третьего множительного блока соответственно, вторые инФормационные входы четвертого и пятого коммутаторов подключены к выходам соответственно второго и первого сумматоров-вычитателей, а выходы - к первым информационным входам соответственно первого и второго множительных блоков, выходы которых подключены к вторым информационным входам соответственно первого и второго коммутаторов, вторые информационные входы первого и второго множительных блоков гЫдключенык выходу шестого коммутатора, информационные входы которого подключены к выходу блока памяти величины, обратной коэффициенту деформации, и выходу третьего сумматора-вычитателя, второй информационныйвход третьего множительного. блока подключен к выходу блока памяти масштабного коэффициента, выходы программного блока управления с десятого по двенадцатый подключены крого используется, например, микросхема К 589 ИКО 1), узел 34 памяти те кущих команд, узел 35 памяти кодовуправления адресом следующей команды и генератор 36 тактовых импульсон.Преобразователь работает.по программе, заложенной н программном блоке 19 управления н виде последовательности кодов, отдельные разряды 10 15 20 ключен к информационному входу треть . его сумматора-вычитателя 4. К выходам сумматоров-вычитателей 3 и 2 подключены также вторые информационные входы соответственно четвертого 10 и пятого 11 коммутаторов, первые информационные входы которых подключены к первому и второму выходам бло ка 1 памяти исходных координат и уг-. ла. К выходу сумматора-вычитателя 4 подключен информационный вход шестого коммутатора -12,.а информационный вход коммутатора 9 подключен к выходу блока 13 памяти констант.К выходу коммутатора 12 подключены вторые информационные входы первого 14 и второго 15 множительных блоков, первые информационные входы которых подключены к выходам коммутаторов 40 10 и 11 соответственно, ,Первый.инфор мационный вход третьего множительного блока 16 подключен к третьему выходу блока 1 памяти исходных координат и угла, второй информационный 45 вход - к выходу блока 17 памятимасштабного коэффициента, а выход к второму информационному входукоммутатора 9. Выход блока 18 памяти величины, обратной коэффициентУ деформации, подключен к информационному входу коммутатора 12, а выход сумматора-вычитателя 4 соединен с . входом программного блока 19 управления, выходы которого с первого по 55 двенадцатый подключены к управляющим входам первого 7, второго 8 и третьего 9 коммутаторов, первого 5 и второго 6 сдвигателей, первого 2, второго 3 и третьего 4 сумматоров-вычитате- щ лей, блока 13 памяти констант, а также четвертого 10, пятого 1.1 и.шестоуправляющим входам четвертого, пятого и шестого коммутаторов соотнетстненноНа фиг. 1 представлена структурная схема цифрового преобразователя координат; на фиг. 2 - структурная схема программного блока управления;на фиг. 3 - блок-ссема алгоритма ра-.боты программного блока управления.Преобразователь содержит блок 1памяти .исходных координат и угла,первый 2, второй 3 и третий 4 сумматоры-вычитатели, . первый 5 и второй б сдвигатели, выходы которых подключены к информационным входам соответ ственно первого 2 и второго 3 сумматоров-вычитателей, а информационные входы - к выходам соответственно первого,7 и, второго 8 коммутаторов, первые информационные входы которых подключены соответственно к выходам сумматоров-вычитателей 3 и 2, и третий коммутатор 9, выход которого подго 12 коммутаторов. Выходы сумматороввычитателей 2 и 3 являются выходамипреобразователя. Блок 19 имеет вход 20 и выходы 21-32 и содержит узел 33 микропрограммного упранленйя (н качестве котоили группы разрядов которых представляют собой команды, выдаваемые в управляемые блоки. В коммутаторы7-12 - команды подключения к информационному входу следующего за коммутатором блока выхода одного издвух блоков, подключенных к информационным входам коммутатора, н сумма;торы-нычитатели 2 - 4 - команды прибавления или вычитания кодон, поступающих иэ сднигателей 5 и б и блока 13 памяти констант, к коду (из кода),записанному н регистре сумматоравычитателя при предыдущей итерации,и команды записи кодов н регистры,в сдвигатели 5 и б - команды сдвигакодов н соответствии с программойвычисления, в блок 13 памяти констант - команды выборки и выдачи константы, соответствующей номеру итерации. Команды записаны н узле 34 н виде кодов, н которых для каждого иэ управляемых блоков 2 - 13 цифровогопреобразователя координат отведеносвое поле. для коммутаторов 7 - 12 одноразрядные поля (код команды 10 "передача кода с первого входа коммутатора на выход, код 1 - передача кода с второго входа на выход);для сумматоров-вычитателей 2 - 4днухразрядные поля (код команды 00 сложение, код команды 01 - вычитание,код команды 10 - запись н регистр); для сднигателей 5 и б и блока 13 памяти констант - Р -разрядное поле, где ) - целое число, превышающее Ео ( /2+1),Преобразователь работает следующим образом.По командам из блока 19 коммутаторы 10 и 11 передают в множительные блоки 14 и 15 исходные координаты хи уиз блока 1 памяти исходных координат,и угла, а коммутатор 12 - величину 1/)с из блока 18 памяти величины, обратной коэффициенту деформации. Коммутаторы 7 и 8 передают коды хс/)с и ус/)с иэ множительных блоков 14 и 15 в сдвигатели 5 и 6, в которых по командам из блока 19 установлен нулевой сдвиг кодов. Величины х,/)с и у,/)с через; сдвигатели 5 и б поступают в сумма 107 б 903 10торы-вычитатели 2 и 3, где по коман дам из блока 19 записываются в регистры. Одновременно с укаэанными операциями коммутатор 9 передаетв сумматор-вычитатель 4 код 2 ис),исх из множительного блока 1 б, на информационные входы которого внодятсялкоды иск из блока 1 и 2 и из блока 17 памяти масштабного коэффициента, КоД 2 и М ис по команде из бло - ка 19 записывается в регистр сумма- )О тора-вычитателя 4.Затем по командам из блока 19 коммутаторы 7 и 8 подключают к информационным входам сднигателей 5 и б ны - ходы соответственно второго 3 и пер- )5 ного 2 сумматоров-вычитателей, комму. татор 9 подключает к информационному входу третьего сумматора-вычитателя 4 выход блока 13 памяти констант и преобразователь по командам из блока 19 выполняет последовательно итерации по зависимостям (3) - (5) алго ритма Иолдера от итерации с номером 1=0 до итерации с номером 1=п/2, где 2 45 - заданная максимальная погрешность учета углами ис .При каждой 1-й итерации по командам иэ блока 19 с выхода сумматоранычитателя 3 через коммутатор 7 в сдвигатель 5 поступает код у , выра ботанный при предыдущей (1 - 1) - й итерации, а с выхода сумматора-нычитателя 2 через коммутатор 8 в сдвига- тель б поступает код х выработанный при предыдущей (1-1)-й итерации; 35 сдвигатели 5 и ь сдвигают коды у; и х,на 1 разрядов вправо и пере-. дают сдвинутые коды у, 2 " и х;, 2 в сумматоры-вычитатели 2 и 3 соответственно; в сумматорах-нычитателях 40 2 и 3 коды у; 2 и х;, 2 " в зависимости от канала и значения коэффициента либо прибавляются к кодам х;., и у. соответственно, хранящимся н регистрах сумматоров-вычитателей 2 и 3, либо вычитаются из кодов х,45 и у,(коэффициент , определенный при предыдущей (1-1)-й итерации, выдается из блока 19); полученные коды х; и у записываются в регистры сумматоров-нычитателей 2 и 3 нместо 50 хранившихся там до этого кодов х, и у , одновременно с перечисленными операциями коммутатор 9 передает из блока 13 в сумматор-вычитатель 4 код 1-й константы Огс 1 Г 2 ", который 55 с учетом выработанного при предыдущей (1-1)-й итерации значения коэффициента ; нычитает код этой константы из накопленного кода углаили прибавляет код конс танты к ходу углами-, и вырабатывает новый код углакосаприближающегося с каждой новой итерацией к нулю; знак этого кода углами дс, запоминается в,блоке 19 н качестве 65 знака коэффициента , для следующей (1+1)-й итерации.Таким образом, при 1-й итерациипреобразователь вырабатывает кодыкоординат хи у; и коэффициент ,После выполнейия итерации с номером 1=п/2 коммутаторы 7 и 8 по командам из блока 19 подключают информационные входы сдвигателей .5 и б .к выходам множительных блоков 14 и 15 соответственно, в сднигателях 5 и б устанавливается нулевой сдвиг кодов, коммутатор 10 подключает первый информационный вход множительного блока 14к выходу сумматора-вычитателя 3,коммутатор 11 подключает первый информационный вход множительного блока 15 к выходу сумматора-вычитателя2, а коммутатор 12 подключает вторыеинформационные входы обоих множительных блоков 14 и 15 к выходу сумматора-нычитателя 4, в регистре которогов этот момент записан код углаМ сТогда в множительных блоках 14 и15 вырабатываются коды произведенийУи) Мое п)д И Хит СС.оспами)г СООтнЕтственно. Эти коды поступают соотнетственно через коммутатор 7 и сдвигатель 5 в сумматор-вычитатель 2 и через коммутатор 8 и сдвигатель б всумматор-вычитатель 3, где кодУ) М,) прибавляется к коду х )а код х ) М) вычитается из кода уи), образуя выходные координаты хЭи уз) поступающие на выхо-,ды преобразователя.Этими операциями заканчиваетсяпреобразование координат хи уив систему координат, повернутую наугол К цс относительно исходной сис.темы координат.Программный блок 19 управления,осуществляющий управление блоками2-13 преобразователя при решенииописанной задачи, работает по алгоритму, представленному на фиг. 3.Алгоритм работы блока 19 состоитиз двух ветвей: выработки кода текущей команды и управления адресомследующей команды.Адрес команды (правая ветнь алгоритма на фиг. 3) вырабатывается следующим образом,Номер 3 текущей команды начинаяс 3 =1 поступает н узел 33 и проверяется на равенство его номеру 3 команды конца программы. При этом используется условный переход по усло.вию 3=3. При невыполнении этого условия (при 3 с 3) номер , в виде кода И из узла 33 поступает н узел35 в качестне адреса, по которомуиз последнего выбирается и выдаетсяв узел 33 код (3+1). Этот кодзадерживается на время выработки иисполнения в преобразователе 3-йкоманды, (В блок-схеме алгоритма этоотмечено блоком Ожидание) . За 1076903держка, как и вообще вся .синхронизация работы блока 19, осуществляется генератором 36 тактовых импульсон Когда номер 1 становится равным номеру 1 , происходит переход к окончанию работы преобразователя (к 5 блоку .фСтоп) .Код команды в блоки 2-13 преобразователя вырабатывается по левой вет. ви алгоритма на фиг. 3.В узел 33, кроме номера ) команды,10 поступающего из узла 35, поступает также из блока 4 код знакового разряда кода угла М осщ : 0 приЖо, 1 0 и1при Кос с 0, Номер команды епроверяется на выполнение 15 его равенства номеру 1 мр , соответст. вующему команде, выполненной после выполнения в преобразователе (П/2+1) итераций по алгоритму Волдера. Приневыполнении условия )= вео номеР 2 О используется для выработки адреса текущей команды вместе с.проверкой условия И 4=0. В зависимости от этого условия. номер 1 или передается н узел 34 В качестве адреса (при 04=0), или происходит переход к адРесу 1 Ф ю, где)в) (чтобы номер команды 1 фа не совпал с одним из номеров).11о выработанному адресу 1 или 1+я из узла 34 выбирается и выдает- ЗО ся в блоки 2-13 код 1 команды для выполнения в преобразователе текущей итерации алгоритма Волдера при=+1 или код (1 е) в .й команды для выполнения в преобразователе теку щей итерации алгоритма,Волдера приКогда выполняется условие )=3 пер (после окончания итерации с номером = и/2), номер)о поступает в узел 4034 в качестве адреса, по которому выбирается код команды для умножения кода угла Ко,е,)г на коды координат хб(г и Уиг, а по слеДуюЩему номеру 1 =пер 4, как по адресу, из узла 34 выбирается код команды для прибав ления кода Чпг йостюцг к кеду хиАг ивычитания кода х,г, р из кодауи)гТакое построение преобразователя позврляет беэ ухудшения точности вычислений уменьшить практически в два раза - с (и+1) до (Ь/2+1) - число итераций по алгоритму Волдера и заменить нторую половину итераций по этому алгоритму операциями умножения кодов координат хи/г и улугвычисленных при итерации с номером1=п/2, на код остаточного углаКоеи(г Р вычисленного при этой ите. рации, и операциями вычитаний кода произведения х . кос из кода координаты у г и прибавления кода произведения у, о, к коду коор динаты ха)гВвиду того, что числа разрядов, на которые сдвигаются коды координат при выполнении алгоритма Волдера, увеличиваются с увеличением номера итерации, время выполнения второй половины итераций существенно превышает время выполнения первой половины итераций, так что исключение нторой половины итераций и замена ее двумя простыми операциями умножения и )алгебраического суммирования (обе операции суммирования выполняются одновременно в двух каналах х и у) позволяет почти н два раза уменьшить время вычислений и соответственно повысить быстродействие преобразователя. Расчеты, выполненные для случая построения предлагаемого преобразона теля и прототипа на элементах тех же серий микросхем 133,556 и К 589 и при одинаковой точности вычислений (погрешность учета угла М к не более 2,45 ), показывают, что, если даже считать среднее время выполнения одной итерации одинаковым для обоих преобразователей, время, затрачиваемое толькона собственно преобразование коодинат (без Устране. ния деформации координат), в предлагаемом преобразователе на 41 меньше, чем в прототипе.Кроме того, среднее время выполнения одной итерации в предлагаемом преобразователе по сравнению с известным на 10-20 меньше, так как максимальный сдвиг кодов в нем проис ходит не на И, а на и /2 разрядон, что позволяет применять более простые и, соответственно, с большим быстродействием сдвигатели.Умножение координат на величину 1/) для устраненця деформации в прототипе реализуется программно, что требует дополнительного времени, эквивалентного времени выполнения нескольких итераций. В преддагаемом пре, обраэователе эта операция реализуется за время одной итерации с помощью множительных блоков, которые введены для выполнения основной задачи замены второй половины итераций.В итоге быстродействие предлагае. мого преобразователя по сраннению с прототипом повышается в 1,5-2 раза в зависимости от требуемой точности вычислений (повышение быстродействия тем больше,чем больше число и , характеризующее точность вычислений) ./4 б Тираж 699ВНИИПИ Государственногопо делам изобретений113035, Москва, Ж, Р Подпета СССРытий коми от ушс
СмотретьЗаявка
3341530, 06.10.1981
ПРЕДПРИЯТИЕ ПЯ В-8117
БЕЛЬЦЕР ЛЕОНИД СОЛОМОНОВИЧ, КОВАДЛО ИОСИФ АБРАМОВИЧ, КОВАЛЬЧУК ЛИДИЯ ИГОРЕВНА
МПК / Метки
МПК: G06F 7/548
Опубликовано: 28.02.1984
Код ссылки
<a href="https://patents.su/8-1076903-cifrovojj-preobrazovatel-koordinat.html" target="_blank" rel="follow" title="База патентов СССР">Цифровой преобразователь координат</a>
Предыдущий патент: Матричное устройство для умножения
Следующий патент: Устройство для возведения в степень
Случайный патент: Устройство для сортировки лесоматериалов