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

 

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

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

Известные устройства (АС СССР N 1405074 G 06 F 15/353 от 27.10.1986, АС СССР N 1686461 G 06 F 15/353 от 13.02.1989) позволяют воспроизводить широкий класс функциональных зависимостей, но обладают низкой точностью.

Наиболее близким к заявляемому устройству по своей технической сущности является "Сплайн-интерполятор" (АС СССР N 1686461 G 06 F 15/353 от 13.02.1989), выбранный в качестве устройства-прототипа.

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

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

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

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

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

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

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

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

Так, из [1, 2] известно, что выражение для интерполяции функции f(x) квадратичным сплайном минимального шаблона можно записать следующим образом: где fn-1, fn, fn+1 - (n-1)-й, n-й, (n+1)-й отсчеты функции f(х); [0, 1] Реализация (2) в виде устройства позволяет вычислять функции f(x) C4 с точностью, определяемой выражением [1, 2]
2 = 0,047h3f(3)max,
что лучше не менее, чем на 5% по сравнению с прототипом. Точность последнего определяется из выражения (1).

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

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

Блок формирования коэффициентов сплайна 4, показанный на фиг. 2, состоит из преобразователя в дополнительный код 41, первого 42, второго 47 и третьего 49 умножителей, первого 43, второго 44 и третьего 45 элементов задержки, первого 46 и второго 48 сумматоров. Первая группа входов первого умножителя 42 объединена со входами преобразователя в дополнительный код 41, третьей группой информационных входов первого сумматора 46 и информационными входами первого элемента задержки 43 и одновременно является первой группой входов 4.1 блока формирования коэффициентов сплайна 4 и информационной шиной 19 сплайн-интерполятора. Вторая группа входов первого умножителя 42 является второй группой входов 4.2 блока формирования коэффициентов сплайна 4 и одновременно шестой установочной шиной 20 сплайн-интерполятора, а выходы соединены с информационными входами третьего элемента задержки 45. Выходы третьего элемента задержки 45 соединены со второй группой информационных входов первого сумматора 46. Первая группа информационных входов первого сумматора 46 через второй элемент задержки 44 соединена с выходами преобразователя в дополнительный код 41, а выходы соединены с первой группой входов второго умножителя 47. Вторая группа входов второго умножителя 47 является третьей группой входов 4.3 блока формирования коэффициентов сплайна 4 и одновременно седьмой установочной шиной 21 сплайн-интерполятора, а выходы соединены со второй группой информационных входов второго сумматора 48. Первая группа информационных входов второго сумматора 48 соединена с выходами первого элемента задержки 43, управляющий вход объединен с управляющими входами первого 43, второго 44 и третьего 45 элементов задержки, управляющим входом первого сумматора 46 и одновременно пятым входом 4.5 блока формирования коэффициентов сплайна 4, а выходы соединены с первой группой входов третьего умножителя 49. Вторая группа входов третьего умножителя 49 является четвертой группой входов 4.4 блока формирования коэффициентов сплайна 4 и одновременно восьмой установочной шиной 22 сплайн-интерполятора, а выходы являются выходами блока формирования коэффициентов сплайна 4.

Блок формирования параметров сплайна 5, показанный на фиг. 3, состоит из первого 51, второго 53, третьего 54 и четвертого 55 умножителей, преобразователя в дополнительный код 52, первого 56, второго 58 и третьего 59 элементов задержки и блока вычитания 57. Первая группа входов первого умножителя 51 является первой группой входов 5.1 блока формирования параметров сплайна 5, вторая группа входов - второй группой входов 5.2 блока формирования параметров сплайна 5, а выходы поразрядно объединены с первой и второй группами входов второго умножителя 53 и входами преобразователя в дополнительный код 52. Выходы преобразователя в дополнительный код 52 соединены поразрядно с первой и второй группами входов третьего умножителя 54. Выходы третьего умножителя 54 соединены с информационными входами первого элемента задержки 56. Выходы первого элемента задержки 56 соединены с группой входов уменьшаемого блока вычитания 57 и информационными входами третьего элемента задержки 59. Выходы третьего элемента задержки 59 являются четвертой группой выходов 5.4 блока формирования параметров сплайна 5, а управляющий вход объединен с третьим входом 5.3 блока формирования параметров сплайна 5 и управляющими входами первого 56 и второго 58 элементов задержки, и управляющим входом блока вычитания 57. Группа входов вычитаемого блока вычитания 57 соединена с выходами четвертого умножителя 55. Вторая группа входов четвертого умножителя 55 является седьмой группой входов 5.7 блока формирования параметров сплайна 5 и одновременно является девятой установочной шиной 23 сплайн-интерполятора, а первая группа входов объединена с выходами второго умножителя 53 и информационными входами второго элемента задержки 58. Выходы второго элемента задержки 58 являются шестой группой выходов 5.6 блока формирования параметров сплайна 4. Выходы блока вычитания являются пятой группой выходов 5.5 блока формирования параметров сплайна 5.

