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

Изобретение относится к автоматике и вычислительной технике.
Известен линейный интерполятор [А.с. №551610 СССЗ, 1975 г.], содержащий регистры координатных приращений, соединенные через блоки совпадения со входами сумматора, выход которого через блок анализа знака оценочной функции подключен к управляющим входам блоков совпадения, и блок анализа знака разности координатных приращений, вход которого подключен к выходу сумматора, а выходы - ко входам регистров координатных приращений.
Однако это устройство характеризуется низкой точностью, обусловленной недостаточной точностью аппроксимации.
Наиболее близким по технической сущности к предлагаемому интерполятору является линейный интерполятор [А.с. 920636 СССР, 1982 г.]. Он дополнительно содержит регистр разности координатных приращений, причем вход блока анализа знака разности координатных приращений подключен к выходу сумматора через регистр разности координатных приращений.
Он также характеризуется низкой точностью при некоторых значениях большей проекции прямой на координатные оси: при делении проекции пополам образуется остаток, не учитываемый при интерполяции прямой.
Задача изобретения - совершенствование цифрового линейного интерполятора.
Технический результат - обеспечение максимально возможной точности интерполяции вне зависимости от входных данных.
Технический результат достигается за счет введения в цифровой линейный интерполятор, содержащий регистры координатных приращений, соединенные через блоки совпадения со входами сумматора, выход которого через блок анализа знака оценочной функции подключен к управляющим входам блоков совпадения, и блок анализа знака разности координатных приращений, вход которого подключен к выходу сумматора, а выходы - ко входам регистров координатных приращений, а также регистр разности координатных приращений, причем вход блока анализа знака разности координатных приращений подключен к выходу сумматора через регистр разности координатных приращений, дополнительного младшего (n+1)-го разряда в регистры координатных приращений и разности координатных приращений, блоки совпадений и блоки анализа (где n - двоичная разрядность исходных данных).
Введение дополнительного младшего (n+1)-го разряда в основные блоки интерполятора с его связями с другими блоками устройства позволило исключить потерю точности работы при нечетном значении большей проекции прямой на координатные оси.
Это является новым техническим решением в технике цифровой интерполяции прямой, поскольку результаты проведенного заявителем анализа аналогов и прототипа не позволили выявить признаки, тождественные всем существенным признакам данного изобретения.
Предложенный интерполятор промышленно применим, поскольку его техническая реализация возможна с использованием типовых элементов микроэлектронной техники (интегральных логических схем).
На чертеже изображена схема интерполятора.
Линейный интерполятор содержит регистр разности координатных приращений, причем вход блока анализа знака разности координатных приращений подключен к выходу сумматора через регистр разности координатных приращений.
Извне (например, от ЭВМ) по входу 11 в n старших разрядах регистра 1 координатных приращений поступает модуль проекции аппроксимируемой прямой на ось X Δx, а по входу 12 в n старших разрядах регистра 2 координатных приращений - модуль проекции прямой на ось Y Δy. С учетом дополнительных младших (n+1)-ых разрядов фактически на этих регистрах 1 и 2 будут находиться 2Δx и 2Δy, соответственно.
Далее определяется, какая из проекций большая. Для этого в сумматоре 5 определяется разность координатных приращений Δ=2(|Δx|-|Δy|). Модуль разности записывается в регистр 10 разности координатных приращений. Затем, для определения направления первого шага аппроксимации, вычисляется начальное значение оценочной функции. Для этого содержимое регистра большей проекции сдвигается на один разряд в сторону младших разрядов (большая проекция уменьшается в два раза), из полученного значения в сумматоре 5 вычисляется меньшая проекция, то есть
1
где V -начальное значение оценочной функции; Б - большая проекция; М - меньшая проекция.
После этого осуществляется перезапись разности координатных приращений из регистра 10 в регистр, где хранится большая проекция. На этом заканчивается подготовительный этап, предшествующий собственно процессу интерполяции. В регистрах 1 и 2 координатных приращений записаны разность координатных приращений и значение меньшей проекции, в сумматоре 5 - начальное значение оценочной функции. Блок 6 анализа оценочной функции анализирует значение оценочной функции V и в процессе интерполяции задает направление генерируемого перемещения и характер следующей за ним арифметической операции по расчету очередного значения оценочной функции.
i+1
i
При V≥0 по выходу 7 (см. чертеж) блоком 6 анализа оценочной функции генерируется элементарное перемещение по направлению оси большей координаты и одновременно с этим вычисляется новое значение оценочной функции, то есть в сумматоре 5 из предыдущего значения оценочной функции вычитается значение меньшей проекции V=V-М.
i+1
i
При V≤0 по выходу 8 блоком 6 анализа оценочной функции генерируется комбинированное элементарное перемещение (совместное по оси X и Y), и в сумматоре 5 к предыдущему значению оценочной функции прибавляется модуль разности координатных приращений V=V+А.
Когда отрезок прямой, проекции которого на оси координат составляют Δх=5, Δу=8 (см. фиг.), модуль Δх=2(|5|) по входу 11 записывается в регистр 1 координатных приращений, модуль Δу=2(|8|) - по входу 12 - в регистр 2 координатных приращений. Далее величины проекции сравниваются, то есть в сумматоре 5 вычисляется разность координатных приращений |5|-|8|=-3. Модуль разности 2(|-3|) записывается в регистр 10 разности координатных приращений. Знак разности анализируется блоком 9 анализа знака разности (|5|-|8|)≤0, и при этом вырабатывается признак сдвига содержимого регистра 2 координатных приращений на один разряд в сторону младших разрядов .
1
2
2
3
В сумматоре 5 вычисляется начальное значение оценочной функции , при этом из регистра 10 разности координатных приращений в регистр 2 координатных приращений переписывается разность координатных приращений (|-5|). Знак оценочной функции оценивается блоком 6, поскольку V<0, то по выходу 7 генерируется элементарное перемещение по оси Y и вычисляется следующее значение оценочной функции V=2|-1+3|=4. Знак анализируется блоком 6 анализа знака оценочной функции (V>0), по выходу 8 генерируется элементарное комбинированное перемещение (совместное по X и Y) и вычисляется V=4-10=-6.
Аналогично производится расчет направлений остальных перемещений и их генерация.
Таким образом, деление на два большей проекции, если она нечетное число, не приводит к систематической ошибке при цифровой линейной интерполяции прямой.