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

 

Изобретение относится к автоматике и вычислительной технике. Технический результат достигается путем обеспечения более высокой точности интерполяции функций, имеющих непрерывную пятую производную и выше. Устройство включает два блока памяти, четыре умножителя, сумматор, регистр, блок управления, счетчик, блок формирования коэффициентов сплайна и блок формирования параметров сплайна. 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 устройства. На вход 4 поступает управляющий сигнал - код числа 0 с выхода 7 блока управления 13.

На 1 - 6 тактах работы сплайн-интерполятора под воздействием управляющих импульсов (с выхода 7 блока 13), поступающих на вход 5 блока 14 и воздействующих на вход управления блока памяти 14.1, происходит запись значений функции f(x): f-2, f-1,... f3. Последние поступают на вход 1 блока формирования коэффициентов сплайна 14 и далее информационные входы блока памяти 14.1. При этом на вход 6 блока 14 сигналы не поступают. Поэтому блоки 14.3 - 14.10 в работе не участвуют.

На управляющие входы коммутатора 14.2 поступает код числа 0 с выхода 7 блока управления 13. Это необходимо для распределения информации, снимаемой с выходов блока памяти 14.1. Коммутатор 14.2 передает отсчеты функции f(x) следующим образом: f-2 - на вход элемента задержки 14.3; f-1 - на первый вход блока умножения 14.4 и вход элемента задержки 14.8; f0 - на вход элемента задержки 14.5.

На 7 - 11 тактах работы устройства на вход 6 блока 14 поступают управляющие импульсы (с выхода 13 блока управления 13). В блоке умножения 14.4 происходит умножение значения отсчета f-1 на число -2, код которого поступает на второй вход блока умножения. Полученное произведение поступает с выхода блока умножения 14.4 на вход сумматора 14.6. На другие входы сумматора 14.6 с выходов элементов задержки 14.3 и 14.5 поступают значения соответственно f-2 и f0. В результате выполнения операции суммирования на выходе сумматора 14.6 формируется значение f0-2f-1+f-2. Последнее поступает на первый вход блока умножения 14.7, на второй вход которого подается код числа 1/6. В результате выполнения операции умножения на выходе блока умножения 14.7 формируется значение (1/6)[f0-2f-1+f-2]. Данная величина поступает на вход вычитаемого блока вычитания 14.9, на вход уменьшаемого которого подается значение f-1 с выхода элемента задержки 14.8. В результате выполнения операции вычитания на выходе блока вычитания 14.9 формируется значение f-1 - (1/6) [f0 - 2f-1 + f-2]. Последнее поступает на первый вход блока умножения 14.10, на второй вход которого подается код числа 1/6. В результате выполнения операции умножения на выходе блока умножения формируется значение (1/6)g-1 = (1/6) {f-1 - (1/6) [f0 - 2f-1 + f-2]}. Данное значение затем переписывается в блок памяти 17.

На 12 - 16 тактах работы устройства на управляющие входы коммутатора 14.2 поступает код числа 1 с выхода 7 блока управления 13. В результате этого соответствующие выходы блока памяти 14.1 коммутируются блоком 14.2 таким образом, что отсчет функции f(x) поступают: f-1 - на вход элемента задержки 14.3; f0 - на первый вход блока умножения 14.4 и вход элемента задержки 14.8; f1 - на вход элемента задержки 14.5. Далее работа блока формирования коэффициентов сплайна 14 по вычислению значения (1/6) g40 = (1/6) {f0-(1/6) [f1-2f0+f-1]} повторяется по описанному выше алгоритму.

На 17 - 21 тактах работы устройства аналогичным образом в блоке формирования коэффициентов сплайна 14 вычисляется значение (1/6) g41 = (1/6) { f-1-(1/6)[f2-2f1+f0] } При этом на управляющий вход коммутатора 14.2 подается код числа 2. В результате этого соответствующие выходы блока памяти 14.1 коммутируются блоком 14.2 таким образом, что отсчет функции f(x) поступают: f0 - на вход элемента задержки 14.3; f1 - на первый блок умножения 14.4 и вход элемента задержки 14.8; f2 - на вход задержки 14.5.