Блок управления 3, показанный на фиг. 4, состоит из первого 31 и второго 310 RS-триггеров, первого 32, второго 36, третьего 38 и четвертого 313 блоков сравнения, первого 33, второго 34, третьего 37 и четвертого 311 элементов И, первого 35 и второго 312 счетчиков, элемента НЕ 39 и элемента задержки 314. S-вход первого RS-триггера 31 объединен со входом обнуления первого счетчика 35, S-входом второго RS-триггера 310, управляющим входом второго счетчика 312 и одновременно является вторым входом 3.2 блока управления 3 и шиной запуска 15 сплайн-интерполятора. R-вход первого RS-триггера 31 соединен с выходом первого блока сравнения 32, а выход соединен с первым входом первого элемента И 33. Второй вход первого элемента И 33 является первым входом 3.1 блока управления 3 и одновременно тактовой шиной 14 сплайн-интерполятора, а выход соединен со вторым входом четвертого элемента И 311 и первым входом второго элемента И 34. Выход второго элемента И 34 является восьмым выходом 3.8 блока управления 3 и одновременно соединен с первым входом третьего элемента И 37 и счетным входом первого счетчика 35. Выходы первого счетчика 35 соединены с первой группой входов третьего блока сравнения 38 и первой группой входов второго блока сравнения 36. Вторая группа входов второго блока сравнения 36 является пятой группой входов 3.5 блока управления 3 и одновременно третьей установочной шиной 16 сплайн-интерполятора, а выход соединен со вторым входом третьего элемента И 37. Выход третьего элемента И 37 является девятым выходом 3.9 блока управления 3. Вторая группа входов третьего блока сравнения 38 является шестой группой входов 3.6 блока управления 3 и одновременно четвертой установочной шиной 17 сплайн-интерполятора, а выход соединен со вторым входом второго элемента И 34 и входом элемента НЕ 39. Выход элемента НЕ 39 соединен с R-входом второго RS-триггера 310, инверсный выход которого соединен с первым входом четвертого элемента И 311. Выход четвертого элемента И 311 является одиннадцатым выходом 3.11 блока управления 3 и одновременно соединен со счетным входом второго счетчика 312. Информационные входы второго счетчика 312 объединены со второй группой входов первого блока сравнения 32 и являются четвертой группой входов 3.4 блока управления 3. Выходы второго счетчика 312 соединены с первой группой входов четвертого блока сравнения 313. Вторая группа входов четвертого блока сравнения 313 является седьмой группой входов 3.7 блока управления 3 и одновременно пятой установочной шиной 18 сплайн-интерполятора, а выход соединен со входом обнуления второго счетчика 312 и входом элемента задержки 314. Выход элемента задержки 314 является десятым выходом 3.10 блока управления 3. Первая группа входов первого блока сравнения 32 является третьей группой входов 3.3 блока управления 3 и одновременно второй установочной шиной 13 сплайн-интерполятора.

Второй блок памяти 6, показанный на фиг. 5, выполнен содержащим первый 61, второй 62 и третий 63 регистры, соединенные последовательно. Информационные входы первого регистра 61 являются группой информационных входов блока. Выходы первого регистра 61 являются первой группой выходов блока. Выходы второго регистра 62 являются второй группой выходов блока. Выходы третьего регистра 63 являются третьей группой выходов блока. Управляющий вход первого регистра 61 объединен с управляющими входами второго 62 и третьего 63 регистров и является управляющим входом блока.

