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

Иллюстрации

Показать все

Реферат

 

Изобретение относится к автоматике и вычислительной технике и может быть использовано в системах отображения графической информации, а также в системах с ЧПУ. Цифровой линейный интерполятор обеспечивает контроль процесса интерполирования . Интерполятор содержит сдвиговый регистр координатного приращения, регистр разности координатных приращений , регистр координатного приращения, счетчики, мультиплексор, блок управления, накапливающий сумматор, блок выходных координат, ключ. В предлагаемом устройстве осуществляется встречное формирование шаговой траектории отрезка прямой с начальной и конечной точек. Блок контроля сопоставляет координаты точек траектории , сформированные в последнем интерполяционном такте, Блок контроля осуществляет контроль по завершений цикла интерполяции. На входы поступают значения координат точек аппроксимируемой прямой с выходов блока 8 выходных координат. Если координаты этих точек совпадают соответственно по осям X и У, то на выходе блока контроля появится значение логического О, сигнализирующее о правильности выполнения аппроксимируемых действий. 19 ил.

союз сОВетских социАлистических

РЕСПУБЛИК (я)з G 05 В 19/415, 19/18

ГОСУДАРСТВЕННОЕ ПАТЕНТНОЕ

ВЕДОМСТВО СССР (ГОСПАТЕНТ СССР) ОПИСАНИЕ ИЗОБРЕТЕНИЯ

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

1 . (21) 4924086/24 (22) 02,04.91 (46) 07.04.93. Бюл. М 13 (71) Винницкий политехнический институт (72) А.Н. Романюк, В.С. Сенчик, Е.П. Мельник и И.Е. Пилипчук (56) Авторское свидетельство СССР

hh 1629847, кл. G 05 В 19/415, G 06 F 15/353, 1990. (54).ЦИФРОВОЙ ЛИНЕЙНЫЙ ИНТЕРПОЛЯТОР (57) Изобретение относится к автоматике и вычислительной технике и может быть использовано в системах отображения графической информации, а также в системах с, ЧПУ. Цифровой линейный интерполятор обеспечивает контроль процесса интерполирования. Интерполятор содержит сдвигавый регистр координатного приращения, . регистр разности координатных прирэщеИзобретение относится к автоматике и вычислительной технике и предназначено для использования в системах отображения графической информации, а также в системах числового программного управления.

Цель изобретения — повышение надежности устройства за счет организации контроля процесса интерпали рования.

Изобретение поясняется чертежами, где на фиг.1 дана структурная схема интерполятора; на фиг.2 — функциональная схема блока 9 управления; на фиг.3 — функциональная схема блока 8 выходных координат; на фиг.4 — пример аппроксимации отрезка прямой; на фиг. 5-8 — примеры шаговых траекторий для различных вариантов четности М и N и знаков приращений Л Х иЛ У; на фиг.9 — режимы счета пар координатных

„„Я2 „„1807450 А1 ний, регистр координатного приращения, счетчики, мультиплексор, блок управления, накапливающий сумматор, блок выходных координат, ключ. В предлагаемом устройстве осуществляется встречное формирование шаговой траектории отрезка прямой с начальной и конечной точек. Блок контроля сопоставляет координаты точек траектории, сформированные в последнем интерполяционном такте, Блок контроля осуществляет контроль по завершении цикла интерполяции. Нэ входы поступают значения координат точек апп роксимируемой прямой с выходов блока 8 выходных координат. Если координаты этих точек совпадают соответственно по осям Х и У, то на выходе блока контроля появится значение логического н0", сигнализирующее о правильности выполнения аппроксимируемых действий. 19 ил. счетчиков (77,78) и (79,80); на фиг.10 — графсхема алгоритма работы интерполятора; на а фиг.11 — распределение управляющих воз- Q() действий к фронтам и потенциалам опорной импульсной последовательности; на фиг,12 — временная диаграмма работы блока 9 уп-. р равления в цикле подготовки; на фиг.13— временные диаграммы работы блока 9 управления при M-9 и N-5; на фиг.14 — временные диаграммы работы блока 9 улравления лри М-10 и N=3; на фиг,15 — )3в функциональная схема блока контроля; на а фиг,16 — функциональное обозначение вычитателя; на фиг.17-функциональная схема вычитателя; на фиг.18 — функциональная схема одного разряда вычитателя; на фиг.19 — функциональная схема блока выделения нулевога состояния.

1807450

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

Интерполятор имеет входы: 11, 12, 17, 18, 19. 40, 13, 14, 15, 16, 38 и выходы: 20, 22, 39, 21, 41.

Блок 1 управления (фиг,2) содержйт узел

42 постоянной памяти, О-триггер 43, элемент И 44. О-триггеры 45-47, формирователь 48 импульсов, первый 49 и второй 50 регистры, элементы И 51-53, элемент ИЛИ

54, элемент ИЛИ-НЕ 55, элементы И 56, 57, элемент И-НЕ 58, элемент ИЛИ 59, О-триггер 60, элемент HE 61, D-триггер 62, элемент

ИЛИ 63, элементы И 64, 65, позициями 6670 обозначены связи внутри блока.

Блок 8 выходных координат (фиг.3) содержит: О-триггер 71, элемент ИЛИ 72, Отриггер 73, элементы И вЂ” ИЛИ 74, 75, О-триггер 76, координатные счетчики 77-80.

Сдвиговый регистр 1 координатного приращения служит для хранения большего приращения (М), которое поступает от внешнего устройства по входу 11. Запись в регистр 1, осуществляется передним фронтом сигнала записи, поступающего на второй вход 12 интерполятора. Информационный вход сдвигового регистра 1 соединен с информационным . входом счетчика 4, а выход — с информационным входом ключа 6. Первый управляющий вход сдвигового регистра 1 подключен к второму 12 входуинтерполятора, управляющему входу регистра 3 координатного приращения, к первому управляющему входу счетчика 4 и первому входу блока 9 управления.

Сдвиг информации осуществляется передним фронтом сигнала, поступающего с выхода 28 блока 9 управления.

Регистр 2 разности координатных приращений служит для хранения разности большего (М) и меньшего (N) приращений, Укаэанная разность поступает с накапливающего сумматора 7 и записывается в регистр 2 передним фронтом сигнала, поступающего с выхода 28 блока 9 управления, Регистр 3 координатного приращения служит для хранения меньшего (M) приращения, задающего отрезка аппроксимируемой прямой. Запись в регистр 3 осуществляется передним фронтом сигнала, поступающего на второй 12 вход интерполятора.

Счетчик 4 предназначен для определения окончания процесса интерполяции. При задании отрезка прямой в него записывается значение половины большого приращения, поступающего на первый 11 вход интерполятора. Получение половины большого приращения достигают монтажной коммутацией информационного входа счетчика 4. Для этого каждый i-й разряд информационного входа счетчика 4 подключают к (i+ 1)-му разряду информационного входа 11, причем i=1, п-1, где n — разрядность задания большого приращения. Запись в счетчик 4 обеспечивается активным уровнем сигнала, поступаемого на его первый управляющий вход с второго 12 входа интерполятора, 2-й управляющий вход счетчика 4 соединен с выходом 26 блока 9 управ5

15 ления, На указанном выходе блока 9 формируется опорная импульсная последовательность, с каждым импульсом которой счетчик 4 уменьшает свое состояние на единицу. Выход счетчика 4.соединен с четвер20 тым 25 входом блока управления. На указанном выходе счетчика формируется

Сумматор 7 представляет собой накапливающий сумматор и осуществляет суммирование значения с его информационного входа со значением, хранящимся в его внутреннем регистре. Сигнал с выхода знаково55 ro разряда сумматора поступает на вход 30 блока 9 управления. Сигнал записи суммы во внутренний регистр сумматора 7 осуществляется передним фронтом сигнала, поступающего с выхода 29 блока 9 управления. Суммирование осуществляется сигнал переполнения, возникающий при обнулении счетчика, Активный уровень сигна25 ла переполнения удерживается в течение одного такта импульсной последовательности, формируемой на выходе 26 блока 9 управления.

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

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

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

45 совпадения подключен к парафазным выходам сдвигового регистра 1 координатного . приращения, а выход — к установочным входам сумматора 7.

1807450

20 в блок 8 координат Xn, Yn начальной точки вектора. Первый управляющий и первый информационный входы блока 8 соединены соответственно с входами 15 и 14 интерполятора; Уп равля ющие входы блока 8 соединены соответственно с выходами 32 — 35

25 блока 9 управления. Второй информационный и седьмой управляющий входы блока 8 соединены соответственно с 38 и 16 входами интерполятора.

Указанные входы предназначены для запоминания в блоке 8 коордийат Хк и Ук конеч30 ной точки вектора. На третий 17 вход интерполятора от внешнего устройства поступает информация о знаке приращения Л Х, При hX>0 значение сигнала на входе 17 35 интерполятора, соединенном с входом блока

8 выходных координат, равно 1, а при hX< 0

: — нулю. Совершенно аналогично определяется и знак приращения Y. При Л.У 0 на четвертый вход интерполятора, соединенный 40 с девятым входом блока 8 выходных координат, выставляется значение логической единицы, в противном случае — значение логического нуля.

:: Пятый 19 вход интерполятора соединен 45 с десятым входом блока 8 координатных приращений. Сигнал на указанном входе определяет преобладание одного приращения над другим. При b Х Л Y на вход 19 интерполятора выставляется значение логической "1", в противном случае — логического "0".

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

Сигналы, формируемые на 34 и 35 выходах блока 9 управления, предназначены для за время действия нулевого уровня сигнала на выходе 29 блока 9, Блок 8 выходных координат предназначен для формирования координат сразу двух точек шаговой траектории. На выходе 5

20 первые и разрядов задают координату Х1 первой из точек шаговой траектории, а вторые и разрядов — координату У1 первой из точек шаговой траектории, формируемой в 10 данный момент времени. Первые и разрядов выхода 39 определяют координату Xz, а вторые и разрядов — координату Yz второй из.точек шаговой траектории, формируемой в данный момент времени, 15

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

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

13 — о нечетном значении меньшего приращения (N). Младший разряд входа 11 интерполяторэ подключен к третьему входу 23 блока 9 управления. Младший разряд входа

13 интерполятора подключен к пятому входу

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

На выходе 21 интерполятора формируется сигнал "конец интерполирования".

Значение логического нуля на выходе 21 сигнализирует об интерполяции отрезка в заданный момент времени, т.е. о занятости интерполятора. При значении логической единицы на выходе 21 интерполятор готов к принятию исходного задания отрезка прямой.

Под воздействием сигнала, формируемого на выходе 22 интерполятора, осуществляется запись выходных координат, формируемых на выходах 20, 39, во внешнюю память. Запись происходит задним фронтом сигнала.

Блок 10 контроля предназначен для оп-. ределения по формируемым координатам точек шаговой траектории правильности работы интерполятора. Блок 10 контроля начинает свою работу по завершении цикла интерполяции. Первый и второй входы блока подключены соответственно к третьему

17 и четвертому 18 входам интерполятора, третий и четвертый — соответственно к младшим разрядам значении большего и меньшего приращений, На выходах 36, 37 триггеров 45,46 блока

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

10

20

40

55 нала на одном из указанных выходов сигнализирует о нечетности соответствующего приращения, а нулевой — о четности.

