Круговой интерполятор Советский патент 1991 года по МПК G05B19/4103 

Описание патента на изобретение SU1665341A1

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

Целью изобретения является повышение точности интерполятора.

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

Предложенная конструкция интерполятора обеспечивает его работу с выдачей координатных импульсов по координате, модуль величины которой меньше. Интерполятор производит оценку отклонений прогнозируемых положений от окружности (одно из них связано с возможным движением по одной координате, другое - по двум, т.е. по диагонали), получаемую на выходе схем сравнения, и задает движение в одно из двух положений, т.е. либо выдает импульс по одной, либо - импульсы по обеим координатам (по диагонали).

Алгоритм построения окружности сводится к тому, что на каждом шаге интерполяции увеличивается значение координаты X, а в качестве оценочной функцми берется отношение накопленной суммы значений координат точек по оси X (от момента последнего изменения координаты Y) к предыдущему значению координаты Y. Если это отношение меньше 1 (т.е. сумма меньше Yn-i), то значение координаты Y не изменяется (); если больше или равно 1, то - Остаток от разности значений суммы координат X и Yn-1 присваивается новому значению суммы, которая вновь накапливается путем добавления новых значений X, и т.д. Процесс заканчивается, когда .

Для повышения точности алгоритма была разработана его модификация, которая заключается в том, что, если накопленная сумма окажется меньше, чем предыдущее значение Y, то производится сравнение этой суммы с 1 /2 R и далее выполняются все операции, как в описанном алгоритме. В результате такого двойного сравнения, ко- торое реализуется посредством введения схемы сравнения и дополнительного блока вентилей, методическая погрешность интерполяции не превышает 0,5 дискреты.

На схеме (фиг. 1) обозначены: накапливающий сумматор 1, первый 2 и второй 3 блоки элементов И, первый 4 и второй 5 координатные регистры, суммирующий вход б первого координатного регистра 5, вычитающий вход 7 второго координатного регистра, сбросовый вход 8 накапливающего сумматора, первый блок 9 сравнения, третий блок 10 элементов И, регистр 11 задания радиуса, четвертый блок 12 элементов И, пятый 13 и шестой 14 блоки элементов И, второй блок 15 сравнения, блок 16 синхронизации, первый выход 17 блока 16 синхронизации, подключенный к входу 6 первого координатного регистра 4, второй выход 18 блока 16 синхронизации,

связанный с входом 7 второго координатного регистра 5, третий 19, четвертый 20, пятый 21, шестой 22, седьмой 23, восьмой 24 и девятый 25 выходы блока 16 синхронизации, подключенные к управляющим входам соответственно первого 2 и второго 3 блоков элементов И, к входу 8 накапливающего сумматора 1, управляющим входам третьего 10, четвертого 12, пятого 13 и шестого 14

0 блоков элементов И, десятый выход 26 блока 16синхронизации, подключенный к координатному выходу интерполятора, первый 27, второй 28 и третий 29 входы блока синхронизации, подключенные соответственно

5 к выходам первого 9 и второго 15 блоков сравнения и шине Пуск.

На схеме(фиг.2)обозначены: сдвигающий регистр 30, генератор 31 импульсов, триггеры 32-35, элемент ИЛИ 36, первый и второй 37

0 и 38 выходы сдвигающего регистра, подключенные к выходам 18 и 23 блока синхронизации, триггер 39, элемент 40 задержки, элемент И 41, третий выход 42 сдвигающего регистра, подключенный к входу элемента И

5 43. элемент И 44. элемент 45 задержки, элементы И 46 и 47, четвертый выход 48 сдвигающего регистра, подсоединенный к выходам 19 и 21 блока, пятый выход 49 сдвигающего регистра, подключенный к элемен0 там И 50 и 51. элементы И 52 и 53.

Для пояснения алгоритма работы интерполятора рассмотрим дугу окружности 45° от до (фиг. 3). Для этого случая производится единичное прираще5 ние по оси X. Воспользуемся дифференциальным уравнением окружности, которое записывается в виде dY/dX -X/Y Значение производной d V/dX в точке X равно tg a, где а- угол наклона касательной к окружности

