Цифровой линейный интерполятор

Иллюстрации

Показать все

Реферат

 

Изобретение относится к автоматике и вычислительной технике и может быть использовано в системах отображения графической информации и,в системах с числовым программным управлением . Цель изобретения - повышение быстродействия интерполятора за счет формирования в каждом интерполяционном такте координат сразу двух точек шаговой траектории. В интерполяторе использовано свойство одновариантности выполнения элементарных шагов при формировании шаговой траектории с максимальной точностью аппроксимации. В интерполяторе реализован алгоритм оценочной функции, значение которой определяется в накапливающем сумматоре 7 по значениям операндов M-N, N, хранящихся соответственно ч блоках 2, 3, где М и N - большее и меньшее приращения исходного отрезка прямой соответственно. Ка- Q чальное значение оценочной функции, равной 11/2, хранится в блоке 1. Шаговая траектория в интерполяторе формируется за H/2j тактов. 2 з.п. ф-лы, 11 ил., 2 табл. е

1 Ф

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

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

РЕСПУБЛИН

„„SU„„1629897 А 1 (51) 5 С 05 В 19/415, G 06 F 15/353

ОПИСАНИЕ ИЗОБРЕТЕНИЯ

К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ

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

Il0 ИЗОБРЕТЕНИЯМ И ОТНРЫТИЯМ

ПРИ ГКНТ СССР (21) 4486938/34 (22) 26.09.88 (46) 23.02.91. Бюп. Р 7 (71) Специальное конструкторско-технологическое бюро "Модуль" Винницкого политехнического института (72) A.Ï.Стахов, А.Н.Романюк, В.С.Сенчик и Н.В.Николаева (53) 621.503,55(088.8) (56) Авторское свидетельство СССР

9 920636, кл. Г 05 В 19/18, 1981.

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

Р 1413603, кл. С 05 В 19/415, С 06 F 15/353, 1986. (54) ЦИФРОВОЙ ЛИНЕЙШП1 ИНТЕРПОЛЯТОР (57) Изобретение относится к автоматике и вычислительной технике и может быть использовано в системах ото-. бражения графической информации и в системах с числовым программным управлением. Цель изобретения — повы2 шение быстродействия интерполятора за счет формирования в каждом интерполяционном такте координат сразу двух точек шаговой траектории. В интерполяторе использовано свойство одновариантности выполнения элементарных шагов при формировании шаговой траектории с максимальной точностью аппроксимации. В интерполяторе реализован алгоритм оценочной функции, значение которой определяется в накапливаюшем сумматоре 7 по значениям. операндов M — N, N, храняшихся соответственно в блоках 2, 3, где М и N— большее и меньшее прирашения исходного отрезка прямой соответственно. Начальное значение оценочной функции, равной М/2J, хранится в блоке 1.

Шаговая траектория в инт ерполятор е формируется за (1t/2) тактов. 2 з,п. ф-лы, 11 ил., 2 табл.

1629897

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

5 программного управления.

Цель изобретения — прнышение быстродействия интерполятора.

На Аиг.1 изображена структурная схема интерполятора; на Аиг.2 — функциональная схема блока управления; на фиг.3 — Аункциональная схема блока выходных координат; на фиг.4 — пример аппроксимации отрезка прямой; на фиг. 5 — примеры шаговых траекторий для различных вариантов четности M и N; на Аиг.6 — режимы счета пар координатных счетчиков; на фиг.7 граф-схема алгоритма работы интерполятопа; на Аиг.8 — распределение управляющих воздействий к фронтам и потенциалам опорной импульсной последовательности; на Аиг.9 — временная диаграмма работы блока управления в цикле подготовки;. на фиг. 10 — временные диаграммы работы блока управления при М = 9, N = 5; на фиг.11 — временные диаграммы работы блока управления при М = 10, N = 3.

30 Цифровой линейный интерполятор (фиг. 1o) содержит сдвигоный регистр 1 координатного приращения, регистр 2, разности координатных прирацений, perHczp 3 координатного приращения, счетчик 4, коммутатор 5, блок 6 ключей, накапливающий сумматор 7, блбк

8 выходных координат, блок 9 управления. Интерполятор имеет входы 10 — 18, выходы 19-21, а также входы 22-24, 40 выходы 25-28, вход 29 и выходы 30-34, под позицией 35 обозначена группа входов интерполятора, 36 — группа выходов, 37 — вход начальной установки.