На пятый и шестой входы поступают значения координат точек аппроксимируе" мой прямой с выходов 20 и 39 блока 8 выходных координат, Если координаты этих точек совпадают при активном уровне соответственно по осям Х и У, то на выходе 41 блока контроля появится значение логического нуля, сигнализирующее о правильности выполнения аппроксимирующих действий за цикл интерполирования, В противном случае идентифицируется наличие ошибки в работе устройства.

Состояние седьмого 71 0-триггера определяет соотношение приращений координат ЛХ, ЛУ, задающих исходный отрезок прямой, информационный 0-вход триггера 71 соединен с пятым 19 входом интерполятора. Запись в триггер 71 осуществляется передним фронтом сигнала, поступающего на второй 12 вход интерполятора, При ЛХ ЛУ на вход 19 интерполятора выставляется значение логической "1", в противном случае — логического "0". Прямой выход триггера соединен с четвертым входом первого 74 и вторым входом второго 75 элементов И вЂ” ИЛИ.

Инверсный выход седьмого 71 триггера подключен ко второму входу первого 74 и четвертому входу второго 75 элементов ИИЛИ. Восьмой 73 триггер служит для хранения знака приращения h X. При Л Х (0 на третий 17 вход интерполятора, соединенный с восьмым входом блока 8 и информационным входом восьмого 73 триггера, поступает значение логического нуля, а при

ЛХ:- О- значение логической единицы, Запись в триггер 73 осуществляется передним фронтом сигнала, поступающего на второй вход блока 8, указанный вход соединен с управляющим С-входом триггера 7.

Прямой выход триггера 73 подключен к третьему управляющему входу первого 77 координатного счетчика. Инверсный выход триггера 73 подключен к третьему управляющему входу третьего 79 координатного счетчика.

Девятый 76 триггер служит для хранения знака приращения Л Y. Информационный 0-вход указанного триггера соединен с девятым входом блока 8. Указанный вход, в свою очередь, соединен с четвертым 18 входом интерполятора. При AY О на 0вход триггера 76 выставляется уровень логического нуля, а при Л У> 0 — уровень логической единицы. Запись в триггер 76 осуществляется передним уровнем сигнала, поступающего на второй вход блока 8, Прямой и инверсный выходы триггера 76 подключены соответственно к третьему входу второго 78 и третьему входу четвертого 80 координатных счетчиков, Первый 74 и второй 75 элементы И вЂ” ИЛИ предназначены для формирования импульсных последовательностей координатных счетчиков 77 — 80. При h X ЛУ на выходе элемента 74 формируются шаговые приращения по ведущей (большей), а на выходе элемента 75 по ведомой координатам. При ЛУ>

hX имеем обратную ситуацию.

Первый 77 и второй 78 координатные счетчики формируют координаты шаговой траектории с начальной точки вектора, причем счетчик 77 определяет абсциссу, а счетчик 78 †. ординату точки отрезка прямой.

Координатные счетчики 79 и 80 формируют координаты точек шаговой траектории с конечной точки вектора, причем третий 79 координатный счетчик определяет координату

Х, а четвертый 80 — координату Y. Информационные входы первого 77 и второго 78 координатных счетчиков образуют первый информационный вход блока 8 и восьмой 14 вход устройства, Информационные выходы третьего 79 и четвертого 80 координатных . счетчиков образуют второй информационный вход блока 8 и одиннадцатый 38 вход интерполятора.

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

15 входом интерполятора.

Начальная установка счетчиков 79 и 80 осуществляется единичным уровнем сигнала, поступающего не десятый 16 вход интерполятора, Десятый 16 вход интерполятора соединен с седьмым входом блока 8 и первыми управляющими входами координатных счетчиков 79 и 80. При значении логической единицы на четвертом управляющем входе координатных счетчиков 77 — 80 приостанавливается их счет, т.е. последние переходят. в режим хранения информации.

Четвертые управляющие входы счетчи ков 77 и 78 подключены к пятому входу блока 8, Четвертые управляющие входы третьего 79 и четвертого 80 счетчиков соединены с выходом четвертого 72 элемента

ИЛИ.

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

77-80 определяют их режим счета. При раз1807450

10 управления. С первого по четвертый входы 35 узла 42 памяти определяют адрес микрокоманды. Первые пять выходов узла 42 памяти соединены с информационным входом первого 49 регистра, предназначенного для хранения микрокоманды, поступаемой с 40

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

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

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

79 координатных счетчиков соединены с выходом первого 74 элемента И-ИЛИ; Вторые управляющие входы второго 78 и четвертого 80 координатных счетчиков подключены к выходу второго 75 элемента

И вЂ” ИЛИ.

Выходы первого 77 и второго 78 координатных счетчиков образуют первую группу

20 информационных выходов блока 8, а выходы третьего 79 и четвертого 80 координатных счетчиков образуют вторую информационную группу выходов 39 блока

8.

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

Узел 42 постоянной памяти предназначен для хранения микрокоманд, определяющих выполнение требуемых операций.

Первый, второй и третий входы узла 42 памяти подключены к выходам второго регистра, а четвертый вход — к пятому входу блока блока 42, Сигналы на шестом, седьмом и восьмом выходах узла 42 памяти совместно со значением сигнала переполнения сумматора 7 образуют адрес микрокоманды, которая будет выполняться в следующем такте, С шестого по восьмой выходы узлов 42 памяти соединены соответственно с первым, вторым и третьим входами второго 50 регистра. С первого по третий выходы первого 49 регистра подключены соответственно к пятому 31, третьему 27 и первому 28 выходам блока управления. Четвертый 69 выход регистра 49 соединен с первыми входами элементов 56, 59, 58. Пятый 70 выход регистра 49 соединен с первым входом элемента 57.

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

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

0-триггеров. На выходе элемента 44 формируется сигнал установки в начальное состо15

55 яние регистров 49, 50 и триггеров 43 и 47, Управляющие С-входы первого 49 и второго

50 регистров подключены соответственно к выходам второго 51 и третьего 52 элементов.

И. Триггеры 43 и 47 предназначены для синхронизированного начала работы интерполятора с первым импульсом, вырабатываемым формирователем импульсов 48, после поступления сигнала "Пуск" на первый вход блока 9 управления. Информационный 0-вход триггера 43 соединен с выходом логической единицы, а управляющий С-вход — с входом

12 блока 9 управления, С-входами 45 и 46

0-триггеров с входом элемента И 53, Выход триггера 43 подключен к информационному D-входутриггера 47, управляющий С-вход которого соединен с прямым выходом формирователя импульсов 48, вторым входом второго элемента 51 и вторыми входами элементов 54, 59, 63 ИЛИ, Прямой выход триггера 47 подключен к первому входу первого 51 и второго 52 элементов И. Инверсный выход формирователя

48 импульсов подключен к входам элементов И 52, 56, 57, входу элемента И 58 И вЂ” НЕ.

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

Блок 10 контроля (фиг,15) состоит из элементов 82, 85, 87, 92 ИЛИ, элементов 83, 86 И, инвертора 84, вычитателей 88, 89, блоков 90, 91 выделения нулевого состояния, элемента ИЛИ вЂ” НЕ 81.

Из фиг.3 следует, что выход 20 блока 8 образован выходами приращений, образованных выходами координатных счетчиков

75, 76. Обозначим через XI информационные разряды выхода 20, принадлежащие счетчику 75, а через Vl — счетчику 76. Введем аналогичные обозначения и для выхода 39, а именно выходы счетчика 72 — Х2, выходы счетчика 78 — Y2.

Первый и второй информационные входы вычитателя соединены соответственно с выходами Х1 и Х2, что обеспечивает передачу значений координатных точек аппроксимируемой прямой по оси Х. На выходе элементов 85 ИЛИ и 86 И формируются значения переносов в младших разрчд вычитателя.

Функциональная схема вычитателя представлена на фиг,17.

Блок 90 выделения нулевого состояния представляет собой многовходовый элемент ИЛИ (фиг.19), На его выходе формируется результат проверки правильности выполнения аппроксимирующих действий по оси абсцисс. Значение лог, "0" указывает на правильность выполнения этих действий.

1807450

По аналогии построена схема контроля по оси Y. Первый и второй информационные входы вычитателя соединены соответственно с входами У1 и У2, что обеспечивает передачу значений координат точек аппроксимируемой прямой по оси Y. На вы. ходе элементов 83 И 87 ИЛИ формируются значения переносов в младший разряд вычитателя. Функциональная схема вычитателя по оси Y идентична схеме вычитателя по оси Х. На выходе блока 91 выделения нулеаого состояния формируется результат проверки правильности работы интерполятора по оси ординат, На выходе 41 элемента 92

ИЛИ формируется результат работы блока

10 контроля в целом.

Рассмотрим работу линейного интерполятора. Для этого докажем, что последовательность шаговых приращений по ведомой координате при аппроксимации отрезка прямой с максимальной точностью симметрична относительно caoeto центра, за исключением не более двух ближайших к нему значений приращения, Пусть аппроксимируемый отрезок прямой задан меньшим N и большим M приращения, причем М 2N, Отклонение идеальной прямой У-N/Ì от ближайшего ординатного уровня решетки в точке X=D равно:

a(o) =-(- D— - Ы) ——

N К где L Q — оператор выделения целой части числа.

В точке X = M-О д(M — 0 ) =((M — D)- @+ОЯ—

N — (М вЂ” О ) = — 1 — +0,5J + — О

M N

M M

Отсюда следует, что (() = - (— )

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

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

5 различного числа единичных приращений за первый и второй полуциклы.

Если M u N - четные, то точка (N/2, М/2) идеальной прямой совпадает с точкой решетки, а числа единичных шаговых приращений

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

N и М введем вспомогательные параметры а1 = 1 N/2J и Z > =-1 M/2J

20 При четном M и нечетном N (ма2)=Я- ф)=

= 2а+1 " =05

В данном случае в M/2 такте по ведомой координате можно выполнять как нулевой, 30 так и единичный элементарный шаг, поскольку точность аппроксимации в обоих случаях не превышает половины шага дискретизации. Для первого полуоктанта наличие двух единичных шаговых приращений по ведомой

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

40 такте значение шагового приращения по ведомой координате нулевое, и наоборот.

При нечетном M и четном N ордината идеальной прямой в точке М/2 равна а1. Отклонение точки (Z>, a 1) решетки от указанного

45 ординатного уровня равно:

2а1 а1

2Z1+1 2Z1+1

50 а T04Kpl(Z1+ 1, а 1) — а >(2Z>+1). Учитывая, что указанные отклонения меньше по модулю 0,5, а также их знаки, заключаем, что в такте (2т+

1) по ведомой координате шаговое приращение не формируют, т,е, в указанном такте

55 вь|полня от горизонтальное перемещение.

Совершенно аналогично можно показать, что при нечетном значении М и N в такте (Z>+ 1) по ведомой координате выполняются единичное шаговое приращение, 13

1807450

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

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

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

Здесь важно заметить, что при определении разницы М-N (в случае применения свойства двойственности) четность последней зависит от четности М и N, например при нечетном М и N разница (М вЂ” N) четная.

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

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

Очевидно, что координаты второй точки вектора можно определить зная Х>, У< и значения шагового приращения в первом интерполяционном такте. Поскольку шаговые приращения по ведомой координате в первом и последнем такте совпадают,.то, зная координаты конечной точки Y и air шаговые приращения учитываются различным образом, поскольку в первом случае интерполирование производится с начала вектора, а во втором случае - с его конца.

Ниже. приводится табл,2, в которой приведен расчет координат точек шаговой траектории при И=4, М=11 (фиг,4).

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

10 составляет особый случай интерполяции, который требует особой реализации (e дальнейшем это будет учтено при синтезе блока

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

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

20 точность аппроксимации при гарантированном попадании в конечную точку вектора.

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

25 ОФ =LM/23

ОФн-1= ОФ + (М вЂ” N) при ОФ <0

ОФ = ОФ вЂ” N при ОФ ="О, При ОФ <0 выполняется комбинирован30 ный диагональный шаг, т,е. одновременные шаги по ведущей и ведомой координатах.

При ОФ 0 выполняется шаг по ведущей координате.

При интерполяции отрезка прямой от

35 внешнего устройства поступают исходные операнды, определяющие заданный отрезок прямой и его направление в дискретном координатном пространстве.

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

79 и 80 под воздействием сигнала, на десятом 16 входе интерполятора запоминаются координаты Хк, Ук конечной точки вектора.

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

4. Значение L М/23„записанное в счетчик 4, 15

1807450 определяет число интерполяционных тактов.

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

10 меньшего приращения и его инвертирования, т.е. получение обратного кода меньшего приращения.

В блоке 9 управления запоминаются значения младших разрядов М и й, выставляемые соответственно на входы 11 и 13 интерполятора, Значения младших разрядов М и N определяют их четность (единичное значение младшего разряда операнда указывает на его нечетность). Кроме того, в

20 блоке 8 запоминается ряд признаков, определяющих ориентацию отрезка прямой по отношению к координатным осям. Это знакй исходных приращений, а также признак, 25 определяющий их мажоритарность

На третий 17 вход интерполятора поступает значение логической единицы при Л

Х О, где Л Х вЂ” значение приращения исходного отрезка прямой по оси абсцисс, и логического нуля при ЛХ< О

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

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

Во втором такте цикла подготовки на третьем 27 выходе блока 9 управления формируется уровень логической единицы. коЛогическая единица на четвертом 18 входе определяет положительный знак при-. ращения ЛУ, гдето У вЂ” значение приращения исходного отрезка прямой по оси ординат. При ЬУ< О на четвертом 17 входе 35 интерполятора выставляется значение ло- . гическога нуля, При ЛХ Ь У на пятый 19 вход интер-. полятора выставляется уровень логической единицы, а при ЛХ< Л Y — уровеньлоги- 40 ческого нуля.

Запись исходных приращений, а также всех перечисленных выше признаков производится сигналом, поступаемом на второй 11 вход интерполятора. Передний 45 фронт указанного сигнала является сигналом запуска интерполятора. тарый разрешает передачу инверсного кода меньшего приращения от регистра 3 на первый вход накапливающего сумматора, В последнем определяется разность большего и меньшего приращений, В следующий такто.вый момент времени разность большего и меньшего приращений переписывается с накапливающего сумматора 7 в регистр 2 разности координатных приращений. Одновременно с этим в сдвиговом регистре 1 производится сдвиг на один разряд большего приращения в сторону младших разря-. дов, т.е. определяется значение L М/21.

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

Укаэанные действия собственно предшествуют процессу интерполяции и образуют цикл подготовки. Причем, в регистре 3 координатного приращения хранится значение меньшего приращения N, в счетчике .4 — значение половины большего йриращения, т.е. LM/2J, в регистре 2 разности координатных приращений — значение (М-N), а в накапливающем сумматоре 7 — значение

LM/2J .

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

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

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

Передача значения М-N на информационный вход сумматора 7 достигается подачей

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

1807450

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

При четном М и нечетном N (фиг,5,6) сочетание шаговых приращений по ведомой координате в центре отрезка должно быть равным 01. B. предлагаемом линейном интерполяторе указанное реализуется следующим образом. Координатные счетчики (77,78), (79,80) формируют совместно шаговую траекторию шесть тактов, т.е, от точки а до

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

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

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

Монтажной коммутацией обеспечено изменение содержимого координатных счетчиков

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