0 в точке Хп, или dy/dX -tg а где а Ц180-а ). Для второго сектора окружности 45° того же самого октанта непрерывно изменяются значения координат точек по оси Y; значения координат по оси X находятся по опи5 санному алгоритму.

Из фиг. 3 получаем Ау.Уп-1-Уп. УД

Л УY - V.. У

Хп - Хп -1

0

5

&

Если задать по оси X единичное приращение, т.е. Хп -Xn-i 1, то Yn-i - Yn tg a , так как tg/ tg а . Из дифференциального | уравнения окружности tg a X/Y Xn/Vn, no-jrj этому Yn-i-Yn Xn/Yn4 Вместо Yn подставим Yn-i(). тогда получим выражение для нахождения значения текущей координаты Yn по значениям текущей координаты X и предыдущей координаты Yn-i:Yn Yn-i- Xn/Yn-1. Для примера начнем формирование окружности с точки с координатами:

. Тогда , Yi Yo-Xi/Yo R- Xi/R. Если Xi/R 1, то , Далее , Y2 Yi-X2/Yl R Xi/R-y2/R R-(Xi+X2)/R

R- X.X2/R. Таким образом, Ј i/R-

Сумма 2, Xi накапливается до тех пор, пока J Xi Rj , т.е. 2, Xi/R 1. Все это время значение Yn

I I

не меняется, т.е. каждое последующее Yn R.

Когда 2, Х| станет больше 1, предыдущее

значение Y уменьшится на 1, т.е. .

Остаток от разности 2,Xj-R добавляется к

новому значению формируемой суммы, пока она, в свою очередь, не превысит нового значения координаты Y, равного R-1, и т.д.

Интерполятор работает следующим образом.

В исходном состоянии в регистр 4 заносится Значение 0 (начальное значение наименьшей координаты), в регистр 5 - значение радиуса R, а накапливающий сумматор обнуляется. В первом такте производится добавление единицы к содержимому регистра 4. Во втором такте содержимое регистра 4 добавляется к содержимому сумматора 1. Далее с помощью первого блока 9 сравнения производится сравнение содержимого сумматора 1 с содержимым регистра 5. Если содержимое регистра 5 оказывается больше, то производится сравнение содержимого сумматора 1 с половиной содержимого регистра 11 задания радиуса (путем смещения выходов регистра 11 радиуса на один разряд влево). Если половина содержимого регистра 11 радиуса оказывается больше, чем содержимое накапливающего сумматора 1, то производится увеличение значения меньшей координаты. В противном случае (т.е. содержимое регистра 5 меньше содержимого сумматора 1 или половина содержимого регистра 11 задания радиуса меньше или равна содержимому сумматора 1) производится вычитание из сумматора 1 содержимого регистра 5 (путем добавления обратного кода содержимого координатного регистра 5 через третий блок 10 элементов И) и уменьшение на единицу содержимого регистра 5. При этом производится увеличение на единицу значения меньшей координаты и уменьшение-на единицу значения большей координаты, т.е. осуществляется движение очередной точки по диагонали.

В заключительном такте выполняется 5 сравнение содержимого регистра 4 с содержимым регистра 5 с помощью второго блока 15 сравнения, В случае равенства содержимых этих регистров или превышения содержимым регистра 4 содержимого регистра 5

0 цикл построения 1/8 окружности заканчивается.

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

По сигналу Пуск, поступающему по

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

0 регистр 30 тактовых импульсов от генератора 31 импульсов. Кроме запуска сдвигающего регистра 30, сигнал Пуск устанавливает в нулевое состояние (через входы а) триггеры 32-35. Кроме того, сигнал Пуск через

5 элемент ИЛИ 36 поступает на выход 17 блока 16 синхронизации и производит добавление единицы к содержимому координатного регистра 4 через его вход 6 и выдачу через выход 26 блока 16 синхронизации коорди0 натного импульса ДХ. Очередной импульс с выхода 37 сдвигающего регистра 30 поступает на выход 19 блока 16 и разрешает перепись числа с выхода первого координатного регистра 4 через первый

5 блок 2 элементов И на суммирование с содержимым накапливающего сумматора 1.

Следующий импульс с выхода 38 сдвигающего регистра поступает на выход 22 блока 16 и далее подается на третий блок 10

