сплайн-интерполятор
Классы МПК: | G06F17/17 вычисление функций приближенными методами, например интерполяцией или экстраполяцией, сглаживанием, методом наименьших квадратов |
Автор(ы): | Агиевич С.Н., Колесников В.Б., Малышев С.Р., Подымов В.А., Смирнов П.Л. |
Патентообладатель(и): | Военный университет связи |
Приоритеты: |
подача заявки:
1999-06-15 публикация патента:
10.04.2001 |
Изобретение относится к вычислительной технике и может быть использовано в автоматических системах управления для воспроизведения нелинейных зависимостей одной переменной. Техническим результатом является повышение точности. Изобретение содержит блоки памяти, блок управления, умножители, блок формирования параметров сплайна, блок формирования коэффициентов сплайна, сумматор и регистр. 2 ил.
Рисунок 1, Рисунок 2
Формула изобретения
Сплайн-интерполятор, содержащий первый и второй блоки памяти, блок управления, первый, второй, третий, четвертый, пятый и шестой умножители, блок формирования параметров сплайна, блок формирования коэффициентов сплайна, сумматор и регистр, причем информационные входы счетчика и адресные входы первого блока памяти объединены и соединены с первой установочной шиной сплайн-интерполятора, а выходы счетчика соединены с пятой группой входов блока формирования параметров сплайна и третьей группой входов блока управления, первый вход которого является тактовой шиной сплайн-интерполятора, второй вход является шиной запуска сплайн-интерполятора и одновременно соединен с вычитающим входом счетчика, четвертая группа входов блока управления является второй установочной шиной сплайн-интерполятора, пятая группа входов - третьей установочной шиной сплайн-интерполятора, шестая группа входов - четвертой установочной шиной сплайн-интерполятора, седьмая группа входов блока управления является пятой установочной шиной сплайн-интерполятора, а девятый выход соединен с первым входом блока формирования коэффициентов сплайна, вторая, третья, четвертая, шестая, седьмая и восьмая группы входов которого являются соответственно шестой, седьмой, восьмой, девятой, десятой и одиннадцатой установочными шинами сплайн-интерполятора, пятая группа входов блока формирования коэффициентов сплайна является информационной шиной сплайн-интерполятора, а девятая группа выходов соединена с адресными входами второго блока памяти, первая, вторая, третья, четвертая, пятая и шестая группы выходов которого соединены со вторыми группами входом соответственно первого, второго, третьего, четвертого, пятого и шестого умножителей, а вход управления второго блока памяти соединен с восьмым выходом блока управления, десятый выход которого соединен со входами управления счетчика и регистра, а одиннадцатый выход блока управления соединен со входом управления сумматора и шестым входом блока формирования параметров сплайна, первая, вторая и третья группы входов которого являются соответственно двенадцатой, тринадцатой и четырнадцатой установочными шинами сплайн-интерполятора, четвертая группа входов блока формирования параметров сплайна соединена с выходами первого блока памяти, а седьмая, восьмая, девятая, десятая, одиннадцатая и двенадцатая группы выходов соединены с первыми группами входов соответственно первого, второго, третьего, четвертого, пятого и шестого умножителей, выходы которых соединены соответственно с первой, второй, третьей, четвертой, пятой и шестой группами информационных входов сумматора, выходы которого соединены с информационными входами регистра, выходы которого являются выходной шиной сплайн-интерполятора, отличающийся тем, что блок формирования коэффициентов сплайна выполнен содержащим первый, второй, третий, четвертый, пятый, шестой, седьмой, восьмой, девятый, десятый, одиннадцатый, двенадцатый и тринадцатый умножители, первый, второй, третий, четвертый, пятый, шестой, седьмой, восьмой, девятый, десятый, одиннадцатый, двенадцатый, тринадцатый, четырнадцатый и пятнадцатый элементы задержки, первый, второй, третий и четвертый сумматоры и блок вычитания, причем первая группа входов первого умножителя объединена с первыми группами входов второго, третьего, четвертого, пятого, шестого, седьмого, восьмого и девятого умножителей, информационными входами первого, третьего, шестого, одиннадцатого и тринадцатого элементов задержки, первыми группами информационных входов второго и третьего сумматоров и одновременно являются пятой группой входов блока формирования коэффициентов сплайна и информационной шиной сплайн-интерполятора, вторая группа входов первого умножителя является второй группой входов блока формирования коэффициентов сплайна и одновременно шестой установочной шиной сплайн-интерполятора, а выходы первого умножителя соединены с информационными входами второго элемента задержки, выходы которого соединены со второй группой информационных входов первого сумматора, первая группа информационных входов которого соединена с выходами первого элемента задержки, третья группа информационных входов соединена с выходами третьего элемента задержки, а выходы соединены с первой группой входов десятого умножителя, вторая группа входов которого соединена с третьей группой входов блока формирования коэффициентов сплайна и одновременно является седьмой установочной шиной сплайн-интерполятора, а выходы десятого умножителя соединены с информационными входами двенадцатого элемента задержки, выходы которого соединены с первой группой информационных входов четвертого сумматора, вторая группа информационных входов которого соединена с выходами тринадцатого элемента задержки, а третья группа информационных входов соединена с выходами четырнадцатого элемента задержки, информационные входы которого соединены с выходами одиннадцатого умножителя, вторая группа входов которого соединена с седьмой группой входов блока формирования коэффициентов сплайна и одновременно является десятой установочной шиной сплайн-интерполятора, а первая группа входов одиннадцатого умножителя соединена с выходами второго сумматора, вторая группа информационных входов которого соединена с выходами второго умножителя, третья группа информационных входов соединена с выходами четвертого элемента задержки, информационные входы которого соединены с выходами третьего умножителя, вторая группа информационных входов которого соединена с четвертой группой входов блока формирования коэффициентов сплайна и одновременно является восьмой установочной шиной сплайн-интерполятора, четвертая группа информационных входов второго сумматора соединена с выходами пятого элемента задержки, информационные входы которого соединены с выходами четвертого умножителя, вторая группа входов которого объединена со второй группой входов второго умножителя и соединена с шестой группой входов блока формирования коэффициентов сплайна и девятой установочной шиной сплайн-интерполятора, а пятая группа информационных входов второго сумматора соединена с выходами шестого элемента задержки, вторая группа входов пятого умножителя объединена со второй группой входов девятого умножителя и соединена с десятой группой входов блока формирования коэффициентов сплайна и пятнадцатой установочной шиной сплайн-интерполятора, а выходы пятого умножителя соединены со второй группой информационных входов третьего сумматора, третья группа информационных входов которого соединена с выходами седьмого элемента задержки, информационные входы которого соединены с выходами шестого умножителя, вторая группа входов которого объединена со второй группой входов восьмого умножителя и соединена с одиннадцатой группой входов блока формирования коэффициентов сплайна и шестнадцатой установочной шиной сплайн-интерполятора, четвертая группа информационных входов третьего сумматора соединена с выходами восьмого элемента задержки, информационные входы которого соединены с выходами седьмого умножителя, вторая группа входов которого соединена с двенадцатой группой входов блока формирования коэффициентов сплайна и одновременно является семнадцатой установочной шиной сплайн-интерполятора, пятая группа информационных входов третьего сумматора соединена с выходами девятого элемента задержки, информационные входы которого соединены с выходами восьмого умножителя, шестая группа информационных входов третьего сумматора соединена с выходами десятого элемента задержки, информационные входы которого соединены с выходами девятого умножителя, седьмая группа информационных входов третьего сумматора соединена с выходами одиннадцатого элемента задержки, а выходы третьего сумматора соединены с первой группой входов двенадцатого умножителя, вторая группа входов которого соединена с тринадцатой группой входов блока формирования коэффициентов сплайна и одновременно является восемнадцатой установочной шиной сплайн-интерполятора, а выходы двенадцатого умножителя соединены с группой входов вычитаемого блока вычитания, группа входов уменьшаемого которого соединена с выходами пятнадцатого элемента задержки, информационные входы которого соединены с выходами четвертого сумматора, вход управления которого объединен с первым входом блока формирования коэффициентов сплайна и соединен со входами управления первого, второго, третьего, четвертого, пятого, шестого, седьмого, восьмого, девятого, десятого, одиннадцатого, двенадцатого, тринадцатого, четырнадцатого и пятнадцатого элементов задержки, первого, второго, третьего, четвертого сумматоров и блока вычитания, выходы которого соединены с первой группой входов тринадцатого умножителя, вторая группа входов которого соединена с восьмой группой входов блока формирования коэффициентов сплайна и одновременно является одиннадцатой установочной шиной сплайн-интерполятора, а выходы тринадцатого умножителя соединены с девятой группой выходов блока формирования коэффициентов сплайна.Описание изобретения к патенту
Изобретение относится к автоматике и вычислительной технике, в частности к полиномиальным и сплайн-интерполяторам, и может быть использовано в автоматических системах управления для воспроизведения нелинейных зависимостей одной переменной. Известные устройства (АС СССР N 1405074 G 06 F 15/353 от 27.10.1986, АС СССР N 1686461 G 06 F 15/353 от 13.02.1989, Патент РФ N 2127901 G 06 F 17/17 от 20.03.99 г. , Бюл. N 8) позволяют воспроизводить широкий класс функциональных зависимостей, но обладают низкой точностью. Наиболее близким к заявляемому устройству по своей технической сущности является "Сплайн-интерполятор" (Патент РФ N 2127901 G 06 F 17/17 от 20.03.99 г.), выбранный в качестве устройства-прототипа. Устройство-прототип содержит первый и второй блоки памяти, счетчик, блок управления, первый, второй, третий, четвертый пятый и шестой умножители, сумматор, регистр, блок формирования коэффициентов сплайна и блок формирования параметров сплайна, причем информационные входы счетчика и адресные входы первого блока памяти объединены и соединены с первой установочной шиной сплайн-интерполятора, а выходы счетчика соединены с третьей группой входов блока управления, первый вход которого является тактовой шиной сплайн-интерполятора, второй вход - шиной запуска сплайн-интерполятора, десятый выход соединен с управляющим входом регистра и вычитающим входом счетчика, а восьмой выход блока управления соединен со входом управления второго блока памяти, первая, вторая, третья и четвертая группы выходов которого соединены соответственно с первыми входами первого, второго, третьего и четвертого умножителей, выходы которых соединены соответственно с первой, второй, третьей и четвертой группами информационных входов сумматора, выходы которого соединены с информационными входами регистра, выходы которого являются выходами сплайн-интерполятора, первый вход блока формирования коэффициентов сплайна соединен с девятым выходом блока управления, четвертая, пятая, шестая и седьмая группы входов блока управления соответственно являются второй, третьей, четвертой и пятой установочными шинами сплайн-интерполятора, одиннадцатый выход блока управления соединен с шестым входом блока формирования параметров сплайна и входом управления сумматора, пятая и шестая группы информационных входов сумматора соединены соответственно с выходами пятого и шестого умножителей, первые группы входов пятого и шестого умножителей соединены соответственно с пятой и шестой группой выходов второго блока памяти, информационные входы второго блока памяти соединены с девятой группой выходов блока формирования коэффициентов сплайна, вторая, третья, четвертая, шестая, седьмая и восьмая группы входов блока формирования коэффициентов сплайна соответственно являются шестой, седьмой, восьмой, девятой, десятой и одиннадцатой установочными шинами сплайн-интерполятора, пятая группа входов блока формирования коэффициентов сплайна представляет собой информационную шину сплайн-интерполятора, двенадцатая установочная шина сплайн-интерполятора соединена с первой группой входов блока формирования параметров сплайна, вторая и третья группы входов блока формирования параметров сплайна соответственно являются тринадцатой и четырнадцатой установочными шинами сплайн-интерполятора, четвертая группа входов блока формирования параметров сплайна соединена с выходами первого блока памяти, а пятая группа входов - с выходами счетчика, управляющий вход счетчика объединен со вторым входом блока управления и одновременно является шиной запуска сплайн-интерполятора, седьмая, восьмая, девятая, десятая, одиннадцатая и двенадцатая группы выходов блока формирования параметров сплайна соединены со вторыми группами входов соответственно шестого, пятого, четвертого, третьего, второго и первого умножителей. Известное техническое решение обладает недостаточной точностью интерполяции. При интерполяции функций, имеющих непрерывную седьмую производную (f(x) C7, в данном устройстве не полностью учитывается информация об интерполируемой функции, вследствие чего прототип не обеспечивает необходимой точности. Целью изобретения является разработка устройства, обеспечивающего более высокую точность интерполяции функций, имеющих непрерывную седьмую производную (f(x) C7). Поставленная цель достигается тем, что в известный сплайн-интерполятор, содержащий первый и второй блоки памяти, счетчик, блок управления, первый, второй, третий, четвертый, пятый и шестой умножители, блок формирования параметров сплайна, блок формирования коэффициентов сплайна, сумматор и регистр, причем информационные входы счетчика и адресные входы первого блока памяти объединены и соединены с первой установочной шиной сплайн-интерполятора, а выходы счетчика соединены с пятой группой входов блока формирования параметров сплайна и третьей группой входов блока управления, первый вход которого является тактовой шиной сплайн-интерполятора, второй вход является шиной запуска сплайн-интерполятора и одновременно соединен с вычитающим входом счетчика, четвертая группа входов является второй установочной шиной сплайн-интерполятора, пятая группа входов - третьей установочной шиной сплайн-интерполятора, шестая группа входов - четвертой установочной шиной сплайн-интерполятора, седьмая группа входов блока управления является пятой установочной шиной сплайн-интерполятора, а девятый выход соединен с первым входом блока формирования коэффициентов сплайна, вторая, третья, четвертая, шестая, седьмая и восьмая группы входов которого являются соответственно шестой, седьмой, восьмой, девятой, десятой и одиннадцатой установочными шинами сплайн-интерполятора, пятая группа входов является информационной шиной сплайн-интерполятора, а девятая группа выходов соединена с адресными входами второго блока памяти, первая, вторая, третья, четвертая, пятая и шестая группы выходов которого соединены со вторыми группами входов соответственно первого, второго, третьего, четвертого, пятого и шестого умножителей, а вход управления соединен с восьмым выходом блока управления, десятый выход которого соединен со входами управления счетчика и регистра, а одиннадцатый выход соединен со входом управления сумматора и шестым входом блока формирования параметров сплайна, первая, вторая и третья группы входов которого являются соответственно двенадцатой, тринадцатой и четырнадцатой установочными шинами сплайн-интерполятора, четвертая группа входов соединена с выходами первого блока памяти, а седьмая, восьмая, девятая, десятая, одиннадцатая и двенадцатая группы выходов соединены с первыми группами входов соответственно первого, второго, третьего, четвертого, пятого и шестого умножителей, выходы которых соединены соответственно с первой, второй, третьей, четвертой, пятой и шестой группами информационных входов сумматора, выходы которого соединены с информационными входами регистра, выходы которого являются выходной шиной сплайн-интерполятора, причем блок формирования коэффициентов сплайна содержит первый, второй, третий, четвертый, пятый, шестой, седьмой, восьмой, девятый, десятый, одиннадцатый, двенадцатый и тринадцатый умножители, первый, второй, третий, четвертый, пятый, шестой, седьмой, восьмой, девятый, десятый, одиннадцатый, двенадцатый, тринадцатый, четырнадцатый и пятнадцатый элементы задержки, первый, второй, третий и четвертый сумматоры и блок вычитания. Первая группа входов первого умножителя объединена с первыми группами входов второго, третьего, четвертого, пятого, шестого, седьмого, восьмого и девятого умножителей, информационными входами первого, третьего, шестого, одиннадцатого и тринадцатого элементов задержки, первыми группами информационных входов второго и третьего сумматоров и одновременно являются пятой группой входов блока формирования коэффициентов сплайна и информационной шиной сплайн-интерполятора. Вторая группа входов первого умножителя является второй группой входов блока формирования коэффициентов сплайна и одновременно шестой установочной шиной сплайн-интерполятора. Выходы первого умножителя соединены с информационными входами второго элемента задержки. Выходы второго элемента задержки соединены со второй группой информационных входов первого сумматора. Первая группа информационных входов первого сумматора соединена с выходами первого элемента задержки. Третья группа информационных входов первого сумматора соединена с выходами третьего элемента задержки. Выходы первого сумматора соединены с первой группой входов десятого умножителя. Вторая группа входов десятого умножителя соединена с третьей группой входов блока формирования коэффициентов сплайна и одновременно является седьмой установочной шиной сплайн-интерполятора. Выходы десятого умножителя соединены с информационными входами двенадцатого элемента задержки, выходы двенадцатого элемента задержки соединены с первой группой информационных входов четвертого сумматора. Вторая группа информационных входов четвертого сумматора соединена с выходами тринадцатого элемента задержки. Третья группа информационных входов четвертого сумматора соединена с выходами четырнадцатого элемента задержки. Информационные входы четырнадцатого элемента задержки соединены с выходами одиннадцатого умножителя. Вторая группа входов одиннадцатого умножителя соединена с седьмой группой входов блока формирования коэффициентов сплайна и одновременно является десятой установочной шиной сплайн-интерполятора. Первая группа входов одиннадцатого умножителя соединена с выходами второго сумматора, вторая группа информационных входов второго сумматора соединена с выходами второго умножителя. Третья группа информационных входов второго сумматора соединена с выходами четвертого элемента задержки. Информационные входы четвертого элемента задержки соединены с выходами третьего умножителя, вторая группа информационных входов третьего умножителя соединена с четвертой группой входов блока формирования коэффициентов сплайна и одновременно является восьмой установочной шиной сплайн-интерполятора. Четвертая группа информационных входов второго сумматора соединена с выходами пятого элемента задержки. Информационные входы пятого элемента задержки соединены в выходами четвертого умножителя, вторая группа входов четвертого умножителя объединена со второй группой входов второго умножителя и соединена с шестой группой входов блока формирования коэффициентов сплайна и девятой установочной шиной сплайн-интерполятора. Пятая группа информационных входов второго сумматора соединена с выходами шестого элемента задержки. Вторая группа входов пятого умножителя объединена со второй группой входов девятого умножителя и соединена с десятой группой входов блока формирования коэффициентов сплайна и пятнадцатой установочной шиной сплайн-интерполятора. Выходы пятого умножителя соединены со второй группой информационных входов третьего сумматора. Третья группа информационных входов третьего сумматора соединена с выходами седьмого элемента задержки. Информационные входы седьмого элемента задержки соединены с выходами шестого умножителя. Вторая группа входов шестого умножителя объединена со второй группой входов восьмого умножителя и соединена с одиннадцатой группой входов блока формирования коэффициентов сплайна и шестнадцатой установочной шиной сплайн- интерполятора. Четвертая группа информационных входов третьего сумматора соединена с выходами восьмого элемента задержки. Информационные входы восьмого элемента задержки соединены с выходами седьмого умножителя. Вторая группа входов седьмого умножителя соединена с двенадцатой группой входов блока формирования коэффициентов сплайна и одновременно является семнадцатой установочной шиной сплайн-интерполятора. Пятая группа информационных входов третьего сумматора соединена с выходами девятого элемента задержки. Информационные входы девятого элемента задержки соединены с выходами восьмого умножителя. Шестая группа информационных входов третьего сумматора соединена с выходами десятого элемента задержки. Информационные входы десятого элемента задержки соединены с выходами девятого умножителя. Седьмая группа информационных входов третьего сумматора, соединена с выходами одиннадцатого элемента задержки. Выходы третьего сумматора соединены с первой группой входов двенадцатого умножителя, вторая группа входов двенадцатого умножителя соединена с тринадцатой группой входов блока формирования коэффициентов сплайна и одновременно является восемнадцатой установочной шиной сплайн-интерполятора, выходы двенадцатого умножителя соединены с группой входов вычитаемого блока вычитания. Группа входов уменьшаемого блока вычитания соединена с выходами пятнадцатого элемента задержки. Информационные входы пятнадцатого элемента задержки соединены с выходами четвертого сумматора, вход управления четвертого сумматора объединен с первым входом блока формирования коэффициентов сплайна и соединен со входами управления первого, второго, третьего, четвертого, пятого, шестого, седьмого, восьмого, девятого, десятого, одиннадцатого, двенадцатого, тринадцатого, четырнадцатого и пятнадцатого элементов задержки, первого, второго, третьего, четвертого сумматоров и блока вычитания. Выходы блока вычитания соединены с первой группой входов тринадцатого умножителя. Вторая группа входов тринадцатого умножителя соединена с восьмой группой входов блока формирования коэффициентов сплайна и одновременно является одиннадцатой установочной шиной сплайн-интерполятора. Выходы тринадцатого умножителя соединены с девятой группой выходов блока формирования коэффициентов сплайна. Перечисленная новая совокупность существенных признаков заявленного устройства обеспечивает более высокую точность при интерполяции функций, имеющих непрерывную седьмую производную (f(X) C7). Это достигается тем, что шаблон сплайна выбирается таким образом, чтобы обеспечить оптимальные условия интерполяции и получить тем самым квазиинтерполяцию. То есть интерполяцию, близкую к интерполяции глобальными сплайнами, для построения которых используется несравненно больший объем дискретных отсчетов функции. Заявленное устройство поясняется чертежами, на которых:на фиг. 1 приведена структурная схема заявленного устройства;
на фиг. 2 представлена структурная схема блока формирования коэффициентов сплайна. Сплайн-интерполятор, показанный на фиг. 1, состоит из первого 1 и второго 6 блоков памяти, счетчика 2, блока управления 3, блока формирования коэффициентов сплайна 4, блока формирования параметров сплайна 5, первого 7, второго 8, третьего 9, четвертого 10, пятого 11 и шестого 12 умножителей, сумматора 13 и регистра 14. Информационные входы счетчика 2 и адресные входы первого блока памяти 1 объединены и соединены с первой установочной шиной 15 сплайн-интерполятора. Выходы счетчика 2 соединены с пятой группой входов блока формирования параметров сплайна 5 и третьей группой входов блока управления 3. Первый вход блока управления 3 является тактовой шиной 17 сплайн-интерполятора. Второй вход блока управления 3 является шиной запуска 18 сплайн-интерполятора и одновременно соединен с вычитающим входом счетчика 2. Четвертая группа входов блока управления 3 является второй установочной шиной 16 сплайн-интерполятора. Пятая группа входов блока управления 3 является третьей установочной шиной 19 сплайн-интерполятора. Шестая группа входов блока управления 3 является четвертой установочной шиной 20 сплайн-интерполятора. Седьмая группа входов блока управления 3 является пятой установочной шиной 21 сплайн-интерполятора. Девятый выход блока управления 3 соединен с первым входом блока формирования коэффициентов сплайна 4. Вторая, третья, четвертая, шестая, седьмая и восьмая группы входов блока формирования коэффициентов сплайна 4 являются соответственно шестой 22, седьмой 23, восьмой 24, девятой 26, десятой 27 и одиннадцатой 28 установочными шинами сплайн-интерполятора. Пятая группа входов блока формирования коэффициентов сплайна 4 является информационной шиной 25 сплайн-интерполятора. Девятая группа выходов блока формирования коэффициентов сплайна 4 соединена с адресными входами второго блока памяти 6. Первая, вторая, третья, четвертая, пятая и шестая группы выходов второго блока памяти 6 соединены со вторыми группами входов соответственно первого 7, второго 8, третьего 9, четвертого 10, пятого 11 и шестого 12 умножителей. Вход управления второго блока памяти 6 соединен с восьмым выходом блока управления 3. Десятый выход блока управления 3 соединен со входами управления счетчика 2 и регистра 14. Одиннадцатый выход блока управления 3 соединен со входом управления сумматора 13 и шестым входом блока формирования параметров сплайна 5. Первая, вторая и третья группы входов блока формирования параметров сплайна 5 являются соответственно двенадцатой 33, тринадцатой 34 и четырнадцатой 35 установочными шинами сплайн-интерполятора. Четвертая группа входов блока формирования параметров сплайна 5 соединена с выходами первого блока памяти 1. Седьмая, восьмая, девятая, десятая, одиннадцатая и двенадцатая группы выходов блока формирования параметров сплайна 5 соединены с первыми группами входов соответственно первого 7, второго 8, третьего 9, четвертого 10, пятого 11 и шестого 12 умножителей, выходы которых соединены соответотвенно с первой, второй, третьей, четвертой, пятой и шестой группами информационных входов сумматора 13. Выходы сумматора 13 соединены с информационными входами регистра 14. Выходы регистра 14 являются выходной шиной сплайн-интерполятора. Блок формирования коэффициентов сплайна 4, показанный на фиг. 2, состоит из первого 41, второго 42, третьего 43, четвертого 44, пятого 45, шестого 46, седьмого 47, восьмого 48, девятого 49, десятого 422, одиннадцатого 427, двенадцатого 428 и тринадцатого 433 умножителей, первого 410, второго 411, третьего 412, четвертого 413, пятого 414, шестого 415, седьмого 416, восьмого 417, девятого 418, десятого 419, одиннадцатого 420, двенадцатого 425, тринадцатого 426, четырнадцатого 429, пятнадцатого 431 элементов задержки, первого 421, второго 423, третьего 424 и четвертого 430 сумматоров и блок вычитания 432. Первая группа входов первого умножителя 41 объединена с первыми группами входов второго 42, третьего 43, четвертого 44, пятого 45, шестого 46, седьмого 47, восьмого 48 и девятого 9 умножителей, информационными входами первого 410, третьего 412, шестого 415, одиннадцатого 420 и тринадцатого 426 элементов задержки, первыми группами информационных входов второго 423 и третьего 424 сумматоров и одновременно являются пятой группой входов 4.5 блока формирования коэффициентов сплайна 4 и информационной шиной 25 сплайн-интерполятора. Вторая группа входов первого умножителя 41 является второй группой входов 4.2 блока формирования коэффициентов сплайна 4 и одновременно шестой установочной шиной 22 сплайн-интерполятора. Выходы первого умножителя 41 соединены с информационными входами второго элемента задержки 411. Выходы второго элемента задержки 411 соединены со второй группой информационных входов первого сумматора 421. Первая группа информационных входов первого сумматора 421 соединена с выходами первого элемента задержки 410. Третья группа информационных входов первого сумматора 421 соединена с выходами третьего элемента задержки 412. Выходы первого сумматора 421 соединены с первой группой входов десятого умножителя 422. Вторая группа входов десятого умножителя 422 соединена с третьей группой входов 4.3 блока формирования коэффициентов сплайна 4 и одновременно является седьмой установочной шиной 23 сплайн-интерполятора. Выходы десятого умножителя 422 соединены с информационными входами двенадцатого элемента задержки 425. Выходы двенадцатого элемента задержки 425 соединены с первой группой информационных входов четвертого сумматора 430. Вторая группа информационных входов четвертого сумматора 430 соединена с выходами тринадцатого элемента задержки 426. Третья группа информационных входов четвертого сумматора 430 соединена с выходами четырнадцатого элемента задержки 429. Информационные входы четырнадцатого элемента задержки 429 соединены с выходами одиннадцатого умножителя 427. Вторая группа входов одиннадцатого умножителя 427 соединена с седьмой группой входов 4.7 блока формирования коэффициентов сплайна, 4 и одновременно является десятой установочной шиной 27 сплайн-интерполятора. Первая группа входов одиннадцатого умножителя 427 соединена с выходами второго сумматора 423. Вторая группа информационных входов второго сумматора 423 соединена с выходами второго умножителя 42. Третья группа информационных входов второго сумматора 423 соединена с выходами четвертого элемента задержки 413. Информационные входы четвертого элемента задержки 413 соединены с выходами третьего умножителя 43. Вторая группа информационных входов третьего умножителя 43 соединена с четвертой группой входов 4.4 блока формирования коэффициентов сплайна 4 и одновременно является восьмой установочной шиной 24 сплайн-интерполятора. Четвертая группа информационных входов второго сумматора 423 соединена с выходами пятого элемента задержки 414. Информационные входы пятого элемента задержки 414 соединены с выходами четвертого умножителя 44. Вторая группа входов четвертого умножителя 44 объединена со второй группой входов второго умножителя 42 и соединена с шестой группой входов 4.6 блока формирования коэффициентов сплайна 4 и девятой установочной шиной 26 сплайн-интерполятора. Пятая группа информационных входов второго сумматора 423 соединена с выходами шестого элемента задержки 415. Вторая группа входов пятого умножителя 45 объединена со второй группой входов девятого умножителя 49 и соединена с десятой группой входов 4.10 блока формирования коэффициентов сплайна 4 и пятнадцатой установочной шиной 29 сплайн-интерполятора. Выходы пятого умножителя 45 соединены со второй группой информационных входов третьего сумматора 424. Третья группа информационных входов третьего сумматора 424 соединена с выходами седьмого элемента задержки 416. Информационные входы седьмого элемента задержки 416 соединены с выходами шестого умножителя 46. Вторая группа входов шестого умножителя 46 объединена со второй группой входов восьмого умножителя 48 и соединена с одиннадцатой группой входов 4.11 блока формирования коэффициентов сплайна 4 и шестнадцатой установочной шиной 30 сплайн-интерполятора. Четвертая группа информационных входов третьего сумматора 424 соединена с выходами восьмого элемента задержки 417. Информационные входы восьмого элемента задержки 417 соединены с выходами седьмого умножителя 47. Вторая группа входов седьмого умножителя 47 соединена с двенадцатой группой входов 4.12 блока формирования коэффициентов сплайна 4 и одновременно является семнадцатой установочной шиной 13 сплайн-интерполятора. Пятая группа информационных входов третьего сумматора 424 соединена с выходами девятого элемента задержки 418. Информационные входы девятого элемента задержки 418 соединены с выходами восьмого умножителя 48. Шестая группа информационных входов третьего сумматора 424 соединена с выходами десятого элемента задержки 419. Информационные входы десятого элемента задержки 419 соединены с выходами девятого умножителя 49. Седьмая группа информационных входов третьего сумматора 424 соединена с выходами одиннадцатого элемента задержки 420. Выходы третьего сумматора 424 соединены с первой группой входов двенадцатого умножителя 428. Вторая группа входов двенадцатого умножителя 428 соединена с тринадцатой группой входов 4.13 блока формирования коэффициентов сплайна 4 и одновременно является восемнадцатой установочной шиной 32 сплайн-интерполятора. Выходы двенадцатого умножителя 428 соединены с группой входов вычитаемого блока вычитания 423. Группа входов уменьшаемого блока вычитания 432 соединена с выходами пятнадцатого элемента задержки 431. Информационные входы пятнадцатого элемента задержки 431 соединены с выходами четвертого сумматора 430. Вход управления четвертого сумматора 430 объединен с первым входом 4.1 блока формирования коэффициентов сплайна 4 и соединен со входами управления первого 410, второго 411, третьего 412, четвертого 413, пятого 414, шестого 415, седьмого 416, восьмого 417, девятого 418, десятого 419, одиннадцатого 420, двенадцатого 425, тринадцатого 426, четырнадцатого 429 и пятнадцатого 431 элементов задержки, первого 421, второго 423, третьего 424 и четвертого 430 сумматоров и блока вычитания 432. Выходы блока вычитания 432 соединены с первой группой входов тринадцатого умножителя 433. Вторая группа входов тринадцатого умножителя 433 соединена с восьмой группой входов 4.8 блока формирования коэффициентов сплайна 4 и одновременно является одиннадцатой установочной шиной 28 сплайн-интерполятора. Выходы тринадцатого умножителя 433 соединены с девятой группой выходов 4.9 блока формирования коэффициентов сплайна 4. Реализация заявляемого устройства объясняется следующим образом. Из статей: Желудев В.А. Локальная сплайн-аппроксимация на равномерной сетке // Журнал вычислительной математики и математической физики. - 1987. - Том 27. - N 9. - С. 1296-1310,. Желудев В.А. Восстановление функций и их производных по сеточным данным с погрешностью при помощи локальных сплайнов // Журнал вычислительной математики и математической физики. - 1987. - Том 27. N 1.- С. 22-34, известно, что выражение для интерполяции функции квазиинтерполяционным сплайном (КИС) пятой степени выглядит следующим образом:
где gn определяется по формуле
Реализация (1)-(4) в виде устройства позволяет вычислять функции f(X) C7 с более высокой точностью, чем у устройства- прототипа (Журнал вычислительной математики и математической физики. - 1987. - Том 29. - N 9. - С. 1308-1309). Работа сплайн-интерполятора на основе фиг. 1 и выражения (1) осуществляется следующим образом. В исходном состоянии на установочную шину 15 подается код числа М. На тактовую шину 17 поступают тактовые импульсы типа меандр. На установочной шине 16 присутствует код числа 0, на установочной шине 19 - код числа 10, на установочной шине 20 - код числа 16, на установочной шине 21 - код числа 7, на установочной шине 22 - код числа -2, на установочной шине 23 - код числа - 1/4, на установочной шине 24 - код числа 6, на установочной шине 26 - код числа - 4, на установочной шине 27 - код числа 13/240, на установочной шине 28 - код числа 1/120, на установочной шине 29 - код числа - 6, на установочной шине 30 - код числа 15, на установочной шине 31 - код числа - 20, на установочной шине 31 - код числа 11/960, на установочной шине 33 - код числа 15, на установочной шине 34 - код числа - 6, на установочной шине 35 - код числа 1. В блоке памяти 1 записаны значения 0 таким образом, что в ячейке с адресом М хранится значение 0, равное 1/(1 + М). С подачей на шину запуска 18 импульса положительной полярности в счетчик 2 записывается код числа М. На информационную шину 25 подаются отсчеты функции f(x): f-5, f-1,.., f6, которые поступают в блок формирования коэффициентов сплайна 4. Под воздействием управляющих сигналов, подаваемых на установочные шины 22-32, а также сигналов, поступающих с выхода блока управления 3, в блоке формирования коэффициентов сплайна 4 происходит вычисление коэффициента (1/120)g-2. Указанное значение переписывается в блок памяти 6 под воздействием импульса, поступающего на его управляющий вход с выхода блока управления 3. Далее аналогичным образом в блоке формирования коэффициентов сплайна 4 вычисляются значения (1/120)g-1, (1/120)g0, (1/120)g1, (1/120)g2, (1/120)g3, которые записываются в блок памяти 6. После этого под воздействием информационных сигналов (поступающих с выходов блоков 1 и 2), а также подаваемых на установочные шины 33-35 и управляющих сигналов (с выхода блока управления 3) в блоке формирования параметров сплайна 5 происходит вычисление значений: Полученные величины поступают на первые входы умножителей 7, 8, 9, 10, 11 и 12. На вторые входы последних поступают соответствующие значения (1/120)g-2 (1/120)g-1, (1/120)g0, (1/120)g1, (1/120)g2, (1/120)g3. В результате выполнения операций умножения на выходах умножителей 7, 8, 9, 10, 11 и 12 формируются произведения Полученные величины поступают на первые соответствующие группы входов сумматора 12. В блоке 13 производится суммирование указанных произведений под воздействием сигналов; поступающих на его управляющий вход (выхода управления 3). В результате на выходе сумматора 13 формируется значение функции f(x) в первой точке интерполяции. Полученное значение функции f(x) записывается в регистр 14 при помощи единичного импульса, поступающего с выхода блока управления 3 на вход записи регистра 14. Кроме того, этот же единичный импульс с выхода блока управления 3 поступает на вычитающий вход счетчика 2, уменьшая его содержимое на единицу. Далее алгоритм работы устройства аналогичен. В блоке 5 формируются значения параметров сплайна, а в блоках 7 - 13 вычисляются значения функции f(x), которые записываются в регистр 14. Данная операция повторяется для значений , равных 0(M-1), затем 0(M-2) и т.д. до тех пор, пока содержимое счетчика 2 не станет равным нулю. При этом код числа 0 с выхода счетчика 2 поступает на вход блока управления 3, который останавливает работу устройства. На этом работа устройства по вычислению значений функции f(x) завершается. Устройство готово к новому циклу работы. Входящие в структурную схему заявляемого устройства элементы известны и описаны, например, в [1]. Так, в указанном источнике описаны принципы построения и примеры реализации:
счетчика 2 на с. 85-86 (можно реализовать на микросхеме К155ИЕ5);
блока памяти 1 на с. 171-174 (можно реализовать на микросхеме K155ПP5);
регистра 14 на с. 104-105 (можно реализовать на микросхеме К155ИР13 - с. 111 рис. 1.78). Принцип работы умножителей 7, 8, 9, 10, 11 и 12 известен и описан в [2] на с. 163 - 221. Могут быть реализованы на микросхемах SN54284 и SN54285, с. 305, рис. 6.3.12 или на микросхеме ADSP1016 (см. [3] с. 502. табл. 7.4). Принцип работы сумматора 13 известен и описан в [4] на с. 184-198. Полный сумматор описан в [5] на с. 152, рис. 1.112, с. 153, рис. 1.113. Можно реализовать на элементах ИСКЛ. ИЛИ - К155ЛП5, И - К155ЛИ1, ИЛИ - из ИЛИ-НЕ К155ЛЕ4 и НЕ К155ЛН1. Принцип работы блока управления 3 известен и описан в устройстве-прототипе [6]. В указанном источнике реализация блока управления 3 показана на фиг. 4. Принцип работы блока формирования параметров сплайна 5 известен и описан в устройстве-прототипе [6]. В указанном источнике реализация блока управления 5 показана на фиг. 3. Принцип построения блока памяти 6 известен и описан в устройстве-прототипе [6] . Может быть реализован как показано на фиг. 5 указанного источника. Работа блока формирования коэффициентов сплайна 4 на основе выражений (2)-(4) и фиг. 2 осуществляется следующим образом. В исходном состоянии на вход 4.2 подается код числа -2 с установочной шины 22 устройства. На вход 4.3 подается код числа -1/4 с установочной шины 23 устройства. На вход 4.4 поступает код числа 6 с установочной шины 24 устройства. На входе 4.6 присутствует код числа -4 с установочной шины 26 устройства. На вход 4.7 подается код числа 13/240 с установочной шины 27 устройства. На входе 4.8 присутствует код числа 1/120 с установочной шины 28 устройства. На вход 4.9 подается код числа -6 с установочной шины 29 устройства. На вход 4.10 поступает код числа 15 с установочной шины 30 устройства. На входе 4.11 присутствует код числа -20 с установочной шины 31 устройства. На вход 4.12 подается код числа 11/960 с установочной шины 32. При подаче на вход 4.1 блока 4 управляющих импульсов (с выхода 3.9 блока управления 3) на вход 4.5 поступают значения функции f(x): f-5, f-2,...,f6. Последние поочередно следуют в пятнадцати направлениях: на первые входы умножителей 41 - 49, входы элементов задержки 410, 412, 415 и 420, первые входы сумматоров 423 и 424. Блоки 41, 410 - 412 формируют три слагаемых: fn+1, 2fn, fn-1, которые поступают на вход сумматора 421 одновременно. Результатом вычисления в сумматоре 411 являются значения 2fn (см. выражение (3)). Блоки 42 - 44, 413 - 415 формируют четыре слагаемых для сумматора 423: fn-2, 4fn-1, 6fn, 4fn+1. Пятое слагаемое - fn+2 - поступает со входа 4.5 на сумматор 423 непосредственно. Все пять слагаемых подаются на входы сумматора 423 одновременно. В результате выполнения операции сложения на выходе сумматора 423 формируются значения 4fn (см. выражение (3)). Блоки 45 - 49, 416 - 420 формируют шесть слагаемых для сумматора 424: 6fn+2, 15fn+1, 20fn, 15fn-1, 6fn-2, fn-3. Седьмое слагаемое fn+3 - поступает на первый вход сумматора 424 со входа 4.5 непосредственно. Результат вычисления в сумматоре 424 - значения бfn (см. выражение (4)). Величина 2fn, умноженная на - 1/4 в блоке 422 и задержанная в блоке 425, является первым слагаемым для сумматора 430. Вторым слагаемым является значение fn функции f(x), задержанное в блоке 426. Третьим слагаемым является величина 4fn, умноженная в блоке 427 на число 13/240, задержанное в блоке 429. Все три слагаемых поступают на входы сумматора 430 одновременно. Результат выполнения в блоке 430 операции суммирования через элемент задержки 431 поступает на вход уменьшаемого блока вычитания 432, на вход вычитаемого которого подается величина бfn, умноженная в блоке 428 на число 11/960. Результат выполнения операции вычитания умножается в блоке 433 на число 1/120, вследствие чего на выходе блока формирования коэффициентов сплайна 4 формируется значение коэффициента (1/120)gn. Умножители 41, 42, 43, 44, 45, 46, 47, 48, 422, 427, 428 и 433 известны и описаны в [2] на с. 163 - 221. Могут быть реализованы на микросхемах SN54284 и SN54285, с. 305, рис. 6.3.12 или на микросхеме ADSP1016 (см. [3] с. 502, табл. 7.4). Принцип работы элементов задержки 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 425, 426, 429 и 431 известен и описан в устройстве-прототипе [6]. В указанном источнике реализация элементов задержки показана на фиг. 6. Сумматоры 421, 423, 424 и 430 можно реализовать на К155ЛП5, К155ЛИ1, К155ЛЕ4 и НЕ К155ЛН1. Блок вычитания 432 можно реализовать на микросхемах К155ЛП5, К155ЛИ1, К155ЛЕ4, К155ЛН1, как показано в [4] на с. 190 рис. 5.38. Литература
1. В. Л. Шило. Популярные цифровые микросхемы. Справочник - М.: Радио и связь. 1988. 2. М.А. Карцев. В.А. Брик. Вычислительные системы и синхронная арифметика. - М.: Радио и связь, 1981. 3. Кун. Матричные процессоры на СБИС: Пер. с англ. - М.: Мир, 1991. 4. Д. Гивоне. Р. Россе. Микропроцессоры и микрокомпьютеры: Вводный курс: Пер. с англ. - М.: Мир, 1983. 5. В. Л. Шило. Популярные цифровые микросхемы. Справочник. 2-е изд., испр. - Челябинск: Металлургия, 1989. 6. Патент N 2127901 RU, МПК6 G 06 F 17/17. Сплайн-интерполятор / Агиевич С. Н. , Смирнов П.Л., Подымов В.А., Малышев С.Р. (РФ) N 97115388/09; Заяв. 28.08.97; Опубл. 20.03.99, Бюл. N 8. - 36 с, ил. 7.
Класс G06F17/17 вычисление функций приближенными методами, например интерполяцией или экстраполяцией, сглаживанием, методом наименьших квадратов