Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Смолов, В. Б. Аналого-цифровые и цифро-аналоговые нелинейные вычислительные устройства

.pdf
Скачиваний:
20
Добавлен:
22.10.2023
Размер:
10.52 Mб
Скачать

нимают в каждой точке значение +

Г или

— 1 в зависимости от

значения i-го разряда

кода хс:

 

 

 

 

 

 

ц>Цх)=\ + 1’ есЛ и^ = 0’

 

 

 

 

 

[— 1, если xt =

1.

 

 

 

В соответствии

с

этим определением

функция

Радемахера

Ф* (х) для

i =f=0 может быть записана с помощью арифметической

операции вычитания так:

 

 

 

 

 

 

 

 

Ф*(л?) = хг— х{.

 

 

(4-12)

 

Условимся в дальнейшем использовать вместо номера разряда

в

качестве

индекса

 

функции Радемахера

двоичный

набор

а =

=

(а*, а 2,

. . . , а„),

в котором а,- =

1, если i = / и

а г = 0,

если

i = /. Система функций Радемахера является неполной системой. Естественным ее дополнением является система функций Уолша, которая может быть определена следующим образом. Пусть в дво­

ичном наборе Р = (Pi, Р2, . . . , Р„) Р/ = Р/ = Рг = 1, а остальные компоненты равны 0. Тогда набор р может быть представлен как

дизъюнкция нескольких наборов а ,

каждый из которых имеет

только один отличный от нуля компонент:

Р = “ г У ® у V

“ /•

Функция Уолша, соответствующая этому набору, определяется как произведение функций Радемахера, индексы которых состав­

ляют набор Р:

<РЙМ = Ф- (*)Ф- М ф - (*)•

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

Покажем, что любая функция системы Ф может быть получена с помощью линейной переключательной функции и ее инверсии.

Рассмотрим функции ф- (ж), у которых определяющий набор со-

держит только две единицы. В этом случае

Фй (*) = Ф -М Ф -(*).

р

ai

aj

откуда, используя (4-12),

получаем

 

Фр- (x)=(xi—Xt)(Xi—Xj)

или

фр W = (XtXj + X^j) — (XiXj -f xtxj).

В скобках последнего выражения заключены конъюнкции, со­ единенные знаком арифметического сложения. Такая сумма согласно

90

выражениям, приведенным в § 2-1, может соответствовать либо сложению по модулю два, либо дизъюнкции, поскольку произве­ дение слагаемых равно нулю. Независимо от выбора логической операции после несложных преобразований получаем

Фр (х) = (х, ®

® xj)

 

или

 

 

Фр (*) = Ф^ W -Ф р (*)■

(4-13)

Предположим теперь, что формула (4-13) справедлива для функ­ ций, определяющие наборы которых содержат I—1 единицу, и покажем, что она справедлива для функций с определяющими на­ борами, имеющими I единиц. Из определения функций Уолша сле­

дует, что функция ф_ (х), у которой набор р имеет / единиц, может

Э

быть получена умножением ф_ (х) с набором, содержащим I— 1 Э'

единицу, на функцию Радемахера с индексом, равным номеру 1-го компонента набора (3, который равен нулю в наборе р':

ф _ (х) = ф „ ( х) Ф;.(х).

Подставляя (4-12) и (4-13) в последнее выражение, получаем

Фр W = ( Ф р ,« - Ф р , (*)) ( х ,-х ,) ,

откуда после преобразований находим

Фр- (х) =(фр-, W ®*/) “ (Чу (х) 0 Xj)

или

 

 

 

Ф„- (X) = фR W — ф'- ).

(4-14)

0

0

0

 

Система функций Уолша является полной ортонормированной системой на отрезке [0, 1 ], поэтому любую функцию F (X), для которой существует интеграл от квадрата этой функции на отрезке [О, 11, можно разложить в ряд Фурье по функциям Уолша:

0

где сумма берется по всем наборам р.

 

Вводя другие обозначения

для индексов s = s (р),

получаем

ряд

 

 

 

2п—1

 

F(x)=

2 ф s(x)as,

(4-15)

 

s=0

 

который в дальнейшем будем называть рядом Уолша.

91

Для всякой функции F (X) с интегрируемым квадратом ряд Уолша (4-15) сходится к ней в среднем, причем коэффициенты ряда

убывают с увеличением числа единиц в наборе (J [33].

Пользуясь свойством ортогональности системы функций Уолша, нетрудно получить формулу для определения коэффициентов ряда

as = ^ r l!i Vs(x)F(o),

(4‘16)

где сумма берется по всем наборам а.

Заменяя в (4-15) функции Уолша переключательными функ­ циями, получаем

2Л—1

 

р(х)= 2 № w - % м ) as-

(4-17)

s= О

 

Коэффициенты ряда (4-17) могут иметь разные знаки, поэтому для моделирования этого ряда РП-схемами нужно так его преобра­ зовать, чтобы все коэффициенты были положительными.

Пусть в разложении (4-17) из 2" коэффициентов s' коэффициен­ тов положительны, a s" — отрицательны. При этом

F (х) = ± fl0 + ^

a s («Й ( * ) — Ч>; W ) — 2 a s f t W “ % (*)) •

s'

s"

Раскрывая скобки и объединяя слагаемые с одинаковыми зна­ ками, получаем

f {x) = ±а0+ 2 asV’ м + 2 °»ф*М“ (2 asVs $ + 2

^ •

s’

s"

\ s'

s"

J

Если представить

переключательные функции,

заключенные

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

 

F (x )= ± a 0— 2

fls + 2 2

W +

2 2

asVs (*)•

 

s=0

 

s'

 

s"

 

Это

выражение может быть

реализовано

с помощью РП-схем

только

при условиях а 0> 0

и

а0

2п —1

Если

же эти условия

2 as

 

 

 

 

s=0

 

 

не выполняются, то непосредственное моделирование ряда Уолша РП-схемами невозможно. Однако можно построить схему для функ­

ции Q (х) = F (х) + С, отличающейся от F (х) на постоянную ве­ личину С. При этом значение С должно быть таким, чтобы выпол-

нялось условие С

2п—1

«о— 2 as

 

s= О

В отличие от' РП-схем, возможность построения пассивного делителя напряжения не зависит от соотношения между коэффи-

92

циентами ряда Уолша. Такой делитель может представлять собой, например, параллельную РП-схему с двухпозиционными переклю­ чателями, которые подключают резисторы либо к + UBX, либо

К

Из определения системы функций Уолша следует, что при фик­ сированном п существует 2” различных функций Уолша. Это оз­ начает, что в разложении (4-17) не может быть больше 2Л членов и что соответствующее число резисторов в схеме не будет превышать

2П. Так как одна из функций Уолша является константой, то число переключателей, необходимое для построения схемы, оказывается на 1 меньше числа сопротивлений. Для того чтобы получить оценки сложности цифровой части преобразователя, рассмотрим способ

построения схемы для системы переключательных функций Ф„ = = {q/ (х)}, с помощью которых могут быть получены все функции Уолша. При п = 1 система <1>1 состоит из двух функций, ср' (х) = О

и

(х) = x v При п = 2 в систему Фг входят четыре

функции,

две

из которых получаются из функций системы Ф[ с

помощью

операции суммы по модулю два следующим образом:

 

ср0 (х ) = 0 ,

Ф| (x) = x v

ФзМ = *1® * 2>

ф;( х) = * 2.

Аналогично при п = 3 систему Фз образуют восемь функций,

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

ф;( х) = о,

%(x) = xv

%{х) = х1@х2,

Ф2(х) = *2,

Фз(*) = *2®*з-

Фу W = ^ 0 ^ 2Ф *з>

<P5 W = * 1 ® * 3 -

ф; м = * 3-

93

Действуя описанным способом, построим систему функций Ф„,

которая включает в себя все функции системы Ф„_i и 2"-1 функ­ ций, получающихся путем сложения по модулю два функций си­

стемы Фл_1 с переменной хп.

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

уровней: если уже построена схема Р для системы Фп- ь то, при­ соединяя к каждому выходу этой схемы элемент, реализующий сумму по модулю два соответствующей функции и переменной хп, получаем схему для всех функций

 

системы Ф„. Иллюстрация способа

 

построения такой схемы приведена

 

на рис. 4-5.

 

 

число

логических

 

Подсчитаем

 

элементов,

необходимое

для

по­

 

строения цифровой части

преоб­

 

разователя,

 

моделирующего

ряд

 

Уолша. Вначале найдем число

 

сумматоров по модулю два V (п),

 

необходимое

 

для реализации всех

 

функций системы Ф„.

Из

схемы

 

на рис. 4-5 следует, что это число

 

L (л) = 2п-1 — 1 + L

(п— 1),

 

откуда получаем

 

 

 

 

 

L (л) = 2"-1 — 1 + 2"-2 — 1 + . . .

Рис. 4-5. Способ построения схе­

• • • + 2 +

L

(2) = 2"— ( я -f- 1).

мы, реализующей все функции

Учитывая,

что для

построения

системы Фп

 

сумматора

по '

модулю два

тре­

буется две схемы конъюнкции и одна схема дизъюнкции с двумя входами, находим оценку сложности схемы для системы функ­

ций Фп'

L (п) = 3 (2П— (n + 1)).

Для получения всех функций Уолша в схеме преобразователя из функций системы Ф„ необходимо к уже построенной схеме до­ бавить 2" инверторов. Таким образом, окончательная оценка слож­ ности цифровой части преобразователя, моделирующего ряд Уолша, имеет вид:

L(rt) = 2n+2— 3 (л + 1 ).

Полученные оценки сложности справедливы для схем, исполь- • зующих все члены ряда Уолша, что обеспечивает 'точное воспроиз­

94

ведение таблицы заданной функции F (X ). Если же задана точность воспроизведения функции, то, поскольку ряд Уолша сходится к F (X), часть членов ряда, как правило, можно отбросить. В этом случае сложность аналоговой части схемы будет определяться чис­ лом коэффициентов, оставленных в разложении (4-15). Сложность цифровой части схемы будет зависеть не только от этого числа ко­ эффициентов, но и от вида функций Уолша, соответствующих этим коэффициентам. Члены ряда, которые необходимо оставить в раз­ ложении (4-15), а также число членов ряда, необходимое для полу­ чения требуемой точности, зависит в первую очередь от характера аппроксимируемой функции F (X). Поскольку ряд Уолша схо­ дится к аппроксимируемой функции в среднем и коэффициенты его убывают, то для отыскания членов ряда, обеспечивающих тре­ буемую погрешность аппроксимации в, необходимо производить многократный перебор всех коэффициентов с целью отыскания ко­ эффициентов, наибольших по абсолютной величине. Расчет коэф­ фициентов и построение ряда Уолша для воспроизведения заданной функции F (X) связан с большим объемом вычислительной работы. Существенно, что объем вычислительной работы сильно возрастает с увеличением числа разрядов кода. В связи с этим ниже описы­ вается способ построения ряда Уолша с помощью универсальной ЦВМ.

Прежде чем перейти к описанию алгоритма определения коэффи­ циентов и числа членов ряда Уолша, рассмотрим в качестве при­

мера

построение схемы, моделирующей этот ряд

для

функции

F (X)

= sin X, заданной на отрезке [0,

я/2], для аргумента, пред­

ставленного в виде четырехразрядного

двоичного

кода

х = (хь

х2,

х3, х4). Требуемая точность воспроизведения заданной функции

е <

0,06.

 

 

 

 

Для аппроксимации заданной функции с требуемой точностью

необходимо использовать ряд Уолша, состоящий из семи членов: sin (hx) = а0— а8Ф8 (х) —а4<р4 (х)а'2ц>2 (х)

— 1а[2%2(х)—а[ч[ (х) — а шфш(х),

где коэффициенты ряда а'. = | а. |.

Заменяя в последнем выражении функции Уолша переключа­ тельными функциями согласно соотношению (4-13) и представляя

инверсии переключательных функций в виде ф5 (х) = 1 — <ps (х), после приведения подобных членов получаем:

sin (hx) = a'Q— (flg+ о; + а'2 + а\2+ а\ + а ш) + 2я8ф; (х) +

+ 2а;ф4 (х) + 2a2q>’ (х) + 2 a ^ ; 2 (х) + 2а'{у\ (х) + 2ашФш (х) .

Это выражение может быть реализовано в виде параллельной РП-схемы, поскольку разность а'0 и суммы остальных коэффициен­ тов "ряда положительна.

95

>-ч

а

VO

Q

Е-

Параметры резисторов в схеме, моделирующей ряд Уолша ( т у = 103 о м

СО

00 .« О

ооо Н —< со

2

§

£

©

ао

5

 

-

00

00

 

о

о

*

 

 

 

 

 

о"

 

 

^

GO

 

О ^

 

О )

СО

 

О CN

Ю

 

 

о

—•

О

о

 

00 2

 

 

 

 

со

 

 

 

 

 

I

 

 

 

00

 

О

 

 

 

СО

 

—н О

 

 

Ю

 

00 2

 

 

ю

 

 

 

 

 

00

—.

 

 

 

 

ю

 

 

 

 

 

ю

 

 

 

 

 

со

 

 

 

00

 

I

 

 

 

 

О

 

 

 

со

 

—100

 

 

со

 

СО

^

 

 

CN

 

 

 

 

 

S

 

 

 

 

 

см

 

 

о

о

 

 

 

 

СО

СМ

 

 

 

 

СО

СО

 

 

 

 

о

—<

 

 

 

^

СО

СО

 

2

00

 

.

о

 

 

 

 

8 Е

 

 

 

 

со

 

 

ю

о

 

 

 

 

Г-

Р-

 

2

со

 

см

см

 

 

СО

О

 

~Г О

 

 

&5Й

 

 

 

 

 

- VJ t и

J ^

 

 

 

Q а

 

 

 

Выбирая масштабный коэффициент для проводимостей РП-схемы ту =

= F m d Y m a x = Ю 3 0 М > Н а Й Д в М П р О -

водимости

резисторов,

входящих

в схему. Эти значения, а

также пере­

ключательные функции, необходимые

для построения

ряда Уолша,

приве­

дены в табл. 4-1. Схемы

функцио­

нальных преобразователей

кода

в проводимость

и кода в

напряже­

ние, построенные по этой таблице, изображены на рис. 4-6.

Исходными данными для про­ граммы построения ряда Уолша яв­ ляются число разрядов кода п, по­ грешность аппроксимации е и таб­ лица значений функции F (X ). Если для функции F (X) имеется стан­ дартная подпрограмма, то таблица значений функции может быть полу­ чена в памяти машины.

Результатом решения задачи яв­ ляются коэффициенты ряда Уолша, обеспечивающие аппроксимацию F (X) с заданной погрешностью, и их ин­ дексы. Аналитическая запись функ­ ций Уолша однозначно восстанавли­ вается по индексу функции, поэтому такой набор выходных данных позво­ ляет построить требуемый ряд Уолша и соответствующую ему схему преоб­ разователя.

Рассмотрим способ определения коэффициентов ряда Уолша, обеспе­ чивающий получение погрешности, не превышающей заданную макси­ мальную погрешность аппроксима­ ции е.

Обозначим ег (х) таблицу погреш­ ностей, получаемую при аппрокси­ мации функции F (X) рядом Уолша, состоящим из i + 1 членов, причем члены этого ряда соответствуют на­ ибольшим по абсолютной величине коэффициентам:

*i.(x) = F W — З о д Д * )-

96

Если коэффициенты Уолша расположены в порядке убывания абсолютных величин, то по таблице 6i_i (х) можно построить таб­ лицу ег- (х) следующим образом:

si(x) = si-i(x) — asq>s(x),

где

as — (t + 1)-й по порядку коэффициент в

упорядоченном

списке.

(х) для i = О,

 

Если теперь при каждом вычислении таблицы

1,

2...........т производить сравнение всех значений

таблицы с е,

то первая таблица ег- (х), в которой ни одно значение не будет пре­ вышать е, будет гарантировать наименьшее число членов ряда Уолша.

Рис. 4-6. Схемы преобразователей кода в проводимость

(а) и кода

в напряжение (б), моделирующие ряд Уолша

 

Остановимся на вычислении значений функций Уолша в машине. Значение функции Уолша с индексом (3 (s) на наборе а находится

в три этапа. Вначале над векторами р и а производится операция

•поразрядного логического умножения:

Р Д а = и.

Эта операция выявляет значения разрядов набора о, от которых функция ср» (х) зависит существенно. На втором этапе подсчиты­

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

четности числа единиц вектора к. Если число единиц в к четно, то значение функции Уолша принимается + 1, если же нечетно, то

— 1'.

4 Заказ № 1218

97

Т а б л и ц а 4-2

Функции и коэффициенты ряда Уолша, аппроксимирующего sin X ; X £ [0; я/2]

Номер

М * )

S

0

1

128

*1

64

%2

32

X3

192

*1 0 * 2

16

*4

160

*10*3

8

*5-

144

*10*4

96

*20*3

4

х»

136

*10*5

' 80

*2®*4

224

*10*20*3

2

*7

132

*10 * 6

72

*20*5

48

*30*4

208

*10*20*4

1

130

*10*7

68

*2 0 * 6

40

*30*5

200

*10*20*5

176

*10*30*4

129

*10 * 8

66

*20*7

36

*30*6

24

*40*5

196

*1 0 *20 *6

168

*10*30*5

1 1 2

*20*30*4

65

*20 *8

34

*30*7

20

*10 * 6

194

*10*20*7

164

‘ *10*30*6

152

*10*40*5

104

*20*30*5

“б

Погреш­

ность,

 

+0,63608

64

—0,26462

37

—0,12703

24

—0,06290

18

—0,05285

13

—0,03137

9,7

—0,02617

7,1

—0,01568

6 ,0

—0,01305

4,6

—0,01256

4,0

—0,00784

4,1

—0,00652

3,4

—0,00627

2 ,8

4-0,00523

2,3

—0,00392

2,7

—0,00326

2,4

—0,00313

2 ,0

—0,00310

1,7

+0,00261

1,5

—0,00196

1,7

—0,00163

1,5

—0,00157

1,4

—0,00155

1 , 2

+0,00130

1 , 1

+0,00129

0,93

—0,00082

0,85

—0,00078

0,77

—0,00077

0,70

—0,00077

0,62

+0,00065

0,55

+0,00064

0,49

+0,00062

0,43

—0,00039

0,39

—0,00039

0,35

—0,00039

0,31

+0,00033

0,28

+0,00032

0,24

+0,00032

0 ,2 1

+0,00031

0 ,2 1

 

 

 

 

 

 

 

 

 

П родолж ение

т абл .

4-2

 

 

 

Номер

 

 

 

 

 

 

Погреш­

 

 

 

 

М

* )

 

 

as

ность,

 

 

 

 

 

S

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

%

 

 

 

 

 

240

 

2 0 # 3

©xi

-] 0,00026

0 ,2 1

 

 

 

 

 

33

 

0 X

 

—0,00019

0,19

 

 

 

 

 

 

* 3 ® * *

 

 

 

 

 

 

18

 

#4® X?

■ —0,00019

0,18

 

 

 

 

 

12

 

*5Ф*6

—0,00019

0,19

 

 

 

 

 

193

 

* 1 ® * 2 © * 3

+0,00016

0,17

 

 

 

 

 

162

 

* 1 0 * 3 0 * 7

+ 0,00016

0,16

 

 

 

 

 

148

 

 

 

 

 

0,00016

0,14

 

 

 

 

 

100

 

* 2 Ф * 3 0 * 6

0,00015

0,13

 

 

 

 

 

88

 

* 2 0 * 4 ® * 5

-г 0,00015

0 ,1 1

 

 

 

 

 

232

* 1 0 * 2 0 * 3 0 * 5

+ 0,00013

0 ,10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 4-3.

Число модулей,

необходимое для реализации функций Уолша

 

 

 

F( X)

-

 

 

 

 

Погрешность аппроксимации, %

 

 

 

 

 

 

5

2

1

0,5

0,2 |

0,1

 

 

 

 

 

 

 

 

 

sin X;

 

 

 

 

3

7

13

18

27

35

Л® [0 ; зт/2]

 

 

 

 

 

 

 

 

 

In X;

 

 

 

 

4

10

17

27

47

66

 

 

[1 ;

Ю]

 

 

 

 

 

 

 

 

 

arccos X;

 

 

58

87

141

177

203

2 12

* 6

 

[0;

1]

 

 

 

 

 

 

 

 

 

Л®

а ®

 

 

 

 

6

13

19

29

44

56

[0;

2,3026]

 

 

 

 

 

 

 

 

Х £

t

 

g

x

;

 

69

ПО

146

177

2 1 1

229

[0;

1,4835]

 

 

 

 

 

 

 

 

 

l

 

3Vf

T

 

 

 

19

42

65

92

127

156

Х £

[l;

10]

 

 

 

 

 

 

 

 

0 ,5 (X — l)3 (Х .+ 2)2;

47

76

97

118

144

160

X 0

[ 2 ; 2 ]

 

 

 

 

 

 

 

 

41,5(1 — cos 0,235Х) +

23

61

83

100

153

171

+23(1 — cos X);

 

 

 

 

 

 

 

 

Х £

[0;

20]

 

 

 

 

 

 

 

 

sin Х/Х;

 

 

 

13

31

46

62

87

11 2

. Х £ [0 , Ы 0 ~ 5 ; Зя]

 

 

 

 

 

 

 

 

4*

 

 

 

 

 

 

 

 

 

 

 

 

99

Соседние файлы в папке книги из ГПНТБ