Блок 9 управления (Аиг. 2) содер- 45 жит вход 38, узел 39 постоянной памяти, Л-триггер 40, элемент И 41, D-триггеры 42-44, Аормирователь 45 импульсон, первый 46 и второй 47 регистры элементы И 48-50, элементы

У У

ИЛИ 51, элементы ИЛИ-НЕ 5?, элементы

И 53-54, элементы НЕ 55, элементы

ИЛИ 56, элемент И 57, элемент HF. 58, D-триггер 59, элемент ИЛИ 60, элементы И 61 62 позициями 63-68 обознаУ Ф

55 чейы связи внутри блока.

Блок 8 выходных координат содержит D-триггер 69, элемент ИЛИ 70, D-триггер 71, элементы И-ИЛИ 72, 73, триггер 74, координатные счетчики

75-78.

Сдвиговый регистр 1 координатного приращения служит для хранения большего прирацения (И), которое поступает от внешнего устройства по входу 10. Запись в регистр 1 осуществляется передним фронтом сигнала записи, поступающего на второй вход

11 интерполятора. ИнАормационный вход сдвигового регистра 1 соединен с информационным входом счетчика 4, а ныход — с инАормационныи входом клича

6. Первый управляющий вход сдвигового регистра 1 подключен к второму входу 11 интерполятора, управляющему входу регистра 3 координатного приращения, к первоиу управляющему входу счетчика 4 и первому входу блока 9 управления. Сдвиг информации осуществляется передним Аронтом сигнала, поступавцему с выхода блока 9 управления.

Регистр ? разности координатных приращений 5 служит для хранения разности большего И и меньшего N приращений. Указанная разность поступает с накапливающего сумматора 7 и записывается в регистр 2 передним фронтом сигнала, поступающего с выхода блока

9 управления.

P er истр 3 координат ного приращения служит для хранения меньшего приращения N задавцего отрезка аппроксимируемой прямой. Запись в регистр 3 осуществляется передним фронтом сигнала, поступающего на второй вход 11 интерполятора.

Счетчик 4 предназначен для определения окончания процесса интерполяции. При задании отрезка прямой в него записывается значение половины большего приращения, поступаемого на первый вход 10 интерполятора. Получение по- . ловины большего приращения достигают монтажной коммутацией информационного входа счетчика 4. Для этого каждый 1-й разряд инАормационного входа счетчика 4 подключают к (i+1)-му разряду инАсрмационного входа 10, причем

1, п-1, где и — разрядность задания большего приращения. Запись в счетчик 4 обеспечивается активным уровнем сигнала, поступаюцего на. его первый управляющий вход, с второго входа 11 интерполятора. Управляюций вход счетчика 4 соединен с выходом 25 блока 9 управления. На указанном вы5 1629897 ходе блока 9 формируется опорная импульсная последовательность, с каждым импульсом которой счетчик 4 уменьшает свое состояние на единицу. Выход счетчика 4 соединен с третьим входом 24 блока управления. На указанном выходе счетчика формируется сигнал переполнения, возникающий при обнулении счетчика. Активный уровень сигнала переполнения удерживается в течении одного такта импульсной последовательности; формируемой на выходе 25 блока 9 управления.

:1ультиплексор 5 обеспечивает передачу на свой второй выход инверсного значения меньшего приращения, поступаемого от регистра 3 координатного приращения при значении логической единицы на его управляющем входе соединенном с входом переноса сумматора 7. При значении логического нуля на управляющем входе мультиплексора 5 последний осуществляет передачу значения .M-N, поступаемого от регистра 2, нл первый вход сумматора 7.

Ключ 6 при значении логической единицы на его управляющем входе, соединенном с выходом 30 блока 9 управления, обеспечивает передачу значения со своего информационного входа на выход. Вход блока 6 совпадения подключен к плрафазным выходам сдвигового регистра 1 координатного приращения, а выход — к установочным входам суммлт ор а 7 .

Сумматор 7 представляет собой накопительный сумматор и осуществляет суммирование значения с его информа. ционного входа со значением, хранящимся в его внутреннем регистре. Сигнал с выхода знакового разряда сумматора поступает на вход 29 блока 9 управления. Сигнал записи суммы во 45 внутренний регистр сумматора 7 осуществляется передним фронтом сигнала, поступающего с выхода ?8 блока 9 управления. Суммирование осуществляется за время действия. нулевого уровня сигнала на выходе 28 блока 9 уп55 равления.

