1
Изобретение относится к автоматике и вычислительной технике и может быть использовано в гибридных вычислительных системах для выполнения функциональных преобразований.
Цель изобретения - повыщение точности.
На фиг. 1 представлена блок-схема преобразователя; на фиг, 2- и 3 - схема дешифратора знака приращения и распределителя импульсов; на фиг. 4- временная диаграмма работы преобразо вате ;1я; на фиг. 5 - 7 - зависимости поясняющие работу преобразователя.
Преобразователь содержит входы i и 2, регистр 3, счетчик 4 триггер 5, регистр 6, схему 7 сравнения, блок 8 памяти, элемент ИЛИ 9, дешифратор 10 параметров, генератор 11 импульсов, триггер 12, регистры 13- 15, реверсивный счетчик 16, блок 17 памяти, распределитель 18 импульсов, блок 19 памяти, блок 20 умноже-
жения, дешифратор 21 знака приращения, блоки 22 и 23 памяти, регистры 24 и 25, коммутатор 26, накапливающие сумматоры 27 и 28, коммутатор 29, регистры 30 и 31, выходы 32-34 дешифратора 10, входы 35-37 преоб- 1 разователя, выходы 38 и 39 дешифратора, выход 40 преобразователя, входы 41-43 и выходы 44-49 распределителя импульсов, выход 50 элемента ИЛИ, входы 51-53 и выходы 54 и 55 дешифратора знака приращений.
Дешифратор знака приращений об-., разуют элемент НЕ 56, коммутаторы 57-60 и элемент НЕ 61 ,
Распределитель импульсов содержит счетчик 62 и 63, элементы ИЛИ fi4-66 и элемент НЕ 67 .
На диаграммах преобразователя приведены временные интервалы: - запись кода функции в регистр 3, обнуление счетчика 16 и сброс триггеров 5 и 12 ; Ij--t j, iiq-izo - запись кода аргумента в регистре 6 и сброс триггера 12; выборка исход- |Ных данных из блока памяти 8 для функционального преобразования; Ью - tn обнуление накапли- вающих сумматоров 27 и 28; b,,-t,2- запись координат х и у узла сплайна в накапливающие сумматоры 27 и 28; , t,-t,, - выборка данных из блоков памяти 17,, 19, 22 и 23;ir- e запись в накапливающие сумматоры 27 и 28 вто05153I
, рых слагаемых; tg-tq запись в накапливающие сумматоры 27 и 28 третьих слагаемых; tg-t, , ,-ij-j -tjg - запись вычисленного
5 значения X в регистр 30; смена адреса блока памяти 17 на счетчике 16; fc и - запись вычисленного значения функции У в регистр 31; Разрешение распределителю импульсов 18
1б на вьщачу управляющих импульсов на исполнительные блоки функционального преобразователя..
В функциональном преобразователе реализована аппроксимация функцио15 нальных зависимостей методом сплайнов Эрмита-Чебышева. Каждая функциональная зависимость, например однозначная (фиг. 5q) или неоднозначная (фиг. 5G), разбивается узлами
20 интерполяции О,, 0 , 0 , О, , 04 ,... на сегменты. Кажд1--1й сегмент определен в локальной системе координат .50, причем ось абсцисс 0 совпадает с хордой сегмента, стягивающей два
25 соседних узла интерполяции. В локальной системе координат каждый сегме нт описывается сплайном:
S.c,,T(S).a,T(5).(9),a,Tt(S) (1)
где y- S eto.O-,(2)
с - длина хорды, стягивающей соседние узлы интерполяции; Т(Б),Т(8),Т(5)Д( многочлены сме- 35 щенного полино ovol ма Чебышева,
причемТ(б )
Т(У|н-85 + 8(У 40 т;((У).-и(8(У-485 г2 . (З)
Соотношения между производными смещенных полиномов Чебышева:
4S
(т:ьг-2т:;(4)
tT)--8H6(8Tti
Ст1) 1а-%549б би2т .
50 Каждый узел интерполяции опреде- 1ен исходными координатами х ,у гзла и углами 9, , 0 наклона касательных к функциональной зависимости. Фактически 9,,Э-гОпр еделяют
55: первую производную, но задание углов QI, 2 более удобно, чем задание производных, так как зто позволяет аппроксимировать кривые с вертикаль31
ными касательными, в которых первая производная имеет разрывы. Для коэффициента сплайна справедливы следующие выражения:
«, 5 ((е)
32
Е
«оe ((-ei
46
е.
Подставляя вьфажения (5) в выражение (1), получают:
5(Н« оТГ(«))е.5()е,
где а „.)-б (Е); a;.5(0.5(B)5 (:т(51-Т (5) S-5
тГ(й)
16 Tt(S)-T(5)
32 5
а|,,а|,То,Т - безразмерные величины, Выражение
, t
5()а1тГ((У)
представляет собой безразмерный ку бический сплайн.
Учитьшая известные соотношения между локальной системой координат SO и глобальной системой координат ХОУ, окончательные выражения, реализуемые предлагаемым функциональным преобразователем, имеют следующий вид:
х-х„+ -совсб-5()9ш«.) (6) tj %+ 5;not e.(), ,.
где5и)-5()г
. Семейство безразмерных сплайнов (фиг, 6а) хранится в блоке 19 памяти, I
,С целью экономии памяти достаточно хранить симметричные и асимметричные влево (фиг, 6а) сплайны, так как из одного асимметричного влево сплайна можно получить четыре асим- .метричных сплайна (фиг, б5), Это достигается изменением направления выборки данных из блока памяти (от старших адресов к младшим), а также инверсией знака сплайна.
1
ая эфую5)
а,
ины,
203153
Функциональный преобразователь обеспечивает аппроксимацию широкого класса функций: степенных, тригонометрических, показательных, логариф- 5 мических, Лежандра, Лаггера, гибер- болических и т.п., причем эти функции могут быть как однозначные (фиг. 5q), так и многозначные (фиг. 58). Каждая функция имеет свой.
10 код, который хранится в первом регистре 3 и аппроксимируется набором сплайнов, исходные данные которых хранятся в блоке 8 постоянной памяти. Для каждого сплайна в блоке 8
15 памяти хранятся пять информационных слов: координаты Х, У , угол наклона хорды (X. , длина хорды Е и номер сплайна. При работе функционального преобразователя исходные данные хра20 нятся п регистрах 13 (об ) , 1А (номер сплайна), 15 (Е), 24 (х) и 25 (УД ). Запись исходных данных в регистры 13, 14, 15, 24 и 25 осуществляет дешифратор 10.
25 Код номера сплайна содержит:
номер сплайна, хранимого в блоке 19 постоянной памяти, являющегося функцией углов (фиг. 5 и 6):
30
е:-ег ; e;--f8o-()j
разряд,, характеризующий направле- ние выборки адресов из блока 19 памяти, О в этом разряде соответству- ет выборке от младших адресов к старшим, 1 - от старших к младшим, ЭТОТ разряд управляет реверсом счетчика 16; .разряд, характеризующий знак сплайна (фиг. 6Р), поступающий на дешифратор 21 знака приращения.
Реверсивный счетчик 16 представ- ляет собой реверсивный счетчик с управляемым коэффициентом счета. Ко- эффициент счета равен длине хорды
Е . Код длины хорды поступает на управляющие входы реверсивного счетчика 16 с выхода регистра 15.
В блоке 19 памяти для каждого сплайна хранится фиксированное число ординат, например 64. Длина хорды Е должна быть меньше или равна этому фиксированному числу. На
фиг. 7 показаны ординаты сплайна, выбираемые из блока постоянной памяти 19 при длине хорды, равной 12 единицам. Коды ординат, выбираемые для
каждой длины хорды 6 хранятся в блоке 17 памяти.
В функциональном преобразователе применен следящий принцип преобразования. Вычисления проводятся до тех пор, пока вычисляемое значение X, хранимое в регистре 30, не станет равным значению аргумента, хранимого в регистре 6. Сравнение этих двух величин осуществляет схема 7 сравнения .
Распределитель 18 импульсов, счетчик 4, триггеры 5 и 12 и элемент ИЛИ 9 предназначены для логического управления преобразователя.
Преобразователь работает следующим образом.
На вход преобразователя 2 подается код функции. Сигналом Запись кода функции на входе 1 код функции записывается в регистр 3 и одновременно этим сигналом обнуляется триггер 5 и через элемент ИЛИ 9 тригер 12. При этом сигналом О на прямом выходе триггера 12 разрешает ся счет счетчику 4, а блок 8 памяти переводится из состояния высокого импеданса на выходе в рабочее сос тояние. Сигналом 1 на инверсном выходе триггера 12 разрешается счет счетчику 62 (фиг. 3) распределителя импульсов 18 и осуществляется обнуление реверсивного счетчика 16.
На вход 36 преобразователя подается аргумент аппроксимируемой функ циональной зависимости. Сигналом Запись аргумента на входе 35 код
аргумента записывается в регистр 6. Код аргумента с выхода регистра 6 поступает на вход 7 сравнения
и на ее выходе 41 появляется сигнал О, а на выходе 37 - сигнал 1, запрещающий внешним устройствам запись в функциональный преобразователь нового аргумента на время пре- образования.
При этом на выходе 44 распределителя 18 импульсов появляется последовательность из пяти импульсов (временной интервал t,,-t фиг. 4). Эта последовательность импульсов поступает на вход счетчика 4, который, перебирая младшие разряды адре ных входов, осуществляет выборку исходных данных из блока постоянной 8 памяти. Дешифратор 10 осуществляет запись УО в регистр 24, у в регистр 25,с(, в регистр 13, номер сплаш
15
20
2530
35
40
45
50 55 2051536
на в регистр 14,6 в регистр 15. Импульсом записи в регистр 15 одновременно устанавливается триггер 12. При этом запрещается счет счетчику 4, 5 блок 8 памяти переводится в состояние высокого импеданса на выходе, запрещается счет счетчику 62 по шине 43 (фиг. 3) и разрешается счет счетчику 63 по шине 43 (фиг. 3), снимается сигнал обнуления реверсивного счетчика 16 (момент t. , фиг. 4).
На выходе 49 распределителя 18 импульсов появляется импульс обнуления накапливающих сумматоров 27 и 28, затем на выходе 47 распределителя 18 импульсов появляется сигнал, по которому код ХО проходит через коммутатор 26 и записывается в накапливающий сумматор 27, а код У проходит через коммутатор 29 и записывается в накапливакядий сумматор
28 (временные интервалы t.-t-,
Ч.-I
t, фиг. 4}. Одновременно с этим
из блока 19 памяти выбирается код первой ординаты безразмерного на, который умножается на длину сплайна умножителем 20. Таким образом, на выходе умножителя 20 код ординаты сплайна, поступающий на вход блока 22 памяти, на выходах которого появляется приращение коор- динат X и У, т.е. вторые и третьи слагаемые формул (6). Сигналами на выходах 45 и 46 распределителя 18 импульсов эти слагаемые записываются в накапливающие сумматоры 27 и 28. Сигналом на выходе 48 распределителя 18 импульсов осуществляется запись вычисленного значения X в регистр 30 и одновременно этот сигнал изменяет содержимое реверсивного счетчика 16 и из блока 19 памяти начинается выборка следующей ординаты сплайна. Аналогичный процесс происходит до тех пор, пока вычисленное значение X не станет равным значению аргумента, записанному в регистре 6 (момент времени t,g, фиг. 4). При этом на выходе 41 блока сравнения кодов появляется сигнал , по которому осуществляется запись вычисленного значения У в регистр 31 и обнуление счетчиков 62 и 63 (фиг. 3) распределителя 18 импульсов . Функциональный преобразователь переходит в режим ожидания записи нового аргумента, на выходе 37 появляется сигнал О, снимаюший
запрет записи нового аргумента .
Если функциональный преобразователь осуществил интерполяцию по всей длине сплайна, а вычисленное значение X еще не равно значению аргумента (случай, когда аппроксимируемый участок состоит из нескольких сплайнов), происходит переполнение реверсивного счетчика 16, На выходе переполнения появляется сигнал 1, который, пройдя через элемент ИЛИ 9, сбрасывает триггер 12 и начинается выборка исходных данных из блока 8 памяти следующего сплайна.
Аппроксимация многозначных функций осуществляется следующим образом
Каждый участок многозначной функции (до точки экстремума ) имеет свой код функции, записываемый в регистр 3 с входа 34 преобразователя. Однако, возможен переход с одной ветви на другую, например, с ветви 0 О, на ветвь 050(фиг. 5Si), осуществляемый следующим образом. В исходных данных после записи сплайнов 0,0, , , 020,(фиг. 56) записываются исходные данные сплайна с хордой нулевой длины, описьшающего точку 0, но при этом в специально отведенном разряде исходных данных записьгеается 1, характеризующая экстремум точки. Этой 1 производится установка триггера 5, выход которого является обратной связью блока памяти 8 и свя зан с одним из его адресных разрядов. Таким образом изменяется адрес блока 8 памяти и производится -переход к выборке исходных данных ветви 0,0(фиг. 5S ) без изменения кода функции на входе преобразователя 2. Обратный переход с ветви 0,0 (фиг.З на ветвь 0 0 происходит следующим образом.
Также, как и в предыдущем случае, на счетный вход триггера 5 с выхода блока 8 памяти поступает сигнал 1, на выходе триггера 5 - сигнал О, который изменяет адрес блока 8 памяти.
Формула изобретения
Аппроксимирующий функциональный преобразователь, содержащий четыре регистра, два коммутатора, три блока 55 памяти и блок умножения, причем выход первого регистра соединен с входом первой группы разрядов поля адре10
ts
20
25
. 35
5
2051538
са первого блока памяти, выход второго регистра соединен с первым входом блока умножения, выходы поля старших разрядов второго и третьего 5 блоков памяти соединены с первыми информационными входами соответственно первого и второго коммутаторов, выход третьего регистра соединен с вторым информационным входом второго коммутатора, отличающее- с я тем, что, с целью повьшения точности, в него введены четвертый и пятый блоки памяти, схема сравнения, с пятого по девятый регистры, первый и второй накапливающие сумматоры, первый и второй триггеры, генератор импульсов, распределитель импульсов, элемент ИЛИ, дешифратор параметра, дешифратор знака приращения, счетчик и реверсивный счетчик, причем вход кода функции преобразователя соединен с информационным входом первого регистра, вход разрешения записи которого соединен с входом разрешения записи кода функции преобразователя, входом установки в О первого триггера и первым входом элемента ИЛИ, второй вход которого соединен с входом разрешения записи аргумента преобразователя и входом разрешения записи пятого регистра, информационный вход которого соединен с входом аргумента преобразователя, выход элемента ИЛИ соединен с входом установки в О второго триггера, прямой выход которого соединен с входом разрешения счета счетчика и входом разрешения считывания первого блока памяти, входы с второго по четвертую групп разрядов ноля адреса которого соединены соответственно с выходом старших разрядов пятого регистра, прямым выходом первого триггера и выходом счетчика, счетный вход которого соединен с первым выходом распределителя импульсов, тактовый вход которого соединен с выходом генератора импульсов, выходы полей признаков параметра и максимального значения первого блока памяти сос динены соответственно со счетным входом первого триггера и входом дешифратора параметра, с первого по пятый выходы которого соединены с входами разрешения записи соответственно третьего, шестого, седьмого, восьмого и второго регистров, нход раз-
30
40
0
решения записи второго регистра соединен с входом установки в 1 второго триггера, инверсный выход которого соединен с входом установки в О реверсивного счетчика, вход записи которого соединен с выходом второго регистра и входом первой группы разрядов поля адреса четвертого блока памяти, выход и вход второй группы разрядов поля адреса которого соединены соответственно с входом первой группы разрядов поля адреса пятого блока памяти и выходом реверсивного счетчика, подключенного к входу первой группы разрядов поля адреса третьего блока паняти, выход седьмого регистра соединен с входом второй группы разрядов поля адреса пятого блока памяти, выход которого соединен с вторым входом блока умножения, выход которого соединен с входом первой группы разрядов поля адреса второго блока памяти, входы вторых групп разрядов поля адреса и третьего блоков памяти соединены с выходом шестого регистра, информационные входы второго, третьего, шестого, седьмого и восьмого регистров соединены с выходом первого блока памяти, выходы старших разрядов шестого и седьмого регистров соединены соответственно с первым и вторым информационными входами дешифратора знака приращения, выходы знака функции и аргумента которого соединены соответственно с входами знака перво го и второго накапливающих сумматоров, информационные входы которых соединены с выходами соответственно первого и второго коммутаторов, с
первого по третий управляющие входы которых соединены соответственно с второго по четвертьй выходами распределителя импульсов, пятый выход ко- 5 торого соединен с входом разрешения записи девятого регистра и счетным входом реверсивного счетчика, вход задания режима и выход переполнения которого соединены соответственно
10 с выходом разряда знака седьмого регистра и третьим входом элемента ИЛИ, выходы полей младших разрядов второго и третьего блоков памяти соединены соответственно с вторым информа)5 ционным входом первого и третьим
информационным входом второго коммутаторов, выход восьмого регистра соединен с третьим информационным входом первого коммутатора, шестой вы0 ход распределителя импульсов соединен с входами установки в О накапливающих сумматоров, выход девятого регистра соединен с первым входом схемы сравнения, второй вход и прямой выход которой соединены соответственно с выходом пятого регистра и входом останова распределителя импульсов, прямой выход схемы сравнения соединен с входом разрешения за- 0 писи четвертого регистра, информационный вход и выход которого соеди- нены соответственно с выходом первого накапливающего сумматора и выходом преобразователя, выход второго накапливающего сумматора соединен с информационным входом девятого регистра, инверсный выход схемы сравнения соединен с выходом признака работы преобразователя.
5
Фиг. 2
.3
t, t, t,««««t tft«f t ««ta tatftt i tnttf {«TM
««.«
название | год | авторы | номер документа |
---|---|---|---|
Устройство для воспроизведения функций | 1990 |
|
SU1734102A1 |
Устройство для воспроизведения функций | 1986 |
|
SU1348828A1 |
Вычислительное устройство | 1982 |
|
SU1040493A1 |
Устройство для отображения графической информации на газоразрядной индикаторной панели | 1982 |
|
SU1108488A1 |
Функциональный преобразователь | 1984 |
|
SU1211756A1 |
Псевдостохастический анализатор спектра | 1985 |
|
SU1278885A1 |
Цифровой измеритель центра тяжести видеосигналов | 1990 |
|
SU1723559A1 |
Устройство для вычисления функций | 1987 |
|
SU1472901A1 |
Устройство для воспроизведения функций | 1981 |
|
SU991435A1 |
Устройство для воспроизведения переменных во времени коэффициентов | 1981 |
|
SU1005087A1 |
У 5 .
fJ «
Ol
01
Oi
a«.SI
Асимметричный B/ieSo спаайн
Симметричный сппайн
Сппаин, хранимый 1 В$/10ке памяти 19
инВерсия знака
изменение напра&- аения выборки ив 5пока памяти 19 (от старших адресок к младULUM)
Инверсия знана изменение нап- раВпения Выработки
S2
-s-o
3
S4
S5 S6
S7
S8
S9
/
Фиг.7
S12
Редактор Л. Пчелинская
Заказ 8536/51Тираж 709 Подписное
ВНИИПИ Государственного комитета СССР
по делам изобретений и открытий 113035, Москва, Ж-35, Раушская наб., д. 4/5
Филиал 1ШП Патент, г. Ужгород, ул. Проектная, 4
Составитель А. Зорин
Техред М.Пароцай Корректор Л. Патай
Смолов В.Б | |||
Функциональные преобразователи информации.-Л.: Энерго- издат, 1981, с | |||
Способ обработки медных солей нафтеновых кислот | 1923 |
|
SU30A1 |
Аппарат для очищения воды при помощи химических реактивов | 1917 |
|
SU2A1 |
Потапов В.И., Нестерук В.Ф., Флоренсов А.Н | |||
Печь для непрерывного получения сернистого натрия | 1921 |
|
SU1A1 |
Куйбышева, 1978, с | |||
Коридорная многокамерная вагонеточная углевыжигательная печь | 1921 |
|
SU36A1 |
Авторы
Даты
1986-01-15—Публикация
1984-08-24—Подача