Элемент задержки 43, показанный на фиг. 6, содержит n каскадно соединенных регистров. Входы первого 431 регистра являются группой информационных входов элемента задержки. Выходы каждого регистра подключены к соответствующим входам последующего регистра, кроме n-го регистра 43n, выходы которого являются группой выходов элемента задержки. Управляющие входы регистров объединены и подключены к управляющему входу блока 43.

Заявленное устройство работает следующим образом.

В исходном состоянии на первую установочную шину 12 подается код числа M. На тактовую шину 14 поступают тактовые импульсы типа меандр. На второй установочной шине 13 присутствует код числа 0, на третьей установочной шине 16 - код числа 7, на четвертой установочной шине 17 - код числа 9, на пятой установочной шине 18 - код числа 4, на шестой установочной шине 20 - код числа 2, на седьмой установочной шине 21 - код числа - 1/8, на восьмой установочной шине 22 - код числа 1/2, а на девятой установочной шине 23 - код числа 3. В первом блоке памяти 1 записаны значения = 0 таким образом, что в ячейке с адресом M хранится значение 0, равное 1/(1 + M).

С подачей на шину запуска 15 импульса положительной полярности в счетчик 2 записывается код числа M. На информационную шину 19 подаются отсчеты функции f(x): f0, f1, ..., f3, которые поступают в блок формирования коэффициентов сплайна 4. Под воздействием управляющих сигналов, подаваемых на шестую 20, седьмую 21 и восьмую 22 установочные шины, а также сигналов, поступающих с восьмого выхода блока управления 3, в блоке формирования коэффициентов сплайна 4 происходит вычисление коэффициента (l/2)g1. Указанное значение переписывается во второй блок памяти 6 под воздействием импульса, поступающего на его управляющий вход с девятого выхода блока управления 3.

Далее аналогичным образом в блоке формирования коэффициентов сплайна 4 вычисляются значения (1/2)g2, (1/2)g3, которые записываются во второй блок памяти 6.

После этого под воздействием информационных сигналов, поступающих с выходов блоков 1 и 2, а также подаваемых на девятую установочную шину 23, и управляющих сигналов (с одиннадцатого выхода блока управления 3), в блоке формирования параметров сплайна 5 происходит вычисление значений 2, [(1-)2-32] и (1-)2. Полученные величины поступают на первые группы входов первого 7, второго 8 и третьего 9 умножителей. На вторые входы последних поступают соответствующие значения (1/2)g1, (1/2)g2 и (1/2)g3.

В результате выполнения операций умножения на выходах первого 7, второго 8 и третьего 9 умножителей формируются произведения (1/2)g32, (1/2)g2[(1-)2-32] и g1(1-)2. Полученные величины поступают на соответствующие группы информационных входов сумматора 10.

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

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

Далее алгоритм работы устройства аналогичен. В блоке 5 формируются значения параметров сплайна, а в блоках 7-10 вычисляются значения функции f(x), которые записываются в регистр 11. Данная операция повторяется для значений , равных 0(M-1), затем 0(M-2) и т. д. до тех пор, пока содержимое счетчика 2 не станет равным нулю. При этом код числа 0 с выхода счетчика 2 поступает на четвертую группу входов блока управления 3. Последний останавливает работу устройства. На этом работа устройства по вычислению значений функции f(x) завершается. Устройство готово к новому циклу работы.

Входящие в структурную схему заявляемого устройства элементы известны и описаны, например, в [3] . Так, в указанном источнике описаны принципы построения и примеры реализации:
счетчика 2 на с. 85-86 (можно реализовать на микросхеме К155ИЕ5);
первого блока памяти 1 на с. 171-174 (можно реализовать на микросхеме К155ПР6);
регистра 13 на с. 104-105 (можно реализовать на микросхеме К155ИР13 - с. 111 рис. 1.78);
Принцип работы умножителей 7, 8, 9 известен и описан в [4] на с. 163 - 221. Могут быть реализованы на микросхемах SN54284 и SN54285 (см. [4] с. 305, рис. 6.3.12) или на микросхеме ADSP1016 (см. [5] с. 502, табл. 7.4).

Принцип работы сумматора 10 известен и описан в [6] на с. 184 - 198. Полный сумматор описан в [7] на с. 152, рис. 1.112 и с. 153, рис. 1.113. Можно реализовать на элементах ИСКЛ. ИЛИ - К155ЛП5, И - К155ЛИ1, ИЛИ - из ИЛИ-НЕ К155ЛЕ4 и НЕ К155ЛН1.

Один из возможных вариантов построения второго блока памяти 6 показан на фиг. 5. Можно реализовать на микросхемах К155ИР13.

Блок формирования коэффициентов сплайна 4 работает следующим образом.

В исходном состоянии на входы 4.2 подается код числа 2 с шестой установочной шины 20 устройства. На входы 4.3 подается код числа - 1/8 с седьмой установочной шины 21 устройства. На входы 4.4 поступает код числа 1/2 с восьмой установочной шины 22 устройства.

На вход 4.5 блока 4 подаются управляющие импульсы (с восьмого выхода блока управления 3), на входы 4.1 поступают значения функции f(x): f-1, f0,. .., f2. Последние поочередно следуют: на информационные входы элемента задержки 43, входы преобразователя в дополнительный код 41, первую группу входов умножителя 42 и третью группу информационных входов сумматора 46. На первую и вторую группы информационных входов последнего поступают слагаемые, формируемые соответственно блоками 41, 44 и 42, 45. Результат вычисления в сумматоре 46 - значение (fn-1 + 2fn - fn+1) (см. выражение (3)). Указанная величина умножается в блоке 47 на число - 1/8. Результат - значение [(-1/8)(fn-1 + 2fn - fn+1)] поступает на вторую группу информационных входов сумматора 48. На его первую группу информационных входов поступает значение fn, задержанное в блоке 43. В результате на выходе сумматора 48 имеем величину [fn - (1/8) (fn-1 + 2fn - fn+1)]. Указанная величина умножается в блоке 49 на число 1/2, в результате чего на выходе блока 4 формируется значение коэффициента сплайна (1/2)gn (см. выражение 3).

Один из возможных вариантов построения элементов задержки 43, 44, 45 показан на фиг. 6. Указанные блоки являются однотипными. Для блока 43 n = 5. Для элемента задержки 44 n = 3. Для элемента задержки 45 n = 2. Указанные блоки можно реализовать на микросхемах К155ИР13.

Умножители 42, 47, 49 можно реализовать на микросхемах SN54284 и SN54285 или на микросхеме ADSP1016.

Сумматоры 46 и 48 можно реализовать на К155ЛП5, К155ЛИ1, К155ЛЕ4 и К155ЛН1.

Принцип реализации преобразователя в дополнительный код 41 известен и описан в [8] на с. 462 - 468. Можно реализовать на микросхемах К155ЛА3, К155ЛП5, К155ЛЕ4 и К155ЛН1.

Блок формирования параметров сплайна 5 работает следующим образом.

В исходном состоянии на входы 5.7 блока формирования параметров сплайна 5 подается код числа 3 с девятой установочной шины 23.

На первую группу входов умножителя 51 поступает значение 0 с выхода первого блока памяти 1, а на другую группу его входов - значение M с выхода счетчика 2. В результате выполнения операции умножения на выходах умножителя 51 формируется значение = M0. Последнее поступает на входы преобразователя в дополнительный код 52, на выходах которого имеем величину (1-). Значение с выходов умножителя 51 одновременно поступает на первую и вторую группы входов умножителя 53, а на первую и вторую группы входов умножителя 54 - значение (1-). В результате выполнения операции умножения на выходах блоков 53 и 54 формируются значения соответственно 2 и (1-)2. Код числа 2 подается на выход 5.6 блока 5 через элемент задержки 58 и на первую группу входов умножителя 55. На его вторую группу входов подается код числа 3. В результате выполнения операции умножения на выходах блока 55 имеем значение 32. Последнее поступает на группу входов вычитаемого блока вычитания 57. На его группу входов уменьшаемого поступает значение (1-)2, задержанное в блоке 56. В результате выполнения операции вычитания на выходах блока 57 формируется величина (1-)2-32, поступающая на выход 5.5 блока 5. На выход 5.4 блока 5 подается код числа (1-)2, задержанный в блоках 56 и 59. Элементы задержки 56, 58 и 59 введены для того, чтобы указанные значения параметров сплайна формировались на выходах 5.4, 5.5 и 5.6 блока 5 одновременно.

