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

книги / Методы электрических измерений

..pdf
Скачиваний:
8
Добавлен:
19.11.2023
Размер:
53.63 Mб
Скачать

обусловленную действием входных погрешностей; эту составляю­ щую часто называют наследственной погрешностью:

дх

ду

v

Вторые два слагаемых в выражении (5.10) характеризуют погрешности, зародившиеся в процессоре (в арифметическом устрой­ стве и ПЗУ вычислительной машины); часто их называют машин­ ной погрешностью:

AzM=

Д£п + Д„.

 

 

dk

 

Таким образом, полная выходная погрешность исполнения

вычислительной операции представляется

суммой:

Д* =

Д*Я+ ДzM.

(5.11)

Выделение из полной погрешности Дг наследственной погреш­ ности оправдано тем, что анализ последней не вызывает прин­ ципиальных трудностей, так как сводится к анализу точности функционального преобразования; кроме того, на эту часть пол­ ной погрешности невозможно влиять при выборе размера разряд­ ной сетки процессора.

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

тельных операций [72].

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

Если * — правильная двоичная отрицательная дробь, то ее прямой код имеет вид

*пр — 1 — * =: 1 + 1* |>

* < 0»

(5.12)

обратный —

 

 

 

 

*0 = 2 - 2 ~ п - М

= 1,

11

... 1 + * ,

(5.13)

 

 

v---------'

 

 

 

 

п

 

дополнительный

 

 

 

 

*д =

2 +

*.

 

(5.14)

Границы погрешностей усечения представлены в табл. 5.1. Операция умножения. При выполнении машинной операции умножения 2 = */) максимальная разрядность произведения со-

 

 

 

 

 

Код

представления

чисел

 

Знак числа

Вид усечения

 

Прямой

 

Обратный

Дополнитель­

 

 

 

 

 

 

 

 

 

 

ный

 

JC > 0

 

 

 

 

 

 

[— 2 - л ;

0]

 

 

 

Отбрасывание

 

 

 

 

 

 

 

 

* < 0

 

 

 

0 ...

2 -л

 

0 ... 2 -»

— 2 -л

0

* > 0 ,

Округление

 

 

 

 

[ _ 2 - л - 1 ;

2“л -1 ]

 

2 < 0

 

 

 

 

 

 

 

 

 

 

 

ставляет

пг =

пх + пу,

следовательно, число

усекаемых

раз­

рядов

т = пх -f- пу п

при

(пх +

пу) > п;

 

 

 

 

 

т = О

при

(я* +

пу) < я .

 

 

 

В наиболее

распространенном

случае,

когда

пх = пу — п,

на основе

соотношений

(5.5),

(5.6)

и

(5.9)

получим

 

 

 

\

м

[Д „1о.вр =■ — 2 "n_I ( 1 - 2 - " ) ;

 

 

М [Д2М] — ■

 

 

 

«

0;

 

 

(5.15)

 

 

 

М [Д„]01ф =

 

 

 

 

 

 

 

