О.Н. Пьявченко
ТЕХНОЛОГИЯ РАЗРАБОТКИ МИКРОПРОЦЕССОРНЫХ АЛГОРИТМОВ ВЫЧИСЛЕНИЙ СРЕДНЕКВАДРАТИЧЕСКОГО ЗНАЧЕНИЯ ВИБРОСИГНАЛА
В системах мониторинга и диагностики состояний различных технических объектов (процессов) широко используется процедура вычисления на интервале Т среднеквадратического значения вибросигнала 2(1;) (СКЗ2) по формуле [1]
СКЗ2 = F =
1 Т
-/г2(^ . (1)
0
Для расчетов СКЗ2 в реальном масштабе времени применяются приборы и устройства, которые строятся на основе микропроцессоров со встраиваемой архитектурой [2]. В таких приборах и устройствах на точность результатов вычислений СКЗ2 влияют трансформированная погрешность датчика V, погрешность метода интегрирования т и инструментальная Р погрешность, порождаемая обработкой данных с ограниченными разрядными сетками. Погрешности считаются независимыми и предельно допустимая относительная погрешность вычисления СКЗ2 представляется в виде суммы относительных погрешностей
б£рх — б£рп + б£рц + б£рр. (2)
При проектировании микропроцессорных алгоритмов, погрешность которых (2) ограничивается задаваемой величиной §£р:
5еР% < 5еР. (3)
Причем условие (3) выполняется, когда погрешность §£рх (2) не превышает трансформированную погрешность датчика §£рп более чем в заданное Л число раз (Л > 1), т.е.
5£ех < Л бе^. (4)
В свою очередь, ограничение (4) имеет место, когда сумма предельно допустимых методической §£рт и инструментальной §£рр погрешностей удовлетворяет условию
бевд = 5£ец + §£ер < (л -1)§£еп. (5)
Учитывая это, в начале проектирования рассчитывается трансформированная погрешность §£рп и по результатам компьютерного моделирования отбираются формулы приближенных вычислений СКЗ2 (1), методические погрешности которых меньше (Л -1)§£рп (5). Затем на основе приближенных формул строятся микропроцессорные алгоритмы, и в результате компьютерного моделирования оцениваются их инструмен-
тальные погрешности. Среди микропроцессорных алгоритмов выделяются те, инструментальные погрешности которых меньше (Л -1)§£рп (5).
После этого из множества выделенных алгоритмов исключаются алгоритмы, у которых суммы максимальных значений методической и инструментальной погрешностей превышают (^ - 1)5еРп- В завершение, среди оставшихся отбираются алгоритмы, имеющие минимальную вычислительную сложность и требующие для реализации минимальные объемы памяти микропроцессора. В процессе отбора синтезируются кортежи параметров, однозначно определяющие микропроцессорные алгоритмы.
Рассмотрим более подробно особенности проектирования микропроцессорных алгоритмов, связанные с выбором в формуле СКЗ2 (1) методов численного интегрирования и схем обработки данных с конечными разрядными сетками.
Оценка трансформированной погрешности
Допустим, что погрешность сигнала 2(1) на интервале Т описывается функцией
е(1), значение которой на 1-м шаге (i = 0,п -1) обозначается в1. В конце интервала Т
трансформированная погрешность СКЗ2 достигает значения
Т
= Я |е(^ , (6)
о
которое при интегрировании по формуле прямоугольников составляет
п-1
= Rh £ е1. (7)
1=0
В выражениях (6), (7) Я - постоянный коэффициент, рассчитываемый по формуле
Т
R =
0 =. (8)
1 т
т I22
т о
Если погрешность сигнала 2(1) постоянная (е(1) = е), то выражения (6), (7) преобразуются к виду
= Яе. (9)
Соответственно предельно допустимая относительная трансформированная погрешность СКЗ2 имеет вид
5е =_?:--------— = —^ 5 е%, (10)
СКЗ2 zШЯХ СКЗ2
Шал
где 5е - заданная предельно допустимая относительная погрешность датчика.
Если сигнал 2(1) известен, то формулы (9), (10) позволяют оценить величину трансформированной погрешности.
Допустим, что сигнал 2(1) является виброускорением и описывается гармоническими функциями [1]
2(1) = а(1) = 2 + 8т(ю1), (11)
которые отличаются по частоте ю = 2л1, (1=10-1000 Гц). Период одного измерения виб-
роускорения Т=1с. Шаг дискретизации не превышает
1 3 Дt = h < = 0.5-10-3 с.
2f
Шал
Число отсчетов за Т=1с
Т
п = — > 2000 . h
В этом случае предельно допустимая трансформированная погрешность СКЗа
равна
£Рп = 1.886 е (12)
и относительная трансформированная погрешность (10) -
5еРп = 0.889 5е %. (13)
Из выражений (12), (13) следует, что при вычислении СКЗа предельно допустимая погрешность сигнала (11) вырастает в процессе трансформирования почти в 1,9
раза, в то время как относительная погрешность уменьшается.
Например, если погрешность снимаемого с датчика сигнала 2%, то относительная трансформированная погрешность СКЗа 5ерп = 1,778 %.
Оценка методической погрешности
Методическая погрешность вычисления СКЗ2 (1) складывается из методической погрешности извлечения квадратного корня и трансформированной погрешности
|4Ш) (т - степень формулы численного интегрирования) приближенного вычисления
интеграла в подкоренном выражении (1).
Для определения интеграла используются в течение п шагов конечно-разностные формулы [3]. Соответственно вычислительная сложность процедуры в п раз больше вычислительной сложности использованной формулы. Поэтому на практике оправдано применение наиболее простых формул численного интегрирования по прямоугольникам (т=0) и по трапециям (т=1), а также стремление предельно сократить количество шагов п. Платой за это является увеличение в СКЗ2 веса трансформированной методической
погрешности интегрирования |^Ш).
В то же время квадратный корень извлекается в конце вычислений однократно. Его методическая погрешность может быть снижена со сравнительно меньшими
затратами при применении более точных и, соответственно, сложных приближенных формул.
Учитывая сказанное, будем считать, что в методической погрешности СКЗ2 преобладает трансформированная погрешность интегрирования |^Ш), и уделим внимание ее оценке.
Если форма сигнала 2(1) выбрана и используются формулы численного интегрирования по прямоугольникам и по трапециям, то значения методических погрешностей определяются методом компьютерного моделирования по схемам
|40) = F(э) -
h П-1 2
22, (14)
Т1=0
|4° = F(э) -.
п-1
2— I (2?+1 + 22 ) , (15)
2— 1=0
в которых Г(э) - эталонные СКЗ2 (1).
Методические погрешности (14, (15) были рассчитаны в среде МаЙаЬ для гармонических сигналов виброускорения а(1;). В табл. 1 сведены максимальные значения модулей относительных погрешностей | 5|4га) | % (т = 0, 1) на интервале изменения частоты f = 10 - 1000 Гц для различных шагов интегрирования Ь = — (п = 2000, 4000,
п
8000, 16000).
_________________________________________________________________________Таблица 1
N п тах | 5|1т) 1 f г
Формула прямоугольников (т=0) Формула трапеций (т=1)
1 2000 0,004% 0,004%
2 4000 0,0016% 0,0015%
3 8000 0,0016% 0,0008%
4 16000 0,0006% 0,00007%
Из таблицы следует:
1) при обработке виброускорения с максимальным шагом Ь = 0.5-10"3с (п=2000) методические погрешности вычисления СКЗа не превышают 0.004%;
2) при вычислении СКЗа с шагами Ь = 0.510-3с (п=2000), h = 0.2510-3с (п=4000) и h = 0.012510-3с (п=8000) формулы прямоугольников (т = 0) и трапеций (т = 1) обеспечивают близкие погрешности, поэтому обосновано применение формулы прямоугольников;
3) формула трапеций (т = 1) может быть использована, когда количество точек составляет п > 16000 (Ь < 0.0025 10-3 с).
Оценка инструментальной погрешности
Оценим погрешность, вносимую в среднеквадратическое значение (1), в результате представления на выходе АЦП значений сигнала zi с ограниченной разрядностью и их обработки в микропроцессоре.
Исследование изменения инструментальной погрешности в зависимости от схем и способов квантования данных, которые могут быть использованы в микроконтроллере, проводилось в результате компьютерного моделирования в целочисленной двоичной арифметике при задании отличающихся частотами f гармонических сигналов (11).
В качестве эталонных использовались СКЗа(э), расчет которых производился по Алгоритму 1 при представлении значений а1 заведомо избыточным количеством разрядов N.3 без ограничения разрядности результатов промежуточных вычислений.
Алгоритм 1. Расчет эталонных значений СКЗа.
1. Формирование значения эталонного ^-разрядного масштабированного сигнала
«М = -'[^Э-^2 ,
где аэ - значение эталонного сигнала, представленное в виде не менее чем N5-разрядной неправильной дробью; к - количество целых разрядов в этой дроби; Р0Мэ '[ ]2 - функция расчленения, обеспечивающая выделение целого числа от нулевого до (N.5-1) разряда включительно.
2. Возведение в квадрат эталонного значения сигнала «М
(а(э))2 = а(э) • а(э)
^М)' аMi аMi .
3. Интегрирование
П-1
1 =1 (аММ))2 ■
i=0
4. Вычисление подкоренного выражения
П -1
и = П X<аМ!)2-
П )=0
5. Вычисление масштабированного эталонного значения
СКЗаММ) =
П-1
Г X (аММ!)
(э))2
(16)
6. Вычисление в арифметике с плавающей точкой немасштабированного эталонного значения
СКЗа(э) = СКЗаМ)/2(Кэ -к) . (17)
В качестве исходной версии микропроцессорного алгоритма был выбран Алгоритм 2 (пп.1-6), в котором значения виброускорения ах представляются NАцп -разрядными числами (NАцП < N3), а на размеры разрядных сеток промежуточных результатов вычислений ограничения не накладываются.
Алгоритм 2. Расчет СКЗа при квантовании значений сигнала а(1).
1. Добавление единицы в (N3 - NАцП - 1) двоичный разряд квантованного эталонного сигнала
~(э) = а(э) + С2(МЭ -МАЦП-1) аМ! = аМ! + ,
где NАцП - количество двоичных разрядов, отведенное для представления значений сигнала на выходе АЦП, а 8 - коэффициент, задаваемый 0 при округлении "с недостатком" и 1 при округлении "по 1/2".
2. Выделение квантованного значения сигнала в результате деления в целочисленной арифметике
а = а(э)/2(мэ -мацп) аМ) _ аМ) / 2 .
3. Возведение квантованного значения сигнала 0^ в квадрат
аМ) = аМ) • аМ) .
4. Вычисление интеграла
~ п-1 2
^ = XаМ! .
! = 0
5. Вычисление подкоренного выражения
~ 1 п-1
и=-X «М).
6. Вычисление масштабированного среднеквадратического значения виброуско-
рения
СКЗам -
1 П—1
1 V —2 ~ ^ аМі ~ і-0
(18)
(19)
7. Вычисление в арифметике с плавающей точкой немасштабированного средне квадратического значения виброускорения
СКЗа = СКЗам/2(Мдцп -к) .
8. Расчет значения инструментальной погрешности СКЗа:
Рр = СКЗа(э) - СКЗа , или с учетом формул (16), (17) и (18), (19)
PF -
1
I п—1
II (аМ!>2 —-
п і—0
1
п—1
1 V —2 — ^ аМі ■
2(кэ — Ю у п і—Мі/ 2(КдЦп —к) ^
9. Определение относительной инструментальной погрешности
I §pFІ% —
СКЗа
■100%
В приведенном алгоритме для расчетов инструментальных погрешностей используются формулы п. 7-9.
Максимальные значения инструментальной погрешности |§Рр|% на интервале изменения частоты I- от 10 Гц до 1000 Гц при представлении значений ускорений Ндщ-разрядными числами (N^^=12, 14, 16), округленными "с недостатком" (8=0), сведены в табл. 2.
Т аблица 2
№ шах|§Рр|% (т=0, 8=0) f
NАЦП п=2000 п=4000 п=8000 п=16000
1 12 0,040% 0,035% 0,07% 0,07%
2 14 0,014% 0,017% 0,017% 0,017%
3 16 0,0043% 0,0042% 0,0043% 0,004%
Соответствующие результаты вычисления максимальных значений инструментальных погрешностей |§рг|% при округлении значений ускорения а1 "по (8=1) представлены в табл. 3. _____________________________________________________________________Т аблица 3
№ шах|§рг|% (ш=0, 8=1) f
NАЦП п=2000 п=4000 п=8000 п=16000
1 12 0,045% 0,045% 0,101% 0,035%
2 14 0,012% 0,012% 0,012% 0,012%
3 16 0,0027% 0,0028% 0,0085% 0,0028%
Из сопоставления данных, приведенных в таблицах 2 и 3, следует, что округление значений ускорений а1 "по %" влечет за собой незначительное улучшение инструментальной погрешности.
Дальнейшее уменьшение вычислительной сложности Алгоритма 2 возможно при ограничении разрядности промежуточных результатов вычислений величиной 2Ы, где N
_2
- базовая разрядность микропроцессора. Обеспечивается оно при округлении а; на Я разрядов (Я < NАцП ) и выполнении условия
2N > 2N ацп - Я + ^д , (20)
где ^д - количество дополнительных разрядов, необходимое для представления суммы Jм (см. Алгоритм 2, п.4).
Поэтому наряду с Алгоритмом 2 был синтезирован Алгоритм 3 (п. 1-8), инструментальные погрешности которого рассчитывались по формулам п. 9-11.
Алгоритм 3. Расчет СКЗа с использованием в вычислениях N ищ-разридных
__ ___________________________2
ам и (2^цц-^-разрядных ам .
1. Вычисление суммы
~(э) _ а(э) + С2(Мэ -МАЦП-1) аМ1 _ аМ1 + ■
2. Выделение квантованного значения виброускорения
3. Возведение в квадрат
4. Вычисление суммы
а (э)/2(Мэ _мацп) аМі _ аМі ' 2 ■
аМі - аМІ ' аМІ ■
ам _ аМ + Е2(к-1),
где Е - коэффициент, задаваемый нулем при округлении "с недостатком" и единицей при округлении "по %"■
5. Выделение квантованного значения квадрата ускорения
а1Ш _ аш/2К ■
6. Вычисление интеграла
п—1—2—
^ _ X аМ1 ■
1_0
7. Вычисление величины подкоренного выражения
1 п—1—2“
иМ _ _ X аМ1 ■
п
і—0
8. Вычисление масштабированного значения
1
СКЗам —
1 V -2
— X аМ1 п1_0
9. Вычисление немасштабированного значения
1 п-1-1 п -2
СКЗа = 1
кацп п-1-------
V —2
-------X аМі
і—0
10. Расчет значения инструментальной погрешности
Рр -
1
1 п—1
43^<а!Л)>2 -
1
п
і—0
2Кацп п— 1
і—0
2(кацп — к> ^
11. Определение относительной инструментальной погрешности
| §Рр | % — .
НЬ СКЗа
В процессе компьютерного моделирования для значений частоты ґ=10—1000 Гц вычислялись относительные инструментальные погрешности СКЗа при представлении с шагами Ь = 0,5-10-3с (п=2000), 0,25-10-3с (п=4000), 0,125-10-3с, (п=8000) 0,0625-10-3с
__ 2
(п=16000) значений сигнала аі 12-разрядными и йі - (24-К)-разрядными двоичными
числами, округленными "с недостатком" (8 = Е = 0). Значения Я подбирались таким образом, чтобы разрядность суммы 1М (см. п.6 Алгоритма 2) была близка к 32, но не выходила за этот предел.
Максимальные значения инструментальной погрешности |§Рр|% в диапазоне изменения частоты f от 10 Гц до 1000 Гц приведены в табл. 4.
Т аблица 4
Я шах|5рР|% (Кащ=12, 8=Е=0)
п=2000 п=4000 п=8000 п=16000
2 0,04%
3 0,04% 0,15%
4 0,035% 0,21%
5 0,27% 0,27%
6 0,22%
Соответственно максимальные значения инструментальной погрешности Алго-
_2
ритма 3, в котором округление а1 и а; производится "по (8=Б=1) представлены в
табл. 5.
___________________________________________________________________________Т аблица 5
Я тах | брі2> | % (N=12, 8=Е=1) f г
п=2000 п=4000 п=8000 п=16000
2 0,04%
3 0,023%
4 0,03%
5 0,018%
Результаты компьютерного моделирования инструментальных погрешностей Алгоритма 3 при КАдп = 14, округлении "с недостатком" (8=Е=0) и "по %" (8=Е=1) приведены в табл. 6, 7.
Т аблица 6
Я тах | 5Вр | % f ^ащ=14, 8=Б=0)
п=2000 п=4000 п=8000 п=16000
4 0,04
6 0,033
8 0,03
10 0,022
Т аблица 7
К тах | §Рр | % (N^=14, 8=Е=1)
п=2000 п=4000 п=8000 п=16000
4 0,041
6 0,034
8 0,03
10 0,022
Что же касается результатов компьютерного моделирования инструментальной погрешности Алгоритма 3 при КАцП=16, то они незначительно отличаются от данных, приведенных в табл. 6,7.
Сопоставляя результаты компьютерного моделирования Алгоритма 3 (табл. 4-7), отметим:
1) если количество разрядов, отведенное для представления значений виброу-
__2
скорения КАцп=12, то при п=2000, Я=2 и п=4000, R=4, а также округлении а1 и а; "с недостатком" (8=Е=0), инструментальная погрешность Алгоритма 3 (табл. 4) не хуже аналогичной погрешности Алгоритма 2 (табл.2);
_2
2) при КАцП=12 и округлении а1 и а; "по (8=Е=1) инструментальная погрешность Алгоритма 3 не превышает аналогичную погрешность Алгоритма 2 для всех значений п=2000, 4000, 8000, 16000;
3) когда КАцП=14, 16, инструментальная погрешность Алгоритма 3 не зависит от
округления а1 и а2 и остается на уровне значений табл.5.
Учитывая приведенные замечания и результаты моделирования Алгоритма 2, можно рекомендовать:
1) использовать Алгоритм 3 при представлении значений виброускорения ах
КАцП=12-разрядными и а^2 - 22-разрядными двоичными числами, округленными "с недостатком" (8=Е=0), когда количество отсчетов составляет п=2000, 4000, а также применять этот алгоритм для всех значений п, округляя "по %" а1 до 12 разрядов и а'2 до 22х разрядов;
2) в случае, когда при N^^=14, 16 необходимо обеспечить более высокую точность вычислений чем та, которую обеспечивает Алгоритм 3, а на вычислительную сложность не накладываются жесткие ограничения, для реализации следует выбирать Алгоритм 2.
Выбор параметров алгоритма вычисления СКЗа
Алгоритмы 2 и 3 описываются кортежем параметров
< m, n, Napp, R, S, E >, (21)
причем для Алгоритма 2 значение R=0, Е=0, а для Алгоритма 3 значение R Ф 0.
При выборе параметров будем ориентироваться на выполнение условия (5). Рассмотрим ситуации, когда погрешность аналогового датчика 8е = 2%, а предельно допустимая относительная погрешность СКЗа 5eF% больше соответствующей трансформированной погрешности §eFv в 1,1 и 1,01 раза.
При этом должны соответственно выполняться условия
5евд < 0,18% (22)
и
5евд < 0,018% . (23)
Из табл. 1 видно, что в обоих случаях для интегрирования можно использовать
формулу прямоугольников m = 0 с шагом h < 0,5 • 10-3 с (n>2000), обеспечивающую ме-
тодическую погрешность max | 5|uF0) | % < 0,004%. Поэтому обоснован выбор парамет-
f г
ров m=0, n=2000.
Определим теперь возможность использования Алгоритма 2. С этой целью обратимся к табл. 2 и выберем значение инструментальной погрешности max 15ВГ | %
f г
< 0.04%, сумма которой с методической погрешностью max | SuF | % < 0.004% удовле-
f г
творяет условию (22).
Отсюда следует, что при выборе параметров
<m=0, n=2000, Napp=12, R=0, S=0, E=0> (24)
Алгоритм 2 обеспечивает ухудшение трансформированной погрешности SeFv не более чем в 0,1 раза, и может быть использован на практике.
Этот алгоритм может найти применение и при наложении ограничения (23). При этом достаточно выбрать NApn=14, n=2000 и округление "по (табл.3). В результате получим сумму
max 15|J.F | % + max 15ВГ | =0.016%,
f Г f г
удовлетворяющую условию (23).
Т аким образом, при выборе параметров
<m=0, n=2000, Napp=14, R=0, S=1, E=0> (25)
возможно применение Алгоритма 2. При этом увеличение трансформированной погрешности не превысит 0.01 SeFv.
Наконец, оценим возможности практического применения Алгоритма 3.
Выбрав в табл. 4 максимальную погрешность max | 5ВГ | % = 0.04%, определим
f г
параметры Алгоритма 3
<m=0, n=2000, Napp=12, R=2, S=0, E=0>, (26)
при реализации которых суммарная погрешность
max | 5|J.r | % + max | 5ВГ | =0,044%, f Г f Г т.е. удовлетворяет условию (22).
В то же время расчеты по Алгоритму 3 не удовлетворяют ограничению (23) из-за значительных инструментальных погрешностей (см. табл. 4-7).
Из проведенных оценок следует, что:
1) при наличии 10% ограничения (22) на рост погрешности вычислений нужно выбирать Алгоритм 3 с параметрами (26), так как по сравнению с Алгоритмом 2 при близких погрешностях для его реализации требуются меньшие затраты времени и памяти;
2) когда действует 1% ограничение на рост погрешности вычислений (23), применение Алгоритма 3 невозможно из-за высоких погрешностей и следует реализовать Алгоритм 2, описываемый параметрами (25).
В завершение заметим, что изложенная методика проектирования алгоритмов вычисления среднеквадратического значения может быть использована при моделировании сигнала 2(1) не только гармоническими сигналами.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Датчики теплофизических и механических параметров: Справочник в трех томах. Т.11. Под общ. ред. Ю.Н. Коптева,; Под ред. Е.Е.Багдатьева, А.В. Гориша, Я.В. Малкова. - М.: ИПРЖР, 1999. -688 с.: ил.
2. Шлетт М. Тенденции индустрии встроенных микропроцессоров // Открытые системы. 1998. № 6.
3. Пьявченко О.Н. Конечно-разностные методы решения обыкновенных дифференциальных уравнений в микрокомпьютерах: Учебное пособие. -Таганрог. Изд-во ТРТУ, 2000. -96 с.
В.Г. Галалу, О.А. Силаева, П.В. Хало МОЩНЫЕ ГЕНЕРАТОРЫ ТОКА НА ОПЕРАЦИОННЫХ УСИЛИТЕЛЯХ
Необходимость в использовании мощных управляемых генераторов тока (ГТ) возникает при измерении малых активных сопротивлений, например обмоток мощных электрических машин, в прецизионных отклоняющих системах для пузырьковых камер, в магнитотерапии и в ряде других областей. Достаточно простые схемные решения формирования двуполярного выходного тока для заземлённой нагрузки получаются при использовании операционных усилителей, охваченных положительной и отрицательной обратной связью [1,2]. При этом предпочтение следует отдать схемам, в которых не используются дополнительные внешние транзисторы, так как они ограничивают диапазон выходных токов и вносят дополнительные нелинейные искажения [1].
Широкое распространение получила схема генератора тока Хауленда-Галалу, на одном операционном усилителе и пяти внешних резисторах. При равных коэффициентах передачи по цепям положительной и отрицательной обратной связи выходное сопротивление схемы стремится к бесконечности [2]. К недостаткам этой схемы относится сильная зависимость выходного сопротивления от точности подбора резисторов и их температурного коэффициента. Проблема может быть решена при использовании усилителей, имеющих встроенные матрицы резисторов.
Рассмотрим возможности формирования выходных токов ±100-500мА. Очевидно, что в выходном каскаде необходимо использовать мощный операционный усилитель с выходным током не менее 1А. На рис.1 представлена схема генератора тока на двух операционных усилителях, причем мощный усилитель ОРА548Т охвачен 100% отрица-