Аппроксиматор монотонных функций

 

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

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

Известен аппроксиматор монотонных функций, аргумент которых представлен кодом, содержащий блоки памяти констант аппроксимации, блоки выходных регистров, регистр аргумента, группу элементов ИЛИ, умножители байтов, блок управления и сумматоры [1].

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

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

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

Целью изобретения является повышение точности воспроизведения за счет реализации кусочно-квадратичной аппроксимации.

На чертеже представлена функциональная схема аппроксиматора.

Аппроксиматор монотонных функций содержит счетчик 1 функции, счетчик 2 импульсов и преобразователь 3 кода в частоту, управляемый делитель 4 частоты, выполненный в виде последовательно соединенных кодовыми шинами мультиплексора 5 и преобразователя 6 кода в частоту, последовательно соединенные счетчик 7 длины участка и счетчик 8 номера участка, ключ 9, генератор 10 импульсов и вычитающий счетчик 11 аргумента, вход аргумента 12 аппроксиматора, вход 13 запуска аппроксиматора, первый 14, второй 15 и третий 16 установочные входы аппроксиматора.

Функцию воспроизведения, диапазон изменения аргумента которой разбит на m равных по длине участков, каждый из которых аппроксимирован полиномом второй степени, на любом i-ом участке аппроксимации можно представить в виде: Y = a aNx-N aNx-N (1) причем N Nx N 1 i m где Y - функция воспроизведения; Nх - код аргумента; NxiнNxiк- коды аргумента в начальной и конечной точках i-го участка соответственно; a0i, a1i, a2i - постоянные коэффициенты, соответствующие i-му участку, причем знаки полярности перед коэффициентами a1i и a2i могут принимать различные, но одинаковые для всех m участков сочетания за исключением тех, при которых в диапазоне изменения кода Nx аргумента происходит изменение знака полярности первой либо второй производных функций воспроизведения (1), т.е. рассматривается только такая функция воспроизведения, которая монотонна и не имеет точек перегиба.

Необходимо отметить, что разбиение на участки диапазона изменения кода Nx аргумента должно производиться при условии не только, как отмечалось выше, равенства их длины Nx Nx= N- N= const (2) но и при условии, чтобы в узлах аппроксимации функция воспроизведения (1) не претерпевала разрыва, т.е. чтобы соблюдалось равенство a= a+ Yi-1 (3) где Yi-1= aNx aN2x (4) Цикл воспроизведения и вычисления монотонной функции, представленной формулой (1), начинается с поступления на вход 13 запуска аппроксиматора импульса, который по управляющему входу ключа 9 открывает последний и производит запись кодовых уставок A и A с первого 14 и второго 15 установочных входов в счетчики 1 и 2 соответственно и запись кода Nx аргумента со входа 12 аппроксиматора в вычитающий счетчик 11 аргумента (цепи записи счетчиков на чертеже не показаны). Для обеспечения более четкой работы аппроксиматора запись кодовых уставок A и A и кода Nx аргумента должна производиться передним фронтом запускающего импульса, а открытие ключа 9 - задним, либо запись указанных кодов должна производиться заранее перед запускающим импульсом, как операция по установке счетчиков 1, 2 и 11 в исходное состояние. Импульсы, поступающие с выхода генератора 10 импульсов на информационный вход ключа 9, проходя через последний, поступают на счетный вход вычитающего счетчика 11 аргумента. В момент обнуления на выходе последнего возникает импульс, поступающий на вход блокировки ключа 9 и приводящий указанный ключ 9 к закрытию, в результате чего прекращается цикл воспроизведения, длительность Т которого определяется формулой T = (5) где fo - частота генератора 10 импульсов.

Учитывая непрерывность и линейность преобразования кода Nxаргумента в интервал времени, можно считать справедливыми выражения
Ti= (6)
T = (7) где Тi - время преобразования, пропорциональное разности текущего и начального значений кода Nx на i-ом участке;
Т - время преобразования, пропорциональное длине участка Nx.
В течение длительности Т импульсы с выхода ключа 9 поступают и на частотные входы преобразователей 3 и 6 кода в частоту (ПКЧ).

Выходная частота f ПКЧ 3 на i-ом участке определяется выражением
f= N (8) где n - число разрядов ПКЧ 3, равное числу разрядов счетчика 2 импульсов;
N1i- выходной код счетчика 2 импульсов на i-ом участке.

В каждый момент времени t в интервале длительности Ti на любом i-ом участке выходной код N1i счетчика 2 импульсов, поступающий на кодовые шины ПКЧ 3, будет равен
N= A f t (9) причем
A= A f T (10) f= A (11) где A ,A1i - выходные коды счетчика 2 импульсов, соответствующие начальным моментам аппроксимации на i-1-ом и i-ом участках;
f ,f - выходные частоты управляемого делителя 4 частоты (УДЧ) на i-1-ом и i-ом участках соответственно, равные выходным частотам ПКЧ 6;
Р - число разрядов ПКЧ 6, равное числу разрядов мультиплексора 5;
A2i - выходной код мультиплексора 5 на i-ом участке. Знаки полярности "+" либо "-" в выражениях (9) и (10) употребляются в зависимости от режима, в котором должен работать счетчик 2 импульсов - в суммирующем либо в вычитающем соответственно, при этом выходной код счетчика 2 импульсов в начальный момент аппроксимации на первом участке соответствует записанной в него ранее начальной уставке A1 .

1
Подставляя выражение (9) в (8) и используя формулу (11), получаем
f t (12)
С частотного выхода ПКЧ 3 за время преобразования Тi на вход счетчика 1 функции поступит число импульсов Ni, равное
Ni= f dt (13) Подставляя формулу (12) в (13) и производя интегрирование с использованием выражения (6), получаем
Ni= Nx-N Nx-N (14) К моменту окончания длительности Т, соответствующему концу цикла воспроизведения и вычисления монотонной функции, выходной код NYсчетчика 1 функции будет соответствовать числу импульсов, равному
NY= A Ni (15) причем, в силу плавности воспроизведения, характеризуемого отсутствием записи каких-либо чисел в этот счетчик в моменты прохождения узлов аппроксимации, что приводило бы к скачкообразному изменению (разрыву) его выходного кода, будут справедливы с учетом формулы (7) равенства, соответствующие условию непрерывности функции воспроизведения (1) согласно выражениям (3) и (4)
A A Ni-1 (16)
Ni-1= Nx N2x (17) где A, A0i- выходные коды счетчика 1 функции, соответствующие начальным моментам аппроксимации на i-1-ом и i-ом участках. Знаки полярности "+" либо "-" в выражениях (15) и (16) употребляются в зависимости от режима, в котором должен работать счетчик 1 функции - в суммирующем либо в вычитающем соответственно, при этом выходной код счетчика 1 функции в начальный момент аппроксимации на первом участке соответствует записанной в него ранее начальной уставке A01.

Учитывая выражение (14), формулу (15) запишем в виде
NY = A Nx-N Nx-N (18)
Сопоставляя формулы (1) и (18), можно отметить, что при соблюдении равенств
a= A (19)
a= A (20)
a= A (21) будет выполняться соотношение, выражающее прямо пропорциональную зависимость выходного кода NY счетчика 1 функции от значения функции воспроизведения (1), аргумент которой представлен кодом
NY = Y , (22) где - коэффициент масштабирования.

Для удобства отсчета результата вычисления счетчик 1 функции может быть выполнен двоично-десятичным, а коэффициент выбран кратным десяти. Необходимо отметить, что результат вычисления не зависит от частоты fo генератора 10 импульсов.

Соблюдение равенства (19) при заданном обеспечивается путем выбора величины начальной уставки A01, соответствующей коэффициенту A01 первого участка аппроксимации, и выполнения равенств (20) и (21) для каждого из m участков, необходимость выполнения которых вытекает из формул (3), (4), (16) и (17).

В свою очередь соблюдения равенства (20) при заданных , n обеспечивается путем выбора величины начальной уставки A, соответствующей коэффициенту a первого участка аппроксимации, и выполнения для последующих участков определенного соотношения между значением коэффициента a1i i-го участка и значениями коэффициентов a и a i-го участка, которое сводится к следующему.