Умножители 51, 53, 54 и 55 можно реализовать на микросхемах SN54284 и SN54285 или на микросхеме ADSP1016.

Преобразователь в дополнительный код 52 можно реализовать на микросхемах К155ЛАЗ, К155ЛП5, К155ЛЕ4 и К155ЛН1.

Элементы задержки 56, 58 и 59 являются однотипными. Их можно реализовать на микросхемах К155ИР13 в соответствии с фиг. 6. Для элементов 56 и 59 n = 2. Для элемента 58 n = 3.

Принцип работы блока вычитания 57 известен и описан в [6] на с. 184-198. Блок вычитания на основе полных сумматоров приведен там же на с. 190, рис. 5.38. Можно реализовать на элементах ИСКЛ. ИЛИ - К155ЛП5, И - К155ЛИ1, ИЛИ - из ИЛИ-НЕ К155ЛЕ4 и НЕ К155ЛН1.

Блок управления 3 работает следующим образом.

В исходном состоянии на вход 3.1 блока управления 3 подаются тактовые импульсы типа меандр, на входы 3.4 - код числа с выхода счетчика 2 устройства, на входы 3.3 - код числа 0 со второй установочной шины 13, на входы 3.5 - код числа 7 с третьей установочной шины 16, на входы 3.6 - код числа 9 с четвертой установочной шины 17, на входы 3.7 - код числа 4 с пятой установочной шины 18.

В начале работы сплайн-интерполятора на вход 3.2 блока управления 3 подается импульс положительной полярности. Последний поступает на вход сброса счетчика 35, в результате чего счетчик 35 обнуляется. Кроме того, указанный импульс поступает на вход управления счетчика 312, на S-вход RS-триггера 31 и S-вход RS-триггера 310. В результате в счетчик 312 записывается значение 0. RS-триггер 31 устанавливается в единичное состояние, при котором на его выходе формируется уровень логической "1". Последний подается на первый вход элемента И 33, разрешая прохождение через него тактовых импульсов. На инверсном выходе RS-триггера 310 формируется уровень логического "0", который подается на первый вход элемента И 311, закрывая последний.

Код числа 0 с выхода счетчика 35 подается на первую группу входов блока сравнения 36. На вторую группу входов последнего подается код числа 7 со входа 3.5 блока управления 3. В результате выполнения операции сравнения на выходе блока 36 формируется сигнал с нулевым уровнем, закрывающий элемент И 34.

Кроме того, код числа 0 с выхода счетчика 35 подается на первую группу входов блока сравнения 38. На вторую группу входов последнего подается код числа 9 со входа 3.6 блока управления 3. В результате выполнения операции сравнения на выходе блока 38 формируется сигнал с единичным уровнем, открывающий элемент И 34.

Импульсы с выхода элемента И 34 поступают на счетный вход счетчика 35, увеличивая каждый раз его содержимое на единицу. Кроме того, импульсы с выхода элемента И 34 поступают на выход 3.9 блока управления 3. При совпадении значения содержимого счетчика 35 с кодом числа, подаваемого на вход 3.5 блока управления 3, на выходе блока сравнения 36 формируется сигнал с единичным уровнем. Последний открывает элемент И 37. Импульсы с выхода элемента И 34 через элемент И 37 подаются на выход 3.8 блока управления 3.

