АВТОМАТИЗАЦИЯ ТЕХНОЛОГИЧЕСКИХ ПРОЦЕССОВ
УДК 621.39:681.327.8
С. М. Кулаков, И. В. Чичерин, В. А.Полетаев
ПРИМЕНЕНИЕ СПЛАЙНОВ ДЛЯ АДАПТИВНОГО СЖАТИЯ СИГНАЛОВ ИЗМЕРИТЕЛЬНОЙ ИНФОРМАЦИИ В СИСТЕМАХ АВТОМАТИЗАЦИИ ТЕХНОЛОГИЧЕСКИХ ПРОЦЕССОВ
В системах автоматизации технологических процессов часто возникает необходимость в длительном хранении сигналов измерительной информации с целью анализа эффективности процессов, оптимизации алгоритмов автоматического управления, анализа аварийных ситуаций, выявления причин брака и т. д. В связи с тем, что объемы хранимых данных велики, актуальна задача их сжатия.
Структурная схема встроенной в АСУТП системы хранения данных представлена на рис. 1. Подсистемы измерения формируют натурные (Н) сигналы измерительной информации (СИИ) Жкн , Vй, К1, УН, искаженные влиянием помехо-вых воздействий , ЫиН,
ЫН, ЫуН . В состав подсистемы оценивания могут входить: аналого-цифровой преобразователь, противоподменные фильтры, блоки оценивания, которые преобразуют выходной сигнал
= ,и~,К,У^ в данные,
подлежащие хранению 2(1.) .
Буфер памяти предназначен для временного хранения оперативных данных с целью формирования массивов, необходимых для работы алгоритма сжатия.
Сжатые данные 2 = ^(2((1))
с выхода кодера, реализующего алгоритм сжатия, поступают в динамическую базу данных (ДБД). Декодер, по запросу пользователя (исследователя), восстанавливает сигнал 2(1.), который отличается от 2( )
на величину е, значение которой зависит от качества алгоритма сжатия и свойств данных, подлежащих сжатию (по условию задачи сжатия е < емакс).
Эффективность функционирования подсистемы хранения данных зависит, главным образом, от используемого алгоритма сжатия-восстановления
СИИ. Последний должен умень-
шать объем поступающих на его вход данных и при этом обеспечивать требуемую точность при их восстановлении.
Содержательно задача синтеза алгоритма сжатия-
восстановления скалярного сигнала ~((.) е 2 ((.) может быть
сформулирована следующим образом: на основании априорных сведений о свойствах дан-
Рис.1. Схема АСУТП со встроенной подсистемой анализа СИИ: Жк°, Жн° , Vа , У - действительные (О) контролируемые (к) и неконтролируемые (н) возмущающие (Ш), управляющие (V) воздействия и выходные (У) сигналы; Шкн, Бн , V , Ун - натурные (Н) контролируемые возмущающие и управляющие воздействия, сигналы состояний (Б) и выходные; ЫШН, Ыин, ЫБН, ЫУН - натурные помеховые (Ы) воздействия в каналах измерений контролируемых возмущающих и управляющих воздействий, сигналов состояний и выходных; 2 (іі) — вектор оценок СИИ в момент іі; 2 — вектор сжатого СИИ; 2 (і ) - вектор восстановленного после сжатия СИИ
ных z(tj) подлежащих сжатию и заданной точности £макс получения оценки z(t) найти наиболее эффективное представление данных z(tj), минимизировав объем требуемой памяти
V( z ) для хранения данных ~ на выходе кодера или
V(Z ) ^ min;
|z(ti ) _ ~ (ti ^ = & — &макс- (1)
Таким образом, синтез алгоритма сжатия состоит в такой
on-line аппроксимации z данных ~ (ti), которая позволяет
свести к минимуму размерность пространства данных, выполнив условия восстановления данных
~z (ti ) по данным z с заданной
точностью £макс-
В качестве аппроксимирующих функций мы предлагаем использовать сплайны (это связано с относительно простой реализациией алгоритмов сжатия на их основе). Сплайны применяют для сжатия речевых и статических видеосигналов
[1], реографических сигналов и растровых изображений [2]. В [3] предлагается использовать сплайны для сжатия временных рядов ДБД различного назначения. Однако алгоритмы, предложенные в этих работах, неэффективны для обработки реальных сигналов измерительной информации систем автоматизации технологических процессов, так как они не учитывают свойства и особенности этих сигналов (изменчивость тренда и свойства помех, наличие выбросов и обрывов сигнала).
Рассмотрим постановку задачи алгоритмизации сжатия на основе кубических сплайнов для систем автоматизации технологических процессов.
Дано:
1) Алгоритм вычисления кубического сглаживающего сплайна:
S(i)= a0 + aj-i + a2-i2 + a3-i3;
Рис. 2. Предлагаемый алгоритм сжатия
(2)
(ао, аь а2, а3) =
ГМнк{ ~(0),~ (1) , ..., ~ (і) , ~ (і + 1) ,..., ~ (п-1) },
(3)
а0, аь а2, а3 - коэффициенты сплайна; ~ (і) - сигнал изме-
рительной информации; і = 0, 1, ..., (п-1); п - количество отсчетов сплайна; Рмнк{.} - оператор, реализующий метод наименьших квадратов (МНК) [4].
2) Модель зашумленного скалярного СИИ в виде аддитивной смеси полезного сигнала и помехи:
~(г) =
Z
, если ~(i) < Zm
~т(і) + єф(і) + єг (ij если Zmin — ~(i j — Zm
, если Z(i) > Zm
~ (4)
где ~т (і) - полезная (трендовая) составляющая СИИ, которая характеризуется низкими частотами и может иметь разрывы; Єф(і) - флуктационная помеховая составляющая (подчиняющаяся например нор-
мальному закону распределения с плавно изменяющейся дисперсией О(Єф) = уаг); єг(і) -грубые выбросы с переменной частотой появления; 2тіп и 2тах
- априорно известные соответственно минимально и максимально возможные значения СИИ (например исходя из диапазона измерения датчика).
3) Натурные СИИ { z(i), і=1, 2, ..., / } , которые адекватно описываются моделью
(4).
4) Ограничение на сложность алгоритмов on-line сжатия по техническим условиям их аппаратной и программной реализации, определяемое средним временем сжатия tcx одного отсчета СИИ, которое не должно превышать среднее время обработки t0 одного отсчета СИИ в системе управления:
tC№ < tO. (5)
Требуется:
Разработать алгоритм сжатия-восстановления на основе кубических сплайнов сглаживающий зашумленный сигнал и адаптирующийся к его изменяющимся свойствам.
Предлагаемый алгоритм сжатия представляет собой процесс выбора из исходной последовательности отсчетов СИИ zz (i) таких подмножеств, которые отвечали бы следующему условию: в каждом подмножестве можно найти сглаживающий сплайн S(i), значения которого отличаются от исходного zz (i) на величину, не превышающую Емакс.
|~(i)- S(i)\ < £макс. (6)
Предлагаемый алгоритм сжатия представлен на рис. 2.
Выбор отсчетов, входящих в первое подмножество начинаем с нулевого отсчета (блок 1):
in = 0. (7)
Начальное количество n значений zz (i) , входящих в подмножество принимается равным пяти (блок 2). Это связано с тем, что кубический сплайн можно провести через любые четыре точки, а значит если n < 5, то сглаживания не будет.
Для определения емакс (блок
3) вычисляется средняя разность между соседними отсчетами z (i) , входящими в подмножество и умножается на коэффициент к:
£макс = - lfz(i) - z(i + })\ (8) n i=0
Так как емакс зависит от разности между соседними отсчетами z (i) , то происходит
адаптация алгоритма к дисперсии флуктационной помехи 0(£ф). Коэффициент к является параметром настройки и его выбор осуществляется на этапе обучения. Чем меньше к, тем меньше будет разница между восстановленным после сжатия
сигналом 2((/) и исходным
СИИ ~ (.), также меньше будет коэффициент сжатия Ксж. Значение коэффициента к следует выбирать таким, чтобы разница между восстановленным после сжатия сигналом 7,(1.) и полезной составляющей СИИ 7т (/) удовлетворяла условию:
|2(/) - ~т(/)| <А7 , (9)
где А - заданная точность сглаживания.
Результаты моделирования работы описываемого алгоритма показывают что соотношение (9), для различных сигналов, наилучшим образом выполняется при 1,5 < к < 5.
Для выявления грубых выбросов текущий отсчет сравнивается с соседними (блок 4) и если условие выполняется, то применяется функция "срезки" линейного типа (блок 5):
~(/ — 1) + емакс,
~(/) - ~(/ -1) > 0;
Ч(г(1)) = <|
2(1 1) емакс,
г(1) - г(1 -1) < 0
(10)
Коэффициенты сплайна определяются МНК по формуле
(3) на основе значений ~ (/) (блок 6). Значения сплайна Б(1) вычисляются по формуле (2) (блок 7). Если разница между отсчетами сплайна 8(1) и сигнала измерительной информации
2 (і) больше £макс (блок 8), то
запоминаются коэффициенты сплайна и количество отсчетов сплайна (подмножества) на предыдущем шаге (блок 9), в противном случае количество отсчетов увеличивается на одно значение (блок 1о) и описанные шаги повторяются, пока условие (блок 8) не выполнится. Таким образом, из последовательности отсчетов ~ (і) выбирается подмножество, для которого выполняется условие (6), и сами отсчеты заменяются данными:
~ (Тсжу ) = {a0, аЪ a2, a3, п\,
(11)
где Тсж - интервал сжатия, Тсж = (Пу-1) • Аі; Аі - шаг дискретизации, V = 1, 2,...
После того как текущее подмножество определено вычисляется номер первого (начального) отсчета ін для следующего подмножества (блок
11) и работа алгоритма повторяется до тех пор, пока не будет сжат весь СИИ, включая последний отсчет ~ (і=/). Сжатый и сглаженный сигнал ~ (Тсж ) с выхода блока сжатия
поступает на вход ДБД.
Алгоритм восстановления сглаженного сигнала после сжатия состоит из двух этапов:
1) последовательное вычисление отсчетов сплайнов для каждого подмножества;
2) "стыковка" сплайнов на
а)
б)
Рис. 5. Исходные и восстановленные после сжатия оценки давления доменного газа в печи
границе подмножеств.
В итоге последовательного вычисления отсчетов сплайнов
(2) для каждого подмножества формируется массив данных: 2(у) =$у(/)\/ = /н ,...,(/н + п)}
(12)
На рис. 3 показан пример процедуры "стыковки" сплайнов 81(1) и 820).
1) Задается длина стыковочного участка пк, т. е. число
отсчетов на концах смежных сплайнов. В примере пк = 5, т. е. "стыковка" производится по отсчетам с 6 по 10 для Б1(1) и с 11 по 15 для Б2(/).
2) По отсчетам, расположенным на стыковочном участке, по формулам (2) и (3), вычисляется стыковочный сплайн
ЗД , к = 0, 1,..., (2пк -1).
3) Отсчеты, расположенные на стыковочном участке, заменяются на отсчеты функции:
СПИСОК ЛИТЕРАТУРЫ
Б(к) =
=Б(і) ■ р(к) + Бк(к) (1 - р(к)),
(13)
где р(к) - весовая функция, изменяющаяся таким образом, что р(0) = р(2пк-1) = 0, р(пк - 1) = р(пк) = 1.
Пример функции р(к), изменяющейся на участках от 0 до 1 по линейному закону показан на рис. 4.
Таким образом, в середине стыковочного участка (отсчеты 10 и 11 для примера на рис. 3) функция Бг(к) = Бк(к). По мере приближения к концам стыковочного участка функция Бг(к) приближается к значениям соответствующих отсчетов Б(і). Величина пк является настроечным параметром "стыковки". В результате формируется массив данных восстановленных после сжатия 2(і):
2(і) = 2(Ді), Бг (к )).(14)
На рис. 5а и 5б показаны фрагменты оценок давления доменного газа в печи: исходные ~2 (і) , восстановленные после сжатия до 2 (і) и после "стыковки" сплайнов 2(і).
Данные сжимались при к = 1,8. Полученный коэффициент сжатия Ксж = 6,5.
Испытания на различных СИИ зарегистрированных в системе автоматизации доменной печи № 5 ОАО "НкМК" показали, что Ксж находится в пределе 2,8 ^ 67.
1. Применение рекуррентных сплайн-функций для обработки речевых и видеосигналов / А. В. Серединский, В. А. Ванде-Кирков, И. А, Буздалина, И. К. Окунева, М. И. Орлова, А. И. Солонина. // Электросвязь. - 1982. - № 2. - С. 60-64.
2. Шелевицький І.В. Методи та засоби сплайн-технології обробки сигналів складної форми. - Кривий Ріг: Европейський університет, 2002.
3. Гуляев А. И. Временные ряды в динамических базах данных. - М. Радио и связь, 1989.
4. Сизиков В. С. Математические методы обработки результатов измерений: Учебник для вузов. -СПб: Политехника, 2001.
□ Авторы статьи:
Кулаков Станислав Матвеевич
- докт.техн.наук, проф., зав. каф. систем автоматизации СибГИУ (г. Новокузнецк)
Чичерин Иван Владимирович - ст. преподаватель каф. информационных и автоматизированных производственных систем
Полетаев Вадим Алексеевич - докт.техн.наук., проф., зав. каф. информационных и автоматизированных производственных систем