0 элементов И для сравнения содержимого накапливающего сумматора 1 и второго координатного регистра 5. Кроме того, одновременно сигнал с выхода 38 сдвигающего регистра 30 устанавливает в нулевое состо5 яние триггер 39. В случае, если содержимое накапливающего сумматора 1 окажется больше содержимого второго координатного регистра 5, то от первого блока 9 сравнения поступает сигнал на вход 28 бло са 16

0 синхронизации, который через элемент 40 задержки и элемент И 41 устанавливает в единичное состояние триггер 39. Величина времени задержки на элементе 40 задержки должна превышать время переключения

5 триггера 39. В случае отсутствия сигнала с первого блока 9 сравнения триггер 39 остается в нулевом состоянии.

Очередной импульс с выхода 42 сдвигающего регистра 30 производит опрос зле- ментов И 44 и 45. В случае, если триггер 39

установлен в единичное состояние, сигнал через элемент И 44 поступает на выход 20 блока 16 синхронизации и далее на вход второго блока 3 элементов И, через который происходит вычитание из содержимого накапливающего сумматора 1 содержимого второго координатного регистра 5. Кроме того, сигнал с выхода элемента И 44 через элемент 45 задержки поступает на выход 18 блока 16 для вычитания единицы из содержимого второго координатного регистра 5 и производит выдачу координатного импульса Д Y, Если триггер 39 установлен в нулевое состояние, сигнал с выхода 42 сдвигающего регистра 30 поступает через элемент И 43 на установку триггеров 33 и 34 в единичное состяние и, кроме того, через выход 23 блока 16 на вход четвертого блока 12 элементов И для сравнения содержимого накапливающего сумматора 1 с половиной содержимого регистра 11 радиуса с помощью первого блока 9 сравнения.

В случае, если от первого блока 9 сравнения поступает сигнал на вход 28 блока 16 синхронизации (это значит, что содержимое накапливающего сумматора больше, чем половина значения радиуса), то он через элемент 40 задержки и элементы И 46 и 47 устанавливает в единичное состояние триггер 35. Величина времени задержки должна быть больше времени вычитания из содержимого накапливающего сумматора содержимого второго координатного регистра.

Очередной импульс с выхода сдвигающего регистра 30 поступает на выходы 25 и 24 блока 16 синхронизации и далее через пятый 13 и шестой 14 блоки элементов И производит с помощью второго блока 15 сравнение содержимого первого 4 и второго 5 координатных регистров. Приходящий с выхода второго блока 15 сравнения сигнал на вход 27 блока 16 (в случае, если значение меньшей кдординаты X меньше значения большей координаты Y) устанавливает в единичное состояние триггер 32. В этом случае импульс с выхода 49 сдвигающего регистра 30 через элемент И 50 снова запускает сдвигающий регистр либо через элемент И 52 по цепи Пуск, либо через элемент И 53 только с выдачей через элемент ИЛИ 36 сигнала на выход 17 блока 16 синхронизации для добавления единицы в первый координатный регистр (без выдачи координатного импульса А X), В случае отсутствия сигнала с выхода второго блока 15 сравнения на выходе 27 блока 16 интерполятор прекращает работу; сигналом с выхода 49 сдвигающего регистра 30 через элемент И 51 и выход 20 блока 16 сбрасывается через вход 8 накапливающий сумматор 1.

Благодаря применению изобретения вдвое снижена методическая погрешность

интерполятора (она не превышает 0,5 шага интерполяции). Это позволяет, например, выбрать шаг интерполяции вдвое больше и, таким образом, ускорить процесс интерполяции без какого-либо ухудшения качества

0 обработки.

Формула изобретения Круговой интерполятор, содержащий накапливающий сумматор, первая и вторая группы информационных входов которого

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

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

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

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

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

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

вход - с выходом второго блока сравнения, выход которого соединен с координатным вход Пуск интерполятора соединен с выходом интерполятора по меньшей коор- третьим входом блока управления, десятый динате.

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

название год авторы номер документа
Линейный интерполятор 1986
  • Романюк Александр Никифорович
SU1413603A1
Интерполятор 1988
  • Вашкевич Сергей Николаевич
  • Байков Владимир Дмитриевич
  • Попов Владимир Николаевич
  • Тишин Игорь Философович
