Сплайн-интерполятор

Реферат

 

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

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

Известные устройства [1, 2] позволяют воспроизводить широкий класс функциональных зависимостей, но обладают низкой точностью.

Наиболее близким к предлагаемому устройству по своей технической сущности является сплайн-интерполятор, выбранный в качестве устройства-прототипа [1].

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

Известное техническое решение обладает недостаточной точностью интерполяции, которая характеризуется погрешностью интерполяции, равной где f(3)max - максимум третьей производной функции f(x); h - расстояние между отсчетами функции f(x).

Причем эта точность обеспечивается для функций, имеющих непрерывную третью производную (f(x) C3) или выше. При интерполяции функций, имеющих непрерывную пятую производную (f(x) C5) и выше, не полностью учитывается информация о гладкости функций, вследствие чего прототип не обеспечивает более высокой точности.

Целью изобретения является разработка устройства, обеспечивающего более высокую точность интерполяции функций, имеющих непрерывную пятую производную (f(x) C5) и выше.

Поставленная цель достигается тем, что в известный сплайн-интерполятор, содержащий первый и второй блоки памяти, первый, второй, третий и четвертый умножители, сумматор, регистр, блок управления и счетчик, группа информационных входов которого объединена с адресными входами первого блока памяти и одновременно является первой установочной шиной сплайн-интерполятора, вычитающий вход счетчика объединен с входом управления регистра и десятым входом блока управления, а информационные выходы объединены с шестой группой входов блока управления, первый вход которого является тактовой шиной сплайн-интерполятора, второй вход - шиной запуска, а одиннадцатый выход соединен с входом управления второго блока памяти, первая, вторая, третья и четвертая группы информационных выходов которого соединены с первыми группами входов соответственно первого, второго, третьего и четвертого умножителей, группы выходов которых соединены соответственно с первой, второй, третьей и четвертой группами входов сумматора, группа выходов которого соединена с информационными входами регистра, выходы которого являются группой информационных выходов сплайн-интерполятора, дополнительно введены блок формирования коэффициента сплайна и блок формирования параметров сплайна. Первая группа входов блока формирования параметров сплайна соединена с информационными выходами первого блока памяти. Вторая группа входов соединена с информационными выходами счетчика. Третья группа входов является второй установочной шиной сплайн-интерполятора. Четвертая группа входов объединена с девятой группой входов блока управления и одновременно является третьей установочной шиной сплайн-интерполятора. Пятая, шестая, седьмая и восьмая группы выходов соединены с вторыми группами входов соответственно первого, второго, третьего и четвертого умножителей. Девятый вход блока формирования параметров сплайна объединен с управляющим входом сумматора и двенадцатым выходом блока управления. Второй вход блока управления объединен с входом управления счетчика. Третья группа входов блока управления является четвертой установочной шиной сплайн-интерполятора, четвертая группа входов - пятой установочной шиной сплайн-интерполятора, пятая группа входов - шестой установочной шиной сплайн-интерполятора, седьмая группа выходов соединена с четвертой группой входов блока формирования коэффициентов сплайна. Пятый вход блока формирования коэффициентов сплайна соединен с восьмым выходом блока управления. Тринадцатый выход блока управления соединен с шестым входом блока формирования коэффициентов сплайна. Первая группа входов блока формирования коэффициентов сплайна является информационной шиной сплайн-интерполятора, вторая группа входов - седьмой установочной шиной сплайн-интерполятора, третья группа входов - восьмой установочной шиной сплайн-интерполятора, а седьмая группа выходов соединена с информационными входами второго блока памяти.

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

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