На 22 - 26 тактах работы устройства в блоке формирования коэффициентов сплайна 14 вычисляется значение (1/6)g42 = (1/6){f2-(1/6)[f3-2f2+f1]}. При этом на управляющий вход коммутатора 14.2 поступает код числа 3. В результате этого соответствующие выходы блока памяти 14.1 коммутируются блоком 14.2 таким образом, что отсчет функции f(x) поступают: f1 - на вход элемента задержки 14.3; f2 - на первый вход блока умножения 14.4 и вход элемента задержки 14.8; f3 - на вход элемента задержки 14.5.

В конце 26 такта работы устройства работа блока 14 по формированию значений коэффициентов сплайна завершается.

Работа блока формирования параметров сплайна 16 на основе фиг. 3 осуществляется следующим образом.

В исходном состоянии на вход 3 блока формирования параметров сплайна 16 подается код числа 1 с второй установочной шины 15. На вход 4 блока формирования параметров сплайна 16 подается код числа 4 с третьей установочной шины 2. На вход 9 блока формирования параметров сплайна 16 поступают управляющие сигналы с выхода 12 блока управления 13.

На первый вход блока умножения 16.1 поступает значение 0 с выхода блока памяти 11, а на второй вход блока умножения 16.1 - значение М с выхода счетчика 12. В результате выполнения операции умножения на выходе блока умножения 16.1 формируется значение = M0. Последнее поступает на вход преобразователя в дополнительный код 16.3, на выходе которого имеем значение (1 - ). Значение с выхода умножителя 16.1 поступает также первый вход сумматора 16.2, а на первый вход сумматора 16.4 - значение (1 - ). На вторые входы сумматора 16.2 и 16.4 подается код числа 1. Под воздействием управляющих сигналов, поступающих на вход 9 блока 16 (с выхода 12 блока управления 13), на выходах сумматоров 16.2 и 16.4 формируется значения соответственно (1 + ) и (2 - ). Последние подаются на первые входы умножителей 16.5 и 16.8, соответственно. На первый вход умножителя 16.6 подается значение выхода блока умножения 16.1, а на первый вход умножителя 16.7 - значение (1 - ) с выхода преобразователя в дополнительный код 16.3. Указанные значения (1+),,(1-),(2-) одновременно поступают на вторые входы блоков умножения 16.9, 16.10, 16.11, 16.12, соответственно. На вторые входы блоков умножения 16.9, 16.10, 16.11, 16.12 поступают полученные в результате выполнения операций умножения соответствующие значения (1+)2,2,(1-)2,(2-)2 с выходов блоков умножения 16,5, 16.6, 16.7, 16.8. В результате на выходах блоков умножения 16.9, 16.10, 16.11, 16.12 формируются значения (1+)3,3,(1-)3,(2-)3. Значение 3 с выхода блока умножения 16.10 и (1-3) с выхода блока умножения 16.11 поступают на первые входы блоков умножения 16.4 и 16.15, соответственно. На вторые входы этих блоков подается код числа 4. В результате операций умножения на выходах блоков умножения 16.14 и 16.15 формируются значения 43 и 4(1-)3, соответственно. Последние поступают на входы вычитаемого блоков вычитания, соответственно 16.13 и 16.16. На выходы уменьшаемого блоков вычитания 16.13 и 16.16 поступают значения, соответственно, (1+3) с выхода блока умножения 16.9 и (2-3) с выхода блока умножения 16.12. В результате на выходах блоков вычитания 16.13 и 16.16 формируется значения параметров сплайна, соответственно, [(1+)3-43] и [(2-)3-4(1-)3] , которые поступают на выходы шины 5 и 8 блока формирования параметров сплайна 16. Кроме того, на выходных шинах 6 и 7 блока 16 формируются значения параметров сплайна 3 (снимаемого с выхода блока умножения 16.10) и (1-)3 (с выхода умножения 16.11), которые задерживаются в элементах 16.17 и 16.18, соответственно. На этом работа блока 16 по формированию значений параметров сплайна завершается.

