ИНТЕРПОЛЯТОР

ИНТЕРПОЛЯТОР
Предложение относится к области автоматики и вычислительной техники и может использоваться в устройствах отображения и регистрации информации.
Известен интерполятор 1, содержащий регистр для приема цифровой информации из ЭВМ, вентили, сумматор, счетчик и узел анализа знака.
В таком интерполяторе в начале цикла отработки интервала интерполяции в регистр заносится обратный код тангенса угла наклона интерполяруемого участка, а в счетчик - дополнительный код длины интервала, вычисление оценочной функции производится в сумматоре, а импульс переполнения счетчика служит сигналом об окончании обработки интервала.
Недостатками такого интерполятора являются ограниченные функциональные возможности, обусловленные реализацией только одного вида интерполяции - линейной, а также недостаточным быстродействием.
Наиболее близким по технической сущности к предлагаемому техническому решению является известный интерполятор, содержащий делители частоты, выходы которых подключены ко входам компараторов напряжений, выходы которых соединены со входами блока управления, выходы которого подключены ко входам управления
реверсом счетчиков координат и через элементы И, одни из входов которых соединены с генератором тактовых импульсов, ко входам делителей частоты, элементы задержки и группы ключей.
Однако, такому устройству также присущи отмеченные выше недостатки - ограниченные функциональные возможности и недостаточное быстродействие.
Технический результат, заключающийся в устранении указанных недостатков, достигается в интерполяторе, содержащем первый и второй делители частоты, выходы которых подключены соответственно к счетным входам первого и второго счетчиков координат, разрядные выходы которых соединены со входами первого и второго цифроаналоговых преобразователей соответственно, выходы которых являются выходами интерполятора и подключены соответственно к первым входам компараторов напряжений, выходы которых соединены с первым и вторым входами блока управления, выходы с первого по четвертый которого соединены соответственно со входами управления реверсом первого и второго счетчиков координат и с первыми входами первого и второго элементов И, вторые входы которых подключены к генератору тактовых импульсов, а выходы - к счетным входам первого и второго делителей частоты, два элемента задержки и две группы ключей, тем, что он содержит блок фиксации узлов интерполяции, счетчик узлов интерполяции и блок задания констант интерполируемой функции, первый и второй выходы которого соединены соответственно с третьим и четвертым входами блока управления, пятый и щестой входы которого подключены соответственно к первому и второму выходам блока фиксации узлов
интерполяции, первый и второй входы которого соединены соответственно с выходами первого и второго цифроаналоговых преобразователей, пятый и шестой выходы блока управления подключены сответственно к счетному входу и входу управления реверсом счетчика узлов интерполяции, третий и четвертый выходы блока задания констант интерполируемой функции соединены соответственно со вторыми входами первого и второго компараторов напряжений и с третьим и четвертым входами блока фиксации узлов интерполяции, пятый вход которого подключен к пятому выходу блока задания констант интерполируемой функции, группа выходов которого соединена с установочными входами счетчика узлов интерполяции, разрядные выходы которого соединены через первую группу ключей с прямыми установочными входами первого делителя частоты и через вторую группу ключей - с инверсными установочными входами второго делителя частоты, причем выход каждого из делителей частоты подключен через соответствующий элемент задержки к управляющим входам первой и второй групп ключей, при этом блок фиксации узлов интерполяции содержит сумматор, нуль-орган, узел выделения знака отклонения интерполируемой функции и три квадратичных функциональных преобразователя, подключенные через сумматор к нуль-органу и узлу выделения знака отклонения интерполируемой функции, выходы которого являются соответственно первым и вторым выходами блока, первым и вторым входом которого являются первые входы первого и третьего квадратичных функциональных преобразователей, вторые входы которых являются соответственно
третьим и четвертым входами блока, пятым входом которого является вход второго квадратичного функционального преобразователя.
Сущность предложения поясняется чертежом, на котором представлена блок-схема предлагаемого интерполятора.
Интерполятор содержит генератор 1 тактовых импульсов, подключенный через элементы И 2,3 ко входам делителей частоты 4 и 5, счетчики координат 6 (координата X ) и счетчик координат 7 (координата Y ), разрядные выходы которых подключены соответственно к цифроаналоговым преобразователям 8 и 9, выходы которых соединены с первыми входами компараторов 10 и 11 напряжений.
В состав интерполятора также входят: блок 12 задания констант интерполируемой функции, подключенный к установочным входам счетчика 13 узлов интерполяции, разрядные выходы которого подключены через первую группу ключей 14 к прямым установочным входам делителя 4 частоты и через вторую группу ключей 15 к инверсным входам делителя 5 частоты; блок 16 фиксации узлов интерполяции, блок 17 управления, а также элементы 18 и 19 задержки, включенные между выходами делителей 4 и 5 частоты и управляющими входами (входами опроса) ключей 14 и 15.
Блок 16 фиксации узлов интерполяции содержит соответственно первый, второй и третий квадратичные функциональные преобразователи 20, 21 и 22, сумматор 23, нуль-орган 24 и узел 25 выделения знака отклонения интерполируемой функции.
управляющие входы, являющиеся первым и вторым входами блока 16, третьим входом которого является вход второго квадратичного функционального преобразователя 21, а информационные входы первого и третьего квадратичных функциональных преобразователей 20 и 22 являются соответственно четвертым и пятым входами блока и подключены к выходам цифро-аналоговых преобразователей 10 и 11.
Компараторы напряжений 10 и 11, квадратичные функциональные преобразователи 20, 21 и 22 и сумматор 11 выполнены на операционных усилителях.
Блок 17 управления предназначендля обеспечения
согласованной во времени работы всех блоков и узлов интерполятора и содержит элементы ИЛИ 26, И 27, кнопку 28 управления, генератор 29 одиночных импульсов и формирователь 30 управляющих сигналов.
Первый и второй входы блока 17 подключены к выходам компараторов 10 и 11 напряжений, третий вход - к одному из выходов блока задания констант интерполируемой функции, а четвертый и пятый входы - соответственно к выходу нуль-органа 24 и выходу узла 25 выделения знака интерполируемой функции.
Выходы Ux и Uy цифроаналоговых преобразователей 8 и 9 подключены к управляющим входам устройства отображения информации (на чертеже не показаны).
Предлагаемый интерполятор работает следующим образом.
В исходном положении все блоки и узлы интерполятора, содержащие элементы памяти (триггеры, счетчики, регистры), установлены в нулевое состояние по шине СБРОС (на чертеже не указана) сигналом, поступающим от блока 17 управления, при этом на
, / л х1/,
элементы И 2,3 от формирователя 30 управляющих сигналов поступают запрещающие сигналы, удерживающие эти элементы в закрытом состоянии.
С выхода блока 12 задания констант интерполяции на входы квадратичных функциональных преобразователей 20, 21 и 22 подаются постоянные уровни напряжения, соответствующие константам а, b и R интерполируемой функции (о назначении этих констант будет сказано ниже) и сигнал на один из входов формирователя 30 управляющих сигналов.
Вместе с тем с других выходов блока 12 задания констант интерполяции на установочные входы счетчика 13 узлов интерполяции с помощью блока 17 управления подается параллельный код (число п), задающий тангенс начального угла при интерполяции некоторой функции F(x,y), а в делитель 5 частоты будет записан инверсный код числа п, соответствующий дополнительному числу ( N - п ), где N - максимальное число, которое можно записать в эти делители по установочным входам.
По сигналу ПУСК, поступающему от блока 17 управления в виде разрешающего потенциала на один из входов элементов И 2 и 3, в делители4 и 5 частоты начинают поступать импульсы от
генератора 1 импульсов с частотой 1ги.
При этом при поступлении импульсов на входы делителей 4 и 5 частоты, которые представляют собой двоичные счетчики, на их выходах в определенные моменты времени появляются импульсы переполнения, поступающие через элементы задержки 18 и 19 на входы опроса ключей 14 и 15.
Тем самым в делители 4 и 5 частоты со счетчика 13 узлов интерполяции вновь запишется код чисел п и ( N -п ), т.е. на выходе делителя 5 частоты будут формироваться импульсы с частотой следования fx  f™ / (N - п), а на выходе делителя 4 частоты импульсы с частотой следования fy  f™ / п, поступающие в счетчики 6 и 7 координат.
Соотношение частот fx и fy определяет тангенс угла наклона
tga воспроизводимой интерполятором функции на текущем интервале интерполяции, т.е.
tg а  п / (N - п);( 1 )
При изменении п от О до N т.е. при последовательном прохождении узлов интерполяции тангенс угла а наклона вектора
перемещения исполнительного органа или элемента (пера графопостроителя или электронного луча устройства отображения)
меняется от О до оо, что соответствует изменению угла а в первом
квадранте от О до 7с/2 , т.е. с помощью узлов 4, 5, 13, 14, 17 могут
задаваться практически любые углы вектора перемещения исполнительного элемента при интерполяции функции.
Минимальныенеобходимыеприращенияуглов
Aai,i+i  а i+1 - ai определяются заранее и зависят от разрядности m счетчика 13 и делителей 4 и 5 частоты.
При возрастании числа п текущее значение угла а меняется в первом квадранте координатной плоскости по закону арктангенса:
а  arctg  n/(N - п)  ;( 2 )
от о до 71/2 с максимальным приращением Латах  3° - 4°, что
является вполне достаточным для большинства практических задач.
Переход к другим квадрантам координатной плоскости осуществляется с помощью сигналов РЕВЕРС, РЕВЕРСх и РЕВЕРСу, поступающих от формирователя 30 управляющих сигналов блока 17 управления. Таким образом могут быть заданы все углы наклона линий в диапазоне от 0° до 360° .
Для приближенного воспроизведения интерполируемой функции F(x,y) с помощью линейно-кусочной аппроксимации, осуществляемой в интерполяторе, необходимо, чтобы воспроизводимая функция (х,у)
совпадала с истинной зависимостью F(x,y) в узлах интерполяции:
F(x,y)  Г(х,у){ 3 ) а
на интервалах интерполяции погрешность воспроизведения не превышала максимально допустимую:
8ДОП  max I F(x,y) - (х.у) |( 4 )
8доп является однозначной функцией приращения углов Да на
интервале интерполяции и в конечном итоге разрядности m делителей 4 и 5 частоты, т.е. также может быть учтена заранее при проектировании интерполятора.
у// /у /   /7 0
сформированные делителями 4 и 5 серии импульсов с частотами fx и fy поступают соответственно на входы счетчиков 6 и 7 координат и преобразуются с помощью цифро-аналоговых преобразователей 8 и 9 в функциональные напряжения Ux и Uy, поступающие на входы
блока 16 фиксации узлов интерполяции, в которых в момент выполнения равенства (3) формируется импульс, соответствующий узлу интерполяции. Сформированный импульс поступает в блок 17 управления и в зависимости от типа режима интерполяции (вычерчивание линий с переменной или постоянной крутизной) проходит или не проходит через элемент ИЛИ 26, элемент И 27 на вход счетчика 13 узлов интерполяции. При этом код, задающий тангенс угла наклона и, соответственно, крутизна воспроизводимой линии изменяются.
Процесс фиксации узлов интерполируемой функции при воспроизведении окружностей будет состоять в следующем.
В этом случае с выхода R блока 12 задания констант интерполяции (см. чертеж) на входы компараторов 10 и 11 напряжений и квадратичного функционального преобразователя 21 поступает постоянный уровень напряжения UR , задающий величину радиуса
воспроизводимой окружности.
При этом на выходе квадратичного функционального преобразователя 21 устанавливается постоянный уровень напряжения UR .
С выходов а и Ь блока 12 задания констант интерполяции на управляющие входы квадратичных преобразователей 20 и 22
поступают управляющие постоянные уровни напряжения, задающие единичные коэффициенты передачи а  1 и Ь  1, ана выходах упомянутых преобразователей формируются соответственно функциональные напряжения Ux (t) и Uy (t).
Сформированные уровни напряжения поступают на соответствующие инверсный и прямой входы сумматора 23, на выходе которого формируется напряжение
U5(t)  Ux2 (t) + Uy2 (t) - UR ,(5)
являющееся оценкой отклонения воспроизводимой на выходах интерполятора приближенной функции (х,у) от функции F(x,y), описывающей окружность.
В момент равенства U6(t) нулю, что соответствует узлу
интерполяции, на выходе нуль-органа 24 формируется импульс, поступающий через блок 17 управления в счетчик 13 узлов интерполяции.
Одновременно с этим на выходе узла 25 выделения знака отклонения функции U5(t) формируется высокий уровень напряжения, который поступает в блок 17 управления, формирующий при необходимости управляющие сигналы РЕВЕРС, РЕВЕРСх и РЕВЕРСу (см. чертеж), поступающие затем на соответствующие входы счетчиков 13, 6 и 7.
Тем самым задается направление поиска следующего узла интерполяции, т.е. в интерполяторе осуществляется автоматическое отслеживание заданной функциональной зависимости.
По окончании отображения одной четверти окружности, т.е. когда выполнится одно из условий:Ux(t)  UR или Uy(t)  UR
срабатывают компараторы 10 и 11 напряжения и формирователь 30 управляющих сигналов блока 13 управления задает другую комбинацию сигналов на входы управления счетчиков 13, 6 и 7, что позволяет воспроизвести полную окружность.
Предлагаемый интерполятор позволяет сформировать и другие типы кривых, например, эллипс или гиперболу.
В случае отображения эллипса ( каноническое уравнение :
+ у2/ Ь  1 ), с выходов а, в и R блока 12 задания констант интерполяции задаются соответствующие уровни напряжения, пропорциональные константам интерполируемой функции:
, , UR ab.
В дальнейшем работа интерполятора происходит также, как и при воспроизведении окружностей.
При необходимости отображения прямых линий в автономном режиме с блока 12 задания констант интерполяции на вход блока 17 управления подается запрещающий потенциал на элемент И 27, а на входы счетчика 13 узлов интерполяции подается параллельный код тангенса угла а наклона прямой линии. Если в процессе работы требуется изменить или скорректировать направление линии, то оператор с помощью кнопки 28 и генератора 29 одиночных импульсов может посылать через элемент ИЛИ 26 одиночные импульсы в счетчик 13 узлов интерполяции, визуально контролируя наклон линии на графопостроителе или экране устройства отображения.
Таким образом, в предложенном интерполяторе по сравнению с известными устройствами того же назначения достигается технический результат, заключающийся в повышении быстродействия, поскольку не требуется дополнительное время на обмен информацией с ЭВМ, и расширяется область применения, т.к. обеспечивается воспроизведение кривых сложных форм.
Интерполятор был изготовлен и опробован в промышленных условиях и показал надежную работу при выполнении штриховых рисунков.
Интерполятор реализован на серийных элементах цифровой и аналоговой вычислительной техники.
Источники информации:
1.Авторское свидетельство СССР № 377822, М.Кл. G 06J 3/00 от 1971 г.
2.И.И.Задубовский и др. Цифровой вектограф. ж.Приборы и техника эксперимента, 1973 г. № 2, с.117-121. - прототип.
/X/
L