Блок управления содержит первый, второй, третий, четвертый и пятый блоки сравнения, первый, второй, третий и четвертый элементы И, первый и третий RS-триггеры, первый, второй, третий и четвертый счетчики и элементы задержки. Первая группа входов первого элемента сравнения является шестой группой входов блока управления. Выход первого элемента сравнения соединен с R-входом первого RS-триггера. S-вход первого RS-триггера объединен с R-входом третьего RS-триггера и одновременно является вторым входом блока управления. Выход первого RS-триггера соединен с первым входом первого элемента И, второй вход которого является первым входом блока управления и тактовой шиной сплайн-интерполятора. Выход первого элемента И соединен с первым входом второго элемента И, выход которого является восьмым выходом блока управления и одновременно соединен со счетным входом первого счетчика. Вход обнуления первого счетчика объединен с S-входом первого RS-триггера, а выход соединен с второй группой входов второго блока сравнения. Первая группа входов второго блока сравнения является четвертой группой входов блока управления и пятой установочной шиной сплайн-интерполятора. Выход второго блока сравнения соединен с вторым входом второго элемента И и R-входом второго RS-триггера. Инверсный выход второго RS-триггера соединен с первым входом третьего элемента И. Второй вход третьего элемента И объединен с первым входом второго элемента И и вторым входом четвертого элемента И, а выход является тринадцатым выходом блока управления и одновременно соединен с счетным входом второго счетчика. Информационные входы второго счетчика объединены с информационными входами третьего и четвертого счетчиков, второй группой входов первого блока сравнения и одновременно являются третьей группой входов блока управления и четвертой установочной шиной сплайн-интерполятора. Выходы второго счетчика соединены с первой группой входов третьего блока сравнения. Вторая группа входов третьего блока сравнения объединена с первой группой входов пятого блока сравнения и одновременно является пятой группой входов блока управления и шестой установочной шиной сплайн-интерполятора. Выход третьего блока сравнения является одиннадцатым выходом блока управления и одновременно объединен с входом обнуления второго счетчика и счетчным входом третьего счетчика. Управляющий вход третьего счетчика объединен с управляющими входами второго и четвертого счетчиков и входом обнуления первого счетчика. Выходы третьего счетчика являются седьмой группой выходов блока управления и одновременно соединены с первой группой входов четвертого блока сравнения. Вторая группа входов четвертого блока сравнения является девятой группой входов блока управления и третьей установочной шиной сплайн-интерполятора. Выход четвертого блока сравнения соединен с S-входом второго RS-триггера и S-входом третьего RS-триггера. Выход третьего RS-триггера соединен с первым входом четвертого элемента И, выход которого является двенадцатым выходом блока управления и одновременно соединен со счетным входом четвертого счетчика. Выходы четвертого счетчика соединены с второй группой входов пятого блока сравнения. Выход пятого блока сравнения соединен с входом обнуления четвертого счетчика и входом элемента задержки, выход которого является десятым выходом блока управления.

Перечисленная новая совокупность существенных признаков предлагаемого устройства обеспечивает более высокую точность интерполяции функций, имеющих непрерывную пятую производную (f(x) C5) и выше. Это достигается тем, что интерполяция осуществляется более точно, исходя из априорной информации о степени гладкости функции.

На фиг. 1 приведена структурная схема заявленного устройства; на фиг. 2 - структурная схема блока формирования коэффициентов сплайна; на фиг. 3 - структурная схема блока формирования параметров сплайна; на фиг. 4 - структурная схема блока управления; на фиг. 5 - один из возможных вариантов построения блока памяти; на фиг. 6 - вариант реализации элемента задержки; на фиг. 7 - один из возможных вариантов реализации коммутатора.

Сплайн-интерполятор (фиг. 1) состоит из блоков памяти 11 и 17, умножителей 18 - 21, сумматора 22, регистра 23, блока управления 13, счетчика 12, блока формирования коэффициентов сплайна 14 и блока формирования параметров сплайна 16. Группа информационных входов счетчика 12 объединена с адресными входами памяти 11 и одновременно является первой установочной шиной 1 спайн-интерполятора. Вычитающий вход счетчика 12 объединен с входом управления регистра 23 и десятым выходом блока управления 13. Информационные выходы счетчика 12 объединены с шестой группой входов блока управления 13. Первый вход блока управления 13 является тактовой шиной 4 сплайн-интерполятора, второй вход - шиной запуска 5. Одиннадцатый выход блока управления 13 соединен с входом управления второго блока памяти 17. Первая, вторая, третья и четвертая группы информационных выходов блока памяти 17 соединены с первыми группами входов соответственно умножителей 18 - 21. Группы выходов умножителей 18-21 соединены соответственно с первой, второй, третьей и четвертой группами входов сумматора 22. Группа выходов сумматора 22 соединена с информационными входами регистра 23, выходы которого являются группой информационных выходов сплайн-интерполятора. Первая группа входов блока формирования параметров сплайна 16 соединена с информационными выходами блока памяти 11. Вторая группа входов блока формирования параметров сплайна 16 соединена с информационными выходами счетчика 12. Третья группа входов является второй установочной шиной 15 сплайн-интерполятора. Четвертая группа входов объединена с девятой группой входов блока управления 13 и одновременно является третьей установочной шиной 2 сплайн-интерполятора. Пятая, шестая, седьмая и восьмая группы выходов блока формирования параметров сплайна 16 соединены с вторыми группами входов умножителей, соответственно 18 - 21. Девятый вход блока формирования сплайна 16 объединен с управляющим входом сумматора 22 и двенадцатым выходом блока управления 13. Второй вход блока управления 13 объединен с входом управления счетчика 12. Третья группа входов блока управления 13 является четвертой установочной шиной 3 сплайн-интерполятора, четвертая группа входов - пятой установочной шиной 6 сплайн-интерполятора, пятая группа входов - шестой установочной шиной 7 сплайн-интерполятора. Седьмая группа выходов блока управления 13 соединена с четвертой группой входов блока формирования коэффициентов сплайна 14. Пятый вход блока формирования коэффициентов сплайна 14 соединен с восьмым выходом блока управления 13. Тринадцатый выход блока управления 13 соединен с шестым входом блока формирования коэффициентов сплайна 14. Первая группа входов блока формирования коэффициентов сплайна 14 является информационной шиной 8 сплайн-интерполятора, вторая группа входов - седьмой установочной шиной 9 сплайн-интерполятора, третья группа входов - восьмой установочной шиной 10 сплайн-интерполятора. Седьмая группа выходов блока формирования коэффициентов сплайна 14 соединена с информационными входами блока памяти 17.

Блок формирования коэффициентов сплайна 14 (фиг.2) предназначен для вычисления значений коэффициентов сплайна. Он состоит из блока памяти 14.1, коммутатора 14.2, элементов задержки 14.3, 14.5, 14.8, умножителей 14.4, 14.7, 14.10, сумматора 14.6 и блока вычитания 14.9. Информационные входы блока памяти 14.1 являются первой группой входов блока формирования коэффициентов сплайна 14 и одновременно информационной шиной 8 сплайн-интерполятора. Управляющий вход блока памяти 14.1 является пятым входом блока формирования коэффициентов сплайна 14. Выходы блока памяти 14.1 соединены с информационными входами коммутатора 14.2. Управляющие входы коммутатора 14.2 являются четвертой группой входов блока формирования коэффициентов сплайна 14. Первая группа выходов коммутатора 14.2 через элемент задержки 14.3 соединена с первой группой входов сумматора 14.6. Вторая группа выходов коммутатора 14.2 соединена с первой группой входов умножителя 14.4. Вторая группа входов умножителя 14.4 является второй группой входов блока формирования коэффициентов сплайна 14 и одновременно является седьмой установочной шиной 9 сплайн-интерполятора. Выходы умножителя 14.4 соединены с второй группой входов сумматора 14.6. Третья группа входов сумматора 14.6 соединена с выходами элемента задержки 14.5. Входы элемента задержки 14.5 соединены с третьей группой выходов коммутатора 14.2. Выходы сумматора 14.6 соединены с первой группой входов умножителя 14.7. Вторая группа входов умножителя 14.7 является третьей группой входов блока формирования коэффициентов сплайна 14 и одновременно восьмой установочной шиной 10 сплайн-интерполятора. Выходы умножителя 14.7 соединены с входами вычитаемого блока вычитания 14.9. Входы уменьшаемого блока вычитания 14.9 соединены с выходами элемента задержки 14.8. Выходы элемента задержки 14.8 соединены с второй группой выходов коммутатора 14.2. Управляющий вход элемента задержки 14.8 объединен с входами управления элементов задержки 14.3 и 14.5, сумматора 14.6, блока вычитания 14.9 и одновременно является шестым входом блока формирования коэффициентов сплайна 14. Выходы блока вычитания 14.9 соединены с первой группой входов умножителя 14.10. Вторая группа входов умножителя 14.10 объединена с второй группой входов умножителя 14.7. Выходы умножителя 14.10 являются седьмым выходом блока формирования коэффициентов сплайна 14.

