Дискретные преобразователи информации

Функция одной переменной (три­гонометрическая, логарифмическая, показательная и др.) может быть представлена в виде таблицы с n входами и m выходами. Например, для у = sin(x), если аргумент 0 ≤ x ≤ 90° представлен кодом на 8 бит, то шаг изменения x = 90°/256. Пусть также и результат необходимо представлять 8 би­тами (один байт). Очевидно, что реали­зация комбинационных схем для каждого разряда (у)как булевой функции 8-разрядного аргумента (х)вряд ли целесообразна. Поэтому для вычисления функ­ции используется метод прямого считывания из ПЗУ, где X – адрес, Y – выходное слово ПЗУ, в числовом поле которого записана таблица необходимой функции.

Однако метод прямого считывания применяется лишь при ограниченной точности (n ≤ 16). Если m = n = 16, то объем памяти V = 16∙216 = 220 = = 1 Мб. Для уменьшения объема памяти существует несколько методов, напри­мер метод с поправкой [17], который излагается ниже. Метод с поправкой эффективен уже при n = 12.

ТАБЛИЧНО-АЛГОРИТМИЧЕСКИЕ ВЫЧИСЛИТЕЛЬНЫЕ
ПРЕОБРАЗРОВАТЕЛИ ИНФОРМАЦИИ

Пусть y = f(x) – монотонная функция. Определим линейную функцию z = kx + Δ(х) и интервал, на котором z заменят f (x) с наименьшим интегралом E от квадрата ошибки, где k = 2i, i – целое положительное или отрицательное число, Δ(x) – поправка.

ε(x) = f (x) – (kx + Δ(x)) – ошибка

Строго говоря, поправка Δ не зависит от х, т.к. она постоянна в границах того интервала, для которого оказывается неизменным угол наклона прямой (k), аппроксимирующей функцию на участке от xi до xi+1. Но поскольку границы уча­стка можно определить через значения х на оси ординат, то с вычислительной точки зрения и величину Δ можно определить через исходный аргумент х. По­этому символически можно записать Δ = = Δ(х). Угол наклона k можно представить в виде числа, равного двойке в целой степени i (например отрицательной). Кон­кретное значение i и его знак соответствуют тому или иному интервалу, тогда для него можно также условно записать i = i(x). В этом случае нахождение значения k сведется лишь к сдвигу кода аргумента X. Безусловно, чем выше точность пред­ставления величины y = f(x), тем на большее число участков разделится об­ласть изменения аргумента. Точность представления характеризуется числом разрядов п.

Для некоторых функций при малой точности (n = 6) можно обойтись без ум­ножения X на коэффициент k, т.е. без сдвига X. Например, функция Sec(x) пред­ставима в виде f(x) – b = x + Δ (x), где b – постоян­ное смещение функции, а поправка Δ х определяется из табл. 14. В табл. 14 значение D–гра­ница отсчетов, для которой сохраняется неизменной величина Δ (х),например, до взятого Δ(x) = 1 следует 0 < x ≤ 5. С 23 по 28 отсчет Δ(x) = 5 и т.д. Преобразователь та­кого типа приведен на рис. 17.

Таблица 14

D                        
Δ                        

При более высоких требованиях к точности масштабный коэффициент опре­деляется как k = 2 r,а умножение выполняется методом сдвига x на r разрядов. В более общем случае k = 2± j + 2± i + 2 ±r.

В табл. 15 приведены расчеты количества участков кусочно-линейной ап­проксимации sin(x) вида bx + Δ(х). Видно, что при увеличе­нии точности воспроиз­ведения функции количество констант ПЗУ увели­чивается, т.к. уменьшается длина подинтервала аргумента, соответствую­щего значению Δ, а следовательно, увели­чивается и число значений Δ.

Хст – старшие разряды

Хмл – младшие разряды X

УА – управляющий автомат

Рис. 17

На рис. 18 показан вычислительный преобразователь информации с тремя ре­гистрами сдвига, осуществляющими сдвиг кода х на i, j и r разрядов с соответст­вующим знаком. Величины и знаки i, j, r считываются по значениям старших разря­дов кода х из ПЗУ (k). Этими же старшими разрядами определяется и поправка Δ (х) через ПЗУ(Δ). При этом

f(x) = x 0k + Δ(x 0),

где х 0 – старшие разряды X, k = 2± j + 2± I + 2± r.

Метод с поправкой позволяет существенно снизить объем ПЗУ для пред­ставления f(x). Пусть Х= 12 (1,5 байта). Для прямого считывания потребуется 212 12-разрядных ячеек памяти. При этом методе при 6 старших разрядах объем памяти составит 2∙26. Экономия в объеме памяти достигает N= раз. При n = 16 ВПИ с регистрами сдвига по затратам памяти экономичнее ~ в 2000 раз.

Эта экономия определяется следующими факторами:

– переходом к многотактной схеме вычисления f (x);

– существенным уменьшением объема ПЗУ(k) и ПЗУ(Δ) по сравнению с ПЗУ(f). При 16-разрядном аргументе лишь 8 старших разрядов определяют объем ПЗУ(f) и ПЗУ(Δ).