При совпадении содержимого счетчика 35 с кодом числа, подаваемого на вход 3.6 блока управления 3, на выходе блока сравнения 38 формируется нулевой уровень. Последний закрывает элемент И 34 и через элемент НЕ 39 воздействует на R-вход RS-триггера 310. В результате на инверсном выходе RS-триггера 310 формируется единичный уровень, открывающий элемент И 311. Импульсы с выхода элемента И 33 через элемент И 311 поступают на выход 3.11 блока управления 3, а также на счетный вход счетчика 312. Когда содержимое счетчика 312 совпадает с кодом числа, подаваемым на вход 3.7 блока управления 3, на выходе блока сравнения 313 формируется единичный импульс. Последний подается на вход сброса счетчика 312, устанавливая его в нулевое состояние. Кроме того, единичный импульс с выхода блока сравнения 313 через элемент задержки 314 подается на выход 3.10 блока управления 3.

В момент, когда на вход 3.3 блока управления 3 поступает код числа 0 (что соответствует обнулению счетчика 2 устройства), на выходе блока сравнения 32 формируется единичный импульс. Последний поступает на R-вход RS-триггера 31, переводя его в нулевое состояние. При этом на выходе RS-триггера 31 формируется нулевой уровень, закрывающий элемент И 33 и препятствующий тем самым прохождению тактовых импульсов через элемент И 33. На этом работа блока управления 3 (и устройства в целом) завершается.

Входящие в структурную схему блока управления 3 элементы известны и описаны, например, в [3]. Так, в указанном источнике описаны принципы построения и примеры реализации:
счетчиков 35 и 312 на с. 85-86 (можно реализовать на микросхеме К155ИЕ5):
элементов И 33, 34, 38 и 3.11 на с. 35 рис. 1.19а (можно реализовать на микросхеме К155ЛИ1):
элемента НЕ 39 (можно реализовать на микросхеме К155ЛН1);
RS-триггеров 31 и 3.10 на с. 62-67 (можно реализовать на микросхеме К155ЛЕ1 - с. 63 рис. 1.42).

В [7] на с. 181- 187 описан принцип работы элемента задержки 314 (можно реализовать на микросхемах К564АГ1, с. 285 рис. 2.83а), а порядок сопряжения К564 с ТТЛ описан в [9] на с. 101 - 103.

Принцип работы блоков сравнения 32, 36, 38 и 313 известен и описан в [10] на с. 234-257. Можно реализовать на микросхемах К561ИП2 (см. [11] на с. 114, рис. 4.12 б).

Литература
1. Желудев В. А. Локальная сплайн-аппроксимация на равномерной сетке. Журнал вычислительной математики и математической физики, 1987, Т. 27, N 9, с. 1296 - 1310.

2. Желудев В. А. Восстановление функций и их производных по сеточным данным с погрешностью при помощи локальных сплайнов. Журнал вычислительной математики и математической физики, 1987, T.27, N 1, с. 22-34.

З. Шило В.Л. Популярные цифровые микросхемы. Справочник. - М.: Радио и связь, 1988.

4. Карцев М.А., Брик В.А. Вычислительные системы и синхронная арифметика. - М.: Радио и связь, 1981.

5. Кун С. Матричные процессоры на СБИС: Пер. с англ. - М.: Мир, 1991.

6. Гивоне Д., Россе Р. Микропроцессоры и микрокомпьютеры: Вводный курс: Пер. с англ. - М.: Мир, 1983.

7. Шило В.Л. Популярные цифровые микросхемы. Справочник. 2-е изд., испр. - Челябинск: Металлургия, 1989.

8. Гольденберг Л.М. Импульсные и цифровые устройства - М.: Связь, 1973.

9. Цифровые интегральные микросхемы: Справочник Мальцев П.П., Долидзе Н. С. и др. - М.: Радио и связь, 1994.

10. Гаврилов Ю.В., Пучко А.Н. Арифметические устройства быстродействующих ЭЦВМ. - М.: Советское радио, 1970.

11. Вениаминов В. Н. , Лебедев О.Н., Мирошниченко А.И. Микросхемы и их применение. Справочное пособие. 3-е изд. перераб. и дополн. - М.: Радио и связь, 1989.


Формула изобретения

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

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

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

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

РИСУНКИ

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



 

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

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

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

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

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

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

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

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

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

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

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

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

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

Изобретение относится к области дискретной обработки сигналов

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

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

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

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