Блок формирования параметров сплайна 16 (фиг.3) предназначен для вычисления значений параметров сплайна. Он состоит из умножителей 16.1, 16.5, 16.6, 16.7, 16.8, 16.9, 16.10, 16.11, 16.12, 16.14, 16.15, сумматоров 16.2 и 16.4, преобразователя в дополнительный код 16.3, блоков вычитания 16.13 и 16.16, элементов задержки 16.17 и 16.18. Первая группа входов умножителя 16.1 является первой группой входов блока формирования параметров сплайна 16. Вторая группа входов умножителя 16.1 является второй группой входов блока формирования параметров сплайна 16. Выходы умножителя 16.1 соединены с первой и второй группами входов умножителя 16.6 и второй группой входов умножителя 16.10. Первая группа входов умножителя 16.10 соединена с выходами умножителя 16.6. Выходы умножителя 16.10 соединены с первой группой входов умножителя 16.14 и входами элемента задержки 16.17. Выходы элемента задержки 16.17 являются шестой группой выходов блока формирования параметров сплайна 16. Управляющий вход элемента задержки 16.17 является девятым входом блока формирования параметров сплайна 16 и одновременно объединен с входом управления блока вычитания 16.13. Входы вычитаемого блока вычитания 16.13 соединены с выходами умножителя 16.14. Выходы блока вычитания являются пятой группой выходов блока формирования параметров сплайна 16. Входы уменьшаемого блока вычитания 16.13 соединены с выходами умножителя 16.9. Первая группа входов умножителя 16.9 соединена с выходами умножителя 16.5, а вторая группа входов объединена с второй и первой группами входов умножителя 16.5 и выходами сумматора 16.2. Управляющий вход сумматора 16.2 объединен с управляющим входом блока вычитания 16.13. Первая группа входов сумматора 16.2 объединена с входами преобразователя в дополнительный код 16.3 и выходами умножителя 16.1. Вторая группа входов сумматора 16.2 является третьей группой входов блока формирования параметров сплайна 16 и одновременно второй установочной шиной 15 сплайн-интерполятора и соединена с второй группой входов сумматора 16.4. Первая группа входов сумматора 16.4 соединена с выходами преобразователя в дополнительный код 16.3, первой и второй группами входов умножителя 16.7 и второй группой входов умножителя 16.11. Первая группа входов умножителя 16.11 соединена с выходами умножителя 16.7. Выходы умножителя 16.11 соединены с входами элемента задержки 16.18 и первой группой входов умножителя 16.15. Вторая группа входов умножителя 16.15 объединена с второй группой входов умножителя 16.14 и одновременно является четвертой группой входов блока формирования параметров сплайна 16 и третьей установочной шиной 2 сплайн-интерполятора. Выходы умножителя 16.15 соединены с входами вычитаемого блока вычитания 16.16, выходы которого являются восьмой группой выходов блока формирования параметров сплайна 16. Входы уменьшаемого блока вычитания 16.16 соединены с выходами умножителя 16.12. Первая группа входов умножителя 16.12 соединена с выходами умножителя 16.8. Вторая группа входов умножителя 16.12 объединена с второй и первой группами входов умножителя 16.8 и выходами сумматора 16.4. Управляющий вход сумматора 16.4 объединен с управляющими входами блока вычитания 16.16, элемента задержки 16.17 и элемента задержки 16.18. Выходы элемента задержки 16.18 являются седьмой группой выходов блока формирования параметров сплайна 16.