D [Д„1 < i

г-2".

 

 

 

 

Для наследственных погрешностей из соотношения F (Jt, (j) —

=с учетом выражения (5.10) получим AzH= § Д£ + £ Д$,

чему

соответствуют

выражения для математического

ожидания

и дисперсии:

 

 

 

 

М [Д2Н] = 0;

D [Д2Н] = 2“2 (n*+1) tf j 3 + 2"2 <пг/+1) *2/3.

В частном случае при п„ = пи ~

п с учетом -£шах «

1, #тах л#

1

имеем

 

 

 

 

 

D [Д4] =

Г " 1.

 

Изменение масштаба переменных. Операцию изменения мас­ штаба используют при решении задачи сложения двух и более переменных (в целях выравнивания масштабов операндов), при выполнении операции деления (для исключения переполнения разрядной сетки) и в некоторых других случаях. Самостоятельной операции изменения масштаба процессор обычно не имеет, эта операция выполняется путем умножения машинной переменной на постоянный коэффициент k:

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

При выполнении операции (5.16) изменяется цена машинной

единицы представления Л:

 

=

(5.17)

При этом имеют место следующие погрешности:

машинные, связанные с погрешностью квантования коэффи­ циента /г и погрешностью усечения произведения;

наследственные, обусловленные погрешностью квантования Рассмотрим сначала погрешность, обусловленную усечением

произведения.

Вариант- 1: k — 2r > 1. Это условие соответствует левому сдвигу операнда Л на г разрядов. Поскольку переполнение раз­ рядной сетки при масштабировании исключено (недопустимо), левые сдвиги не приводят к погрешности.

Вариант 2: k — 2~r < 1. Это условие соответствует правому сдвигу, что при ограниченной длине разрядной сетки тождест­ венно усечению операнда:

М [Д2М] =

м [А » ]„ в р =

(1 - 2 -г);

М [ Л Х ,р = г - " - '- 1;

(5.18)

 

D [AiM] = D [A „ I< ^ -2 -2".

 

С учетом выражения (5.17) соотношения (5.18) принимают вид:

М 1Д4,)„0р = - Г " - ' (1 - 2") 2%;

м [дг„]„„р = Г"~1Р«;

(5.19)

0 [ Д ^ К ^ - 2 - г"22гр1.

Вариант 3: k > 1 и является неправильной дробью. Предста­ вим эту константу в виде

k = ахай

аг, ЬхЬг

Ьп_г.

(5.20)

Последовательность действий при выполнении операции (5.16), приводящая к наименьшей погрешности, следующая:

перенос запятой в выражении (5.20) на г разрядов влево: k‘ 0, ах ... агЬх ... £>п_г;

выполнение операции умножения: £' = сдвиг влево £' на г разрядов; усечение результата до п разрядов.

Характеристики машинной погрешности при этом следующие:

М [Д»]„кР « 2-2"-' * 0;

(5.21)

DIД „ ]< -^ -2 -2".

Вариант 4: k < 1 и является простой дробью. Это тривиаль­ ный случай, совпадающий с обычным умножением. Поэтому формулы (5.21) остаются в силе и для этого случая.

Рассмотрим теперь составляющую машинной погрешности, обусловленную неточным заданием константы k. Согласно выра­ жению (5.10) для операции (5.16) получим

Д2(ДЙ) = -^ -Д £ = *Дй.

Qk

Поскольку квантование k осуществляется программистом, то используется более точное усечение округлением:

 

 

М[Д2(ДЙ)]окр =

2-2“- , « 0 !

 

 

 

 

 

D [Д2 (Дй)] =

- I . 2 '2".

 

<5-22)

С учетом формул (5.21) суммарная машинная погрешность

имеет

характеристики

(для типовых 3- и 4-го вариантов):

 

 

 

 

м 2м1отбр = —г—-1!

 

 

 

 

 

 

М (Дг„]онр =

2“ел яг 0;

 

(5.23)

 

 

D I Д^м] =

 

2"2” (Л2Ч- 1).

 

 

где £тах <! \fk — по

условию

задачи.

 

 

 

Максимальная оценка дисперсии в формуле (5.23) имеет вид

 

0[Д4и]т

= -jj 2-2" (А*2+ 0 . к ф 2±г.

 

 

Наследственная

погрешность

Д2Н= -Щг Д^ — k А& имеет

ха-

рактеристики:

 

 

 

 

дх

 

 

 

 

 

 

 

 

 

 

 

 

М

[Д2В] = 0;

D [Д2„] = -£• Г

2"-.

(5.24)

Операция деления. Пусть делимое J2 и делитель

Q заданы

це­

нами машинных единиц своего представления 0* и

р„, а также

пределами изменений

[XmlQ,

X max], [Ут1п,

Y miXI,

тогда,

оче­

видно,

частное будет

меняться

в

пределах

[Zmln == Х т1а/Утлх,

Zmax ~

Х тах/У[п1п1 •

 

 

 

 

 

 

 

 

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

Погрешность

М 1Д5]

 

D

[дг]

Д^н

0

22 ^

^

(^max/^mln)21

 

—2—п-Х(1 -f- Уmax/Y га1п)

~ - 2 - 2 п

[1 + 2 (Ymax!Y mto)*]

Д^ма

—2-п

-jTj- 2—2«[2 +

(Кшах/У min)2!

случае изменить цену машинной единицы ря представления пе­ ременной Л в соответствии с выражением

fix^ |Zmax| Ру

Практически это означает необходимость предварительного умножения операнда Л на машинный множитель:

t, _ Рх

^

fix________Рх____

Рх___ I ^mln I

 

 

р*

 

| ^шах | fi{f

fij/Xmax/Ymin

I -^шах I

P#

 

Если fix и Р„ выбраны из предельных соотношений, т. е. ря «

^ Хтах.}

Рц ^

 

^шах» ТО

 

 

 

 

 

 

 

k

У"min/У max = $min/$max ^ $mln>

 

 

так как

0шах «

1.

 

 

 

 

 

Таким образом, выполнение деления в процессоре должно

быть организовано

в соответствии с выражением

 

 

 

 

 

 

 

Л= kiг/д,

 

(5.25)

при этом частное Л будет иметь цену

машинной

единицы

рг =

Возможны два варианта реализации формулы (5.25).

 

Вариант 1:

1) Л{ = ЛЬ,\

2) Лх = Л[1Ц.

 

 

 

Вариант

2:

1) Л2 — klQ\ 2) Ла = Л2Л.

 

k =*

Результаты

анализа точности для двух вариантов при

*= #mln

приведены

в табл.

5.2.

 

 

 

Как следует из табл. 5.2, вариант 2 реализации деления яв­

ляется более

точным при

Утах/Утш

1*

 

 

Операция суммирования с изменением масштабов. Алгоритму алгебраического сложения г = х ± у в процессоре соответствует машинный алгоритм Л — кхЛ ± kvQ.

Очевидно, что

Azn = A* kx ± Ар /г17;

(5.26)

А£м = Айд. £ -j- Ап> х ± (Aky Р -j- Ап> у).

Из этих формул следует (при условии центрированности по­

грешностей квантования преобразователей

аналог—код):

М [Аёв] = 0; D [Л4П] = -Г. 2"2"* k\ + ~

r* avtil,\

 

 

 

(5.27)

D (Д^м) — 12 ^ 2п (2

+

У")'

 

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

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

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

Очевидно, что проектировщику необходимо искать компро­ мисс. Основанием для поиска если не оптимальных, то, по край­ ней мере, рациональных значений параметров процессора может служить практически существующее ограничение достоверной разрядности первичных измерительных преобразователей и АЦП. Очевидно, нецелесообразно существенно развивать разрядность процессора, если точность входных измерительных данных огра­ ничена, как правило, 8... 13 двоичными разрядами.

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

рительных преобразователей, обеспечивающих погрешность на уровне, допускаемом потребителем.

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

Ограниченность разрядной сетки процессора увеличивает эту погрешность; допустим возможность увеличения среднего квад­ ратического значения наследственной погрешности на некоторую малую величину б при дополнительной оговорке: математические ожидания всех машинных погрешностей близки к нулю (предпо­ лагается применение процедур округления при выполнении всех арифметических операций и достаточно большое число разрядов операндов). Выдвинутое требование о допустимости малого уве­ личения выходной средней квадратической погрешности запи­

шем в виде

 

а[АЙ]<(1 + б)ст[Д4], 6 « 1 .

(5.28)

Так как машинные и наследственные погрешности, входящие в формулы (5.11), можно считать статистически независимыми, то, суммируя их. дисперсии и пренебрегая малой величиной 8а, получим из выражения (5.28) после простых преобразований иско­ мое условие:

D [Д2М] < 2б£> [Д2Н].

(5.29)

Поскольку Д2„ = fx (п), а Д2Н =

/2 (пх, пу),

то из этого усло­

вия можно определить требуемую разрядность

процессора: п ;>

/3 (nxt пу, б). Преобразование

этой зависимости приведет

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

рядной сетки:

Ап = п nXfV.

 

Операция умножения. Применение условия (5.29) при пх =

= пу = п0 и

£ = 1,

р — 1

дает

неравенство

 

~

2~2п

26*2

2~2п°

ИЛИ

(46)"1< 2 2Дп, Ап = п — п0, откуда следует искомое требование на резерв разрядной сетки:

Ап > 0,5 log2 (46)-1.

(5.30)

Операция изменения масштаба. Применение условия (5.29) для вариантов 3 и 4 изменения масштаба приводит к условию

~ 2“2л (1 + й'2) < 2 6 --J J

2-2rt“A:2,

 

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

можно

получить

Ап > 0,5 log2 [(1 + k*)/(28k*)).

(5.31)

Частные значения Ап (k) при 6 = 0,1 приведены ниже:

 

ft.

1,83

1,1

0,4

0,15

0,1

0,05

 

Дп

0

1,46

3,91

6,65

7,8

9,8

С

учетом

практической

частости

использования константы

k <

1 следует сделать вывод о том, что операция изменения мас­

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

Операция деления. Для варианта 2 выполнения деления при

Утят/Упи'п > 1 получим после преобразований

соотношение

Ап > 0,5 log2 (26)-1.

(5.32)

5.2.ПРЕОБРАЗОВАНИЕ МАССИВОВ

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

N

____

 

Qj = Jj ajtxi,

j = 1,

Ny

(5.33)

где xt *= x (iAt) — отсчеты сигнала

x (t)

на интервале (0;

NAt);

{an \ — элементы матрицы дискретного ортогонального преобра­ зования.

Близкие к формулам (5.33) соотношения реализуются при фильтрации, в статистических измерениях, при интегрировании и т. д. В общем виде назовем такие измерительные преобразова­ ния, реализуемые в числовой форме, преобразованиями масси­ вов, так как коэффициенты и исходные измерительные данные за­ носятся в постоянное и оперативное запоминающие устройства (ПЗУ и ОЗУ) и хранятся там в виде массивов чисел.

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

Будем считать известными параметры масштабирования рх, Ру, шаг дискретности вычислений h и предельное значение инте­

грала Zmах*

При численном интегрировании с помощью квадратурных фор­ мул [7 ], оптимальных на том или ином классе подынтегральных функций, осуществляются вычисления

N - 1

 

z = Ц й{уи

(5.34)

<=о

 

где h bfN — шаг интегрирования,

\yt — у (ih)\ — массив зна­

чений подынтегральной функции;

— оптимальные весовые

коэффициенты, хранящиеся в виде массива в ПЗУ. Источниками наследственных погрешностей являются погреш­

ности А^ (пу) (в частности, за счет квантования) отсчетов подын­ тегральной функции, хранящихся в ОЗУ. Источниками зарождаю­ щихся погрешностей процессора являются погрешности усечения

при

округлении

произведений

и погрешность Adt округ­

ления величин di, записываемых в ПЗУ.

В

результате

анализа [72]

в предположении некоррелиро­

ванности погрешностей квантования Д#г получены следующие соотношения:

D [Д2В] =

^ 2“2"к;

(5.35)

D [Л**].» =

N ( ц+ 2"2Л.

(5.36)

Отметим, что методическая погрешность численного интегри­ рования, обусловленная дискретизацией, здесь не рассматри­ вается, а учет коррелированности погрешностей Д/)г возможен

спомощью имитационного моделирования.

На основе условия (5.29) необходимый запас разрядной сетки

процессора при численном интегрировании определяется соот­ ношением

д п =

н — > 0,5 log2

W2 (# + 1)/(2б) ].

(5.37)

Наприкер, при N = 30 и б =

0,1 требуемый запас составляет

примерно 8 двоичных разрядов, т. е. весьма значителен.

 

5,3. ЦИФРОВЫЕ

АЛГОРИТМЫ

 

 

ДИНАМИЧЕСКИХ

ПРЕОБРАЗОВАНИЙ

 

Интенсивное развитие цифровой техники привело к распро­ странению численных методов и в области динамических измери­ тельных преобразований. В частности, в последние годы стали Широко применяться цифровые фильтры. Их основным преиму­ ществом перед аналоговыми фильтрами является возможность реализации сложных перестраиваемых алгоритмов обработки сигналов, которые практически неосуществимы с помощью ана­ логовой техники. При этом точность обработки сигнала цифро­ выми фильтрами может быть неизмеримо выше точности обработки сигналов в аналоговых фильтрах [32, 65].

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

При разработке многозвенных цифровых фильтров не возни­ кает задачи согласования нагрузок.

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

Недостатком цифровых фильтров является их большая слож­ ность по сравнению с аналоговыми и более высокая стоимость (в настоящее время). Ведь кроме процессора цифровой фильтр содержит АЦП на входе и цифро-аналоговый преобразователь — на выходе. Поэтому в тех случаях, когда алгоритм обработки сигналов несложен и не требуется высокой точности, целесо­ образнее применять аналоговые фильтры или дискретные филь­ тры на приборах с зарядовой связью, так как они проще и дешевле.

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

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

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

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

 

 

М -1

 

N -1

 

 

У (кТ ) =

Е

У № - 0 Л + Е ь ,х [(А - /) Л ,

(5.38)

 

 

1=1

 

1=0

 

где

х {kT)t у (kT),

k — 0, 1, 2,

— отсчеты входного

и выход­

ного сигналов фильтра

соответственно; Т — шаг дискретизации;

аи

Ъх— коэффициенты

фильтра.

 

 

НО

Соседние файлы в папке книги