Блок 8 выходных координат предназнчен для формирования координат сразу двух точек шаговой траектории. Выход 19 блока 8 соединен с выходом 19 интерполятора. На указанном выходе первые и разрядов задают. координату Х» первой из точек шаговой траектории, а вторые и разрядов— координату У первой из толе < шаго » вой траектории, формируемой в данный момент времени. Выход блока 8 подключен к выходу 36 интерпопятора.

Первые и разрядов указанного выхода определяют координату Х, а вторые и разрядов — координату Yq второй из точек шаговой траектории,формируемой в данный момент времени.

Первый управляющий и первый ин-. формационный выходы блока 8 предназначены для выполнения операции "позиционирования" начальной точки вектора, т.е. занесения в блок 8 координат Х, У> начальной точки вектора.

Первый управляющий и первый информационный входы блока 8 соединены

20 соответственно с входами 14 и 13 интерполятора. Управляющие входы бло— ка 8 соединены соответственно с вы-, ходами 31-34 блока 9 управления. Второй информационный и седьмой управ25 ляющий входы блока 8 соединены соответственно с 35 и 15 входами интерполятора.

Указанные входы пр.едназнлчены для запоминания в блоке 8 координат Х k u

3р У < конечной точки вектора . Нл третий вход 16 интерполяторл от внешнего устройства поступлет информлция о знаке приращения А,Х. При AX ъ 0 значение сигнала нл входе 16 интерполятора, соединенном с входом блока 8 выходных координат, равно 1, л при Х (Х вЂ” нули. Совершенно аналогично определяется и знак приращения Д, У.

При P Y ъ 0 lil четвертый вход интерполяторл, соединенный с девятым входом блока 8 выходиьм координлт, выставляется знлчение логической единицы, в противном случае — значение логич ес к ог о- нуля .

Пятый вход 18 интерполяторл соединен с десятым входом блока 8 координатных приращений. Сигнал на указанном входе определяет преобладание над другим, При Х $Y на выход 16 интерполяторл выставляется значение логическои единицы, в противном случае — значение логического нуля.

Запись признаков, поступающих на входы 16-18, происходит сигналом, поступаишим от внешнего устройства на вход 11 интерполяторл. Указанный вход подключен к входу 1 1 блока 8 выходных координат.

7 1629897 s

Сигналы, Аормируемые на 33, 34 выходах блока 9 управления, пр.едназначены для управления выдачи коор-. динатных точек шаговой траектории.

На седьмом входе- 32 формируется опорная импульсная последовательность, под воздействием которой осуществляется выдача координат шаговой траектории по ведущей координате, а на вы-1О ходе 31 блока 9 управления формируется последовательность импульсов, предназначенных для выдачи координат шаговой траектории по ведомой координате. 15

Блок 9 управления осуществляет управление операционными узлами интерполятора в соответствии с алгоритмом работы. По второму входу 11 интерпопятора происходит запуск интерполятора передним фронтом. Второй вход 11 интерполятора подключен к первому входу блока 9 управления.

Единичное значение мпадшего разряда шины 10 указывает о нечетном зна- 25 чении большого приращения И, а единичное значение младшего разряда шины 12 — о нечетном значении меньшего приращения N. Младший разряд входа 10 интерполятора подключен к входу 22 блока 9 управления. Младшии разряд входа 1? интерполятора подключен входу 23 блока 9 управления.

Вход 37 интерполятора подключен к шестому входу блока 8 управления. По

35 шестому входу происходит начальная установка интерпопятора.

На выходе 20 интерполятора формируется сигнал "Конец интерполирования". Значение логического нуля на выходе 20 сигнализирует об интерполяции отрезка в заданный момент времени, т.е. об занятости интерполятора. При значении логической единицы на выходе 20 интерполятор готов к при-45 нятию исходного задания отрезка прямой.

Под воздействием сигнала, формируемого на выходе 21 интерполятора, осуществляется запись выходных координат, формируемых на выходах 19, 36, во 50 внешнюю память. Запись происходит задним Аронтом сигнала.

Состояние седьмого D-триггера 69. определяет соотношение приращений координат 5 X б У, задающих исходный отрезок прямой, инАормационный Л-вход триггера 69 соединен с пятым входом

18 интерполятора. Запись в триггер

69 осуществляется передним фронтом сигнала, поступающего на второй 11 вход интерполятора.

При КХ» ДУ на вход 18 интерполятора выставляется значение логической единицы, в противном случае — значение логического нуля. Пряомй выход триггера соединен с четвертым вхоцом первого 72 и вторым входом второго.

73 элементов И-ИЛИ.

Инверсный выход седьмого триггера 69 подключен к второму входу первого 72 и четвертому входу второго

73 элементов И-ИЛИ. Восьмой триггер

71 служит для хранения знака приращения $ Х. При ДХ (0 на третий вход

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

Q X ь. 0 — значение логической еди ницы.

Запись в триггер 71 осуществляется передним Аронтом сигнала, поступающего на второй вход блока 8. Указанный вход соединен с управляющим С-входом триггера 80. Прямой вход триггера 71 подключен к третьему управляющему входу первого координатного . счетчика 75. Инверсный выход триггера 71 подключен к третьему управляющему входу тр ет ьег о координат ноro счетчика 77.

Десятый триггер 74 служит. для хра- нения знака приращения ДУ. ИнАормационный D-вход указанного триггера соединен с девятым входом блока 8. указанный вход, в свою очередь, соединен с четвертым входом 17 интерполятора. При ДУ «+ 0 на Л-вход триггера 74: выставляется уровень логического нуля, а при У " 0 — уровень логической единицы. Запись в триггер

74 осуществляется передним уровнем . сигнала, поступающего на второй вход блока 8 управления. Прямой и инверсный выходы триггера 74 подключены соответственно к третьему входу второго 76 и третьему входу четвертого

78 координатных счетчиков.

Первый 72 и второй 73 элементы

И-ИЛИ предназначены для формирования импульсных последовательностей координатных. счетчиков 75-78. При Х У на выходе элемента 72 формируются шаговые приращения по ведущей (большей), а на выходе элемента 73 — по

1629897, ведомой. координате. При 5У у Х имеем обратную ситуацию.

Первый 75 и второй 76 координатные счетчики формируют координаты ша5 говой траектории с начальной точки вектора, причем счетчик 75 определяет абсциссу, а счетчик 76 — ординату точки отрезка прямой. Координатные счетчики 77 и 78 формируют координаты точек щаговой траектории с конечной точки вектора, причем третий координатный счетчик 77 определяет координату Х, а четвертый координатный счетчик 78 — координату У. Информационный вход первого 75 и второго 76 координатных счетчиков образуют первый информационный вход блока 8 и восьмой вход 13 устройства. Информационные входы третьего 77 и четвер.того 78 координатных счетчиков образуют второй информационный вход блока 8 и одиннадцатый вход 35 интерполятора.

Начальная" установка счетчиков 75 и 76 осуществляется сигналом, поступающим на первый вход блока 8. Указанный вход соединен с первыми управляющими входами (SF) координатных счетчиков 75 и 76 и девятым входом

14 интерполятора, Начальная установка счетчиков 77 .и 78 осуществляется единичным уровнем сигнала, поступающего на десятый

15 вход интерполятора. Лесятый вход

15 интерполятора соединен с седьмым входом блока 8 и первыми управляющи- . ми входами координатных счетчиков

77 и 78. При значении логической единицы на четвертом управляющем вхо- 40 де координатных. счетчиков 75-78 приостанавливается их счет, т.е. последние переходят в режим хранения информации.

1 45

Четвертые управляющие входы счетчиков 75 и 76 подключены к пятому входу блока 8. Четвертые управляющие входы третьего 77 и четвертого 78 счетчиков соединены с выходом четвертого элемента ИЛИ 70.

Третий управляющий вход счетчиков

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

55 режиме сложения, а при значении логического нуля — в обратном направлении, т.е. в режиме вычитания.

Второй управляющий вход счетчиков 75-78 является их входом счета.

При поступлении переднего фронта сигнала на указанном входе происходит инкрементное изменение содержимого счетчика. Вторые управляющие входы первого 75 и третьего 77 координатных счетчиков соединены с выходом первого элемента И-ИЛИ 72.

Вторые управляющие входы второго 76 и четвертого 78 координатных счетчиков подключены к выходу второго элемента И-ИЛИ 73.

Выходы первого 75 и второго 76 координатных счетчиков образуют первый информационный внход 19 блока 8 выходных координат, а выходы третьего 77 и четвертого 78 координатных счетчиков — второй информационный выход блока 8 выходных координат.

Первый вход четвертого элемента 70 подключен к пятому входу блока 8, а второй вход — к нес гому входу блока 8.

Узел 39 постоянной памяти предназначен для хранения микрокоманд, определяющих выполнение требуемых nr ераций. Первый, второй и третий входы узла 39 памяти подключены к выходам второго регистра, а четвертый вход — к второму входу блока управления. Первый-четвертый входи узла 39 памяти определяют адрес микрокоманды, Первые пять выходов узла 39 памяти соединены с информационным входом первого регистра 50, предназначенного для хранения микрокоманды,поступающей с блока 39. Сигналы на шестом, седьмом, восьмом выходах узла 39 памяти совместно с значением сигнала переполйекия сумматора 7 образуют адрес микрокоманды, которая будет выполняться в следующем такте. Нестой восьмой выходы узлов 39 памяти соединены соответственно с первым— третьим входами второго регистра 47.

Первый-третий выходы первого регистра 46 подключены соответственно к пятому 30, третьему 26 и первому 27 выходам блока управления. Четвертый выход 66 регистра 46 подключен к первым входам элементов 53, 55, 56.

Пятый выход 67 регистра 46 соединен с первым входом элемента 54.

Управляющие R-входы регистров

46 и 47 подключены к выходу первого элемента И 41 и R-входам первого 40

+ — — D

Отсюда следует, что

g(D) = — (М-В}, Поскольку отклонения идеальной пря- мой от ближайших точек решетки совпадают по модулю при значениях абсцисс

Ф ввиду одновариантности выполнения элементарных нагов при аппроксимации вектора с максимальной точностью можно заключить, что последовательность шаговых прирацтений по ведомой координаTB симметрична относительно своего центра.

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

Если М и N четные, то точка (N/2, М/2) идеальной прямой совпадает с, точкой решетки, а числа единичных шаговых приращений по ведомой координате за первый и второй полуциклы совпадают. Отсюда следует, что при четном М и N свойство симметричности шаговмх прнрашеннй по ведомой ноорлвнате вьтолняется Лля всех D = 1,М/2.

Для обозначения четности и нечетности N и М вводят вспомогательные параметры р(, = 1 И/2) и Z =

= PM/2J.

При ч ет ном M и нечетном N

5(((М/2) „= — — — — х

N М 2@+ 1

М 2 2Z х Е(=0,5, 1629897 и четвертого 44 D-триггеров. На вы-. ходе элемента 41 формируется сигнал установки в начальное . состояние регистров 46 и 47 и триггеров 40 и 44, и

Управляющие С-входы первого 46 и второго 47 регистров подключены соответственно к выходам второго.48 и третьего 49 элементов И. триггера 40 и

44 предназначены для синхронизированного начала работы интерполятора с первым импульсом, вырабатываемым формирователем 45 импульсов после поступления сигнала "Пуск" на первый вход блока 9 управления. Информационный D-вход триггера 40 соединен с выходом логической единицы, а управля-ющий С-вход - с входом 11 блока 9 управления, С-входами 42 и.43 D-триггеров и входом элемента И 50. 20

Выход триггера 40 подключен к информационному D-входу триггера 44, управляющий С-вход которого. соединен с прямым выходом формирователя 45 импульсов, вторым входом второго элемента 48 и вторыми входами элементов

ИЛИ 51, 56, 60.

Выход триггера 44 подключен к первому входу первого 48 и второго 49 элементов И. Инверсный выход формирователя 45 импульсов подключен к входам элементов И 49, 53 и 54 и входу элемен га И-НЕ 55.

Выход шестого элемента И 54 соединен с четвертым выходом 28 блока 9 управленияия.

Работа линейного интерполятора осуществляется следующим образом.

Необходимо доказать, что последо-, вательность шаговых приращений по ведомой координате при аппроксимации отрезка прямой с максимальной точностью симметрична относительно своего центра за исключением не более. двух блюкайших к нему значений прираще45 Пусть аппроксимируемый отрезок прямой задан меньшим N и большим M циращениями, причем M 2N, Отклонение идеальной прямой Y =

= ЖХ/М от ближайшего ординатного уровня решетки в точке Х = D равно ьо сМ вЂ” D) - ((М-р1 --- + p 5)

M

1 N (М-Л) = — (+05 + (М равных D, (M D) (D C -2-, то

1.= Л N (D) = ---D+05 — — -D

М р

M ) где aI J — оператор выделения целой части числа.

ВточкеХ=М-D, Б данном случае в M/2-такте по ведомой координате можно выполнять как нулевой, так и единичный элементарный шаг, поскольку точность аппроксимации в обоих случаях не пре13

14

1629897 вышает половины шага дискретизации.

Для первого полуоктанта наличие двух единичных щаговых прирацений по ведомой координате в смежные тактовые моменты времени невозможно. Отсюда следует, что если при четном M и нечетном N в M/2-такте выполняется единичное шаговое приращение по ведомой координате, то в (И/2+1)-такте значение шагового приращения по ведомой координате нулевое и наоборот.

При нечетном И и четном N ордината идеальной прямой в точке И/2 равна

11(, . Отклонение точки (i . <, М, ) решетки от указанного ординатного уровня равно

2Ы1

М вЂ” — — — -- 2

2Z.. + 1

27.. + 1

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

Значения шаговых приращений по ведомой координате в центре последовательности приведены в табл.1.

45 Из приведенных выкладок следует, 50

1,6,) — 0(, (2Е,1 + 1) °

Учитывая, что указанные отклонения меньше по модулю 0,5, а также их знаки, заключаем, что в такте (il, +1) по ведомой координате шаговое приращение не формируют, т,е, в указанном такте выполняют горизонтальное перемещение.

Совершенно аналогично можно IIo казать, что при нечетном значении И и N в такте (i .1 + 1) по ведомой координате выполняют единичное шаговое приращение.

Таким оГ>разом, последовательность шаговых прирацений по ведомой координате симметрична относительно сво-. его центра. Исключение составляют не более двух значений шаговых приращений, непосредственно прилегаемых к центру и определяемых четностью или:нечетностью M u N.

Важно заметить, что при определении разницы И-N (н случае cpm.енения свойства, двойственности);: четность последней зависит от четности M и N, например при нечетном И и N разница

M-N четная.

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

На фиг.4 приведен пример аппроксимации отрезка прямой. Он задан координатами Х, Уц начальной точки вектора, прираг1ениями координат Д Х, ДУ и координатами Х, Ук конечной точки.

Очевидно, что координаты второй точки а вектора можно определить, зная

Х У и значения шагового прирацеО о ния в первом интерполяционном такте. поскольку шаговые приращения по ведомой координате в первом и последнем такте совпадают, то, зная координаты конечной точки У, Х< и значение шагового приращения в первом интерполяционном такте, можно найти координаты точки а 1 шаговой траекториии. Здесь важно отметить, что при определении координат точек а g H B Z шаговые приращения учитываются различным образом, поскольку в первом случае интерполирование производится с начала вектора а во втором случае — с его конца, Расчет координат точек шаговой траектории при N = 4, И = 11 (фиг.4) приведен в табл,2. что при встречной интерполяции с начальной и конечной точки вектора только при четном 1. и нечетном N шаговые приращения в центре последовательности в соседних тактах отличаются. Это составляет особый случай инт ерполяции, который требует особой реализации (в дальнейшем он будет учтен при синтезе блока 9 управления) .

В качестве метода линейной интерполяции для предлагаемого цифрового интерполятора используется метод оценочной функции, начальное зна

1О l5

15 162 чение которой принимают равным поло-вине большего приращения И; Метод обеспечивает максимальную точность аппроксимации при гарантированном попадании в конечную точку вектора °

:Значение оценочной функции ОФ определяется согласно следующим выражениям 4

ОФ = ОФ + (N †.N) — Н1 при ОФ C 0„

ОФ; = ОФ вЂ” N при ОФ 0

- 1 4»

При ОФ (0 выполняется комбиниI рованный диагональный шаг, т.е. одновременные шаги по ведущей и ведомой координате.. При ОФ ь= 0 выполняется шаг по ведуцей. координате.

1 При интерполяции отрезка прямой от внешнего устройства поступают исходные операнды, определяющие заданный отрезок прямой и его направление в дискретном координатном пространстве. Первоначальйо в координатные счетчики 75 и 76 блока 8 выходных приращений записываются значения координат Х, У начальной точки век.— тора, которые выставляются на восьмой информационный вход 13 интерпопятора. Запись производится сигналом, поступаемым на девятый вход .14 интернолятара. В координатных счетчиках 77 и 78 под воздействием сигнала на десятом входе 15 интерполятора запоминаются координаты Х, У< конечной точки вектора.

После этого на информационную шину 10 выставляется значение большего прирацения И, которое записывается в,сдвиговый регистр 1 ° В счетчике 4 запоминается значение М/2, полученное монтажной коммутацией. Для

°;этого каждый 1.+1-й разряд информа-. ционной шины 10 соединен. с i-м раз-.

:рядом информационного. входа счетчика 4, Значение 1 М/2J, записанное в счетчик 4,: определяет число интерполяционных тактов. В регистр 3 координатного прирацения записывается значение меньшего приращения, выстав.— ляемое на седьмой информационый вход

12 интерполятора. Поскольку выход регистра 3 координатного приращения

98.9 7

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

В блоке 9 управления запоминаются значения младших разрядов M и Ы, выставляемые соответственно на входы

10 и 12 интерполятора. Значения младших разрядов М и N определяют их четность (единичное значение младшего разряда операнда указывает î его неточности) . Кроме того, в блоке 8 за-. поминается ряд признаков, определяющих ориентацию отрезка прямой по отношению к координатным осям. Зто знаки исходных приращений, а также признак, определяющий их межориентарность.

На третий вход 16 интерполятора поступает значение логической единицы при Q Х О, где Q Х вЂ” значение приращения исходного отрезка прямой по оси абсцисс, и логического нуля р Х (О.

Логическая единица на четвертом входе 17 определяет положительный знак приращения QY, где $ Y — значение приращения исходного отрезка прямой по оси ординат. При Х (0 на четвертом входе 17 интерполятора выставляется значение логического нуля.

При Х QY на пятый вход 18 интерполятора выставляется уровень логической единицы, а при Х < 6Y— уровень логического нуля.

Запись исходных прирацений, а также всех перечисленных признаков производится сигналом, поступающим на второй вход 11 ннтерполятора. Перед-ний фронт указанного сигнала является

45 сигналом запуска интерполятора.

В первом такте цикла подготовки на выходе 30 блока 9 управления устанавливается значение логической единицы, что позволяет осуществить переда» чу парафазного кода большего приращения на выход бчока 6 ключей. Под воздействием сигналов с выхода ключа

6 накапливаюций сумматор 7 принимает значение большего приращения.

Во втором такте цикла подготовки на третьем выходе 26 блока 9 управления формируется уровень логической единицы, который разрешает передачу инверсного кода меньшего приращения

9897

17 162 от регистра 3 на первЬп вход накапливающего сумматора, В последнем определяется разность большего и меньшего приращений.

В следующий тактовый момент времени разность большего и меньшего приращений переписывается с накапливающего сумматора 7 в регистр 2 разности координатных приращений. Одновременно с этим в сдвиговом регистре

1 производится сдвиг на один разряд большего приращения в сторону младших разрядов, т.е. определяется значение М/?J.

В четвертом такте цикла подготовки значение половины большего приращения через блок 6 переносится в накапливающий сумматор 7. Указанное содержимое сумматора 7 образует начальное значение оценочной функции. указанные действия предшествуют процессу интерполяции и образуют цикл подготовки. Причем в регистре 3 координатного приращения хранится значе-. ние меньшего приращения N, в счетчике

4 — значение половины большего приращения, т..е. М/2), в регистре 2 разноcòè координатных приращений — значение М-И, а в накапливающем сумматоре

7 — значение М/2J.

В цикле интерполяции в каждый тактовый момент времени в накапливающем сумматоре 7 определяется значение оце ночной функции согласно приведенных выражений. Поскольку (N ь О, то в первый тактовый момент времени из со-. держимого сумматора 7 вычитается значение меньшего приращения, т.е. обеспечивается передача инверсного значе ния меньшего приращения через мультиплексор 5 на информационный вход сумматора 7, и на его вход переноса выставляется значение логической единицы. Следует. отметить, что поскольку и алгоритму работы предлагаемого линейного интерполятора при вычислении значений оценочной функции используется операция вычитания только значения меньшего приращения, то сигнал переноса для накопительного сумматора

7 формируется при формировании для коммутатора 5 сигнала передачи на его выход значения меньшего приращения.

При отрицательном значении оценочной функции, хранящейся в сумматоре

7, к содержимому последнего прибавляется значение М-.М, хранящееся в регистре 2. Передача значения М-М на ин-.

40 о 45

50 формационный вход сумматора 7 достигается подачей на управляющий вход мультиплексора логического нуля.

При положительном знаке оценочной функции, хранящейся в сумматоре 7,от содержимого последнего вычитается значение (М/2J.

В зависимости от знака оценочной функции, знаков исходных приращений и их мажоритарности в блоке 8 выходных координат на выходах элементов И-ИЛИ

72 и 73 формируются Uàãовые приращения по ведомой и ведущих координатам,причем шаговые приращения по ведущей координате формируются в каждом интерполяционном такте.

С каждым интерполяционным тактом происходит изменение содержимых координатных счетчиков 75 и 76, определяющих координаты интерполируемой прямой в направлении от начальной к конечной точке. Монтажной коммутацией обеспечено изменение содержимых координатных счетчиков 77 и 78 таким образом, чтобы последние интерполировали отрезок прямой от конечной точки к начапьной, т.е. в обратном направлении 1 о отношению к сче-чикам 75 и 76.

Поскольку пары координатных счетчиков 75, 76 и 77, 78 учитывают одни и те же шаговые приращения и работают в противоположных режимах счета, то обеспечивается выдача в каждом интерполяционном такте координат сразу двух точек шагбвой траектории, которые симметричны QTHQсительно центра прямой. На фиг.6 показаны режимы счета координатных счетчиков для конкретных паправлений отрезков. Из приведенных примеров видно, что если счетчик 75 работает в.режиме сложения, то счетчик

78 — в режиме вычитания (поскольку производится встречная интерполяция отрезка прямой с начальной и конечной точки. Аналогичная картина характерна и Пля координатных счетчиков 76 и 77.

На фиг.5 показаны примеры аппроксимации отрезков прямой в зависимости от четности и нечетности большего M и меньшего N приращений при М З 2N, причем точки а шаговой траектории получают координатными счетчиками

75 и 78, а точки b " — координатными счетчиками 77 и 78.

19 162989

Из фиг.5а следует., что в последнем (седьмом) интерполяционном такте пары координатных счетчиков 75, 76 и 77, 78 формируют координаты од-ной и той же точки.

При четном М и нечетном М (фиг.5б) сочетание шяговых приращений по ведомой координате в центре отрезка должно быть равным 01. В предлагаемом -10

1 линейном интерполяторе укаэанное реализуется следующим образом. Координатные счетчики 75, 76 и 77, 78 формируют совместно шаговую траекторию из шести тактов, т.е. от точки я 15 до точки а (счетчики 75 и 76), от точки Ь, до точки Ь (счетчики 77 и

78) . В седьмом интерполяционном такте запрещается счет координатным счетчикам 77 и 78, т. е. они сохраня- 20 ют координату точки Ь . При этом координатные счетчики продолжают воспринимать шаговые.прирацения еце однсго интерполяционного такта, что обеспечивает воспроизведение тбчки а> 25 шаговой траектории.

При нечетном М и четном N пары координатных счетчиков работают совместно в течение семи тактов. При этом счетчики 75 и 76 отработают траекто- 30 рию от точки а, до точки а7, а счетчики 77 и 78 — от точки b до точки ъ о

Ь у. Таким образом, формирование горизонтального приращения (а7, Ь ) в центре последОвательнОсти получают автоматически.

Аналогичная ситуация, т.е. воспроизведение диагонального перемещения в результате совместной потяктовой работы двух пар координатных счетчи- 40 ков, имее место и при нечетных М и N, Совершенно очевидно, что аналогичные ситуации характерны и при М = 2N, Особый случай, как и при М 2N, имеет место при четном М и нечетном N. . Грай-схема алгоритма работы интерполятора приведена на фиг.7. Рассмотрим работу блока 9 управления.

Для избежания гонок и состязаний при синтезе блока был использован принцип единой временной организации.

В цикле подготовки в триггерах 42

H 43 передним фронтом сигнала на ВТо. ром входе 11 интерполятора запоминаются соответственно младшие разряды

М и Ы, которые указывают об четности и нечетности исходных приращений.

Нулевым уровнем сигнала на втором входе 11 интерполятора устанавливает7 20 ся в единичное состояние триггер 59, что запрецает в цикле подготовки работу координатных счетчиков 75-78, Последнее исключает возможные ложные срабатывания указанных счетчиков, например, при переходе триггера 67 из нулевого в единичное состояние. Единичное состояние триггера 59 запрещает прохождение синхроимпульсов записи выходных координат во внешнюю память, формируемых на выходе элемента 60.

Нулевой уровень сигнала на втором входе 11 интерполятора переводит триггер 57 в нулевое состояние, что приводит к нулевому уровню сигнала на выходе элемента И 61. Указанный сигнал является сигналом "Конец интерполяции". Передним фронтoM сигнала на входе 11 интерполятора (указанным фронтом сигнала разрешается работа интерполятора) устанавливается в единичное состояние триггер 40. При появлении после этого переднего фронта сигнала на выходе формирователя

45 импульсов устанавливается в еди ничное состояни