Введение: Актуальность задачи фильтрации и структура работы
Задача фильтрации сигналов в системах автоматического управления (САУ) является краеугольным камнем современной инженерии. В условиях реального производства — от прецизионных систем наведения до контроля сложных химических реакций — полезный сигнал, который отражает истинное состояние объекта, всегда искажен шумами. Эти шумы генерируются на всех этапах: сенсорами (температуры, давления, положения), каналами связи, а также являются следствием неточности самой математической модели процесса. Именно поэтому фильтрация становится не просто этапом обработки, но критическим условием для обеспечения надежности и точности всей системы.
Задача фильтрации состоит в текущей оценке изменяющегося во времени полезного сигнала, который недоступен для непосредственного измерения из-за наложенной на него помехи. Несвоевременное или неточное устранение этих помех приводит к снижению качества управления, увеличению погрешности регулирования и, в критических случаях, к нестабильности всей системы.
Практическая выгода очевидна: качественная фильтрация напрямую конвертируется в более высокую производительность, меньший процент брака и снижение эксплуатационных рисков.
Цель данной работы — разработка теоретических основ и практической реализации задачи фильтрации в САУ. Мы сосредоточимся на строгой математической постановке, детальном анализе классических и современных алгоритмов (Винер, Калман, EKF, адаптивные методы) и методах их программной реализации и оценки эффективности в среде MATLAB/Simulink. Работа призвана продемонстрировать, как математический аппарат позволяет перейти от зашумленных измерений к оптимальной оценке истинного состояния объекта, что критически важно для повышения точности и устойчивости промышленных САУ.
Математическая постановка задачи и моделирование стохастических процессов
Для решения задачи фильтрации необходим переход от описания системы в виде классических передаточных функций к представлению в пространстве состояний. Этот подход позволяет работать с многомерными динамическими системами и оперировать не только входными и выходными сигналами, но и полным внутренним состоянием объекта, что является основой для рекурсивных алгоритмов фильтрации, таких как фильтр Калмана.
Дискретная модель системы в пространстве состояний
В современной теории автоматического управления динамические системы, особенно те, что реализуются на цифровых вычислительных машинах (ЦВМ), представляются в дискретном пространстве состояний. Это представление идеально подходит для решения задачи фильтрации применительно к многомерным системам, где размерность вектора состояния ($X_k$) может достигать нескольких десятков, что требует высокопроизводительных вычислительных средств, таких как MATLAB.
Линейная динамическая система в дискретном пространстве описывается двумя основными матричными уравнениями:
-
Уравнение эволюции состояния (или процесса): Оно описывает, как изменяется внутреннее состояние системы со временем под воздействием управляющих сил и непредсказуемых возмущений (шума процесса).
X(k) = F(k)X(k-1) + B(k)U(k) + W(k)Где:
X(k)— вектор состояния системы в момент времениk.F(k)— матрица эволюции (перехода) состояния системы.U(k)— вектор управляющих воздействий.B(k)— матрица управления.W(k)— вектор шума процесса (возмущения).
-
Уравнение наблюдения (или измерения): Оно описывает связь между истинным состоянием системы ($X_k$) и тем, что фактически измеряется сенсорами ($Z_k$), включая неизбежную ошибку измерения.
Z(k) = H(k)X(k) + V(k)Где:
Z(k)— вектор измерений.H(k)— матрица наблюдения (трансформации состояния в измеряемый выход).V(k)— вектор шума измерений (помеха сенсора).
Моделирование шумов и помех
Задача фильтрации, а следовательно, и критерий оптимальности фильтра, напрямую зависит от адекватного моделирования стохастических (случайных) процессов $W_k$ и $V_k$.
В классической постановке оптимальной линейной фильтрации (фильтр Калмана) векторы шумов процесса ($W_k$) и измерения ($V_k$) моделируются как:
- Некоррелированные случайные процессы: Шумы процесса и измерения независимы друг от друга.
- С нулевым математическим ожиданием (средним): $E[W_k] = 0$ и $E[V_k] = 0$. Это означает, что шумы являются центрированными.
- Белый шум: Предполагается, что шумы некоррелированы во времени, то есть $E[W_k W_j^{\text{T}}] = Q_k \delta_{kj}$ и $E[V_k V_j^{\text{T}}] = R_k \delta_{kj}$, где $\delta_{kj}$ — символ Кронекера, а $Q_k$ и $R_k$ — ковариационные матрицы шума процесса и шума измерения соответственно.
Ключевой аналитический момент: Векторы шумов $W_k$ и $V_k$ предполагаются распределенными по Гауссовскому (Нормальному) закону. Это допущение является критически важным условием для того, чтобы линейный фильтр Калмана был не просто лучшим линейным, но и оптимальным оценщиком в смысле минимизации среднеквадратической ошибки (МСК). При Гауссовском распределении, линейный фильтр Калмана дает точную оценку условной плотности вероятности состояния системы.
Ковариационные матрицы $Q_k$ и $R_k$ определяют степень неопределенности в системе:
| Матрица | Описание | Инженерное значение |
|---|---|---|
| $Q_k$ (Ковариация процесса) | Описывает неопределенность в модели системы (шум процесса $W_k$). | Высокое значение $Q_k$ означает, что мы мало доверяем прогнозу модели, и фильтр больше полагается на новые измерения. |
| $R_k$ (Ковариация измерения) | Описывает неопределенность в измерениях (шум сенсора $V_k$). | Высокое значение $R_k$ означает, что измерениям доверять нельзя, и фильтр больше полагается на прогноз, сделанный моделью. |
Классическая теория оптимальной фильтрации: Сравнение алгоритмов Винера и Калмана
Исторически теория оптимальной фильтрации развивалась по двум основным направлениям, которые, хотя и имеют общий критерий оптимальности (минимизация МСК), радикально отличаются по своей структуре, применимости и требованиям к входным данным. Какой же подход является наиболее эффективным для вашей задачи?
Фильтр Винера: Критерий минимальной среднеквадратической ошибки (МСК)
Фильтр Винера, разработанный Норбертом Винером в 1940-х годах, стал первым фундаментальным решением задачи оптимальной фильтрации. Он предназначен для стационарных случайных процессов и решает задачу блочной обработки.
Принцип работы: Фильтр Винера синтезируется в частотной области (или с использованием преобразования Лапласа/Z-преобразования) и требует априорного знания спектральных плотностей мощности (или автокорреляционных функций) полезного сигнала и шума на всем интервале обработки.
Критерий оптимальности: Фильтр Винера является оптимальным в смысле минимизации среднего квадрата ошибки (МСК, или MSE). То есть, он минимизирует математическое ожидание квадрата разности между истинным сигналом и его оценкой:
E[e²(t)] = E[(X̂(t) - X(t))²] → min
Где $X̂(t)$ — оценка сигнала, а $X(t)$ — истинный сигнал.
Ограничения: Главное ограничение Винеровской фильтрации в САУ реального времени — ее нерекурсивный характер. Фильтр Винера лучше подходит для постобработки (блочной обработки), поскольку каждый новый отсчет потребовал бы полного пересчета всех весовых коэффициентов, что неприемлемо для непрерывной (рекурсивной) работы в реальном времени. Следовательно, для динамических, постоянно меняющихся систем, фильтр Винера не является практичным выбором.
Фильтр Калмана: Рекурсивная оценка состояния
В начале 1960-х годов Рудольф Калман предложил рекурсивное решение, которое стало основой современной инженерии управления и навигации. В отличие от Винера, фильтр Калмана работает во временнóм представлении (в пространстве состояний) и не требует стационарности процессов.
Принцип работы: Фильтр Калмана является рекурсивным алгоритмом, который использует информацию о динамике системы (уравнение эволюции) и текущее зашумленное измерение для получения оптимальной оценки вектора состояния. Он работает в два последовательных этапа:
-
Прогнозирование (Prediction): На этом этапе фильтр использует модель системы для экстраполяции вектора состояния ($\hat{X}_{k|k-1}$) и ковариационной матрицы ошибки ($P_{k|k-1}$) из предыдущего момента времени ($k-1$) в текущий ($k$).
-
Коррекция (Correction): На этом этапе, получив новое измерение ($Z_k$), фильтр вычисляет Коэффициент усиления Калмана ($K_k$). Этот коэффициент определяет, насколько сильно следует доверять новому измерению по сравнению с прогнозом. Затем оценка состояния уточняется ($\hat{X}_{k|k}$) и обновляется ковариационная матрица ошибки ($P_{k|k}$).
Критерий оптимальности: Фильтр Калмана является оптимальным оценщиком в смысле минимизации условного среднего квадрата ошибки (Conditional MSE). Он минимизирует след ковариационной матрицы ошибки оценки $P_k$, которая является мерой неопределенности оценки.
Преимущества:
- Рекурсивность: Позволяет обрабатывать данные последовательно и в реальном времени.
- Оценка полного состояния: Позволяет оценивать полный внутренний вектор состояния объекта ($X_k$), даже если измеряется только часть его компонент.
- Учет неопределенности: Оперирует не только оценками состояния, но и оценками неопределенности (ковариационная матрица $P$), что является его ключевым отличием от простых рекурсивных фильтров.
| Характеристика | Фильтр Винера | Фильтр Калмана |
|---|---|---|
| Область работы | Частотная область / Блочная обработка | Временная область / Рекурсивная обработка |
| Стационарность | Требуется стационарность процессов | Не требуется (обрабатывает нестационарные процессы) |
| Критерий оптимальности | Минимизация MSE (средний квадрат ошибки) | Минимизация Conditional MSE (условный средний квадрат ошибки) |
| Требуемые данные | Спектральные плотности/Автокорреляционные функции | Модель системы (F, H, B) и ковариации шумов (Q, R) |
| Применимость в САУ | Ограничена, чаще для постобработки | Основной инструмент для САУ реального времени |
Методы фильтрации для нелинейных и нестационарных САУ
Классический линейный фильтр Калмана применим только к системам, которые могут быть адекватно описаны линейными уравнениями состояния и наблюдения. Однако подавляющее большинство реальных промышленных САУ (например, робототехника, химические реакторы, аэрокосмические системы) являются нелинейными. Для таких систем необходимо использовать модифицированные алгоритмы, о которых далее пойдет речь.
Расширенный и Сигма-точечный фильтры Калмана (EKF, UKF)
Если функции эволюции состояния $f(X_{k-1}, U_k, W_k)$ и наблюдения $h(X_k, V_k)$ нелинейны, необходимо прибегнуть к методам линеаризации.
Расширенный фильтр Калмана (EKF):
EKF является наиболее распространенным методом для нелинейных систем. Он сохраняет рекурсивную структуру линейного фильтра, но линеаризует нелинейные уравнения вокруг текущей оценки состояния $\hat{X}_{k|k-1}$ путем разложения в ряд Тейлора первого порядка.
Это требует получения в аналитическом виде матрицы Якоби для функций состояния и наблюдения. Если вектор состояния имеет размерность $n \times 1$, а вектор измерения — $m \times 1$, то матрица Якоби для нелинейной функции измерения $h(X)$, определяемая как $H_k = \partial h / \partial X$, будет иметь размерность $m \times n$.
Сложность EKF: Аналитический вывод и программирование матриц Якоби для комплексных многомерных систем является значительной вычислительной и инженерной проблемой. Кроме того, EKF может давать значительные ошибки, если нелинейность системы сильна, поскольку отбрасываются члены ряда Тейлора второго и более высоких порядков. Но разве не стоит задаться вопросом, можно ли обойтись без сложного аналитического вывода Якобианов?
Сигма-точечный фильтр Калмана (UKF):
UKF представляет собой более продвинутый метод, который избегает необходимости аналитического вывода Якобианов. Вместо линеаризации нелинейных функций, UKF использует детерминированный подход для выбора минимального набора так называемых «сигма-точек» (Sample points), которые точно отражают среднее и ковариационную матрицу состояния. Эти точки пропускаются через истинные нелинейные функции, и только после этого производится статистическое преобразование для получения новой оценки. UKF обычно обеспечивает более высокую точность, чем EKF, при схожей вычислительной сложности, что делает его предпочтительным выбором для высокоточных нелинейных оценок.
Адаптивные алгоритмы для оценки ковариаций шумов
Вычислительная устойчивость и оптимальность фильтров Калмана (линейного и нелинейного) критически зависят от точного знания ковариационных матриц шумов $Q$ и $R$. В реальности эти параметры часто априори неизвестны или, что еще сложнее, являются нестационарными (меняются со временем, например, при изменении режимов работы сенсора). На практике это означает, что фильтр, идеально настроенный в лаборатории, может полностью провалиться в полевых условиях.
Для решения этой проблемы применяют адаптивные фильтры Калмана (AKF). Они вводят дополнительный механизм оценки и коррекции параметров $Q$ и $R$ в процессе работы фильтра.
Алгоритм Сейджа-Хьюза (Sage-Husa):
Одним из наиболее распространенных методов адаптации является алгоритм Сейджа-Хьюза. Он позволяет оценивать и корректировать ковариационные матрицы шумов $Q$ и $R$ на основе текущих остаточных векторов (разности между фактическим измерением $Z_k$ и прогнозируемым измерением $H_k \hat{X}_{k|k-1}$).
Основная идея адаптивного подхода Сейджа-Хьюза заключается в том, что остатки (инновации) процесса фильтрации в оптимальном случае должны быть белым шумом. Если они демонстрируют корреляцию или имеют ненулевое среднее, это указывает на неверно заданные параметры $Q$ или $R$, которые необходимо скорректировать. Методология Сейджа-Хьюза включает рекурсивные формулы для обновления оценок $Q_k$ и $R_k$, используя экспоненциальное сглаживание или скользящее окно для учета только недавних данных, что позволяет фильтру адаптироваться к медленно изменяющимся характеристикам шума. Это обеспечивает робастность системы даже при динамическом изменении внешних условий и качества измерительного оборудования.
Программная реализация в MATLAB/Simulink и количественная оценка качества
Программная реализация алгоритмов фильтрации является обязательным этапом проектирования САУ. Среда MATLAB/Simulink, благодаря своей мощной математической базе и наглядным инструментам моделирования, стала стандартом де-факто в инженерии управления.
Моделирование динамических систем с фильтрацией
MATLAB/Simulink предоставляет две основные методологии:
-
Скриптовый подход (MATLAB): Алгоритмы фильтрации (например, Калмана) реализуются в виде
*.m-файлов с использованием матричной алгебры. Этот подход обеспечивает максимальный контроль над процессом вычислений и является более точным и эффективным для чисто вычислительных алгоритмов. -
Визуальное моделирование (Simulink): Используется для создания блок-схем динамических систем. Для реализации фильтрации применяются специализированные пакеты (Toolbox):
- Control System Toolbox: Содержит функции и блоки для работы с моделями в пространстве состояний, что является основой для Калмановской фильтрации.
- Signal Processing Toolbox: Предоставляет инструменты для анализа шумов, проектирования цифровых фильтров (КИХ, БИХ) и генерации стохастических процессов (например, блок «Белый шум»).
В Simulink блок-схема САУ дополняется блоком фильтрации. Этот блок принимает на вход зашумленный сигнал измерения $Z_k$ и управляющее воздействие $U_k$, а на выходе формирует оптимальную оценку состояния $\hat{X}_k$.
Критерии качества и учет конечной разрядности
Количественная оценка эффективности фильтрации является критически важной. Она позволяет сравнить систему с фильтром и без него, а также выбрать оптимальные параметры $Q$ и $R$.
Критерии качества: Для оценки качества САУ, особенно в Simulink (например, в пакете Response Optimization), используются статистические критерии, основанные на ошибке $e(\tau)$, которая представляет собой разность между истинным состоянием (если оно известно в модели) и оценкой состояния.
Одним из важнейших критериев является Среднеквадратическая ошибка (СКО), или ее разновидность — CRMS (Continuous Root Mean Square) для непрерывных систем:
CRMS = √( (1/t) * ∫₀ᵗ e²(τ) dτ )
Минимизация CRMS является прямым подтверждением того, что фильтр работает оптимально, снижая интегральное накопление ошибки за период наблюдения. Для дискретных систем используется аналогичный критерий DRMS (Discrete Root Mean Square).
Учет конечной разрядности: При практической реализации цифровых фильтров (в том числе Калмана) на микроконтроллерах или ПЛИС, необходимо учитывать эффекты конечной разрядности. Это особенно важно для встроенных систем, где используются вычисления с фиксированной запятой. Инженер-разработчик должен уметь анализировать влияние перехода от идеальной математической модели (высокоточных вычислений в MATLAB) к реализации в условиях ограниченной разрядности, поскольку ошибки округления могут привести к вычислительной неустойчивости фильтра.
Эффекты конечной разрядности включают:
- Ошибки квантования коэффициентов: Округление коэффициентов матриц $F, H, Q, R$ до ограниченного числа бит.
- Ошибки округления при арифметических операциях: Накопление ошибок при сложении и умножении, особенно в рекурсивных алгоритмах.
При использовании вычислений с плавающей запятой в ЦОС и САУ, стандартом де-факто является международный стандарт IEEE 754, который определяет форматы и правила арифметических операций.
Заключение
Проведенный анализ подтверждает, что задача фильтрации сигналов в системах автоматического управления является комплексной, требующей глубокого понимания как теории стохастических процессов, так и матричной алгебры в пространстве состояний.
Работа показала, что выбор оптимального алгоритма фильтрации зависит от характеристик системы:
- Для линейных систем со стационарными шумами идеален линейный фильтр Калмана, основанный на Гауссовском допущении и минимизирующий условную среднеквадратическую ошибку.
- Для нелинейных систем требуется применение Расширенного (EKF) или Сигма-точечного (UKF) фильтров, что вносит дополнительные сложности, связанные с вычислением матриц Якоби или выбором сигма-точек.
- В условиях нестационарности и априорной неизвестности параметров шумов необходимы адаптивные алгоритмы, такие как Сейджа-Хьюза, позволяющие динамически корректировать ковариационные матрицы $Q$ и $R$.
Практическая значимость работы заключается в детализации методов программной реализации в среде MATLAB/Simulink, которая позволяет не только моделировать сложные динамические процессы, но и объективно оценивать эффективность разработанных фильтров с помощью стандартизированных критериев, таких как CRMS. Учет факторов конечной разрядности и стандартов (IEEE 754) гарантирует, что теоретическая модель может быть успешно перенесена на реальную аппаратную платформу, обеспечивая высокую точность и устойчивость современных промышленных САУ. Таким образом, оптимальная фильтрация становится не просто математическим упражнением, но фундаментом для создания высоконадежных систем управления нового поколения.
Список использованной литературы
- Анхимюк В.Л., Олейко О.Ф., Михеев Н.Н. Теория автоматического управления. М.: Дизайн ПРО, 2002.
- Бесекерский В.А., Попов Е.П. Теория систем автоматического управления. 4-е изд., перераб. и доп. СПб.: Профессия, 2003.
- Гудвин Г.К., Гребе С.Ф., Сальдаго М.Э. Проектирование систем управления: пер. с англ. М.: БИНОМ, Лаборатория знаний, 2004. 911 с.
- Жимерин Д. Г., Мясников В. А. Автоматизированные и автоматические системы управления. М., 1975.
- Мазур И.И., Шапиро В.Д. и др. Реструктуризация предприятий и компаний. М.: Высшая школа, 2000.
- Теория автоматического управления: Учеб. для машиностроит. спец. вузов / В.Н. Брюханов [и др.]; под ред. Ю.М. Соломенцева. 3-е изд., стер. М.: Высш. шк., 2000.
- ТЕОРИЯ АВТОМАТИЧЕСКОГО УПРАВЛЕНИЯ В СРЕДЕ MATLAB [Электронный ресурс]. URL: sfsamgtu.ru (дата обращения: 30.10.2025).
- Калмановская фильтрация [Электронный ресурс]. URL: basegroup.ru (дата обращения: 30.10.2025).
- Расширенные фильтры Калмана [Электронный ресурс]. URL: exponenta.ru (дата обращения: 30.10.2025).
- ОБРАБОТКА ИНФОРМАЦИИ С ИСПОЛЬЗОВАНИЕМ ФИЛЬТРА КАЛМАНА В MATLAB SIMULINK // Cyberleninka.
- РЕАЛИЗАЦИЯ РАСШИРЕННОГО ФИЛЬТРА КАЛМАНА ДЛЯ НЕЛИНЕЙНОЙ МОДЕЛИ ДВУХЗВЕННОГО МАЯТНИКА // Researchgate.
- Основы моделирования систем автоматического регулирования и электротехнических систем в среде MATLAB [Электронный ресурс]. URL: vlsu.ru (дата обращения: 30.10.2025).
- Проектирование цифровых фильтров в системе MATLAB / Simulink и САПР ПЛИС Quartus [Электронный ресурс]. URL: kit-e.ru (дата обращения: 30.10.2025).
- Проектирование цифровых фильтров в системе Matlab / Simulink и САПР ПЛИС Quartu // Cyberleninka.