Работа блока управления 13 на основе фиг. 4 осуществляется следующим образом.

В исходном состоянии на вход 1 блока управления 13 подаются тактовые импульсы типа меандр, на вход 3 - код числа 0 с четвертой установочной шины 3, на вход 4 - код числа 6 с пятой установочной шины 6, на вход 5 - код числа 5 с шестой установочной шины 7, на вход 6 - код числа с выхода счетчика 12 устройства, на вход 9 - код числа 4 с третьей установочной шины 2.

В начале работы сплайн-интерполятора на вход 2 блока управления 13 подается импульс положительной полярности. Последний поступает на вход сброса 13.5, в результате чего счетчик 13.5 обнуляется. Кроме того, указанный импульс положительной полярности поступает на вход записи счетчиков 13.9, 13.12, 13.17 и на S-вход RS-тригера 13.1. В результате в счетчики 13.9, 13.12 и 13.17 записывается значение 0. RS-триггер 13.1 устанавливается в единичное состояние, при котором на его выходе формируется уровень лог. "1". Последний подается на первый вход элемента И 13.3, разрешая прохождение через него тактовых импульсов.

Импульс запуска положительной полярности с входа 2 блока управления также подается на R-вход RS-триггера 13.11. В результате RS-триггер 13.11 устанавливается в нулевое состояние, при котором на его выходе формируется уровень лог. "0". Последний подается на первый вход элемента И 13.14, запрещая прохождение через него тактовых импульсов, поступающих с выхода элемента И 13.3.

Кроме того, код числа 0 с выхода счетчика 13.5 поступает на первую группу входов блока сравнения 13.6. На другую группу его входов поступает код числа 6 с входа 4 блока управления 13. В результате выполнения операции сравнения на выходе блока 13.6 формируется сигнал с единичным уровнем, открывающий элемент И 13.4. Единичный уровень с выхода блока сравнения 13.6 подается также на R-вход RS-триггера 13.7. В результате RS-триггер 13.7 устанавливается в единичное состояние, при котором на его инверсном выходе формируется сигнал логического нуля, закрывающий элемент И 13.8.

На 1 - 6 тактах работы сплайн-интерполятора импульсы с выхода элемента И 13.4 поступают на счетный вход счетчика 13.5, увеличивая каждый раз его содержимое на единицу. Кроме того, импульсы с выхода элемента И 13.4 поступают на выход 8 блока управления 13. В конце 6 такта работы сплайн-интерполятора содержимое счетчика 13.5 совпадает с кодом числа, подаваемого на вход 4 блока управления 13. В результате на выходе блока сравнения 13.6 формируется нулевой уровень, закрывающий элемент И 13.4 и приводящий к остановке счетчика 13.5.

Кроме того, нулевой уровень с выхода блока сравнения 13.6 поступает на R-вход RS-триггера 13.7, переводя его в нулевое состояние, при котором на его инверсном выходе формируется уровень лог. "1", открывающий элемент И 13.8, разрешая прохождение тактовых импульсов с выхода элемента И 13.3 через элемент Т 13.8 на счетный вход счетчика 13.9. Кроме того, импульсы с выхода элемента И 13.8 подаются на выход 13 блока управления 13. Значение числа, записанного в счетчике 13.12, подается на выход 7 блока управления 13.