SU1541557A1
Линейный интерполятор 1989
  • Тормышев Юрий Иванович
  • Диланян Ерануи Мартиевна
SU1674064A1
Линейный интерполятор 1988
  • Тормышев Юрий Иванович
SU1522157A1
Цифровой интерполятор 1981
  • Горбенко Эдуард Тихонович
  • Смирнов Лев Николаевич
  • Кошкин Владимир Львович
SU1003022A1
Устройство для коррекции положения резца на станке с программным управлением 1981
  • Кошкин Владимир Львович
  • Горбенко Эдуард Тихонович
  • Лапандин Александр Иванович
SU983651A1
Линейный интерполятор 1991
  • Романюк Александр Никифорович
  • Фартунов Владимир Борисович
  • Пшеничный Владимир Федорович
  • Беседина Жанна Валентиновна
SU1809421A1
Интерполятор 1987
  • Вашкевич Сергей Николаевич
  • Ваврищук Александр Юльевич
  • Попов Владимир Николаевич
  • Токарев Алексей Леонидович
SU1413602A1
Графический интерполятор 1985
  • Каплун Вячеслав Федорович
  • Семенюк Тамара Григорьевна
  • Омельянчук Юрий Максимович
SU1401509A1
Линейно-круговой интерполятор 1984
  • Раисов Юрий Абрамович
  • Середкин Александр Георгиевич
SU1215090A2

Иллюстрации к изобретению SU 1 665 341 A1

Реферат патента 1991 года Круговой интерполятор

Изобретение относится к вычислительной технике, а именно к устройствам отображения графической информации на дисплеях или графопостроителях, а также к устройствам программного управления станками. Целью изобретения является повышение точности интерполяции. Сравнивают накапливаемую сумму значений меньшей координаты точки по одной оси сначала с предыдущим значением координаты по другой оси. В случае, если эта сумма меньше значения координаты, повторно сравнивают сумму с половиной значения радиуса, вследствии чего уменьшается практически в два раза ошибка круговой интерполяции. Для достижения данного результата круговой интерполятор, содержащий накапливающий сумматор, два блока элементов И, два координатных регистра и блок синхронизации, введены два блока сравнения, четыре блока элементов И и регистр радиуса. Алгоритм построения окружности сводится к тому, что на каждом шаге интерполяции увеличивается значение меньшей координаты и в качестве оценочной функции берется отношение накопленной суммы значений координаты точки по оси с меньшим значением (от момента последнего изменения этой координаты) к предыдущему значению координаты по другой оси. Если это отношение меньше единицы, то производится дополнительное сравнение накопленной суммы с половиной значения радиуса. Если это отношение оказывается меньше или равно единице, то значение второй координаты не изменяется

если в результате первого сравнения получается отношение большее или равное единице, или в результате второго сравнения получается отношение большее единицы, то значение второй координаты изменяется на единицу. Остаток от разности значений суммы координат и предыдущего значения второй координаты присваивается новому значению суммы, которая вновь накапливается путем добавления новых значений координат и т.д. до тех пор, пока значение меньшей координаты не станет больше или равно второй координаты. 3 ил.

Формула изобретения SU 1 665 341 A1

Фие.1

Х/ИХ/7

фиг. J

об

Документы, цитированные в отчете о поиске Патент 1991 года SU1665341A1

Круговой интерполятор 1977
  • Матвеев Владимир Борисович
  • Трусфус Валерий Михайлович
  • Литвин Владимир Михайлович
  • Марданова Дания Мизамехаматовна
SU714356A1
Кипятильник для воды 1921
  • Богач Б.И.
SU5A1
Числовое программное управление станками:Сб./под ред
М
С
Агурского
- М.: Машиностроение, 1966, с
Вагонетка для движения по одной колее в обоих направлениях 1920
  • Бурковский Е.О.
SU179A1
Капельная масленка с постоянным уровнем масла 0
  • Каретников В.В.
SU80A1

SU 1 665 341 A1

Авторы

Палташев Тимур Турсунович

Смирнов Игорь Борисович

Стародубцев Эдуард Владимирович

Даты

1991-07-23Публикация

1989-04-03Подача