Obserwator jako stochastyczny filtr Kalmana: matematyczne powiązanie
Filtr Kalmana realizuje optymalną obserwację systemów dynamicznych poprzez stochastyczną korekcję stanów. W kontekście modelowania silnika elektrycznego pompy głębinowej napięcia fazowe służą jako wejście modelu, a prądy – jako pomiary do synchronizacji modelu wirtualnego z rzeczywistym obiektem. Pozwala to na wyodrębnienie parametrów niedostępnych bezpośrednio, takich jak prędkość obrotowa wirnika.
Matematyczny model predykcji stanów:
\begin{align}
& \hat{x}_k = F_k \hat{x}_{k-1} + B_k \vec{u}_k \\
& P_k = F_k P_{k-1} F_k^T + Q_k
\end{align} \tag{1}
Tutaj $F_k$ – macierz dyskretnej dynamiki obiektu (silnik elektryczny), $\hat{x}_k$ – estymacja wektora stanów z kowariancją $P_k = Cov(\hat{x}_k)$, $Q_k$ – kowariancja szumu procesowego (zaburzenia od niejednorodnej frakcji ropy naftowej), $\vec{u}_k$ – deterministyczne wejścia (napięcia fazowe), $B_k$ – macierz wejść.
Korekcja na podstawie pomiarów
Przewidywane prądy quasi-czujników: $\vec{\mu}_{expected} = H_k \hat{x}_k$, z kowariancją $\Sigma_{expected} = H_k P_k H_k^T$. Rzeczywiste pomiary prądów: $\vec{z}_k$ z kowariancją $R_k = Cov(\vec{z}_k)$.
Połączenie predykcji i pomiaru poprzez iloczyn rozkładów Gaussa daje skorygowane estymaty:
\begin{align}
& \vec{\mu}' = \vec{\mu}_0 + K(\vec{\mu}_1 - \vec{\mu}_0) \\
& \Sigma' = \Sigma_0 - K \Sigma_0 \\
& K = \Sigma_0 (\Sigma_0 + \Sigma_1)^{-1}
\end{align} \tag{4}
Gdzie $(\vec{\mu}_0, \Sigma_0) = (H_k \hat{x}_k, H_k P_k H_k^T)$, $(\vec{\mu}_1, \Sigma_1) = (\vec{z}_k, R_k)$. Powiązanie z przestrzenią stanów:
\begin{align}
& \vec{\mu}' = H_k \hat{x}'_k \\
& \Sigma' = H_k P'_k H_k^T
\end{align} \tag{5}
Podstawienie prowadzi do standardowych wzorów korekcji Kalmana:
\begin{align}
& \hat{x}'_k = \hat{x}_k + K'_k (\vec{z}_k - H_k \hat{x}_k) \\
& P'_k = P_k - K'_k H_k P_k \\
& K'_k = P_k H_k^T (H_k P_k H_k^T + R_k)^{-1}
\end{align} \tag{8}
Kanoniczna forma obserwatora
Pełny schemat iteracji: predykcja według (1), korekcja według (8), następnie $\hat{x}_{k-1} \leftarrow \hat{x}'_k$, $P_{k-1} \leftarrow P'_k$. Podstawienie predykcji do korekcji daje kanoniczny obserwator:
\hat{x}'_k = F_k \hat{x}_{k-1} + B_k \vec{u}_k + K'_k (\vec{z}_k - H_k \hat{x}_k)
- $F_k \hat{x}_{k-1} + B_k \vec{u}_k$: model obiektu z wejściami (napięcia).
- $\vec{z}_k$: pomiary (prądy).
- $K'_k (\vec{z}_k - H_k \hat{x}_k)$: korekcja minimalizująca błąd $\vec{z}_k - H_k \hat{x}_k \to 0$.
W rezultacie wirtualne prądy modelu są synchronizowane z rzeczywistymi, a współrzędne $\hat{x}'_k$ odzwierciedlają prawdziwe stany, włączając prędkość wirnika.
Kluczowe zalety dla programistów middle/senior:
- Interpretacja stochastyczna: Kowariancje $P_k$, $Q_k$, $R_k$ uwzględniają niepewności modelu i pomiarów.
- Rekurencyjność: Algorytm iteracyjny nadaje się do systemów czasu rzeczywistego (DSP, embedded).
- Optymalność: Minimalizuje błąd średniokwadratowy estymacji w szumie Gaussa.
- Rozszerzalność: Łatwo adaptować do przypadków nieliniowych (EKF/UKF).
Co jest ważne
- Filtr Kalmana jest równoważny optymalnemu obserwatorowi stochastycznemu dla systemów liniowych z szumem addytywnym.
- Człon korekcyjny $K'_k$ zapewnia synchronizację modelu z rzeczywistością poprzez minimalizację innowacji $\vec{z}_k - H_k \hat{x}_k$.
- Zastosowanie do silników elektrycznych: wirtualny tachometr na podstawie prądów/napięć bez fizycznego czujnika prędkości.
- Zadanie obserwacji w stochastyce = zadanie filtracji; Kalman – szczególny przypadek rekurencji bayesowskiej.
— Editorial Team
Brak komentarzy.