В конце 11, 17, 21, 26 тактов работы сплайн-интерполятора содержимое счетчика 13.9 совпадает с кодом числа, подаваемым на вход 5 блока управления 13. В результате на выходе блока сравнения 13.10 формируется единичный импульс. Последний поступает на выход 11 блока управления 13. Кроме того, единичный импульс с выхода блока сравнения 13.10 поступает на вход сброса счетчика 13.9, устанавливая его в нулевое состояние, и на счетный вход счетчика 13.12, увеличивая его содержимое на единицу. Причем в конце 26 такта работы сплайн-интерполятора содержимое счетчика 13.12 совпадает с кодом числа, подаваемого на вход 9 блока управления 13. В результате на входе блока сравнения 13.13 формируется единичный импульс. Последний поступает на S-вход RS-триггера 13.7, переводя его в единичное состояние, при котором на его инверсном выходе формируется уровень логического нуля, закрывающий элемент И 13.8. Кроме того, единичный импульс с выхода блока сравнения 13.13 подается на S-вход RS-триггера 13.11, переводя его в единичное состояние, при котором на его выходе формируется уровень логической единицы, открывающий элемент И 13.14. При этом тактовые импульсы с выхода элемента И 13.3 через элемент И 13.14 поступает на счетный выход счетчика 13.16, увеличивая каждый раз его содержимое на единицу. Импульсы с выхода элемента И 13.14 подаются также на выход 12 блока управления 13.

В конце 31 такта работы сплайн-интерполятора содержимое счетчика 13.16 совпадает с кодом числа, подаваемого на вход 5 блока управления 13. Поэтому на выходе блока управления 13.15 формируется единичный импульс, который поступает на вход сброса счетчика 13.16, обнуляя последний. Кроме того, единичный импульс с выхода блока сравнения 13.15 поступает на вход элемента задержки 13.17, а с выхода последнего в конце 33 такта работы сплайн-интерполятора - на выход 10 блока управления 13.

В момент, когда на вход 6 блока управления 13 поступает код числа 0 (что соответствует обнулению счетчика 12 устройства), на выходе блока сравнения 13.2 формируется единичный импульс. Последний поступает на R-вход RS-триггера 13.1, переводя его в нулевое состояние. При этом на выходе RS-триггера 13.1 формируется нулевой уровень, закрывающий элемент И 13.3 и препятствующий тем самым прохождению тактовых импульсов через элемент И 13.3. На этом работа блока управления 13 (и устройства в целом) завершается.

Входящие в структуру схему предлагаемого устройства элементы известны (например, кн. В. Л. Шило. Популярные цифровые микросхемы. Справочник. М.: Радио и связь, 1988). Также известны принципы построения и примеры реализации:
счетчиков 12, 13.5, 13.9, 13.12 и 13.16 (можно реализовать на микросхеме К155ИЕ5) (см. с. 85-86);
блока памяти 11 (можно реализовать на микросхеме К155ПР6) (см. с. 171-174);
регистра 23 (можно реализовать на микросхеме К155ИР13) (см. 104-105) (см. с. 35, рис. 1.19а);
элементов И 13.3, 13.8 и 13.14 (можно реализовать на микросхеме К155ЛИ1)(см. с.35, рис.1.19а).

RS-триггеров 13.1, 13.7 и 13.11 (можно реализовать на микросхеме К155ЛЕ1) (см. с. 62-67).

Принцип работы умножителей 18-21, 14.4, 14.7, 14.10, 16.1, 16.5 - 16.12, 16.14, 16.15 известен (М.А.Карцев, В.А.Брик. Вычитательные системы и синхронная арифметика. М. : Радио и связь, 1981, с.163-221). Могут быть реализованы на микросхемах SN54284 и SN54285 (там же, с.305, рис. 6.3.12) или на микросхеме ADSP1016 (С.Кун. Матричные процессоры на СБИС. Пер. с англ. М.: Мир, 1991, с.502, табл. 7.4).

Принцип работы сумматоров 22, 14.6, 16.2 и 16.4 известен (кн. Д.Гивоне, Р. Россе. Микропроцессоры и микрокомпьютеры. Вводный курс. Пер. с англ. М.: Мир, 1983, с. 184-198). Полный сумматор известен (кн. В.Л.Шило. Популярные цифровые микросхемы. Справочник. 2-е изд., испр., Челябинск: Металлургия. 1989, с.152, рис. 1.112, с.153, рис. 1.113). Можно реализовать на элементах ИСКЛ. ИЛИ - К155ЛП1, И - К155ЛИ1, ИЛИ - из ИЛИ-НЕ К155ЛН1.