Этот же метод может быть положен в основу вычисления функций двух и трех переменных, если функция такова, что можно выделить основную зависи­мость от одного главного (исходного или промежуточного) аргумента (рис. 19). По оси абсцисс на графике поставлена функция двух переменных F(x, y), т.е. имеются в виду отсчеты функции F(x) для максимального значения y, так же и по оси ординат отложена R(x, y, z). Эллипс отличий R(x, y, z) и F(x, y) определяется «ошибкой» Z, зависящей от значений F(x, y).

Таблица 15

Погреш­ность Номер участка Начало участка Конец участка Угловой коэффи­циент k Корректи­рующая кон­станта Δ
1,00   0,00000 0,49305 0,8630 1,18682 1,51843 0,49305 0,36830 1,18682 1,51843 1,56643 16/16 13/16 9/16 4/16 1/16 0,00999 0,06728 0,26926 0,62871 0,32431
0,1   0,00000 0,22689 0,29670 0,45378 0,59341 0,70249 0,79848 0,88575 0,96429 0,03847 1,11264 1,18246 1,24336 1,31336 1,37881 1,44426 1,50534 0,22689 0,29670 0,45378 0,59341 0,70249 0,79848 0,88575 0,96429 1,03847 1,11264 1,18246 1,24791 1,31336 1,37881 1,44426 1,50534 1,56643 16/16 15/16 15/16 14/16 13/16 12/16 11/16 10/16 9/16 8/16 7/16 6/16 5/16 4/16 3/16 2/16 1/16 -0,00099 0,01323 0,01377 0,04093 0,07628 0,11838 0,16641 0,21983 0,27826 0,34142 0,40910 0,48112 0,55736 0,63771 0,72210 0,81047 0,90277

Такие функции распространены в задачах управления движением, где R = R(x, y, z)определяется в основном зависимостью в координатах х, у, «возмущаемой» не­значительно при малых значениях Zи катастрофически при больших.

Тогда можно записать R(x, y, z) = F(x, у) ± ξ(signx, signy)Q(Fст, q), где F(x, y)– эк­вивалент kx, Q(Fст, q)– эквивалент Δ(х), хотя Fи Q–функции двух переменных.

Ве­личина поправки Qносит нелинейный (рис. 20) характер, поэтому не равномер­ный код z, обозначенный как q, будет иметь меньшее число разрядов, чем z. Такое преоб­разование z в q осуществляется посредством ПЗУ как q = q (z).

Структура такого вычислительного преобразователя информации (ВПИ) представлена на рис. 21, где каждая связь помечена числом передаваемых разря­дов кодов x, y, z, q, f, равным 8 или 16. Разрядность переменных отмечена скобками, на­пример – (8).

При методе прямого считывания 32-разрядная конкатенация кодов x, y, z определила бы размер ПЗУ равным 232 ≈ 4∙109 адресов. В данном случае исполь­зуются два ПЗУ с 16-разрядным адресом и одно с 8-разрядным, т.е. память уменьшится в N раз, где тыс. Более подробно этот метод для функций трех и четырех переменных изложен в [23]. Здесь же кратко показано, что так называемый «черный ящик» может состоять не из одного блока ПЗУ, а из ком­плекса взаимосвязанных блоков ПЗУ.

Рис. 18

Метод с поправкой более детально разработан А.А. Смагниным [43] для вычисления функций одной переменной.В табл. 16 представлена зависимость раз­личных параметров, определяющих вычисления функций у и объем памяти Vв битах, от погрешности вычисления ε. На рис. 22 представлен ВПИ, где обозна­чено п – ДПК(х), п2 –ДПК(у), i –старшие разряды n для вычисления F(x 0), j – старшие разряды п для вычисления φ (х)*.

Рис. 19

Таблица 16

Функция y = f(x) Па­ра­метр Заданная погрешность
10-2 10-3 10-4 10-5 10-6
n j i n2 nφ          
объем памяти            
ex- 1 n j i n2 nφ          
объем памяти            
n j i n2 nφ          
объем памяти Y = (бит)            

Рис. 20

Рис. 21

Рис. 22

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

При таблично-алгоритмическом методе, функция управления сводится к после­довательности операций опроса ПЗУ и суммирования.

Имеются и логические опе­рации, основанные на анализе знаков аргументов и др.

Примеры вычисления функции одной и нескольких переменных с высокой точностью методом считывания табличных значений показывают, что при больших значениях п, т определение параметров структуры «черного ящика» является не­простой задачей и требует детального расчета (моделирования) на ЭВМ.

Т.е. фактически следует рассматривать ПЗУ, сумматор и другие эле­менты как некий единый «черный ящик», который назовем операционным автоматом, и алго­ритм управления им, который необходимо реализовать в виде управляющего авто­мата. Следовательно, речь уже идет не только о «черном ящике», но и о некоторой двухблоковой структуре в виде управляе­мой и управляющей частей.


Глава 2


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: