Аппроксимирующий функциональный преобразователь
Иллюстрации
Показать всеРеферат
СОЮЗ СОВЕТСКИХ
СОЦИАЛИСТИЧЕСНИХ
РЕСПУБЛИК
09) (И) СЮ 4 G 06 F 15/353
Еу :.
4 с
ОПИСАНИЕ ИЗОБРЕТЕНИЯ < jj
ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР
ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЫТ1Ф
К ABTOPCKOMY СВИДЕТЕЛЬСТВУ (21 ) 3784041/24-24 (22) 24.08,84 (46) 15.01.86. Бюл. У 2 (72) А.Л. Хейфец (53) 681.325 (088.8) (56) Смолов В,Б. Функциональные преобразователи информации.-Л.: Энергоиздат, 1981, с. 30, рис. 2-8, 2-9.
Потапов В.И., Нестерук В.Ф., Флоренсов А.Н. Быстродействующие арифметнко-логические устройства цифровых вычислительных машин.-Новосибирск: НИСИ им. Куйбышева, 1978, с. 36, рис. 1.9.1. (54)АППРОКСИМИРУЮЩИЙ ФУНКЦИОНАЛЬНЫЙ
ПРЕОБРАЗОВАТЕЛЬ (57)Изобретение относится к автоматике, вычислительной технике и может быть использовано в гибридных вычислительнык системах для выполнения функциональных преобразований. Целью изобретения является повышение точности за счет применения в качестве аппроксимирующей функции сплайнов
Эрмита-Чебышева, что позволяет осуществить гладкое преобразование аппроксимируемой функции. Технически цель достигается введением в преобразователь двух блоков памяти, схемы сравнения, пяти регистров, двух накапливающих сумматоров, двух дешифраторов, двух счетчиков и схемы обес- печения последовательности включения блоков, состоящей из двух триггеров, элемента ИЛИ, генератора и распределителя импульсов. Введение указанных блоков с соответствующими связями обеспечивает гладкую аппроксимацию
1 функций до производных первого по1 ядка как в узлах интерполяции, так и на отдельных участках аппроксимации. Кроме того, позволяет воспроизводить как однозначные, так и многозначные функции. 7 ил.
1 1205153 2
8 9 !4 5 пись в накапливающие сумматор л 27 и 28 третьих слагаемых; - 1„
1ш — запись вычисленного
5 значения Х в регистр 30; смена адреса блока памяти 17 на счетчике 16;
1е — запись вычисленного значения функции У в регистр 31; t - 4щ — разпреобразователя; на фиг. 2 и 3 — схе- решение распределителю импульсов 18
10 на выдачу управляющих импульсов на исполнительные блоки функционального временная диаграмма работы преобразо- преобразователя.
В функциональном преобразователе реализована аппроксимация функцио15 нальных зависимостей методом сплайнов Эрмита-Чебышева. Каждая функциональная зависимость, например однозначная (фиг. 5a) или неоднозначратор 10 параметров, генератор 11 ная (фиг. 56), разбивается узлами импульсов, триггер 12, регистры 13- 20 интерполяции 0, О,, 0, Oз, 04, ° . °
15, реверсивный счетчик 16, блок на сегменты. Каждый сегмент опреде17 памяти, распределитель 18 импуль- лен в локальной системе координат
80, причем ось абсцисс 0 совпадает с хордой сегмента, стягивающей два соседних узла интерполяции. В локальной системе координат каждый сегмент описывается сплайном:
Изобретение относится к автоматике и вычислительной технике и может быть использовано в гибридных вычислительных системах для выполнения функциональных преобразований.
Цель изобретения — повышение точности.
На фиг. 1 представлена блок-схема ватедя; на фиг. 5 — 7 - зависимости
\ поясняющие работу преобразователя.
Преобразователь содержит входы 1 и 2, регистр 3, счетчик 4» триггер
5, регистр 6, схему 7 сравнения, блок 8 памяти, элемент ИЛИ 9, дешифсов, блок 19 памяти, блок 20 умноже35
Соотношения между производными смещенных полиномов Чебышева: (Т".) = 0:, (T,) -2-2Та; (T ) = -8+168 =8Т", (Т ъ) IS-96 + 96 8 6+ (2T z (4) геров 5 и 12; 1.< 4>, - tzo — запись кода аргумента в регистре 6 и сброс триггера 12; 1 - t< — выборка исход,ных данных из блока памяти 8 для функционального преобразования; обнуление накапли- вающих сумматоров 27 и 28; -t e запись координат х и у узла сплайна в накапливающие сумма торы 27 и 28; te — tz у t z 1, — выбор ка данных иэ блоков памяти 17, 19, 22 и 23; t -te, -,+ — запись в накапливающие сумматоры 27 и 28 вто* Каждый узел интерполяции определен исходными координатами х
f»a и углами 91, 9» наклона касательных к функциональной зависимости. Фактически 9„ ez определяют
55 первую производную, но задание углов
: 9,, 9» более удобно, чем задание производных, так как это позволяет аппроксимировать кривые с вертикальжения, дешифратор 21 знака приращения, блоки 22 и 23 памяти, регистры
24 и 25, коммутатор 26, накапливающие сумматоры 27 и 28, коммутатор
29, регистры 30 и 31, выходы 32-34 дешифратора 10, входы 35-37 преоб- разователя, выходы 38 и 39 дешифратора, выход 40 преобразователя, входы 41-43 и выходы 44-49 распределителя импульсов, выход 50 элемента
ИЛИ, входы 51-53 и выходы 54 и 55 дешифратора знака приращений.
Дешифратор знака приращений об-.. разуют элемент НЕ 56, коммутаторы 57-60 и элемент НЕ 61.
Распределитель импульсов содержит счетчик 62 и 63, элементы ИЛИ
64-66 и элемент НЕ 67.
На диаграммах преобразователя ! приведены временные интервалы:,- »запись кода функции в регистр 3, обнуление счетчика 16 и сброс триг от. (@+о,Т,(й+о,Т,"(8) +о,т,(Д) (1)
Зо — 8 (0, 1; (2)
3 — длина хорды, стягивающей соседние узлы интерполяции;
T" (Ц,Т",(Ц „Т" (3), T" (8) — многочлены сме-, щенного полинома Чебышева, причем Т",(й= 1128;
Т", ()=1 Sgi8g».
40 т",(6)--1+ 188-<88 +М8 (3) 1205153 ными касательными, в которых первая производная имеет разрывы, Для коэффициента сплайна справедливы следующие выражения:
5 ((=0}+5 ф-Е) а-32 (5) (g-o1-s (5*el ао 0.
Я
Подставляя выражения (5) в выражение (1), получают:
s_#_).(a,ò". ° (>)„,1","(<)) > ц где C î 5 ((=0}-6 ((=R};
a,- S (<-О}+5 (g = Р} ° (8} = .к т. (81-т," (8} 8-$
<6 2 т,(8)-т",(6) 8-ЗЗ +23
32 2
a,,а „Т„,T", — безразмерные величины.
S"@=а T" (61+о,Т, (8) х op ñîâê- 5(() 4п N,; (6)
) = + (sin а +6 () сов еа, где 8(() -5" (()(Семейство безразмерных сплайнов (фиг. 6а) хранится в блоке 19 памяти.
I.С целью экономии памяти достаточно хранить симметричные и асимметричные влево (фиг. 6а) сплайны, так как иэ одного асимметричного влево сплайна можно получить четыре асим.метричных сплайна (фиг. 66). Это достигается изменением направления выборки данных иэ блока памяти (от старших адресов к младшим), а также инверсией знака сплайна.
\ представляет собой безразмерный кубический сплайн.
Учитывая известные соотношения между локальной системой координат
80(и глобальной системой координат
ХОУ, окончательные выражения, реализуемые предлагаемым функциональным преобразователем, имеют следующий вид:
Функциональный преобразователь обеспечивает аппроксимацию широкого класса функций: степенных, тригонометрических, показательных, логарифмических, Лежандра, Лаггера, гиберболических и т.п., причем эти функции могут быть как однозначные (фиг. 5а), так и многозначные (фиг. 541. Каждая функция имеет свой.
10 код, который хранится в первом регистре 3 и аппроксимируется набором сплайнов, исходные данные которых хранятся в блоке 8 постоянной памяти. Для каждого сплайна в блоке 8
15 памяти хранятся пять информационных слов: координаты Х, Уо, угол наклона хорды oc, длина хорды и номер сплайна. При работе функционального преобразователя исходные данные хра20 нятся в регистрах 13 (о ), 14 (номер сплайна), 15 (Р), 24 (х ) и 25 (у ). Запись исходных данных в рео гистры 13, 14, 15, 24 и 25 осуществляет дешифратор 10.
2 Код номера сплайна содержит: номер сплайна, хранимого в блоке
19 постоянной памяти, являющегося функцией углов (фиг. 5 и 6):
6, 8,-0|,;
6 = 180-(e -к}.
50 В блоке 19 памяти для каждого сплайна хранится фиксированное число ординат, например 64. Длина хорды должна быть меньше или равна этому фиксированному числу. На
55 фиг. 7 показаны ординаты сплайна, выбираемые иэ блока постоянной памяти 19 при длине хорды, равной 12 единицам. Коды ординат, выбираемые для разряд,.характеризующий направление выборки адресов иэ блока 19 памяти, "0" в этом разряде соответствуЗ5 ет выборке от младших адресов к старшим, "1" — от старших к младшим, этот разряд управляет реверсом счетчика 16; разряд, характеризующий знак
40 сплайна (фиг. 6б), поступающий на дешифратор 21 знака приращения.
Реверсивный счетчик 16 представ.ляет собой реверсивный счетчик с управляемым коэффициентом счета. Ко4> эффициент счета равен длине хорды
R . .Код длины хорды Р поступает на управляющие входы реверсивного счетчика 16 с выхода регистра 15.
5 кая;цой длины хорды I хранятся в блоке 17 памяти, В функциональном преобразователе применен следящий принцип преобразования. Вычисления проводятся до тех пор, пока вычисляемое значение Х, хранимое в регистре 30, не станет равным значению аргумента, хранимого в регистре 6. Сравнение этих двух величин осуществляет схема 7 срав- 10 нения, Распределитель 18 импульсов, счетчик 4, триггеры 5 и 12 и элемент
ИЛИ 9 предназначены для логического управления преобразователя. 15
Преобразователь работает следующим образом.
На вход преобразователя 2 подается код функции. Сигналом "Запись кода функции" на входе 1 код функ- 20 ции записывается в регистр 3 и одновременно этим сигналом обнуляется триггер 5 и через элемент ИЛИ 9 триггер 12. При этом сигналом "0" на прямом выходе триггера 12 разрешается счет счетчику 4, а блок 8 памяти переводится из состояния высокого импеданса на выходе в рабочее состояние. Сигналом "1" на инверсном выходе триггера 12 разрешается счет 30 счетчику 62 (фиг. 3) распределителя импульсов 18 и осуществляется обнуление реверсивного счетчика 16.
На вход 36 преобразователя подается аргумент аппроксимируемой функ- д5 циональной зависимости. Сигналом
"Запись аргумента" на входе 35 код аргумента записывается в регистр 6.
Код аргумента с выхода регистра 6 поступает на вход схемы 7 сравнения 40 и на ее выходе 41 появляется сигнал
"0", а на выходе 37 — сигнал "1", . запрещающий внешним устройствам запись в функциональный преобразователь нового аргумента на время пре- 4S образования.
При этом на выходе 44 распределителя 18 импульсов появляется последовательность из пяти импульсов (временной интервал С -1, фиг, 4). gp
Эта последовательность импульсов поступает на вход счетчика 4, который, перебирая младшие разряды адрес-ных входов, осуществляет выборку исходных данных иэ блока постоянной
8 памяти. Дешифратор 10 осуществляет запись х, в регистр 24, в регистр 25,сс в регистр 13> номер сплай153 Ь на в регистр 14, 1 в регистр 15. Импульсом записи 1, в регистр 15 одновременно устанавливается триггер 12. При этом запрещается счет счетчику 4, блок 8 памяти переводится в состояние высокого импеданса на выходе, запрещается счет счетчику 62 по шине 43 (фиг. 3) и разрешается счет счетчику 63 по шине 43 (фиг. 3), снимается сигнал обнуления реверсивного счетчика 16 (момент t<, фиг. 4).
На выходе 49 распределителя 18 импульсов появляется импульс обнуления накапливающих сумматоров 27 и
28, затем на выходе 47 распределителя 18 импульсов появляется сигнал, по которому код ХО проходит через коммутатор 26 и записывается в накапливающий сумматор 27, а код У проходит через коммутатор 29 и записывается в накапливающий сумматор
28 (временные интервалы 14-t<, фиг, 4). Одновременно с этим иэ блока 19 памяти выбирается код первой ординаты безразмерного сплайна, который умножается на длину сплайна 1 умножителем 20. Таким образом, на выходе умножителя 20 код ординаты сплайна, поступающий на вход блока 22 памяти, на выходах которого появляется приращение коор- динат Х и У, т.е. вторые и третьи слагаемые формул (6). Сигналами на выходах 45 и 46 распределителя 18 импульсов эти слагаемые записываются в накапливающие сумматоры 27 и
28. Сигналом на выходе 48 распределителя 18 импульсов осуществляется запись вычисленного значения Х в регистр 30 и одновременно этот сигнал изменяет содержимое реверсивного счетчика 16 и иэ блока 19 памяти начинается выборка следующей ординаты сплайна, Аналогичный процесс происходит до тех пор, пока вычисленное значение Х не станет равным значению аргумента, записанному в регистре 6 (момент времени,, фиг. 4), При этом на выходе 41 блока сравнения кодов появляется сигнал "I", по которому осуществляется запись вычисленного значения У в регистр 3! и обнуление счетчиков 62 и 63 (фиг. 3) распределителя 18 импульсов. Функциональный преобразователь переходит в режим ожидания записи нового аргумента, на выходе
37 появляется сигнал "0", снимающий
7 1205 записи нового аргумен153 информационными входами соответственно первого и второго коммутаторов, выход третьего регистра соединен с вторым информационным входом второго коммутатора, о т л и ч а ю щ е ес я тем, что, с целью повышения точности, в него введены четвертый и пятый блоки памяти, схема сравнения, с пятого по девятый регистры, первый и второй накапливающие сумматоры, первый и второй триггеры, генератор импульсов, распределитель импульсов, элемент ИЛИ, дешифратор параметра, дешифратор знака приращения, счетчик и реверсивный счетчик, причем вход кода функции преобразователя соединен с информационным входом первого регистра, вход разрешения записи которого соединен с входом разрешения записи кода функции преобразователя, входом установки в "О" первого триггера и первым входом элемента ИЛИ, второй вход которого соединен с входом разрешения записи аргумента преобразователя и входом разрешения записи пятого регистра, информационный вход которого соединен с входом аргумента преобразователя, выход элемента ИЛИ соединен с входом установки в "О" второго триггера, прямой выход которого соединен с входом разрешения счета счетчика и входом разрешения считывания первого блока памяти, входы с второго по четвертую групп разрядов ноля адреса которого соединены соответственно с выходом старших разрядов пятого регистра, прямым выходом первого триггера и выходом счетчика, счетный вход которого соединен с первым выходом распределителя импульсов, тактовый вход которого соединен с выходом генератора импульсов, выходы полей признаков параметра и максимального значения первого блока памяти соединены соответственно со счетным входом первого триггера и входом дешифратора параметра, с первого но пятый выходы которого соединены с входами разрешения записи соответсгвенно третьего, шестого, седьмого, восьмого и второго регистров, вход раззапрет та.
Если функциональный преобразователь осуществил интерполяцию по всей длине сплайна, а вычисленное значе- 5 ние Х еще не равно значению аргумента (случай, когда аппроксимируемый участок состоит из нескольких сплайнов), происходит переполнение реверсивного счетчика 16, На выходе переполнения появляется сигнал "1", который, пройдя через элемент ИЛИ 9, сбрасывает триггер 12 и начинается выборка исходных данных из блока 8
15 памяти следующего сплаина.
Аппроксимация многозначных функций осуществляется следующим образом.
Каждый участок многозначной функции (до точки экстремума ) имеет свой код функции, записываемый в регистр
3 с входа 34 преобразователя. Однако, возможен переход с одной ветви на другую, например, с ветви О О на ветвь ОзО (фиг. 5E), осуществляе25 мый следующим образом, В исходных данных после записи сплайнов 0 О,, О, О, О О (фиг. 5h) записываются исходные данные сплайна с хордой нулевой длины, описывающего точку О>, но при этом в специально отведенном разряде исходных данных записывается
"1", характеризующая экстремум точки, Этой "1" производится установка триггера 5, выход которого является обратной связью блока памяти 8 и свя-З5 зан с одним из его адресных разрядов. Таким образом изменяется адрес блока 8 памяти и производится переход к выборке исходных данных ветви
0 0 (фиг. 5g) без изменения кода фу ц на входе преобразователя 2.
Обратный переход с ветви ОзОб(фиг.58) на ветвь О 0 происходит следующим образом.
Также, как и в предыдущем случае, 45 на счетный вход триггера 5 с выхода блока 8 памяти поступает сигнал "1", на выходе триггера 5 — сигнал "О", который изменяет адрес блока 8 памяти.
Формула изобретения
Аппроксимирующий функциональный преобразователь, содержащий четыре регистра, два коммутатора, три блока 55 памяти и блок умножения, причем выход первого регистра соединен с входом первой группы разрядов поля адреса первого блока памяти, выход второго регистра соединен с первым входом блока умножения, выходы поля старших разрядов второго и третьего блоков памяти соединены с первыми торого соединены соответственно с входом первой группы разрядов поля адреса пятого блока памяти и выходом реверсивного счетчика, подключенного к входу первой группы разрядов поля адреса третьего блока памяти, выход седьмого регистра соединен с входом второй группы разрядов поля адреса пятого блока памяти, выход которого соединен с вторым входом блока умножения, выход которого соединен с входом первой группы разрядов поля адреса второго блока памяти, входы вторых групп разрядов поля адреса и третьего блоков памяти соединены с выходом шестого регистра, информационные входы второго, третьего, шес того, седьмого и восьмого регистров соединены с выходом первого блока памяти, выходы старших разрядов шестого и седьмого регистров соединены соответственно с первым и вторым информационными входами дешифратора знака приращения, выходы знака функции и аргумента которого соединены соответственно с входами знака перво го и второго накапливающих сумматоров, информационные входы которых соединены с выходами соответственно первого и второго коммутаторов, с
9 1205 решения записи второго регистра соединен с входом установки в "1" второго триггера, инверсный выход которого соединен с входом установки в
"0п реверсивного счетчика, вход записи которого соединен с выходом второго регистра и входом первой группы разрядов поля адреса четвертого блока памяти, выход и вход второй группы разрядов поля адреса ко153 1О первого по третий управляющие входы которых соединены соответственно с второго по четвертый выходами распределителя импульсов, пятый выход которого соединен с входом разрешения записи девятого регистра и счетным входом реверсивного счетчика, вход задания режима и выход переполнения которого соединены соответственно с выходом разряда знака седьмого регистра и третьим входом элемента ИЛИ, выходы полей младших разрядов второго и третьего блоков памяти соединены соответственно с вторым информационным входом первого и третьим информационным входом второго коммутаторов, выход восьмого регистра соединен с третьим информационным входом первого коммутатора, шестой выход распределителя импульсов соединен с входами установки в "0" накапливающих сумматоров, выход девятого регистра соединен с первым входом схемы сравнения, второй вход и прямой выход которой соединены соответственно с выходом пятого регистра и входом останова распределителя импульсов, прямой выход схемы сравнения соединен с входом разрешения записи четвертого регистра, информационный вход и выход которого соеди-, нены соответственно с выходом первого накапливающего сумматора и выходом преобразователя, выход второго накапливающего сумматора соединен с информационным входом девятого регистра, инверсный выход схемы сравнения соединен с выходом признака работы преобразователя.
1205153
Фиг.2 фиг. 3
1205153
1205153
Cnnaus, кранимыи
Изменение напра8Ю Е ки из
mu fg росих
d кмяадзиака, 3 нен напрабления 8ырабоеки энака
Фиг. 6
Фиг. 7
Заказ 8536/51 Тираж 709
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
113035, Москва, )К-35, Раушская наб., д. 4/5
Подписное
Филиал ППП "Патент", г. Ужгород, ул. Проектная, 4
Составитель А. Зорин
Редактор Л. Пчелинская Техред М.Пароцай Корректор Л. Патай