Блок управления 13 (фиг.4) предназначен для синхронизации работы устройства. Он состоит из элементов И 13.3, 13.4, 13.8 и 13.14, RS-триггеров 13.1, 13.7 и 13.11, счетчиков 13.5, 13.9, 13.12, 13.16, блоков сравнения 13.2, 13.6, 13.10, 13.13, 13.15 и элемента задержки 13.17. Первая группа входов элемента сравнения 13.2 является шестой группой входов блока управления 13, а выход соединен с R-входом RS-триггера 13.1. S-вход RS-триггера 13.1 объединен с R-входом RS-триггера 13.11 и одновременно является вторым входом блока управления 13. Выход RS-триггера 13.1 соединен с первым входом элемента И 13.3, второй вход которого является первым входом блока управления 13 и тактовый шиной 4 сплайн-интерполятора. Выход элемента И 13.3 соединен с первым входом элемента И 13.4, выход которого является восьмым выходом блока управления 13 и одновременно соединен с счетным входом счетчика 13.5. Вход обнуления счетчика 13.5 объединен с S-входом RS-триггера 13.1, а выходы соединены с второй группой входов блока сравнения 13.6. Первая группа входов блока сравнения 13.6 является четвертой группой входов блока управления 13 и пятой установочной шиной 6 сплайн-интерполятора. Выход блока сравнения 13.6 соединен с вторым входом элемента И 13.4 и R-входом RS-триггера 13.7. Инверсный выход RS-триггера 13.7 соединен с первым входом элемента И 13.8, второй вход которого объединен с первым входом элемента И 13.4 и вторым входом элемента И 13.14. Выход элемента И 13.8 является тринадцатым выходом блока управления 13 и одновременно соединен с счетным входом счетчика 13.9. Информационные входы счетчика 13.9 объединены с информационными входами счетчиков 13.12 и 13.16, второй группой входов блока сравнения 13.2 и одновременно являются третьей группой входов блока управления 13 и четвертой установочной шиной 3 сплайн-интерполятора. Выходы счетчика 13.9 соединены с первой группой входов блока сравнения 13.10, вторая группа входов которого объединена с первой группой входов блока сравнения 13.15 и одновременно является пятой группой входов блока управления 13 и шестой установочной шиной 7 сплайн-интерполятора. Выход блока сравнения 13.10 является одиннадцатым выходом блока управления 13 и одновременно объединен с входом обнуления счетчика 13.9 и счетным входом счетчика 13.12. Управляющий вход счетчика 13.12 объединен с управляющими входами счетчиков 13.9 и 13.16 и входом обнуления счетчика 13.5. Выходы счетчика 13.12 являются седьмой группой выходов блока управления 13 и одновременно соединены с первой группой входов блока сравнения 13.13, вторая группа входов которого является девятой группой входов блока управления 13 и третьей установочной шиной 2 сплайн-интерполятора. Выход блока сравнения 13.13 соединен с S-входом RS-триггера 13.7 и S-входом RS-триггера 13.11. Выход RS-триггера 13.11 соединен с первым входом элемента И 13.14, выход которого является двенадцатым выходом блока управления 13 и одновременно соединен с счетным входом счетчика 13.16. Выходы счетчика 13.16 соединены с второй группой входов блока сравнения 13.15. Выход блока сравнения 13.15 соединен с входом обнуления счетчика 13.16 и входом элемента задержки 13.17, выход которого является десятым выходом блока управления 13.

Предлагаемое устройство работает следующим образом.

Известно (Желудев В.А. Локальная сплайн-аппроксимация на равномерной сетке. Журнал вычислительной математики и математической физики. 1987, т. 27, N 9, с. 1296-1310; Желудев В.А. Восстановление функций и их производных по сеточным данным с погрешностью при помощи локальных сплайнов. Журнал вычислительной математики и математической физики, 1987. т. 27, N 1, с. 22-34), что выражение для вычисления s-й производной сплайна можно записать следующим образом: где h - шаг между отсчетами функции f(x); bmh - B-сплайн степени m-1: Cmi - число сочетаний из m по i: x = h(N+), [0,1]. Для кубического сплайна коэффициент gmn+s в выражении (2) вычисляется по формуле При s = 0 выражение (2) упрощается. В этом случае для кубического сплайна (m-1 = 3) имеем Известно (Желудев В. А. Локальная сплайн-аппроксимация на равномерной сетке. Журнал вычислительной математики и математической физики. 1987, т. 27, N 9, с. 1296-1310; Желудев В.А. Восстановление функций и их производных по сеточным данным с погрешностью при помощи локальных сплайнов. Журнал вычислительной математики и математической физики. 1987, т. 27, N 1, с. 22-34), что значение B-сплайна b4h(x) отлично от нуля на участке (0, 4h) и на различных интервалах наблюдения определяется следующим образом: Учитывая, что носитель B-сплайна supp (bh(x) = (0, 4h) и b4(x) симметричен относительно точки hm/2, получают для интервалов Тогда Реализация (5) в виде устройства позволяет вычислять функции f(X) C5 с точностью, определяемой погрешностью (Желудев В.А. Восстановление функций и их производных по сеточным данным с погрешностью при помощи локальных сплайнов. Журнал вычислительной математики и математической физики. 1987, т. 27, N 1, с. 24) Точность же устройства-прототипа не лучше Поэтому, например, для функций f C5 при h = 0.1 и в случае f(3)max f(4)max выигрыш может достигать 1/2 17 .

Работа сплайн-интерполятора на основе фиг. 1 и выражений (5) и (6) осуществляется следующим образом.

В исходном состоянии на первую установочную шину 1 подается код числа M. На тактовую шину 4 поступают тактовые импульсы типа меандр. На третьей установочной шине 2 присутствует код числа 4, на четвертой установочной шине 3 - код числа 0, на пятой установочной шине 6 - код числа 6, на шестой установочной шине 7 - код числа 5, на седьмой установочной шине 9 - код числа -2, на восьмой установочной шине 10 - код числа 1/6, на второй установочной шине 15 - код числа 1. В блоке памяти 11 записаны значения 0 таким образом, что в ячейке с адресом M хранится значение 0 , равное 1/(1 + M).

С подачей на шину запуска 5 импульса положительной полярности в счетчик 12 записывается код числа M. Следует отметить, что временному положению передних фронтов тактовых импульсов далее будут соответствовать новые такты работы устройства.

На 1 - 6 тактах работы устройства на информационную шину 8 подаются отсчеты функции f(x): f-2, f-1, ... f3, которые поступают в блок формирования коэффициентов сплайна 14. На 7 - 11 тактах работы устройства под воздействием управляющих сигналов, подаваемых на седьмую установочную шину 9 и восьмую установочную шину 10, а также сигналов, поступающих с выходов 7, 8 и 13 блока управления 13, в блоке формирования коэффициентов сплайна 14 происходит вычисление коэффициента (1/6)g4-1 . В конце 11 такта работы устройства полученное значение (1/6)g4-1 переписывается в блок памяти 17 под воздействием импульса, поступающего на его управляющий вход с выхода 11 блока управления 13.

На 12 - 26 тактах работы устройства аналогичным образом в блоке формирования коэффициентов сплайна 14 вычисляются значения (1/6)g4-1,(1/6)g40,(1/6)g41,(1/6)g42, которые записываются в блок памяти 17.

На 27 - 31 тактах работы устройства под воздействием информационных сигналов, поступающих с выходов блоков 11 и 12, а также подаваемых на третью и вторую установочные шины 2 и 15 устройства и управляющих сигналов (с выхода 12 блока управления 13), в блоке формирования параметров сплайна 16 происходит вычисление значений 3,[(1+)3-43],[(2-)3-4(1-)3,(1+)3] . Полученные величины поступают на первые входы блоков умножения 18 - 21. На вторые входы последних поступают соответствующие значения (1/6)g4-1,(1/6)g40,(1/6)g41,(1/6)g42 с информационных выходов блока 14.

В результате выполнения операций умножения на 32 такте работы устройства на выходах блоков умножения 18 - 21 формируются произведения Последние поступают на соответствующие группы входов сумматора 22.

На 33 такте работы устройства в сумматоре 22 производится суммирование указанных произведений под воздействием сигналов, поступающих на его управляющий вход (с выхода 12 блока управления 13), в результате чего на выходе сумматора 22 формируется значение функции f(x) в первой точке интерполяции.

В конце 33 такта работы устройства полученное значение функции f(x) записывается в регистр 23 при помощи единичного импульса, поступающего с выхода 10 блока управления 13 на вход записи регистра 23.

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

Далее алгоритм работы устройства аналогичен. В блоке 16 формируются значения параметров сплайна, а в блоках 18 - 22 вычисляются значения функции f(x), которые записываются в регистр 23. Данная операция повторяется для значений , равных 0(M-1), затем 0(M-2) и т.д. до тех пор, пока содержимое счетчика 12 не станет равным нулю. При этом код числа 0 с выхода счетчика 12 поступает на вход 6 блока управления 13, который останавливает работу устройства. На этом работа устройства по вычислению значений функции f(x) завершается. Устройство готово к новому циклу работы.

Работа блока формирования коэффициентов сплайна 14 на основе выражения (6) и фиг. 2 осуществляется следующим образом.

В исходном состоянии на вход 2 подается код числа -2 с седьмой установочной шины 9 устройства. На вход 3 подается код числа 1/6 с восьмой установочной шины 10 устройства. На вход