Учитывая равенства (7), (11) и (20), формулу (10) запишем в виде
a= a Nx (23)
Используя равенство (21), получаем соотношение
a= a 2 aNx (24) т.е. при разбиении на участки диапазона изменения кода Nx аргумента значение коэффициента a1i i-го участка должно определяться по значениям коэффициентов a и a предшествующего i-1-го участка. При этом нетрудно убедиться, что соблюдение соотношения (24) равносильно необходимости соблюдения в узлах аппроксимации непрерывности первой производной функции воспроизведения (1) при разбиении ее на участки, т.е. необходимости выполнения равенства
= (25)
Таким образом, разбиение на участки диапазона изменения кода Nxаргумента должно производиться при условии отсутствия в узлах аппроксимации разрыва не только функции воспроизведения (1), но и ее первой производной, т. е. вышеуказанное разбиение должно осуществляться путем сплайн-аппроксимации полиномами второй степени.

Что касается соблюдения равенства (21) при заданных , n, p, то оно обеспечивается установлением числа A2i на входе ПКЧ 6 в начальный момент аппроксимации i-го участка, что достигается следующим образом. В момент начала формирования интервала времени Т импульсы с частотой foначинают поступать с выхода ключа 9 на вход предварительно обнуленного (цепь сброса не показана) счетчика 7 длины участка, период Тп повторения выходных импульсов которого равен
Tп= (26) где k1 - коэффициент пересчета счетчика 7 длины участка.

Период Тп выбирается таким, чтобы он был равен времени преобразования Т длины участка Nx, т.е. чтобы выполнялось равенство
k1 = Nx. (27) Выходные импульсы счетчика 7 длины участка с периодом Тп поступают на вход счетчика 8 номера участка, в результате чего последний поочередно устанавливается в одно из m состояний, начиная со второго. Установка счетчика 8 номера участка в первое состояние, соответствующее первому участку, и тем самым дальнейшее установление соответствия между номерами участков и состояниями счетчика 8 номера участка, производится путем подачи импульса обнуления (цепь сброса не показана) в тот же момент, что и для счетчика 7 длины участка, а, именно, перед открытием ключа 9, например, в момент записи начальных уставок A и A. Последовательно сменяется по мере перехода с участка на участок, кодовая комбинация с выходных шин счетчика 8 номера участка поступает на управляющие входы мультиплексора 5, в результате чего на выходе последнего в моменты перехода с i-1-го на i-ый участок устанавливается необходимое i-му участку число A2i из ряда мультиплексируемых с третьего 16 установочного входа чисел A21...A2m, шины которых соединены с информационными входами мультиплексора 5. Установление необходимых чисел A2i на входе ПКЧ 6 может производиться не только с помощью мультиплексора 5, но и с помощью, например, дешифратора, преобразователя кода на программируемой логической матрице или ПЗУ, в котором заранее "прошиты" вышеуказанные числа. При этом для каждого из заменяющих элементов входным кодом (для ПЗУ - адресным), как и для мультиплексора 5, является код выходных шин счетчика 8 номера участка, а их выходным кодом - код чисел A2i , полученный в результате операции дешифрирования, преобразования или выборки.

Таким образом реализация сплайн-аппроксимации функции воспроизведения (1) сводится к установлению в счетчиках 1 и 2 начальных уставок A и A, соответствующих первому участку аппроксимации, и установлению с помощью мультиплексора 5 на кодовом входе ПКЧ 6 числа A2i , соответствующего i-му участку, начиная с первого. При этом нет необходимости в начале каждого из последующих участков производить запись в счетчиках 1 и 2 чисел A0i и A1i, так как эти числа на кодовых выходах указанных счетчиков устанавливаются автоматически в силу непрерывного (без скачков) ими счета импульсов, соответствующего непрерывности функции воспроизведения (1) и ее первой производной, что, как отмечалось выше, характерно для сплайн-аппроксимации.

Упоминаемые ранее режимы работы счетчиков 1 и 2 на сложение либо на вычитание устанавливаются заранее, исходя из знаков полярности производных функции воспроизведения (1), а именно:
если знак полярности первой производной на любом без исключения i-ом участке положителен, т.е. если функция воспроизведения (1) монотонно возрастающая, то счетчик 1 функции необходимо устанавливать в режим сложения, а если отрицателен, то в режим вычитания;
если полярность произведения знаков полярности первой и второй производных на любом без исключения i-ом участке положительна, то счетчик 2 импульсов необходимо устанавливать в режим сложения, а если отрицательна, то в режим вычитания.

Учитывая, что в аппроксиматоре рассматривается функция воспроизведения (1), у которой полярность первой и второй производных неизменна во всем диапазоне изменения кода Nx аргумента, в том числе и при Nx=Nxiн, учет знаков полярности вышеуказанных производных при выборе режимов работы счетчиков 1 и 2 можно заменить на более простой учет знаков полярности перед коэффициентами a1i и a2i функции воспроизведения (1), каждый из которых, как указывалось выше, одинаков для любого из m участков, а именно:
если перед коэффициентом a1i знак "+", то счетчик 1 функции необходимо устанавливать в режим сложения, а если знак "-", то в режим вычитания;
если полярность произведения знаков полярности перед коэффициентами a1i и a2i положительна, то счетчик 2 импульсов необходимо устанавливать в режим сложения, а если отрицательна, то в режим вычитания.

Необходимо подчеркнуть, что, в силу одинаковости знаков полярности перед одноименными коэффициентами функции воспроизведения (1) на каждом из m ее участков, режимы работы счетчиков 1 и 2 на сложение либо на вычитание, заранее устанавливаемые согласно вышеуказанным знакам, также одинаковы на каждом из этих участков.

Следует отметить, что если функция воспроизведения (1) представлена в более краткой форме
Y = b b Nx b N2x (28) где b01,b1i,b2i - постоянные коэффициенты, то связь между приведенными коэффициентами и коэффициентами a0i, a1ia2i можно выразить соотношениями
b= a a N aN (29)
b= a-2 a N (30)
b= a (31) Учитывая прямо пропорциональную зависимость длительности Т интервала времени от кода Nx аргумента, можно отметить, что на первом участке при Т = 0 код аргумента Nx1н = 0. При этом выражения (29)...(31) для первого участка примут вид
b= a (32) b= a (33) b= a (34) т.е. для первого участка имеет место идентичность рассматриваемых коэффициентов, согласно которым, как указывалось выше, устанавливаются начальные уставки A, A и число A .

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


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

АППРОКСИМАТОР МОНОТОННЫХ ФУНКЦИЙ, содержащий генератор импульсов, управляемый делитель частоты, вычитающий счетчик аргумента, счетчик функции и ключ, причем вход аргумента аппроксиматора соединен с информационным входом вычитающего счетчика аргумента, счетный вход которого соединен с выходом ключа, управляющий, информационный и блокировочный входы которого соединены с входом запуска аппроксиматора, выходами генератора импульсов и вычитающего счетчика аргумента соответственно, выход ключа соединен с частотным входом управляемого делителя частоты, первый установочный вход аппроксиматора соединен с информационным входом счетчика функции, выход которого является выходом аппроксиматора, отличающийся тем, что, с целью повышения точности за счет реализации кусочно-квадратичной зависимости, он содержит счетчик импульсов, преобразователь кода в частоту, счетчик длины участка и счетчик номера участка, причем выход управляемого делителя частоты соединен со счетным входом счетчика импульсов, информационный вход и выход которого соединены соответственно с вторым установочным входом аппроксиматора и информационным входом преобразователя кода в частоту, частотный вход которого соединен с выходом ключа и счетным входом счетчика длины участка, выход которого соединен со счетным входом счетчика номера участка, выход которого соединен с управляющим входом управляемого делителя частоты, информационный вход которого соединен с третьим установочным входом аппроксиматора, выход преобразователя кода в частоту соединен со счетным входом счетчика функции.

РИСУНКИ

Рисунок 1



 

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

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

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

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

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

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

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

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

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

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

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

Изобретение относится к электронным играм

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

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

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

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

Изобретение относится к вычислительной технике, точнее к построению многопроцессорных векторных ЭВМ

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

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