В системах автоматизации технологических процессов часто возникает необходимость в длительном хранении сигналов измерительной информации с целью анализа эффективности процессов, оптимизации алгоритмов автоматического управления, анализа аварийных ситуаций, выявления причин брака и т. д. В связи с тем, что объемы хранимых данных велики, актуальна задача их сжатия.
Структурная схема встроенной в АСУТП системы хранения данных представлена на рис. 1. Подсистемы измерения формируют натурные (Н) сигналы измерительной информации (СИИ) WkH, UH, SH, YH, искаженные влиянием помеховых воздействий NwH, NUH, NSH, NYH. В состав подсистемы оценивания могут входить: аналого-цифровой преобразователь, противоподменные фильтры, блоки оценивания, которые преобразуют выходной сигнал Z̃ = {W̃, Ũ, S̃, Ỹ} в данные, подлежащие хранению Z̃(ti).
где
- WKD, WHD, UD, YD — действительные (D) контролируемые (к) и неконтролируемые (н) возмущающие (W), управляющие (U) воздействия и выходные (Y) сигналы
- WKH, SH, UH, YH — натурные (И) контролируемые возмущающие и управляющие воздействия, сигналы состояний (S) и выходные
- NwH, NUH, NSH, NYH — натурные помеховые (N) воздействия в каналах измерений контролируемых возмущающих и управляющих воздействий, сигналов состояний и выходных
- Z̃(ti) — вектор оценок СИИ в момент t
- i; Z͌ -вектор сжатого СИИ
- Ẑ(ti) — вектор восстановленного после сжатия СИИ
Буфер памяти предназначен для временного хранения оперативных данных с целью формирования массивов, необходимых для работы алгоритма сжатия.
Сжатые данные Z͌=F(Z̃(ti)) с выхода кодера, реализующего алгоритм сжатия, поступают в динамическую базу данных (ДБД). Декодер, по запросу пользователя (исследователя), восстанавливает сигнал Ẑ(ti), который отличается от Z̃(ti) на величину е, значение которой зависит от качества алгоритма сжатия и свойств данных, подлежащих сжатию (по условию задачи сжатия ɛ<ɛмакс).
Эффективность функционирования подсистемы хранения данных зависит, главным образом, от используемого алгоритма сжатия-восстановления СИИ. Последний должен уменьшать объем поступающих на его вход данных и при этом обеспечивать требуемую точность при их восстановлении.
Содержательно задача синтеза алгоритма сжатия- восстановления скалярного сигнала z̃(tj) ϵ Z̃(ti) может быть сформулирована следующим образом: на основании априорных сведений о свойствах данных z̃(tj) подлежащих сжатию и заданной точности ɛмакс получения оценки ẑ(tj) найти наиболее эффективное представление данных z̃(ti), минимизировав объем требуемой памяти V(z͌) для хранения данных z͌ на выходе кодера или:
(1)
Таким образом, синтез алгоритма сжатия состоит в такой on-line аппроксимации z͌ данных z̃(ti), которая позволяет свести к минимуму размерность пространства данных, выполнив условия восстановления данных z̃(ti) по данным z͌ с заданной точностью ɛмакс.
В качестве аппроксимирующих функций мы предлагаем использовать сплайны (это связано с относительно простой реализацией алгоритмов сжатия на их основе). Сплайны применяют для сжатия речевых и статических видеосигналов, географических сигналов и растровых изображений [2]. В [3] предлагается использовать сплайны для сжатия временных рядов ДБД различного назначения.
Однако алгоритмы, предложенные в этих работах, неэффективны для обработки реальных сигналов измерительной информации систем автоматизации технологических процессов, так как они не учитывают свойства и особенности этих сигналов (изменчивость тренда и свойства помех, наличие выбросов и обрывов сигнала).
Рассмотрим постановку задачи алгоритмизации сжатия на основе кубических сплайнов для систем автоматизации технологических процессов
Исходные данные:
- Алгоритм вычисления кубического сглаживающего сплайна:
(2)
(3)
где
- ao, a1, a2, a3 — коэффициенты сплайна
- z̃(i) — сигнал измерительной информации
- i = 0, 1,… (n—1)
- n — количество отсчетов сплайна
- FMHK{…} — оператор, реализующий метод наименьших квадратов (МНК) [4]
2. Модель зашумленного скалярного СИИ в виде аддитивной смеси полезного сигнала и помехи:
(4)
где
- z̃T(i) — полезная (трендовая) составляющая СИИ, которая характеризуется низкими частотами и может иметь разрывы
- Ꜫф(i) — флуктационная помеховая составляющая (подчиняющаяся по нормальному закону распределения с плавно изменяющейся дисперсией D(Ꜫф) = var)
- Ꜫz(i) — грубые выбросы с переменной частотой появления
- Zmin и Zmax априорно известные соответственно минимально и максимально возможные значения СИИ (например исходя из диапазона измерения датчика)
3. Натурные СИИ {z(i), i—l, 2, …, J} , которые адекватно описываются моделью (4)
4. Ограничение на сложность алгоритмов on-line сжатия по техническим условиям их аппаратной и программной реализации, определяемое средним временем сжатия tСЖ одного отсчета СИИ, которое не должно превышать среднее время обработки t0 одного отсчета СИИ в системе управления:
(5)
Необходимо:
Разработать алгоритм сжатия-восстановления на основе кубических сплайнов сглаживающий зашумленный сигнал и адаптирующийся к его изменяющимся свойствам.
Предлагаемый алгоритм сжатия представляет собой процесс выбора из исходной последовательности отсчетов СИИ z̃(i) таких подмножеств, которые отвечали бы следующему условию: в каждом подмножестве можно найти сглаживающий сплайн S(i), значения которого отличаются от исходного z̃(i) на величину, не превышающую ɛмакс.
Предлагаемый алгоритм сжатия представлен на рис. 2.
(6)
Выбор отсчетов, входящих в первое подмножество начинаем с нулевого отсчета (блок 1):
(7)
Начальное количество n значений z̃(i), входящих в подмножество принимается равным пяти (блок 2). Это связано с тем, что кубический сплайн можно провести через любые четыре точки, а значит если n<5, то сглаживания не будет.
Для определения ɛмакс (блок 3) вычисляется средняя разность между соседними отсчетами z̃(i), входящими в подмножество и умножается на коэффициент k:
(8)
Так как ɛмакс зависит от разности между соседними отсчетами z̃(i), то происходит адаптация алгоритма к дисперсии флуктуационной помехи D(ɛф). Коэффициент к является параметром настройки и его выбор осуществляется на этапе обучения. Чем меньше k, тем меньше будет разница между восстановленным после сжатия сигналом z̃(ti) и исходным СИИ z̃(i), также меньше будет коэффициент сжатия Ксж. Значение коэффициента k следует выбирать таким, чтобы разница между восстановленным после сжатия сигналом ẑ(ti) и полезной составляющей СИИ zT(i) удовлетворяла условию:
(9)
где
- Δz — заданная точность сглаживания
Результаты моделирования работы описываемого алгоритма показывают что соотношение (9), для различных сигналов, наилучшим образом выполняется при 1,5 <k<5.
Для выявления грубых выбросов текущий отсчет сравнивается с соседними (блок 4) и если условие выполняется, то применяется функция «срезки» линейного типа (блок 5):
(10)
Коэффициенты сплайна определяются МНК по формуле (3) на основе значений z̃(i) (блок 6). Значения сплайна S(i) вычисляются по формуле (2) (блок 7). Если разница между отсчетами сплайна S(i) и сигнала измерительной информации Z(z) больше ɛмакс (блок 8), то запоминаются коэффициенты сплайна и количество отсчетов сплайна (подмножества) на предыдущем шаге (блок 9), в противном случае количество отсчетов увеличивается на одно значение (блок 10) и описанные шаги повторяются, пока условие (блок 8) не выполнится. Таким образом, из последовательности отсчетов z̃(i) выбирается подмножество, для которого выполняется условие (6), и сами отсчеты заменяются данными:
(11)
где
- Тсж — интервал сжатия, Тсж = (nv-l).Δt; Δt — шаг дискретизации, ν = 1, 2,…
После того как текущее подмножество определено вычисляется номер первого (начального) отсчета iH для следующего подмножества (блок 11) и работа алгоритма повторяется до тех пор, пока не будет сжат весь СИИ, включая последний отсчет z̃(i=J). Сжатый и сглаженный сигнал z͌(Tсжv ) с выхода блока сжатия поступает на вход ДБД.
Алгоритм восстановления сглаженного сигнала после сжатия состоит из двух этапов:
- Последовательное вычисление отсчетов сплайнов для каждого подмножества
- «Стыковка» сплайнов на границе множеств
В итоге последовательного вычисления отсчетов сплайнов (2) для каждого подмножества формируется массив данных:
(12)
На рис. 3 показан пример процедуры «стыковки» сплайнов S1(i) и S2(i).
Получаем следующее:
- Задается длина стыковочного участка nk, т. е. число отсчетов на концах смежных сплайнов. В примере nk = 5, т. е. «стыковка» производится по отсчетам с 6 по 10 для S1(i) и с 11 по 15 для S2(i).
- По отсчетам, расположенным на стыковочном участке, по формулам (2) и (3), вычисляется стыковочный сплайн Sk(k), k = 0,1,…, (2nk-1).
Отсчеты, расположенные на стыковочном участке, заменяются на отсчеты функции:
(13)
где
- р(k) — весовая функция, изменяется таким образом что
Пример функции р(k), изменяющейся на участках от 0 до 1 по линейному закону показан на рис. 4.
Таким образом, в середине стыковочного участка (отсчеты 10 и 11 для примера на рис. 3) функция Sr(k) = Sk(k). По мере приближения к концам стыковочного участка функция Sr(k) приближается к значениям соответствующих отсчетов S(i). Величина nk является настроечным параметром «стыковки». В результате формируется массив данных, восстановленных после сжатия z(i):
(14)
На рис. 5а и 56 показаны фрагменты оценок давления доменного газа в печи: исходные z̃(i), восстановленные после сжатия до z̃(i) и после «стыковки» сплайнов ẑ(i). Данные сжимались при k=1,8. Полученный коэффициент сжатия Kсж=6,5.
Испытания на различных СИИ зарегистрированных в системе автоматизации доменной печи № 5 ОАО «НкМК» показали, что Ксж находится в пределе 2,8 ÷ 67.
Список литературы
- Применение рекуррентных сплайн-функций для обработки речевых и видеосигналов / А.В. Серединский, В.А. Ванде-Кирков, И.А. Буздалина, И.К. Окунева, М.И. Орлова, А.И. Солонина. // Электросвязь. — 1982. — № 2. — С. 60-64
- Шелевицький I.B. Методи та засоби сплайн-технологii обробки сигналiв складноi форми. — Кривий Piг Европейський унiверситет, 2002
- Гуляев А. И. Временные ряды в динамических базах данных. — М. Радио и связь, 1989.
- Сизиков В. С. Математические методы обработки результатов измерений: Учебник для вузов. — СПб: Политехника, 2001
Источник: Применение сплайнов для адаптивного сжатия сигналов измерительной информации в системах автоматизации технологических процессов / С.М. Кулаков, И.В. Чичерин, В.А. Полетаев // Вестник КузГТУ. — 2005. — №2. — C. 67-70