Аппроксиматор монотонных функций
Изобретение относится к автоматике и вычислительной технике и может найти применение в специализированных вычислительных и информационно-измерительных системах. Целью изобретения является повышение точности за счет реализации сплайн - аппроксимации. Аппроксиматор содержит генератор импульсов, ключ, счетчик импульсов, счетчик функции, преобразователь кода в частоту, управляемый делитель частоты и последовательно соединенные счетчики длины и номера участка, причем управляемый делитель частоты выполнен в виде последовательно соединенных кодовыми шинами мультиплексора и преобразователя кода в частоту. 1 ил.
Изобретение относится к автоматике и вычислительной технике и может найти применение в специализированных вычислительных и информационно-измерительных системах, в системах автоматического управления при воспроизведении и вычислении методом кусочно-квадратичной аппроксимации монотонных функций, аргумент которых представлен интервалом времени.
Известен аппроксиматор монотонных функций, аргумент которых представлен интервалом времени, содержащий реверсивный счетчик, дешифратор, блок памяти, триггер, элемент И и генератор дискретно изменяющейся частоты. Недостатком аппроксиматора является пониженная точность воспроизведения функциональных зависимостей, обусловленная применением метода кусочно-линейной аппроксимации. Известен аппроксиматор монотонных функций, аргумент которых представлен интервалом времени, содержащий генератор импульсов, счетчик импульсов, счетчик функции, преобразователь кода в частоту, включающий в себя пересчетную схему и систему импульсно-потенциальных ключей, блок задания начальных точек (узлов) аппроксимации и ключи. Одним из недостатков аппроксиматора является невысокая точность воспроизведения функциональных зависимостей, обусловленная применением метода кусочно-экспоненциальной аппроксимации, который хотя и точнее кусочно-линейной, но уступает кусочно-квадратичной. Другим его недостатком является то, что запись новых чисел в счетчик импульсов в узлах аппроксимации нарушает непрерывность, гладкость выходного кода этого счетчика, что приводит к нарушению гладкости частоты импульсов на входе счетчика функции и тем самым к разрыву первой производной воспроизводимой функции в указанных узлах, т. е. к отсутствию сплайн-аппроксимации при воспроизведении функциональных зависимостей. Наиболее близким к изобретению техническим решением, выбранным в качестве прототипа, является аппроксиматор монотонных функций, аргумент которых представлен интервалом времени, содержащий генератор импульсов, выход которого соединен с информационным входом ключа, управляющий вход которого соединен с входом аппроксиматора, счетчик импульсов, счетчик функции, преобразователь кода в частоту, включающий в себя пересчетный блок, группу элементов И, элемент ИЛИ, кодовый вход и частотный выход которого соединены соответственно с кодовым выходом счетчика импульсов и через первый элемент И со счетным входом счетчика функции, причем выход ключа соединен с частотным входом преобразователя кода в частоту и через второй элемент И со счетным входом счетчика импульсов, и блок задания граничных условий, кодовые вход и выход которого соединены соответственно с кодовым выходом счетчика функции и входом параллельной записи счетчика импульсов, а вход параллельной записи счетчика функции соединен с установочным входом аппроксиматора. Недостатком прототипа является отсутствие сплайн-аппроксимации при воспроизведении функциональных зависимостей, обусловленное записью новых чисел в счетчик импульсов в узлах аппроксимации. Целью изобретения является обеспечение сплайн-аппроксимации при воспроизведении функциональных зависимостей. Цель достигается тем, что в аппроксиматор монотонных функций, содержащий генератор импульсов, выход которого соединен с информационным входом ключа, управляющий вход которого соединен с входом аппроксиматора, счетчик импульсов, счетчик функции и преобразователь кода в частоту, кодовый и частотный входы которого соединены соответственно с кодовым выходом счетчика импульсов и выходом ключа, а вход параллельной записи счетчика функции соединен с установочным входом аппроксиматора, введены управляемый делитель частоты, выполненный в виде последовательно соединенных кодовыми шинами мультиплексора и преобразователя кода в частоту, и последовательно соединенные счетчик длины участка и счетчик номера участка, причем управляющий вход и частотный выход управляемого делителя частоты соединены соответственно с кодовым выходом счетчика номера участка и со счетным входом счетчика импульсов, выход ключа соединен с частотным входом управляемого делителя частоты и со счетным входом счетчика длины участка, частотный выход преобразователя кода в частоту соединен со счетным входом счетчика функции, а входы параллельной записи счетчика импульсов и информационные входы управляемого делителя частоты соединены соответственно с вторым и третьим установочными входами аппроксиматора. Таким образом, заявляемое устройство соответствует критерию изобретения "Новизна". Использование совокупности признаков, указанных в отличительной части формулы, в других устройствах согласно научно-техническим материалам и публикациям не известно. Поэтому можно сделать вывод, что предложенное техническое решение обладает существенным отличием. На чертеже представлена функциональная схема аппроксиматора. Аппроксиматор монотонных функций содержит счетчик 1 функции, последовательно соединенные кодовыми шинами счетчик 2 импульсов и преобразователь 3 кода в частоту (ПКЧ), частотный выход которого соединен со счетным входом счетчика 1 функции, управляемый делитель 4 частоты (УДЧ), выполненный в виде последовательно соединенных кодовыми шинами мультиплексора 5 и ПКЧ 6, частотный выход которого является частотным выходом управляемого делителя 4 частоты, последовательно соединенные счетчик 7 длины участка и счетчик 8 номера участка, кодовый выход которого соединен с управляющим входом УДЧ 4, являющимся управляющим входом мультиплексора 5, ключ 9, выход которого соединен с частотным входом УДЧ 4, являющимся частотным входом преобразователя 6 кода в частоту, со счетным входом счетчика 7 длины участка и с частотным входом ПКЧ 3, и генератор 10 импульсов, выход которого соединен с информационным входом ключа 9, управляющий вход которого соединен с входом 11 аппроксиматора, а входы параллельной записи счетчика 1 функции и счетчика 2 импульсов, а также информационные входы управляемого делителя 4 частоты, являющиеся информационными входами мультиплексора 5, соединены соответственно с первым 12, вторым 13 и третьим 14 установочными входами аппроксиматора. Функцию воспроизведения, диапазон изменения аргумента которой разбит на m равных по длине участков, каждый из которых аппроксимирован полиномом второй степени, на любом i-м участке аппроксимации можно представить в виде Y=a a(Tx-T) a(Tx-T)2,, (1) причем T Tx T;; 1 i m где Y - функция воспроизведения; Тх - интервал аргумента; Тxiн и Тхiк - интервал аргумента в начальной и конечной точках i-го участка соответственно; аоi, a1i, a2i - постоянные коэффициенты, соответствующие i-му участку, причем знаки полярности перед коэффициентами а1i и а2i могут принимать различные, но одинаковые для всех m участков сочетания, за исключением тех, при которых в диапазоне изменения интервала Тх аргумента происходит изменение знака полярности первой либо второй производной функции воспроизведения (1), т.е. рассматривается только такая функция воспроизведения, которая монотонна и не имеет точек перегиба. Необходимо отметить, что разбиение на участки диапазона изменения интервала Тх аргумента должно производиться при условии не только, как отмечалось выше, равенства их длины Tx= T-T= const,, (2) но и при условии, чтобы в узлах аппроксимации функция воспроизведения (1) не претерпевала разрыва, т.е. чтобы соблюдалось равенство a=a+Yi-1,, (3) где Yi-1= aX aT2x .. (4) Цикл воспроизведения и вычисления монотонной функции, представленной формулой (1), начинается с поступления на вход 11 аппроксиматора импульса напряжения, равного по длительности интервалу Тхаргумента, поступающему на управляющий вход ключа 9 и производящего по переднему фронту запись кодовых установок Ао1 и А11 с первого 12 и второго 13 установочных входов в счетчик 1 функции и в счетчик 2 импульсов соответственно (цепи записи счетчиков на чертеже не показаны). Для обеспечения более четкой работы аппроксиматора запись кодовых уставок Ао1 и А11 должна производиться заранее перед началом интервала Тх аргумента как операция по установке счетчиков 1 и 2 в исходное состояние. Учитывая непрерывность интервала Тх аргумента можно считать справедливым равенство Ti = Tx - Txi н, (5) где Тi - длительность интервала, равная разности текущего и начального значений интервала Тх на i-м участке. Входной импульс напряжения, поступая на управляющий вход ключа 9, открывает последний, в результате чего импульсы с генератора 10 импульсов, приходящие на информационный вход ключа 9, поступают на частотные входы ПКЧ 3 и 6. Выходная частота fПКЧi ПКЧ 3 на i-м участке определяется выражениемf= N,, (6) где fo - частота генератора 10 импульсов;
n - число разрядов ПКЧ 3, равное числу разрядов счетчика 2 импульсов;
N1i - выходной код счетчика 2 импульсов на i-м участке. В каждый момент времени t в интервале длительности Тi на любом i-м участке выходной код N1i счетчика 2 импульсов, поступающий на кодовые шины ПКЧ 3, равен
N= A+ft,, (7) причем
A=A f T;; (8)
f= A, , (9) где А1i-1 и А1i- выходные коды счетчика 2 импульсов, соответствующие начальным моментам аппроксимации на (i-1)-м и i- участках;
fУДЧi- 1 и fУДЧi- выходные частоты управляемого УДЧ 4 на (i-1)-м и i-м участках соответственно, равные выходным частотам ПКЧ 6;
р - число разрядов ПКЧ 6, равное числу разрядов мультиплексора 5;
A2i- выходной код мультиплексора 5 на i-м участке. Знаки полярности "+" либо "-" в выражениях (7) и (8) употребляются в зависимости от режима, в котором должен работать счетчик 2 импульсов - в суммирующем либо в вычитающем соответственно, при этом выходной код счетчика 2 импульсов в начальный момент аппроксимации на первом участке соответствует записанной в него ранее начальной уставке А11. Подставляя выражение (7) в выражение (6) и используя формулу (9), получают
f= t .. (10)
С частотного выхода ПКЧ 3 за время преобразования Тi на вход счетчика 1 функции поступает число импульсов
Ni= fdt .. (11)
Подставляя формулу (10) в выражение (11) и производя интегрирование с использованием выражения (5), получают
Ni= (Tx-T) (Tx-T)2.. (12)
К моменту окончания длительности Т, соответствующему концу цикла воспроизведения и вычисления монотонной функции, выходной код NYсчетчика 1 функции соответствует числу импульсов
Ny= A Ni ,, (13) причем, в силу плавности воспроизведения, характеризуемого отсутствием записи каких-либо чисел в этот счетчик в моменты прохождения узлов аппроксимации, что приводило бы к скачкообразному изменению (разрыву) его выходного кода, справедливы равенства, соответствующие условию непрерывности функции воспроизведения (1) согласно выражениям (3) и (4):
A=A Ni-1;; (14)
Ni-1= Tx T2x ,, (15) где А0i-1 и А0i - выходные коды счетчика 1 функции, соответствующие начальным моментам аппроксимации на (i-1)-м и i-м участках. Знаки полярности "+" либо "-" в выражениях (13) и (14) употребляются в зависимости от режима, в котором должен работать счетчик 1 функции - в суммирующем либо в вычитающем соответственно, при этом выходной код счетчика 1 функции в начальный момент аппроксимации на первом участке соответствует записанной в него ранее начальной уставке А01. Учитывая выражение (12), формулу (13) записывают в виде
Ny= A (Tx-T) (Tx-T)2 . (16)
Сопоставляя формулы (1) и (16), можно отметить, что при соблюдении равенств
a= A; (17)
a= A; (18)
a= A (19) выполняется соотношение, выражающее прямо пропорциональную зависимость выходного кода NY счетчика 1 функции от значения функции воспроизведения (1), аргумент которой представлен интервалом времени
NY = Y, (20) где - коэффициент масштабирования. Для удобства отсчета результата вычисления счетчик 1 функции может быть выполнен двоично-десятичным, а коэффициент выбран кратным десяти. Соблюдение равенства (17) при заданном обеспечивается путем выбора величины начальной уставки А01, соответствующей коэффициенту а01первого участка аппроксимации, и выполнения равенств (18) и (19) для каждого из m участков, необходимость выполнения которых вытекает из формул (3), (4), (14) и (15). В свою очередь соблюдение равенства (18) при заданных , f0, n обеспечивается путем выбора величины начальной уставки А11, соответствующей коэффициенту а11 первого участка аппроксимации, и выполнения для последующих участков определенного соотношения между значением коэффициента а1i i-го участка и значениями коэффициентов а1i-1 и а2i-1 (i-1)-го участка, которое сводится к следующему. Учитывая равенства (9) и (18), формулу (8) записывают в виде
a=a Tx . (21)
Используя равенство (19), получают соотношение
a= a 2aTx, (22) т.е. при разбиении на участки диапазона изменения интервала Тх аргумента значение коэффициента а1i i-го участка должно определяться по значениям коэффициентов а1i-1 и а2i-1 предшествующего (i-1)-го участка. При этом нетрудно убедиться, что соблюдение соотношения (22) равносильно необходимости соблюдения в узлах аппроксимации непрерывности первой производной функции воспроизведения (1) при разбиении ее на участки, т.е. необходимости выполнения равенства
= . (23)
Таким образом, разбиение на участки диапазона изменения интервала Тх аргумента должно производиться при условии отсутствия в узлах аппроксимации разрыва не только функции воспроизведения (1), но и ее первой производной, т. е. вышеуказанное разбиение должно осуществляться путем сплайн-аппроксимации полиномами второй степени. Что касается соблюдения равенства (19) при заданных , f0, n, p, то оно обеспечивается установлением числа А2i на входе ПКЧ 6 в начальный момент аппроксимации i-го участка, что достигается следующим образом. В момент начала формирования интервала Т импульсы с частотой fo начинают поступать с выхода ключа 9 на вход предварительно обнуленного (цепь сброса на чертеже не показана) счетчика 7 длины участка, период повторения выходных импульсов которого равен
Tп= ,, (24) где k1 - коэффициент пересчета счетчика 7 длины участка. Период Тп выбирается таким, чтобы он был равен длине участка Тх, т.е. чтобы выполнялось равенство
k1 = fо Tx . (25)
Выходные импульсы счетчика 7 длины участка с периодом Тп поступают на вход счетчика 8 номера участка, в результате чего последний поочередно устанавливается в одно из m состояний, начиная с второго. Установка счетчика 8 номера участка в первое состояние, соответствующее первому участку, и тем самым дальнейшее установление соответствия между номерами участков и состояниями счетчика 8 номера участка производится путем подачи импульса обнуления (цепь сброса на чертеже не показана) в тот же момент, что и для счетчика 7 длины участка, а именно перед началом интервала Тх, например, в момент записи начальных уставок А01 и А11. Последовательно сменяемая по мере перехода с участка на участок кодовая комбинация с выходных шин счетчика 8 номера участка поступает на управляющие входы мультиплексора 5, в результате чего на выходе последнего в моменты перехода с (i-1)-го на i-й участок устанавливается необходимое i-у участку число А2i из ряда мультиплексируемых с третьего установочного входа 14 чисел А2i ... A2m, шины которых соединены с информационными входами мультиплексора 5. Установление необходимых чисел А2i на входе ПКЧ 6 может производиться не только с помощью мультиплексора 5, но и с помощью, например, дешифратора, преобразователя кода на программируемой логической матрице или ПЗУ, в котором заранее "прошиты" вышеуказанные числа. При этом для каждого из заменяющих элементов входным кодом (для ПЗУ адресным), как и для мультиплексора 5, является код выходных шин счетчика 8 номера участка, а их выходным кодом - код числа А2i, полученный в результате операции дешифрирования, преобразования или выборки. Таким образом, реализация сплайн-аппроксимации функции воспроизведения (1) сводится к установлению в счетчиках 1 и 2 начальных уставок А01 и А11, соответствующих первому участку аппроксимации, и установлению с помощью мультиплексора 5 на кодовом входе ПКЧ 6 числа А2i, соответствующего i-у участку, начиная с первого. При этом нет необходимости в начале каждого из последующих участков производить запись в счетчиках 1 и 2 чисел А0i и А1i, так как эти числа на кодовых выходах указанных счетчиков устанавливаются автоматически в силу непрерывного (без скачков) ими счета импульсов, соответствующего непрерывности функции воспроизведения (1) и ее первой производной, что, как отмечалось выше, характерно для сплайн-аппроксимации. Упоминаемые ранее режимы работы счетчиков 1 и 2 на сложение либо на вычитание устанавливаются заранее, исходя из знаков полярности производных функций воспроизведения (1), а именно если знак полярности первой производной на любом без исключения i-м участке положителен, т.е. если функция воспроизведения (1) монотонно возрастающая, то счетчик 1 функции необходимо устанавливать в режим сложения, а если отрицателен, то в режим вычитания; если полярность произведения знаков полярности первой и второй производных на любом без исключения i-м участке положительна, то счетчик 2 импульсов необходимо устанавливать в режим сложения, а если отрицательна, то в режим вычитания. Учитывая, что в аппроксиматоре рассматривается функция воспроизведения (1), у которой полярность первой и второй производных неизменна во всем диапазоне изменения интервала Тх аргумента, в том числе и при Тх = Тхiн, учет знаков полярности вышеуказанных производных при выборе режимов работы счетчиков 1 и 2 можно заменить на более простой учет знаков полярности перед коэффициентами а1i и а2i функции воспроизведения (1), каждый из которых, как указывалось выше, одинаков для любого из m участков, а именно если перед коэффициентом а1i знак "+", то счетчик 1 функции необходимо устанавливать в режим сложения, а если знак "-" то, в режим вычитания; если полярность произведения знаков полярности перед коэффициентами а1i и а2i положительна, то счетчик 2 импульсов необходимо устанавливать в режим сложения, а если отрицательна, то в режим вычитания. Необходимо подчеркнуть, что в силу одинаковости знаков полярности перед одноименными коэффициентами функции воспроизведения (1) на каждом из m ее участков режимы работы счетчиков 1 и 2 на сложение либо на вычитание, заранее устанавливаемые согласно вышеуказанным знакам, также одинаковы на каждом из этих участков. Следует отметить, что если функция воспроизведения (1) представлена в более краткой форме:
Y=b bTx bT2x, (26) где b0i, b1i, b2i - постоянные коэффициенты, то связь между приведенными коэффициентами и коэффициентами а0i, a1i и a2i можно выразить соотношениями
b=a aT a (T)2; (27)
b=a-2aT; (28)
b2i = a2i . (29)
Можно отметить, что на первом участке при Т = 0 интервал аргумента Тх1н= 0. При этом выражения (27)...(29) для первого участка принимают вид b=a; b=a; b=a, т.е. для первого участка имеет место идентичность рассматриваемых коэффициентов, согласно которым, как указывалось выше, устанавливаются начальные уставки А01, А1i и число A21. Таким образом, благодаря новым связям, элементам и возможности установки различного сочетания режимов работы счетчиков 1 и 2 обеспечивается с учетом масштабирования аппаратурная реализация воспроизведения и вычисления монотонных функций, как возрастающих, так и убывающих, выпуклых как вверх, так и вниз (в зависимости от знака полярности перед коэффициентом а2i, воспроизводимых путем сплайн-аппроксимации, аргумент которых может быть представлен интервалом времени.
Формула изобретения
РИСУНКИ
Рисунок 1