RU2127901C1 - Spline interpolator - Google Patents
Spline interpolator Download PDFInfo
- Publication number
- RU2127901C1 RU2127901C1 RU97115388A RU97115388A RU2127901C1 RU 2127901 C1 RU2127901 C1 RU 2127901C1 RU 97115388 A RU97115388 A RU 97115388A RU 97115388 A RU97115388 A RU 97115388A RU 2127901 C1 RU2127901 C1 RU 2127901C1
- Authority
- RU
- Russia
- Prior art keywords
- inputs
- group
- outputs
- spline
- input
- Prior art date
Links
Images
Landscapes
- Complex Calculations (AREA)
Abstract
Description
Изобретение относится к автоматике и вычислительной технике, в частности к полиномиальным и сплайн-интерполяторам, и может быть использовано в автоматических системах управления для воспроизведения нелинейных зависимостей одной переменной. The invention relates to automation and computer engineering, in particular to polynomial and spline interpolators, and can be used in automatic control systems for reproducing nonlinear dependencies of one variable.
Известные устройства (АС СССР N 1405074, G 06 F 15/353 от 27.10.1986, АС СССР N 1686461, G 06 F 15/353 от 13.02.1989) позволяют воспроизводить широкий класс функциональных зависимостей, но обладают низкой точностью. Known devices (AS of the USSR N 1405074, G 06 F 15/353 of 10/27/1986, AS of the USSR N 1686461, G 06 F 15/353 of 02/13/1989) allow reproducing a wide class of functional dependencies, but have low accuracy.
Наиболее близким к заявляемому устройству по своей технической сущности является "Сплайн-интерполятор" (АС СССР N 1686461, G 06 F 15/353 от 13.02.1989), выбранный в качестве устройства-прототипа. Closest to the claimed device in its technical essence is the "Spline interpolator" (USSR AS N 1686461, G 06 F 15/353 of 02/13/1989), selected as the prototype device.
Устройство-прототип содержит первый и второй счетчики, первый и второй блоки памяти, первый, второй, третий и четвертый блоки умножения, сумматор, регистр результата, блок управления, причем вход пуска интерполятора подключен к первому входу блока управления, синхровход интерполятора подключен к второму входу блока управления, первый выход которого соединен с входами сброса первого, второго счетчиков и регистра результата, второй выход соединен с суммирующим входом первого счетчика, выход первого счетчика соединен с первым адресным входом первого блока памяти, выход которого соединен с первыми информационными входами первого, второго, третьего, четвертого блоков умножения, вторые информационные входы которых соединены с выходом второго блока памяти, выходы первого, второго, третьего, четвертого блоков умножения соединены соответственно с первым, вторым, третьим, четвертым входами сумматора, выход которого соединен с первым информационным входом регистра результата, выход которого является выходом интерполятора, первый и второй управляющие входы первого, второго, третьего, четвертого блоков умножения соединены соответственно с третьим и четвертым выходами блока управления, пятый, шестой, седьмой, восьмой, девятый, десятый и одиннадцатый выходы которого соединены соответственно с первым управляющим входом регистра результата, с вычитающим входом первого счетчика, с управляющим входом первого блока памяти, с управляющим входом второго блока памяти, с входом записи второго счетчика, с вычитающим входом второго счетчика, с вторым управляющим входом регистра результата, второй информационный вход которого соединен с выходом второго блока памяти, вход количества значений функции внутри интервала интерполятора соединен с информационным входом второго счетчика и с вторым адресным входом первого блока памяти, третий адресный вход которого соединен с выходом первого счетчика и с третьим входом блока управления, четвертый вход которого соединен с третьим адресным входом первого блока памяти и с выходом второго счетчика, вход значения функции интерполятора соединен с информационным входом второго блока памяти. The prototype device contains the first and second counters, the first and second blocks of memory, the first, second, third and fourth blocks of multiplication, the adder, the result register, the control unit, and the start input of the interpolator is connected to the first input of the control unit, the clock input of the interpolator is connected to the second input control unit, the first output of which is connected to the reset inputs of the first, second counters and the result register, the second output is connected to the summing input of the first counter, the output of the first counter is connected to the first address input ohm of the first memory block, the output of which is connected to the first information inputs of the first, second, third, fourth multiplication blocks, the second information inputs of which are connected to the output of the second memory block, the outputs of the first, second, third, fourth multiplication blocks are connected respectively to the first, second, third, fourth inputs of the adder, the output of which is connected to the first information input of the result register, the output of which is the output of the interpolator, the first and second control inputs of the first, second, three fifth, fourth multiplication blocks are connected respectively to the third and fourth outputs of the control unit, the fifth, sixth, seventh, eighth, ninth, tenth and eleventh outputs of which are connected respectively to the first control input of the result register, with the subtracting input of the first counter, with the control input of the first block memory, with the control input of the second memory block, with the recording input of the second counter, with the subtracting input of the second counter, with the second control input of the result register, the second information input the second is connected to the output of the second memory unit, the input of the number of function values inside the interpolator interval is connected to the information input of the second counter and to the second address input of the first memory unit, the third address input of which is connected to the output of the first counter and to the third input of the control unit, the fourth input of which is connected with the third address input of the first memory block and with the output of the second counter, the input of the interpolator function value is connected to the information input of the second memory block.
Известное техническое решение обладает недостаточной точностью интерполяции, которая характеризуется погрешностью интерполяции, равной
где f
h - расстояние между отсчетами функции f(x).The known technical solution has insufficient interpolation accuracy, which is characterized by an interpolation error equal to
where f
h is the distance between the samples of the function f (x).
Причем эта точность обеспечивается для функций, имеющих непрерывную третью производную (f(x) ∈ C3). При интерполяции функций, имеющих непрерывную седьмую производную (f(x) ∈ C7), в данном устройстве не полностью учитывается информация о гладкости функций, вследствие чего прототип не обеспечивает необходимой точности.Moreover, this accuracy is ensured for functions having a continuous third derivative (f (x) ∈ C 3 ). When interpolating functions having a continuous seventh derivative (f (x) ∈ C 7 ), the information on the smoothness of functions is not fully taken into account in this device, as a result of which the prototype does not provide the necessary accuracy.
Целью изобретения является разработка устройства, обеспечивающего более высокую точность интерполяции функций, имеющих непрерывную седьмую производную (f(x) ∈ C7).
Поставленная цель достигается тем, что в сплайн-интерполятор, содержащий первый и второй блоки памяти, счетчик, блок управления, первый, второй, третий и четвертый умножители, сумматор и регистр, причем информационные входы счетчика и адресные входы первого блока памяти объединены и соединены с первой установочной шиной сплайн-интерполятора, а выходы счетчика соединены с третьей группой входов блока управления, первый вход которого является тактовой шиной сплайн-интерполятора, второй вход - шиной запуска сплайн-интерполятора, десятый выход соединен с управляющим входом регистра и вычитающим входом счетчика, а восьмой выход блока управления соединен со входом управления второго блока памяти, первая, вторая, третья и четвертая группы выходов которого соединены соответственно с первыми входами первого, второго, третьего и четвертого умножителей, выходы которых соединены соответственно с первой, второй, третьей и четвертой группами информационных входов сумматора, выходы которого соединены с информационными входами регистра, выходы которого являются выходами сплайн-интерполятора, дополнительно введены пятый и шестой умножители, блок формирования коэффициентов сплайна и блок формирования параметров сплайна. Первый вход формирования коэффициентов сплайна соединен с девятым выходом блока управления. Четвертая, пятая, шестая и седьмая группы входов блока управления соответственно являются второй, третьей, четвертой и пятой установочными шинами сплайн-интерполятора. Одиннадцатый выход блока управления соединен с шестым входом блока формирования параметров сплайна и входом управления сумматора. Пятая и шестая группы информационных входов сумматора соединены соответственно с выходами пятого и шестого умножителей. Первые группы входов пятого и шестого умножителей соединены соответственно с пятой и шестой группами выходов второго блока памяти. Информационные входы второго блока памяти соединены с девятой группой выходов блока формирования коэффициентов сплайна. Вторая, третья, четвертая, шестая, седьмая и восьмая группы входов блока формирования коэффициентов сплайна соответственно являются шестой, седьмой, восьмой, девятой, десятой и одиннадцатой установочными шинами сплайн-интерполятора. Пятая группа входов блока формирования коэффициентов сплайна представляет собой информационную шину сплайн-интерполятора. Двенадцатая установочная шина сплайн-интерполятора соединена с первой группой входов блока формирования параметров сплайна. Вторая и третья группы входов блока формирования параметров сплайна соответственно являются тринадцатой и четырнадцатой установочными шинами сплайн-интерполятора. Четвертая группа входов блока формирования параметров сплайна соединена с выходами первого блока памяти, а пятая группа входов - с выходами счетчика. Управляющий вход счетчика объединен со вторым входом блока управления и одновременно является шиной запуска сплайн-интерполятора. Седьмая, восьмая, девятая, десятая, одиннадцатая и двенадцатая группы выходов блока формирования параметров сплайна соединены со вторыми группами входом соответственно шестого, пятого, четвертого, третьего, второго и первого умножителей.The aim of the invention is to develop a device that provides higher accuracy of interpolation of functions having a continuous seventh derivative (f (x) ∈ C 7 ).
This goal is achieved by the fact that in the spline interpolator containing the first and second memory blocks, a counter, a control unit, the first, second, third and fourth multipliers, an adder and a register, the information counter inputs and address inputs of the first memory block are combined and connected to the first installation bus of the spline interpolator, and the counter outputs are connected to the third group of inputs of the control unit, the first input of which is the clock bus of the spline interpolator, the second input is the trigger bus of the spline interpolator, the tenth One is connected to the control input of the register and the subtracting input of the counter, and the eighth output of the control unit is connected to the control input of the second memory unit, the first, second, third and fourth groups of outputs of which are connected respectively to the first inputs of the first, second, third and fourth multipliers, the outputs of which connected respectively to the first, second, third and fourth groups of information inputs of the adder, the outputs of which are connected to the information inputs of the register, the outputs of which are outputs of the spline-int rpolyatora additionally introduced fifth and sixth multipliers generating unit and the spline coefficients of the spline generating unit parameters. The first input of the formation of the spline coefficients is connected to the ninth output of the control unit. The fourth, fifth, sixth and seventh groups of inputs of the control unit are respectively the second, third, fourth and fifth installation bus spline interpolator. The eleventh output of the control unit is connected to the sixth input of the spline parameter forming unit and the adder control input. The fifth and sixth groups of information inputs of the adder are connected respectively to the outputs of the fifth and sixth multipliers. The first groups of inputs of the fifth and sixth multipliers are connected respectively to the fifth and sixth groups of outputs of the second memory block. The information inputs of the second memory block are connected to the ninth group of outputs of the block forming the spline coefficients. The second, third, fourth, sixth, seventh and eighth groups of inputs of the block forming the spline coefficients, respectively, are the sixth, seventh, eighth, ninth, tenth and eleventh installation bus spline interpolator. The fifth group of inputs of the block forming the spline coefficients is the information bus of the spline interpolator. The twelfth installation bus of the spline interpolator is connected to the first group of inputs of the spline parameter forming unit. The second and third groups of inputs of the spline parameter forming unit are respectively the thirteenth and fourteenth installation buses of the spline interpolator. The fourth group of inputs of the spline parameter forming unit is connected to the outputs of the first memory block, and the fifth group of inputs is connected to the outputs of the counter. The control input of the counter is combined with the second input of the control unit and at the same time is the trigger bus for the spline interpolator. The seventh, eighth, ninth, tenth, eleventh and twelfth output groups of the spline parameter forming unit are connected to the second groups by input of the sixth, fifth, fourth, third, second and first multipliers, respectively.
Блок формирования коэффициентов сплайна. Block forming spline coefficients.
Блок формирования коэффициентов сплайна содержит первый, второй, третий, четвертый, пятый, шестой и седьмой умножители, первый, второй, третий, четвертый, пятый, шестой, седьмой и восьмой элементы задержки, первый, второй и третий сумматоры. Первая группа входов первого умножителя объединена с первыми группами входом второго, третьего и четвертого умножителей, группами информационных входов первого, третьего и шестого элементов задержки, первой группой второго сумматора и одновременно является пятой группой входов блока формирования коэффициентов сплайна и информационной шиной сплайн-интерполятора. Вторая группа входов первого умножителя является второй группой входов блока формирования коэффициентов сплайна и шестой установочной шиной сплайн-интерполятора, а выходы соединены с информационными входами второго элемента задержки. Управляющий вход второго элемента задержки объединен с управляющими входами первого, третьего, четвертого, пятого, шестого, седьмого и восьмого элементов задержки, управляющими входами первого, второго и третьего сумматоров и одновременно является первым входом блока формирования коэффициентов сплайна. Выходы второго элемента задержки соединены со второй группой входов первого сумматора. Первая и третья группы входов первого сумматора соответственно соединены с выходами первого и третьего элементов задержки, а выходы соединены с первой группой входов пятого умножителя. Вторая группа входов пятого умножителя является третьей группой входов блока формирования коэффициентов сплайна и седьмой установочной шиной сплайн-интерполятора, а выходы соединены с информационными входами седьмого элемента задержки. Выходы седьмого элемента задержки соединены с первой группой входов третьего сумматора. Вторая группа входов третьего сумматора соединена с выходами восьмого элемента задержки, информационные входы которого объединены с третьей группой входов второго сумматора и выходами четвертого элемента задержки. Информационные входы четвертого элемента задержки соединены с выходами третьего умножителя. Вторая группа входов третьего умножителя является четвертой группой входов блока формирования коэффициентов сплайна и восьмой установочной шиной сплайн-интерполятора. Вторая группа входов четвертого умножителя объединена со второй группой входов второго умножителя и является шестой группой входов блока формирования коэффициентов сплайна и девятой установочной шиной сплайн-интерполятора. Выходы четвертого умножителя соединены с информационными входами пятого элемента задержки, выходы которого соединены с четвертой группой входов второго сумматора. Вторая группа входов второго сумматора соединена с выходами второго умножителя, а пятая группа входов - с выходами шестого элемента задержки. Выходы второго сумматора соединены с первой группой входов шестого умножителя, вторая группа входов которого является седьмой группой входов блока формирования коэффициентов сплайна и десятой установочной шиной сплайн-интерполятора, а выходы соединены с третьей группой входов третьего сумматора. Выходы третьего сумматора соединены с первой группой входов седьмого умножителя, вторая группа входов которого является восьмой группой входов блока формирования коэффициентов сплайна и одиннадцатой установочной шиной сплайн-интерполятора, а выходы являются девятой группой выходов блока формирования коэффициентов сплайна. The spline coefficient generating unit contains the first, second, third, fourth, fifth, sixth and seventh multipliers, the first, second, third, fourth, fifth, sixth, seventh and eighth delay elements, the first, second and third adders. The first group of inputs of the first multiplier is combined with the first groups of inputs of the second, third and fourth multipliers, the groups of information inputs of the first, third and sixth delay elements, the first group of the second adder and at the same time is the fifth group of inputs of the spline coefficient generation unit and the information bus of the spline interpolator. The second group of inputs of the first multiplier is the second group of inputs of the block forming the spline coefficients and the sixth installation bus of the spline interpolator, and the outputs are connected to the information inputs of the second delay element. The control input of the second delay element is combined with the control inputs of the first, third, fourth, fifth, sixth, seventh and eighth delay elements, the control inputs of the first, second and third adders and at the same time is the first input of the spline coefficient generation unit. The outputs of the second delay element are connected to the second group of inputs of the first adder. The first and third groups of inputs of the first adder, respectively, are connected to the outputs of the first and third delay elements, and the outputs are connected to the first group of inputs of the fifth multiplier. The second group of inputs of the fifth multiplier is the third group of inputs of the block forming the spline coefficients and the seventh installation bus of the spline interpolator, and the outputs are connected to the information inputs of the seventh delay element. The outputs of the seventh delay element are connected to the first group of inputs of the third adder. The second group of inputs of the third adder is connected to the outputs of the eighth delay element, the information inputs of which are combined with the third group of inputs of the second adder and the outputs of the fourth delay element. The information inputs of the fourth delay element are connected to the outputs of the third multiplier. The second group of inputs of the third multiplier is the fourth group of inputs of the block forming the spline coefficients and the eighth installation bus of the spline interpolator. The second group of inputs of the fourth multiplier is combined with the second group of inputs of the second multiplier and is the sixth group of inputs of the block forming the spline coefficients and the ninth installation bus of the spline interpolator. The outputs of the fourth multiplier are connected to the information inputs of the fifth delay element, the outputs of which are connected to the fourth group of inputs of the second adder. The second group of inputs of the second adder is connected to the outputs of the second multiplier, and the fifth group of inputs is connected to the outputs of the sixth delay element. The outputs of the second adder are connected to the first group of inputs of the sixth multiplier, the second group of inputs of which is the seventh group of inputs of the block forming the spline coefficients and the tenth installation bus of the spline interpolator, and the outputs are connected to the third group of inputs of the third adder. The outputs of the third adder are connected to the first group of inputs of the seventh multiplier, the second group of inputs of which is the eighth group of inputs of the block forming the spline coefficients and the eleventh installation bus of the spline interpolator, and the outputs are the ninth group of outputs of the block forming the spline coefficients.
Блок формирования параметров сплайна. Block forming spline parameters.
Блок формирования параметров сплайна содержит первый, второй, третий, четвертый, пятый, шестой и седьмой умножители, преобразователь в дополнительный код, первый, второй, третий, четвертый, пятый, шестой, седьмой и восьмой сумматоры, первый, второй, третий, четвертый, пятый и шестой элементы задержки, первый, второй, третий, четвертый, пятый и шестой блоки возведения в пятую степень. Первая и вторая группы входов первого умножителя соответственно являются пятой и четвертой группами входов блока формирования параметров сплайна, а выходы соединены со входами блока преобразователя в дополнительный код, первой группой входов первого сумматора и входами первого блока возведения в пятую степень. Выходы первого блока возведения в пятую степень соединены с информационными входами третьего элемента задержки, первой группой входов второго умножителя и первой группой входов третьего умножителя. Вторая группа входов третьего умножителя объединена со второй группой входов четвертого, пятого и шестого умножителей и является второй группой входов блока формирования параметров сплайна и тринадцатой установочной шиной сплайн-интерполятора. Выходы третьего умножителя соединены с первой группой входов пятого сумматора. Вторая группа входов пятого сумматора объединена с первой группой входов четвертого умножителя и выходами второго блока возведения в пятую степень, а выходы пятого сумматора соединены с информационными входами четвертого элемента задержки. Выходы четвертого элемента задержки являются одиннадцатой группой выходов блока формирования параметров сплайна, а управляющий вход объединен с управляющими входами первого, второго, третьего, четвертого, пятого и шестого элементов задержки и первого, второго, третьего, четвертого, пятого, шестого, седьмого и восьмого сумматоров и является шестым входом блока формирования параметров сплайна. Вторая группа входов второго умножителя объединена со второй группой входов седьмого умножителя и является первой группой входов блока формирования параметров сплайна и двенадцатой установочной шиной сплайн-интерполятора, а выходы соединены с информационными входами первого элемента задержки. Выходы первого элемента задержки соединены с первой группой входов шестого сумматора. Вторая группа входов шестого сумматора соединена с выходами четвертого умножителя, а его выходы являются десятой группой выходов блока формирования параметров сплайна. Вторая группа входов первого сумматора объединена со вторыми группами входов второго, третьего и четвертого сумматоров и является третьей группой входов блока формирования параметров сплайна и четырнадцатой установочной шиной сплайн-интерполятора. Выходы первого сумматора соединены со входами второго блока возведения в пятую степень и первой группой входов третьего сумматора. Выходы третьего сумматора соединены со входами пятого блока возведения в пятую степень, выходы которого соединены с третьей группой входов шестого сумматора. Выходы преобразователя в дополнительный код соединены со входами четвертого блока возведения в пятую степень и первой группой входов второго сумматора. Выходы второго сумматора соединены со входами третьего блока возведения в пятую степень и первой группой входов четвертого сумматора, выходы которого соединены со входами шестого блока возведения в пятую степень. Выходы шестого блока возведения в пятую степень соединены с первой группой входов седьмого сумматора, вторая группа входов которого соединена с выходами пятого умножителя. Первая группа входов пятого умножителя соединена с выходами третьего блока возведения в пятую степень и первой группой входов восьмого сумматора. Вторая группа входов восьмого сумматора соединена с выходами шестого умножителя, а выходы соединены с информационными входами пятого элемента задержки. Выходы пятого элемента задержки являются восьмой группой выходов блока формирования параметров сплайна. Выходы четвертого блока возведения в пятую степень соединены с первой группой входов шестого умножителя, первой группой входов седьмого умножителя и информационными входами шестого элемента задержки, выходы которого являются седьмой группой выходов блока формирования параметров сплайна. Выходы седьмого умножителя соединены с информационными входами второго элемента задержки, выходы которого соединены с третьей группой входов седьмого сумматора. Выходы седьмого сумматора являются девятой группой выходов блока формирования параметров сплайна. Выходы третьего элемента задержки являются двенадцатой группой выходов блока формирования параметров сплайна. The spline parameter generating unit contains the first, second, third, fourth, fifth, sixth and seventh multipliers, a converter to an additional code, the first, second, third, fourth, fifth, sixth, seventh and eighth adders, the first, second, third, fourth, fifth and sixth delay elements, first, second, third, fourth, fifth and sixth fifth degree blocks. The first and second groups of inputs of the first multiplier, respectively, are the fifth and fourth groups of inputs of the block forming the spline parameters, and the outputs are connected to the inputs of the converter unit into an additional code, the first group of inputs of the first adder and the inputs of the first block of raising to the fifth degree. The outputs of the first block raising to the fifth degree are connected to the information inputs of the third delay element, the first group of inputs of the second multiplier and the first group of inputs of the third multiplier. The second group of inputs of the third multiplier is combined with the second group of inputs of the fourth, fifth and sixth multipliers and is the second group of inputs of the spline parameter forming unit and the thirteenth installation bus of the spline interpolator. The outputs of the third multiplier are connected to the first group of inputs of the fifth adder. The second group of inputs of the fifth adder is combined with the first group of inputs of the fourth multiplier and the outputs of the second block raising to the fifth degree, and the outputs of the fifth adder are connected to the information inputs of the fourth delay element. The outputs of the fourth delay element are the eleventh group of outputs of the spline parameter forming unit, and the control input is combined with the control inputs of the first, second, third, fourth, fifth, and sixth delay elements and the first, second, third, fourth, fifth, sixth, seventh and eighth adders and is the sixth input of the spline parameter forming unit. The second group of inputs of the second multiplier is combined with the second group of inputs of the seventh multiplier and is the first group of inputs of the spline parameter forming unit and the twelfth installation bus of the spline interpolator, and the outputs are connected to the information inputs of the first delay element. The outputs of the first delay element are connected to the first group of inputs of the sixth adder. The second group of inputs of the sixth adder is connected to the outputs of the fourth multiplier, and its outputs are the tenth group of outputs of the spline parameter forming unit. The second group of inputs of the first adder is combined with the second groups of inputs of the second, third and fourth adders and is the third group of inputs of the spline parameter forming unit and the fourteenth installation bus of the spline interpolator. The outputs of the first adder are connected to the inputs of the second block raising to the fifth degree and the first group of inputs of the third adder. The outputs of the third adder are connected to the inputs of the fifth block of raising to the fifth degree, the outputs of which are connected to the third group of inputs of the sixth adder. The outputs of the converter in the additional code are connected to the inputs of the fourth block raising to the fifth degree and the first group of inputs of the second adder. The outputs of the second adder are connected to the inputs of the third fifth degree block and the first group of inputs of the fourth adder, the outputs of which are connected to the inputs of the sixth fifth degree block. The outputs of the sixth fifth degree block are connected to the first group of inputs of the seventh adder, the second group of inputs of which are connected to the outputs of the fifth multiplier. The first group of inputs of the fifth multiplier is connected to the outputs of the third block of raising to the fifth degree and the first group of inputs of the eighth adder. The second group of inputs of the eighth adder is connected to the outputs of the sixth multiplier, and the outputs are connected to the information inputs of the fifth delay element. The outputs of the fifth delay element are the eighth group of outputs of the spline parameter forming unit. The outputs of the fourth block of raising to the fifth degree are connected to the first group of inputs of the sixth multiplier, the first group of inputs of the seventh multiplier and the information inputs of the sixth delay element, the outputs of which are the seventh group of outputs of the spline parameter forming unit. The outputs of the seventh multiplier are connected to the information inputs of the second delay element, the outputs of which are connected to the third group of inputs of the seventh adder. The outputs of the seventh adder are the ninth group of outputs of the spline parameter forming unit. The outputs of the third delay element are the twelfth group of outputs of the spline parameter forming unit.
Блок управления. Control block.
Блок управления содержит первый и второй RS-триггеры, первый, второй, третий и четвертый элементы И, первый и второй счетчики, первый, второй, третий и четвертый блоки сравнения, элемент задержки и элемент НЕ. Первая группа входов первого блока сравнения является третьей группой входов блока управления. Вторая группа входов объединена с информационными входами второго счетчика и является четвертой группой входов блока управления и второй установочной шиной сплайн-интерполятора, а выход соединен с R-входом первого RS-триггера. S-вход первого RS-триггера объединен со входом сброса первого счетчика, управляющим входом второго счетчика, S-входом второго RS-триггера и одновременно является вторым входом блока управления и шиной запуска сплайн-интерполятора. Выход первого RS-триггера соединен с первым входом первого элемента И. Второй вход первого элемента И является первым входом блока управления и тактовой шиной сплайн-интерполятора, а выход соединен со вторым входом четвертого элемента И и первым входом второго элемента И. Выход второго элемента И является девятым выходом блока управления и одновременно соединен с первым входом третьего элемента И и счетным входом первого счетчика. Выходы первого счетчика соединены с первой группой входов третьего блока сравнения. Вторая группа входов третьего блока сравнения является шестой группой входов блока управления и четвертой установочной шиной сплайн-интерполятора, а выход соединен со вторым входом второго элемента И и входом элемента НЕ. Выход элемента НЕ соединен с R-входом второго RS-триггера, инверсный выход которого соединен с первым входом четвертого элемента И. Выход четвертого элемента И является одиннадцатым выходом блока управления и одновременно соединен со счетным входом второго счетчика, выходы которого соединены с первой группой входов четвертого блока сравнения. Вторая группа входов четвертого блока сравнения является седьмой группой входов блока управления и пятой установочной шиной сплайн-интерполятора, а выход соединен со входом сброса второго счетчика и входом элемента задержки. Выход элемента задержки является десятым выходом блока управления. Вторая группа входов второго блока сравнения является пятой группой входов блока управления и третьей установочной шиной сплайн-интерполятора, а выход соединен со вторым входом третьего элемента И. Выход третьего элемента И является восьмым выходом блока управления. The control unit contains the first and second RS-flip-flops, the first, second, third and fourth AND elements, the first and second counters, the first, second, third and fourth comparison blocks, the delay element and the element NOT. The first group of inputs of the first comparison unit is the third group of inputs of the control unit. The second group of inputs is combined with the information inputs of the second counter and is the fourth group of inputs of the control unit and the second installation bus of the spline interpolator, and the output is connected to the R-input of the first RS-trigger. The S-input of the first RS-trigger is combined with the reset input of the first counter, the control input of the second counter, the S-input of the second RS-trigger and at the same time is the second input of the control unit and the trigger bus of the spline interpolator. The output of the first RS-trigger is connected to the first input of the first element I. The second input of the first element And is the first input of the control unit and the clock bus of the spline interpolator, and the output is connected to the second input of the fourth element And and the first input of the second element I. The output of the second element And is the ninth output of the control unit and is simultaneously connected to the first input of the third AND element and the counting input of the first counter. The outputs of the first counter are connected to the first group of inputs of the third comparison unit. The second group of inputs of the third comparison unit is the sixth group of inputs of the control unit and the fourth installation bus of the spline interpolator, and the output is connected to the second input of the second AND element and the input of the NOT element. The output of the element is NOT connected to the R-input of the second RS-flip-flop, the inverse output of which is connected to the first input of the fourth element I. The output of the fourth element And is the eleventh output of the control unit and is simultaneously connected to the counting input of the second counter, the outputs of which are connected to the first group of inputs of the fourth block comparison. The second group of inputs of the fourth comparison unit is the seventh group of inputs of the control unit and the fifth installation bus of the spline interpolator, and the output is connected to the reset input of the second counter and the input of the delay element. The output of the delay element is the tenth output of the control unit. The second group of inputs of the second comparison unit is the fifth group of inputs of the control unit and the third installation bus of the spline interpolator, and the output is connected to the second input of the third element I. The output of the third element And is the eighth output of the control unit.
Перечисленная новая совокупность существенных признаков заявленного устройства обеспечивает более высокую точность интерполяции функций, имеющих непрерывную седьмую производную (f(x) ∈ C7). Это достигается тем, что интерполяция осуществляется более точно исходя из априорной информации о степени гладкости функции.The listed new set of essential features of the claimed device provides a higher accuracy of interpolation of functions having a continuous seventh derivative (f (x) ∈ C 7 ). This is achieved by the fact that the interpolation is carried out more accurately based on a priori information about the degree of smoothness of the function.
Заявленное устройство поясняется чертежами, на которых:
на фиг. 1 приведена структурная схема заявленного устройства;
на фиг. 2 представлена структурная схема блока формирования коэффициентов сплайна;
на фиг. 3 представлена структурная схема блока формирования параметров сплайна;
на фиг. 4 приведена структурная схема блока управления;
на фиг. 5 показан один из возможных вариантов построения второго блока памяти;
на фиг. 6 показан вариант реализации элемента задержки;
на фиг. 7 представлен один из возможных вариантов реализации блока возведения в пятую степень.The claimed device is illustrated by drawings, in which:
in FIG. 1 shows a structural diagram of the claimed device;
in FIG. 2 is a structural diagram of a block for generating spline coefficients;
in FIG. 3 is a structural diagram of a spline parameter forming unit;
in FIG. 4 shows a block diagram of a control unit;
in FIG. 5 shows one of the possible options for constructing a second memory block;
in FIG. 6 shows an embodiment of a delay element;
in FIG. 7 presents one of the possible options for the implementation of the block raising to the fifth degree.
Сплайн-интерполятор, показанный на фиг. 1, состоит из блоков памяти 1 и 6, умножителей 7, 8, 9, 10, 11 и 12, сумматора 13, регистра 14, блока управления 3, счетчика 2, блока формирования коэффициентов сплайна 4 и блока формирования параметров сплайна 5. Группа информационных входов счетчика 2 объединена с адресными входами первого блока памяти 1 и одновременно является первой установочной шиной 15 сплайн-интерполятора. Вычитающий вход счетчика 2 объединен со входом управления регистра 14 и десятым выходом блока управления 3. Информационные выходы счетчика 2 объединены с третьей группой входов блока управления 3. Первый вход блока управления 3 является тактовой шиной 17 сплайн-интерполятора, второй вход - шиной запуска 18. Восьмой выход блока управления 3 соединен со входом управления второго блока памяти 6. Первая, вторая, третья, четвертая, пятая и шестая группы информационных выходов блока памяти 6 соединены с первыми группами входов соответственно умножителей 7, 8, 9, 10, 11 и 12. Группы выходов умножителей 7, 8, 9, 10, 11 и 12 соединены соответственно с первой, второй, третьей, четвертой, пятой и шестой группами входов сумматора 13. Группа выходов сумматора 13 соединена с информационными входами регистра 14, выходы которого являются группой информационных выходов сплайн-интерполятора. Четвертая группа входов блока формирования параметров сплайна 5 соединена с информационными выходами первого блока памяти 1. Первая группа входов блока формирования параметров сплайна соединена с двенадцатой установочной шиной 29 сплайн-интерполятора. Пятая группа входов блока формирования параметров сплайна соединена с информационными выходами счетчика 2. Вторая группа входов блока формирования параметров сплайна соединена с тринадцатой установочной шиной 30 сплайн-интерполятора. Третья группа его входов является четырнадцатой установочной шиной 31 сплайн-интерполятора. Пятая группа входов блока 5 объединена также с третьей группой входов блока управления 3. Двенадцатая, одиннадцатая, десятая, девятая, восьмая и седьмая группы выходов блока формирования параметров сплайна 5 соединены со вторыми группами входов умножителей 7, 8, 9, 10, 11 и 12 соответственно. Шестой вход блока формирования параметров сплайна 5 объединен с управляющим входом сумматора 13 и одиннадцатым выходом блока управления 3. Второй вход блока управления 3 объединен со входом управления счетчика 2 и одновременно является шиной запуска 18 сплайн-интерполятора. Четвертая группа входов блока управления 3 является второй установочной шиной 16 сплайн-интерполятора, пятая группа входов - третьей установочной шиной 19 сплайн-интерполятора, шестая группа входов - четвертой установочной шиной 20 сплайн-интерполятора. Седьмая группа входов блока управления 3 является пятой установочной шиной 21 сплайн-интерполятора. Восьмой выход блока управления 3 соединен с управляющим входом второго блока памяти 6. Девятый выход блока управления соединен с первым входом блока формирования коэффициентов сплайна 4. Десятый выход блока 3 объединен с вычитающим входом счетчика и управляющим входом регистра. Одиннадцатый выход блока 3 объединен с пятым входом блока формирования параметров сплайна 5 и управляющим входом сумматора 13. Вторая группа входов блока формирования коэффициентов сплайна 4 является шестой информационной шиной 22 сплайн-интерполятора, третья группа входов - седьмой установочной шиной 23 сплайн-интерполятора, четвертая группа входов - восьмой установочной шиной 24 сплайн-интерполятора. Пятая группа входов блока 4 является информационной шиной 25 сплайн-интерполятора. Шестая группа входов блока 4 - девятой установочной шиной 26 сплайн-интерполятора. Седьмая группа выходов блока 4 соединена с десятой установочной шиной 27 сплайн-интерполятора. Восьмая группа входов блока 4 является одиннадцатой установочной шиной 28 сплайн-интерполятора. Девятая группа выходов блока 4 соединена с информационными входами второго блока памяти 6. The spline interpolator shown in FIG. 1, consists of
Блок формирования коэффициентов сплайна 4, показанный на фиг. 2, состоит из умножителей 41, 42, 43, 44, 412, 416 и 418, элементов задержки 45, 46, 47, 48, 49, 410, 414 и 415, сумматоров 411, 413 и 417. Первая группа входов первого умножителя 41 объединена с первыми группами входов умножителей 42, 43 и 44, группами информационных входов элементов задержки 45, 47 и 410, первой группой входов сумматора 413 и одновременно является пятой группой входов блока формирования коэффициентов сплайна 4 и информационной шиной 25 сплайн-интерполятора. Вторая группа входов умножителя 41 является второй группой входов блока формирования коэффициентов сплайна 4 и установочной шиной 22 сплайн-интерполятора, а выходы соединены с информационными входами элемента задержки 46. Управляющий вход элемента задержки 46 объединен с управляющими входами элементов задержки 45, 47, 48, 49, 410, 414 и 415, управляющими входами сумматоров 411, 413 и 417 и одновременно является первым входом блока формирования коэффициентов сплайна 4. Выходы элемента задержки 46 соединены со второй группой входов сумматора 411. Первая и третья группы входов сумматора 411 соответственно соединены с выходами элементов задержки 45 и 47, а выходы соединены с первой группой входов умножителя 412. Вторая группа входов умножителя 412 является третьей группой входов блока формирования коэффициентов сплайна 4 и установочной шиной 23 сплайн-интерполятора, а выходы соединены с информационными входами элемента задержки 414. Выходы элемента задержки 414 соединены с первой группой входов сумматора 417. Вторая группа входов сумматора 417 соединена с выходами элемента задержки 415, информационные входы которого объединены с третьей группой входов сумматора 413 и выходами элемента задержки 48. Информационные входы элемента задержки 48 соединены с выходами умножителя 43. Вторая группа входов умножителя 43 является четвертой группой входов блока формирования коэффициентов сплайна 4 и установочной шиной 24 сплайн-интерполятора. Вторая группа входов умножителя 44 объединена со второй группой входов умножителя 42 и является шестой группой входов блока формирования коэффициентов сплайна 4 и установочной шиной 26 сплайн-интерполятора. Выходы умножителя 44 соединены с информационными входами элемента задержки 49, выходы которого соединены с четвертой группой входов сумматора 413. Вторая группа входов сумматора 413 соединена с выходами умножителя 42, а пятая группа входов - с выходами элемента задержки 410. Выходы сумматора 413 соединены с первой группой входов умножителя 416, вторая группа входов которого является седьмой группой входов блока формирования коэффициентов сплайна 4 и установочной шиной 27 сплайн-интерполятора, а выходы соединены с третьей группой входов сумматора 417. Выходы сумматора 417 соединены с первой группой входов умножителя 418, вторая группа входов которого является восьмой группой входов блока формирования коэффициентов сплайна 4 и установочной шиной 28 сплайн-интерполятора, а выходы являются девятой группой выходов блока формирования коэффициентов сплайна 4. The
Блок формирования параметров сплайна 5, показанный на фиг. 3, состоит из умножителей 51, 511, 512, 513, 516, 517 и 518, преобразователя в дополнительный код 52, сумматоров 53, 54, 57, 58, 521, 522, 523 и 524, элементов задержки 519, 520, 525, 526, 527 и 528, блоков возведения в пятую степень 55, 56, 59, 510, 514 и 515. Первая и вторая группы входов умножителя 51 соответственно являются пятой и четвертой группами входов блока формирования параметров сплайна 5, а выходы соединены со входами блока преобразователя в дополнительный код 52, первой группой входов сумматора 53 и входами блока возведения в пятую степень 55. Выходы блока возведения в пятую степень 55 соединены с информационными входами элемента задержки 525, первой группой входов умножителя 511 и первой группой входов умножителя 512. Вторая группа входов умножителя 512 объединена со вторыми группами входов умножителей 513 и 516 и является второй группой входов блока формирования параметров сплайна 5 и установочной шиной 30 сплайн-интерполятора. Выходы умножителя 512 соединены с первой группой входов сумматора 521. Вторая группа входов сумматора 521 объединена с первой группой входов умножителя 513 и выходами блока возведения в пятую степень 56, а выходы сумматора 521 соединены с информационными входами элемента задержки 526. Выходы элемента задержки 526 являются одиннадцатой группой выходов блока формирования параметров сплайна 5, а управляющий вход объединен с управляющими входами элементов задержки 519, 520, 525, 527 и 528 и сумматоров 53, 54, 57, 58, 521, 522, 523 и 524 и является шестым входом блока формирования параметров сплайна 5. Вторая группа входов умножителя 511 объединена со второй группой входов умножителя 518 и является первой группой входов блока формирования параметров сплайна 5 и установочной шиной 29 сплайн-интерполятора, а выходы соединены с информационными входами элемента задержки 519. Выходы элементы задержки 519 соединены с первой группой входов сумматора 522. Вторая группа входов сумматора 522 соединена с выходами умножителя 513, а выходы блока 522 являются десятой группой выходов блока формирования параметров сплайна 5. Вторая группа входов сумматора 53 объединена со вторыми группами входов сумматоров 54, 57 и 58 и является третьей группой входов блока формирования параметров сплайна 5 и установочной шиной 31 сплайн-интерполятора. Выходы сумматора 53 соединены со входами блока возведения в пятую степень 56 и первой группой входов сумматора 57. Выходы сумматора 57 соединены со входами блока возведения в пятую степень 514, выходы которого соединены с третьей группой входов сумматора 522. Выходы преобразователя в дополнительный код 52 соединены со входами блока возведения в пятую степень 510 и первой группой входов сумматора 54. Выходы сумматора 54 соединены со входами блока возведения в пятую степень 59 и первой группой входов сумматора 58, выходы которого соединены со входами блока возведения в пятую степень 515. Выходы блока возведения в пятую степень 515 соединены с первой группой входов сумматора 523, вторая группа входов которого соединена с выходами умножителя 516. Первая группа входов умножителя 516 соединена с выходами блока возведения в пятую степень 59 и первой группой входов сумматора 524. Вторая группа входов сумматора 524 соединена с выходами умножителя 517, а выходы соединены с информационными входами элемента задержки 527. Выходы элемента задержки 527 являются восьмой группой выходов блока формирования параметров сплайна 5. Выходы блока возведения в пятую степень 510 соединены с первой группой входов умножителя 517, первой группой входов умножителя 518 и информационными входами элемента задержки 528, выходы которого являются седьмой группой выходов блока формирования параметров сплайна 5. Выходы умножителя 518 соединены с информационными входами элемента задержки 520, выходы которого соединены с третьей группой входов сумматора 523. Выходы сумматора 523 являются девятой группой выходов блока формирования параметров сплайна 5. Выходы элемента задержки 525 являются двенадцатой группой выходов блока формирования параметров сплайна 5. The spline
Блок управления 3, показанный на фиг. 4, состоит из RS-триггеров 31 и 310, элементом И 33, 34, 37 и 311, счетчиков 35 и 312, блоков сравнения 32, 36, 38 и 313, элемента задержки 314 и элемента НЕ 39. Первая группа входов блока 32 сравнения является третьей группой входов блока управления 3. Вторая группа входов блока 32 объединена с информационными входами счетчика 312 и является четвертой группой входов блока управления 3 и установочной шиной 16 сплайн-интерполятора, а выход соединен с R-входом RS-триггера 31. S-вход RS-триггера 31 объединен со входом сброса счетчика 35, управляющим входом счетчика 312, S-входом RS-триггера 310 и одновременно является вторым входом блока управления 3 и шиной запуска сплайн-интерполятора 18. Выход RS-тригнера 31 соединен с первым входом элемента И 33. Второй вход элемента И 33 является первым входом блока управления 3 и тактовой шиной 17 сплайн-интерполятора, а выход соединен со вторым входом элемента И 311 и первым входом элемента И 34. Выход элемента И 34 является девятым выходом блока управления 3 и одновременно соединен с первым входом элемента И 37 и счетным входом счетчика 35. Выходы счетчика 35 соединены с первой группой входов блока сравнения 38. Вторая группа входов блока сравнения 38 является шестой группой входов блока управления 3 и установочной шиной 20 сплайн-интерполятора, а выход соединен со вторым входом элемента И 34 и входом элемента НЕ 39. Выход элемента НЕ 39 соединен с R-входом RS-триггера 310, инверсный выход которого соединен с первым входом элемента И 311. Выход элемента И 311 является одиннадцатым выходом блока управления 3 и одновременно соединен со счетным входом счетчика 312, выходы которого соединены с первой группой входов блока сравнения 313. Вторая группа входов блока сравнения 313 является седьмой группой входов блока управления 3 и установочной шиной 21 сплайн-интерполятора, а выход соединен со входом сброса счетчика 312 и входом элемента задержки 314. Выход элемента задержки 314 является десятым выходом блока управления 3. Вторая группа входов блока сравнения 36 является пятой группой входов блока управления 3 и установочной шиной 19 сплайн-интерполятора, а выход соединен со вторым входом элемента И 37. Выход элемента И 37 является восьмым выходом блока управления 3. The
Реализация заявляемого устройства объясняется следующим образом. Из статей: Желудев В.А. Локальная сплайн-аппроксимация на равномерной сетке./ Журнал вычислительной математики и математической физики. - 1987. - Том 27. - N 9. - С. 1296 - 1310. и Желудев В.А. Восстановление функций и их производных по сеточным данным с погрешностью при помощи локальных сплайнов./ Журнал вычислительной математики и математической физики. - 1987. - Том 27. - N 1. - С. 22 - 34 известно, что выражение для вычисления s-й производной сплайна можно записать
где h - шаг между отсчетами функции f(x);
b
C
x = h(N+τ), τ∈[0,1].
Для сплайна пятой степени m = 6, s = 0, коэффициент gn m+s в выражении (2) вычисляется по формуле
Из (3) можно получить
Из статей: Желудев В.А. Локальная сплайн-аппроксимация на равномерной сетке. / Журнал вычислительной математики и математической физики. - 1987. - Том 27. - N 9. - С. 1296 - 1310. и Желудев В.А. Восстановление функций и их производных по сеточным данным с погрешностью при помощи локальных сплайнов. / Журнал вычислительной математики и математической физики. - 1987. - Том 27. - N 1. - С. 22 - 34 известно, что значение B-сплайна b
[xi,xi+1] (когда x∈[hi,h(i+1)], x = h(i+τ), τ∈[0,1]):
[xi+2,xi+3] (когда x∈[h(i+2),h(i+3)], x = h(i+2+τ)):
Учитывая, что носитель B-сплайна supp b
[xi+3,xi+4] (когда x∈[h(i+3),h(i+4)], x = h(i+3+τ)):
[xi+4,xi+5] (когда x∈[h(i+4),h(i+5)], x = h(i+4+τ)):
[xi+5,xi+6] (когда x∈[h(i+5),h(i+6)], x = h(i+5+τ)):
Тогда из выражения (2)
где gn определяется из (4).The implementation of the claimed device is explained as follows. From the articles: Zheludev V.A. Local spline approximation on a uniform grid. / Journal of Computational Mathematics and Mathematical Physics. - 1987. -
where h is the step between the samples of the function f (x);
b
C
x = h (N + τ), τ∈ [0,1].
For a fifth-degree spline, m = 6, s = 0, the coefficient g n m + s in expression (2) is calculated by the formula
From (3) we can obtain
From the articles: Zheludev V.A. Local spline approximation on a uniform grid. / Journal of Computational Mathematics and Mathematical Physics. - 1987. -
[x i , x i + 1 ] (when x∈ [hi, h (i + 1)], x = h (i + τ), τ∈ [0,1]):
[x i + 2 , x i + 3 ] (when x∈ [h (i + 2), h (i + 3)], x = h (i + 2 + τ)):
Given that the support of the B-spline supp b
[x i + 3 , x i + 4 ] (when x∈ [h (i + 3), h (i + 4)], x = h (i + 3 + τ)):
[x i + 4 , x i + 5 ] (when x∈ [h (i + 4), h (i + 5)], x = h (i + 4 + τ)):
[x i + 5 , x i + 6 ] (when x∈ [h (i + 5), h (i + 6)], x = h (i + 5 + τ)):
Then from the expression (2)
where g n is determined from (4).
Реализация (5) в виде устройства позволяет вычислять функции f(x) ∈ C7 с точностью, определяемой погрешностью (Желудев В.А. Восстановление функций и их производных по сеточным данным с погрешностью при помощи локальных сплайнов./ Журнал вычислительной математики и математической физики. - 1987. - Том 27. - N 1. - с. 24)
Точность же устройства-прототипа не лучше
Поэтому, например, для функций f ∈ C7 при h = 0,1 и в случае f(3) max ≈ f6 max выигрыш может достигать μ1/μ2 свыше тысячи.Realization of (5) in the form of a device allows one to calculate the functions f (x) ∈ C 7 with an accuracy determined by the error (Zheludev V.A. Restoration of functions and their derivatives from grid data with an error using local splines. / Journal of Computational Mathematics and Mathematical Physics . - 1987. -
The accuracy of the prototype device is no better.
Therefore, for example, for functions f ∈ C 7 with h = 0.1 and in the case f (3) max ≈ f 6 max, the gain can reach μ 1 / μ 2 over a thousand.
Работа сплайн-интерполятора на основе фиг. 1 и выражения (5) осуществляется следующим образом. The operation of the spline interpolator based on FIG. 1 and expression (5) is as follows.
В исходном состоянии на установочную шину 15 подается код числа M. На тактовую шину 17 поступают тактовые импульсы типа меандр. На установочной шине 16 присутствует код числа 0, на установочной шине 19 - код числа 8, на установочной шине 20 - код числа 14, на установочной шине 21 - код числа 7, на установочной шине 22 - код числа - 2, на установочной шине 23 - код числа -1/4, на установочной шине 24 - код числа 6, на установочной шине 26 - код числа -4, на установочной шине 27 - код числа 13/240, на установочной шине 28 - код числа 1/120, на установочной шине 29 - код числа 15, на установочной шине 30 - код числа -6, на установочной шине 31 - код числа 1. В блок памяти 1 записаны значения τ0 таким образом, что в ячейке с адресом M хранится значение τ0/ , равное 1/(1 + M).In the initial state, the code of the number M is supplied to the installation bus 15. The clock signals of the meander type are received on the
С подачей на шину запуска 18 импульса положительной полярности в счетчик 2 записывается код числа M. На информационную шину 25 подаются отсчеты функции f(x): f-2, f-1, ..., f3, которые поступают в блок формирования коэффициентов сплайна 4. Под воздействием управляющих сигналов, подаваемых на установочные шины 22, 23, 24, 26, 27, 28, а также сигналов, поступающих с выхода блока управления 3, в блоке формирования коэффициентов сплайна 4 происходит вычисление коэффициента (1/120) • g-2. Указанное значение переписывается в блок памяти 6 под воздействием импульса, поступающего на его управляющий вход с выхода блока управления 3.When a positive polarity pulse is applied to the
Далее аналогичным образом в блоке формирования коэффициентов сплайна 4 вычисляются значения (1/120) • g-1, (1/120) • g0, (1/120) • g1, (1/120) • g2, (1/120) • g3, которые записываются в блок памяти 6.Then, in a similar way, in the block for generating the coefficients of
После этого под воздействием информационных сигналов (поступающих с выходов блоков 1 и 2, а также подаваемых на установочные шины 29, 30 и 31) и управляющих сигналов (с выхода блока управления 3) в блоке формирования параметров сплайна 5 происходит вычисление значений: τ5, [(1 + τ)5 - 6 τ5 ], [(2 + τ)5 - 6(1 + τ)5 + 15 τ5 ], [(3 - τ)5 - 6(2 - τ)5 + 15(1 - τ)5], [(2 - τ)5 - 6(1 - τ)5], (1 - τ)5. Полученные величины поступают на первые входы умножителей 7, 8, 9, 10, 11 и 12. На вторые входы последних поступают соответствующие значения (1/120) • g-2, (1/120) • g-1, (1/120) • g0, (1/120) • g1, (1/120) • g2, (1/120) • g3.After that, under the influence of information signals (coming from the outputs of
В результате выполнения операций умножения на выходах умножителей 7, 8, 9, 10, 11 и 12 формируются произведения (1/120) • g3 τ5 , (1/120) • g2[(1 + τ)5 - 6 τ5 ], (1/120) • g1[(2 + τ)5 - 6(1 + τ)5 + 15 τ5 ], (1/120) • g0[(3 - τ)5 - 6(2 - τ)5 + 15(1 - τ)5], (1/120) • g-1[(2 - τ)5 - 6(1 - τ)5], (1/120) • g-2(1 - τ)5. Полученные величины поступают на соответствующие группы входов сумматора 13.As a result of performing the operations of multiplication at the outputs of the
В блоке 13 производится суммирование указанных произведений под воздействием сигналов, поступающих на его управляющий вход (с выхода управления 3). В результате на выходе сумматора 13 формируется значение функции f(x) в первой точке интерполяции. In block 13, the summation of these works is performed under the influence of signals arriving at its control input (from control output 3). As a result, at the output of the adder 13, the value of the function f (x) at the first interpolation point is generated.
Полученное значение функции f(x) записывается в регистр 14 при помощи единичного импульса, поступающего с выхода блока управления 3 на вход записи регистра 14. Кроме того, этот же единичный импульс с выхода блока управления 3 поступает на вычитающий вход счетчика 2, уменьшая его содержимое на единицу. The obtained value of the function f (x) is written to the register 14 using a single pulse from the output of the
Далее алгоритм работы устройства аналогичен. В блоке 5 формируются значения параметров сплайна, а в блоках 7 - 13 вычисляются значени функции f(x), которые записываются в регистр 14. Данная операция повторяется для значений τ, равных τ0·(M-1), затем τ0·(M-2) и т.д. до тех пор, пока содержимое счетчика 2 не станет равным нулю. При этом код числа 0 с выхода счетчика 2 поступает на вход блока управления 3, который останавливает работу устройства. На этом работа устройства по вычислению значений функции f(x) завершается. Устройство готово к новому циклу работы.Further, the algorithm of the device is similar. In
Входящие в структурную схему заявляемого устройства элементы известны и описаны, например, в книге В.Л. Шило. Популярные цифровые микросхемы. Справочник. - М.: Радио и связь, 1988. Так, в указанном источнике описаны принципы построения и примеры реализации
счетчика 2 на с. 85 - 86 (можно реализовать на микросхеме К155ИЕ5);
блока памяти 1 на с. 171 - 174 (можно реализовать на микросхеме К155ПР6);
регистра 14 на с. 104 - 105 (можно реализовать на микросхеме К155ИР13 - с. 111, рис. 1.78).The elements included in the structural diagram of the claimed device are known and described, for example, in the book of V.L. Awl. Popular digital circuits. Directory. - M .: Radio and communications, 1988. So, in the specified source describes the principles of construction and implementation examples
counter 2 on page 85 - 86 (can be implemented on the K155IE5 chip);
memory block 1 on page 171 - 174 (can be implemented on the K155PR6 chip);
register 14 on p. 104 - 105 (can be implemented on the K155IR13 microcircuit - p. 111, Fig. 1.78).
Принцип работы умножителей 7, 8, 9, 10, 11 и 12 известен и описан в книге: М. А. Карцев, В.А. Брик. Вычислительные системы и синхронная арифметика. - М.: Радио и связь, 1981, с. 163 - 221. Могут быть реализованы на миросхемах SN54284 и SN54285, с. 305, рис. 6.3.12, или на микросхеме ADSP1016 (С. Кун. Матричные процессоры на СБИС: Пер. с англ. - М.: Мир, 1991, с. 502, табл. 7.4). The principle of operation of the
Принцип работы сумматора 13 известен и описан в книге: Д. Гивоне, Р. Россе. Микропроцессоры и микрокомпьютеры: Вводный курс: пер. с англ. - М.: Мир, 1983, с. 184 - 198. Полный сумматор описан в книге В.Л. Шило. Популярные цифровые микросхемы. Справочник. 2-е изд., испр., - Челябинск: Металлургия, 1989, с. 152, рис. 1.112, с. 153, рис. 1.113. Можно реализовать на элементах ИСКЛ. ИЛИ - К155ЛП5, И - К155ЛИ1, ИЛИ - из ИЛИ-НЕ К155ЛЕ4 и НЕ К155ЛН1. The principle of operation of the adder 13 is known and described in the book: D. Givone, R. Rosset. Microprocessors and microcomputers: Introductory course: Per. from English - M .: Mir, 1983, p. 184 - 198. The full adder is described in the book of V.L. Awl. Popular digital circuits. Directory. 2nd ed., Rev., - Chelyabinsk: Metallurgy, 1989, p. 152, fig. 1.112, p. 153, fig. 1.113. It can be implemented on the elements of EXCL. OR - K155LP5, AND - K155LI1, OR - from OR-NOT K155LE4 and NOT K155LN1.
Один из возможных вариантов построения блока памяти 6 показан на фиг. 5. Блок памяти 6 состоит из шести последовательно соединенных регистров. Входы записи регистров блока соединены и подключены к управляющему входу блока 6. Вход первого регистра является информационным входом блока. Выходы регистров являются выходными информационными шинами блока. Регистры можно реализовать на микросхеме К155ИР13. One of the possible options for constructing the
Работа блока формирования коэффициентов сплайна 4 на основе фиг. 2 осуществляется следующим образом. The operation of the
В исходном состоянии на вход 4.2 подается код числа -2 с установочной шины 22 устройства. На вход 4.3 подается код числа -1/4 с установочной шины 23 устройства. На вход 4.4 поступает код числа 6 с установочной шины 24 устройства. На входе 4.6 присутствует код числа -4 с установочной шины 26 устройства. На вход 4.7 подается код числа 13/240 с установочной шины 27 устройства. На входе 4.8 присутствует код числа 1/120 с установочной шины 28 устройства. In the initial state, input 4.2 is supplied with the code of the number -2 from the
При подаче на вход 4.1 блока 4 управляющих импульсов (с выхода 3.9 блока управления 3) на вход 4.5 поступают значения функции f(x): f-3, f-2, ..., f5. Последние поочередно следуют в восьми направлениях: на первые входы умножителей 44, 43, 42 и 41, входы элементов задержки 410, 47 и 45 и первый вход сумматора 413. Блоки 41, 45, 46 и 47 формируют три слагаемых, которые поступают на вход сумматора 411 одновременно. Результат вычисления в сумматоре 411 - значения δ2fn (см. выражение (4)). Блоки 42, 43, 44, 48, 49 и 410 формируют четыре слагаемых для сумматора 413. Пятое слагаемое поступает со входа 4.5 на сумматор 413 непосредственно. Все пять слагаемых подаются на входы сумматора 413 одновременно. В результате выполнения операции сложения на выходе сумматора 413 формируются значения δ4fn (см. выражение (4)). Величина δ2fn, умноженная на -1/4 в блоке 412 и задержанная в блоке 414, является первым слагаемым для сумматора 417. Вторым слагаемым является значение fn функции f(x), задержанное в блоке 415. Третьим слагаемым является величина δ4fn, умноженная в блоке 416 на число 13/240. Результат выполнения в блоке 417 операции суммирования умножается в блоке 418 на число 1/120. В результате на выходе блока формирования коэффициентов сплайна 4 формируется значение коэффициента (1/120)gn (см. выражение (5)).When applying to the input 4.1 of the
Один из возможных вариантов построения элементов задержки 45, 46, 47, 48, 49, 410, 414 и 415 показан на фиг. 6. В соответствии с фиг. 6 указанные блоки выполнены состоящими из n последовательно соединенных регистров. Входы записи регистров соединены и подключены к управляющему входу блока. Вход первого регистра является информационным входом блока. Выход n-го регистра является выходом блока. Регистры можно реализовать на микросхеме К155ИР13. Для элементов задержки 45, 46, 48 и 414 n = 2. Для элемента задердки 49 n = 3. Для элемента задержки 47 n = 4. Для элементов задержки 410 и 415 n = 5. One of the possible options for constructing
Умножители 41 - 44, 412, 416 и 418 можно реализовать на микросхемах SN54284 и SN54285 или на микросхеме ADSP1016. Multipliers 41 - 44, 412, 416 and 418 can be implemented on the SN54284 and SN54285 chips or on the ADSP1016 chip.
Сумматоры 411, 413 и 417 можно реализовать на К155ЛП5, К155ЛИ1, К155ЛЕ4 и НЕ К155ЛН1.
Работа блока формирования параметров сплайна 5 на основе фиг. 3 осуществляется следующим образом. The operation of the spline
В исходном состоянии на вход 5.1 блока формирования параметров сплайна 5 подается код числа 15 с установочной шины 29. На вход 5.2 поступает код числа -6 с шины 30. На входе 5.3 присутствует код числа 1 с установочной шины 31. На вход 5.6 поступают управляющие сигналы с выхода 3.11 блока управления 3. In the initial state, the code number 15 from the
На первый вход умножителя 51 поступает значение τ0 с выхода блока памяти 1, а на второй вход блока умножения 51 - значение M с выхода счетчика 2. В результате выполнения операции умножения на выходе умножителя 51 формируется значение τ = M·τ0. Последнее поступает на вход преобразователя в дополнительный код 52, на выходе которого имеем значение (1-τ). Значение τ с выхода умножителя 51 поступает также на первый вход сумматора 53, а на первый вход сумматора 54 - значение (1-τ). На вторые входы сумматоров 53 и 54 подается код числа 1. Под воздействием управляющих сигналов, поступающих на вход 5.6 блока 5 (с выхода 3.11 блока управления 3), на выходах сумматоров 53 и 54 формируются значения соответственно (1+τ) и (2-τ). Последние подаются на первые входы сумматоров 57 и 58 соответственно. На вторые входы сумматоров подается код числа 1. В результате выполнения операции суммирования на выходах сумматоров 57 и 58 формируются значения τ+2 и 3-τ соответственно. Указанные величины поступают на входы соответствующих блоков возведения в пятую степень 514 и 515. На вход блока возведения в пятую степень 55 поступает значение τ с выхода умножителя 51. На вход блока возведения в пятую степень 56 поступает значение τ+1 с выхода сумматора 53. На вход блока возведения в пятую степень 59 поступает значение 2-τ с выхода сумматора 54. На вход блока возведения в пятую степень 510 поступает значение 1-τ с выхода преобразователя в дополнительный код 52. На выходах блоков возведения в пятую степень 55, 56, 514, 515, 59 и 510 имеем значения соответственно τ5, (τ+1)5, (τ+2)5,(3-τ)5, (2-τ)5 и (1-τ)5. Величина τ5 с выхода блока возведения в пятую степень 55 поступает на первые входы умножителей 511 и 512. На второй вход умножителя 511 подается код числа 15, а на второй вход умножителя 512 - код числа -6. В результате выполнения операции умножения на выходах умножителей 511 и 512 формируются значения соответственно 15τ5 и -6τ5. Величины (τ+1)5 и (2-τ)5 подаются на первые входы умножителей 513 и 516 соответственно. На вторые входы этих умножителей подается код числа -6. В результате выполнения операции умножения на выходах умножителей 513 и 516 формируются значения соответственно -6(τ+1)5 и -6(2-τ)5. Значение (1-τ)5 с выхода блока возведения в пятую степень 510 поступает на первые входы умножителей 517 и 518. На второй вход умножителя 517 подается код числа -6, а на второй вход умножителя 518 - код числа 15. В результате выполнения операции умножения на выходах умножителей 517 и 518 формируются значения соответственно -6(1-τ)5 и 15(1-τ)5. С выхода умножителя 512 на первый вход сумматора 521 поступает значение -6τ5. Одновременно на второй вход сумматора 521 поступает значение (τ+1)5 с выхода блока возведения в пятую степень 56. В результате выполнения операции суммирования на выходе сумматора 521 формируется значение (τ+1)5- 6τ5. Последнее через элемент задержки 526 подается на выход 5.11 блока формирования параметров сплайна 5. Величина 15τ5 с выхода умножителя 511 через элемент задержки 519 подается на первый вход сумматора 522. Одновременно на второй вход последнего подается значение -6(τ+1)5 с выхода умножителя 513, а на третий вход - значение (τ+2)5 с выхода блока возведения в пятую степень 514. В результате выполнения операции суммирования на выходе сумматора 522 формируется величина 15τ5+ (τ+2)5 - 6(τ+1)5. Последняя подается на выход 5.10 блока 5. С выхода умножителя 517 на первый вход сумматора 524 поступает значение -6(τ-1)5. Одновременно на второй вход сумматора 524 поступает значение (2-τ)5 с выхода блока возведения в пятую степень 59. В результате выполнения операции суммирования на выходе сумматора 524 формируется значение (2-τ)5- 6(1-τ)5. Последнее через элемент задержки 527 подается на выход 5.8 блока формирования параметров сплайна 5. Величина 15(1-τ)5 с выхода умножителя 518 через элемент задержки 520 подается на первый вход сумматора 523. Одновременно на второй вход последнего подается значение -6(2-τ)5 с выхода умножителя 516, а на третий вход - значение (3-τ)5 с выхода блока возведения в пятую степень 515. В результате выполнения операции суммирования на выходе сумматора 524 формируется величина 15(1-τ)5+ (3-τ)5- 6(2-τ)5. Последняя подается на выход 5.10 блока 5. Значение τ5 с выхода блока возведения в пятую степень 55 через элемент задержки 525 поступает на выход 5.12. Величина (1-τ)5 с выхода блока возведения в пятую степень 510 через элемент задержки 528 поступает на выход 5.7 блока 5. Таким образом, указанные значения параметров сплайна формируются на выходах 5.7, 5.8, 5.9, 5.10, 5.11 и 5.12 блока 5 одновременно.A first input of
Умножители 51, 511 - 513, 516 - 518 можно реализовать на микросхемах SN54284 и SN54285 или на микросхеме ADSP1016.
Сумматоры 53, 54, 57, 58, 521 - 524 можно реализовать на К155ЛП5, К155ЛИ1, К155ЛЕ4 и НЕ К155ЛН1.
Принцип реализации преобразователя в дополнительный код 52 известен и описан в книге Л.М.Гольденберг. Импульсные и цифровые устройства. М.: Связь, 1973, - с. 462 - 468. Можно реализовать на микросхемах К155ЛА3, К155ЛП5, К155ЛЕ4 и К155ЛН1. The principle of implementation of the converter into
Элементы задержки 519, 520, 525 - 528 можно реализовать на микросхеме К155ИР13 в соответствии с фиг. 6. Для элементов 519, 520, 526 и 527 n = 2. Для элементов 525 и 528 n = 4. Delay
Блоки возведения в пятую степень 55, 56, 59, 510, 514 и 515 можно реализовать с помощью умножителей, как показано на фиг. 7. Fifth degree blocks 55, 56, 59, 510, 514 and 515 can be implemented using multipliers, as shown in FIG. 7.
Работа блока управления 3 на основе фиг. 4 осуществляется следующим образом. The operation of the
В исходном состоянии на вход 3.1 блока управления 3 подаются тактовые импульсы типа меандр, на вход 3.2 - код числа с выхода счетчика 2 устройства, на вход 3.4 - код числа 0 с установочной шины 16, на вход 3.5 - код числа 8 с установочной шины 19, на вход 3.6 - код числа 14 с установочной шины 20, на вход 3.7 - код числа 7 с установочной шины 21. In the initial state, meander type pulses are fed to input 3.1 of
В начале работы сплайн-интерполятора на вход 3.2 блока управления 3 подается импульс положительной полярности. Последний поступает на вход сброса счетчика 35, в результате чего счетчик 35 обнуляется. Кроме того, указанный импульс положительной полярности поступает на вход управления счетчика 312, на S-вход RS-триггера 31 и S-вход RS-триггера 310. В результате в счетчик 312 записывается значение 0. RS-триггер 31 устанавливается в единичное состояние, при котором на его выходе формируется уровень логической "1". Последний подается на первый вход элемента И 33, разрешая прохождение через него тактовых импульсов. На инверсном выходе RS-триггера 310 формируется уровень логического "0", который подается на первый вход элемента И 311, закрывая последний. At the beginning of the operation of the spline interpolator, a positive polarity pulse is supplied to input 3.2 of
Код числа 0 с выхода счетчика 35 подается на первую группу входов блока сравнения 36. На вторую группу входов последнего подается код числа 8 со входа 3.5 блока управления 3. В результате выполнения операции сравнения на выходе блока 36 формируется сигнал с нулевым уровнем, закрывающий элемент И 34. The code of the number 0 from the output of the
Кроме того, код числа 0 с выхода счетчика 35 подается на первую группу входов блока сравнения 38. На вторую группу входов последнего подается код числа 14 со входа 3.6 блока управления 3. В результате выполнения операции сранвения на выходе блока 38 формируется сигнал с единичным уровнем, открывающий элемент И 34. In addition, the code of the number 0 from the output of the
Импульсы с выхода элемента И 34 поступают на счетный вход счетчика 35, увеличивая каждый раз его содержимое на единицу. Кроме того, импульсы с выхода элемента И 34 поступают на выход 3.9 блока управления 3. При совпадении значения содержимого счетчика 35 с кодом числа, подаваемого на вход 3.5 блока управления 3, на выходе блока сравнения 36 формируется сигнал с единичным уровнем. Последний открывает элемент И 37. Импульсы с выхода элементы И 34 через элемент И 37 подаются на выход 3.8 блока управления 3. The pulses from the output of the element And 34 are received at the counting input of the
При совпадении содержимого счетчика 35 с кодом числа, подаваемого на вход 3.6 блока управления 3, на выходе блока сравнения 38 формируется нулевой уровень. Последний закрывает элемент И 34 и через элемент НЕ 39 воздействует на R-вход RS-триггера 310. В результате на инверсном выходе RS-триггера 310 формируется единичный уровень, открывающий элемент И 311. Импульсы с выхода элемента И 33 через элемент И 311 поступают на выход 3.11 блока управления 3, а также на счетный вход счетчика 312. Когда содержимое счетчика 312 совпадает с кодом числа, подаваемым на вход 3.7 блока управления 3, на выходе блока сравнения 313 формируется единичный импульс. Последний подается на вход сброса счетчика 312, устанавливая его в нулевое состояние. Кроме того, единичный импульс с выхода блока сравнения 313 через элемент задержки 314 подается на выход 3.10 блока управления 3. If the contents of the
В момент, когда на вход 3.3 блока управленья 3 поступает код числа 0 (что соответствует обнулению счетчика 2 устройства), на выходе блока сравнения 32 формируется единичный импульс. Последний поступает на R-вход RS-триггера 31, переводя его в нулевое состояние. При этом на выходе RS-триггера 31 формируется нулевой уровень, закрывающий элемент И 33 и препятствующий тем самым прохождению тактовых импульсов через элемент И 33. На этом работа блока управления 3 (и устройства в целом) завершается. At the moment when the code number 0 is received at the input 3.3 of the control unit 3 (which corresponds to zeroing the
Входящие в структурную схему блока управления 3 элементы известны и описаны, например, в книге В.Л. Шило. Популярные цифровые микросхемы. Справочник. - М.: Радио и связь, 1988. Так, в указанном источнике описаны принципы построения и примеры реализации
счетчиков 35 и 312 на с. 85 - 86 (можно реализовать на микросхеме К155ИЕ5);
элементов И 33, 34, 38 и 311 на с. 35, рис. 1.19а (можно реализовать на микросхеме К155ЛИ1);
элемента НЕ 39 (можно реализовать на микросхеме К155ЛН1);
RS-триггеров 31 и 310 на с. 62 - 67 (можно реализовать на микросхеме К155ЛЕ1 - с. 63, рис. 1.42).The elements included in the structural diagram of the
counters 35 and 312 on p. 85 - 86 (can be implemented on the K155IE5 chip);
elements And 33, 34, 38 and 311 on with. 35, fig. 1.19a (can be implemented on the K155LI1 chip);
element NOT 39 (can be implemented on the K155LN1 chip);
RS flip-
В книге В.Л. Шило. Популярные цифровые микросхемы. Справочник. 2-е изд., испр. , - Челябинск: Металлургия, 1989 описан принцип работы элемента задержки 314 на с. 181 - 187 (можно реализовать на микросхемах К564АГ1, с. 285, рис. 2.83а), а порядок сопряжения К564 с ТТЛ описан в книге: Цифровые интегральные микросхемы: Справочник/ П.П. Мальцев, Н.С. Долидзе и др. - М.: Радио и связь, 1994, с. 101 - 103. In the book of V.L. Awl. Popular digital circuits. Directory. 2nd ed., Rev. , - Chelyabinsk: Metallurgy, 1989 describes the principle of operation of the
Принцип работы блоков сравнения 32, 36, 38 и 313 известен и описан в книге: Ю. В. Гаврилов, А.Н. Пучко. Арифметические устройства быстродействующих ЭЦВМ. - М.: Советское радио, 1970, с. 234 - 257. Можно реализовать на микросхемах К561ИП2 (В.Н. Вениаминов, О.Н. Лебедев, А.И. Мирошниченко. Микросхемы и их применение. Справочное пособие. 3-е изд. перераб. и дополн. - М. : Радио и связь, 1989, с. 114, рис. 4.12б). The principle of operation of comparison blocks 32, 36, 38 and 313 is known and described in the book: Yu. V. Gavrilov, A.N. A bunch. Arithmetic devices of high-speed digital computers. - M .: Soviet Radio, 1970, p. 234 - 257. Can be implemented on K561IP2 microcircuits (VN Veniaminov, ON Lebedev, AI Miroshnichenko. Microcircuits and their application. Reference manual. 3rd ed. Revised and supplemented. - M.: Radio and Communications, 1989, p. 114, Fig. 4.12b).
Claims (4)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU97115388A RU2127901C1 (en) | 1997-08-22 | 1997-08-22 | Spline interpolator |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU97115388A RU2127901C1 (en) | 1997-08-22 | 1997-08-22 | Spline interpolator |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2127901C1 true RU2127901C1 (en) | 1999-03-20 |
Family
ID=20197157
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU97115388A RU2127901C1 (en) | 1997-08-22 | 1997-08-22 | Spline interpolator |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2127901C1 (en) |
-
1997
- 1997-08-22 RU RU97115388A patent/RU2127901C1/en active
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4754421A (en) | Multiple precision multiplication device | |
US4486850A (en) | Incremental digital filter | |
JPH02214322A (en) | Pipe-line type processor for implementing minimum square average algorithm | |
Akhter et al. | Design and analysis of distributed arithmetic based FIR filter | |
RU2127901C1 (en) | Spline interpolator | |
RU2116669C1 (en) | Spline interpolator | |
RU2127902C1 (en) | Interpolator | |
RU2132567C1 (en) | Spline interpolator | |
RU2140098C1 (en) | Spline-interpolator | |
US4744042A (en) | Transform processor system having post processing | |
RU2116668C1 (en) | Spline interpolator | |
RU2165099C2 (en) | Spline interpolator | |
RU2143131C1 (en) | Spline interpolator | |
RU2148272C1 (en) | Device for double differentiation | |
RU2127903C1 (en) | Interpolator | |
RU2132568C1 (en) | Interpolator | |
RU2120137C1 (en) | Interpolator | |
CN105319408B (en) | Signal generator and method for generating a signal profile | |
RU2173877C2 (en) | Spline interpolator | |
JPH01233909A (en) | Digital multiplier and digital filter using the same | |
RU2143725C1 (en) | Device for double differentiation | |
US5168456A (en) | Incremental frequency domain correlator | |
RU2143724C1 (en) | Device for differentiation | |
RU2148271C1 (en) | Device for differentiation | |
US5752012A (en) | Computational array with self timed computational element and method of self timed calculation |