Принцип работы блоков вычитания 14.9, 16.13, 16.16 известен (кн. Д.Гивоне, Р. Россе. Микропроцессоры и микрокомпьютеры. Вводный курс: Пер. с англ. М. : Мир, 1983, с.184-198). Блок вычитания на основе полных сумматоров также известен (там же, с.190, рис. 5.38). Можно реализовать на элементах ИСКЛ. ИЛИ - К155ЛП5, И - К155ЛИ1, ИЛИ - из ИЛИ-НЕ К155ЛЕ4 и НЕ К155ЛН1.

Один из возможных вариантов построения блоков памяти 17 и 14.1 приведен на фиг. 5, на которой блок памяти показан состоящим из n последовательно соединенных регистров. Причем для блока памяти 17 выбирается n = 4, а для блока памяти 14.1 n = 6. Выход записи регистров блока соединены и подключены к управляющему выходу блока 17. Вход первого регистра является информационным входом блока. Выходы регистров являются выходными информационными шинами блока. Регистры можно реализовать на микросхеме К155ИР13.

Один из возможных вариантов построения коммутатора 14.2 показан на фиг. 7. Принцип реализации коммутаторов 14.2.1, 14.2.2, 14.2.3 известен (В.Л.Шило. Популярные цифровые микросхемы. Справочник. 2-е изд., испр. Челябинск: Металлургия, 1989, с.220). Могут быть реализованы на микросхеме К561КТ3.

Один из возможных вариантов построения элементов задержки 14.3, 14.5, 14.8, 16.7 и 16.8 показан на фиг. 6. В соответствии с фиг. 6 указанные блоки выполнения состоящими из n последовательно соединенных регистров. Входы записи регистров соединены и подключены к управляющему входу блока. Вход первого регистра является информационным входом блока. Выход n-го регистра является выходом блока. Для элементов задержки 14.3, 14.5, 16.7 и 16.8 n = 2. Для элемента задержки 14.8 n = 4.

Принцип реализации преобразователя в дополнительный код 16.3 известен (Л. М. Гольденберг. Импульсные и цифровые устройства. М.: Связь, 1973, с. 462-468). Можно реализовать на микросхемах К155ЛА3, К155ЛП5, К155ЛЕ4 и К155ЛН1.

Известен принцип работы элемента задержки 13.17 (кн. В.Л.Шило. Популярные цифровые микросхемы. Справочник. 2-е изд., испр., Челябинск: Металлургия, 1989, с.181-187) (можно реализовать на микросхемах К564АГ1, с.285, рис. 2.83а), а порядок сопряжения К564 с ТТЛ описан (кн. Цифровые интегральные микросхемы. Справочник. П. П.Мальцев, Н.С.Долидзе и др. М.: Радио и связь, 1994, с.101-103).

Принцип работы блоков сравнения 13.2, 13.6, 13.10, 13.13 и 13.15 известен (кн. Ю.В.Гаврилов, А.Н.Пучко. Арифметические устройства быстродействующих ЭЦВМ. М. : Советское радио, 1970, с.234-257). Можно реализовать на микросхемах К561ИП2 (В. Н. Вениаминов, О.Н.Лебедев, А.И.Мирошниченко. Микросхемы и их применение. Справочное пособие. 3-е изд. перераб. и дополн. М.: Радио и связь, 1989. с.114, рис. 4.12 б).

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

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

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

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

Рисунок 1, Рисунок 2, Рисунок 3, Рисунок 4, Рисунок 5, Рисунок 6, Рисунок 7



 

Похожие патенты:

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

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

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

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

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

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

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

Изобретение относится к вычислительной технике и может быть использовано всистемах цифровой обработки информации

Изобретение относится к автоматике и вычислительной технике

Изобретение относится к вычислительной технике

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

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

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

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

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

Изобретение относится к вычислительной технике и может быть применено в специализированных вычислителях

Изобретение относится к автоматике и вычислительной технике

 

Наверх