Thiết kế bộ lọc Kalman
Tôi mới làm quen với thiết kế bộ lọc Kalman và tôi đang đấu tranh để hiểu cách áp dụng phương pháp bộ lọc Kalman cho vấn đề của mình. Tôi đã đọc một bài báo nghiên cứu có vẻ như mô tả những gì tôi đang cố gắng làmhttps://journals.sagepub.com/doi/pdf/10.5772/57516. Bài báo mô tả các thí nghiệm trong đó dữ liệu được thu thập bao gồm một phép đo nhiễu được ghép nối với một phép đo sự thật. Trong bài báo, các ma trận bộ lọc Kalman được chỉ định như sau:
$$\boldsymbol{X}=\begin{bmatrix} b_{x} &P_{11} &P_{12} &P_{13} \end{bmatrix}^{T}$$
$$\boldsymbol{H}=\begin{bmatrix} 1 &r &0 &0\\ 1 &-r &0 &0\\ 1 &r/\sqrt{2} &r/\sqrt{2} &0\\ 1 &r/\sqrt{2} &0 &r/\sqrt{2}\\ \end{bmatrix}$$
$$\boldsymbol{\Phi} = \boldsymbol{I}_{4\times4}$$
Vectơ trạng thái mô tả các trạng thái thiên vị và yếu tố tỷ lệ. Trong khi tôi không hoàn toàn chắc chắn ma trận H được tạo ra như thế nào, tôi không thể hiểu cách bộ lọc sẽ được sử dụng với dữ liệu thực, tức là phép đo quan sát thay thế các phần tử r trong ma trận H, nhưng sự thật cơ bản mà điều này sẽ được hiệu chuẩn hoặc so sánh với là một giá trị duy nhất tức là chúng ta biết tốc độ thực hoặc gia tốc thực, chúng ta không biết các trạng thái thiên vị thực và hệ số tỷ lệ. Sau đó, làm thế nào bộ lọc bao gồm sự thật cơ bản này mà tôi cho rằng nó sử dụng để cập nhật ước tính của nó về các điều khoản thiên vị và hệ số tỷ lệ. Ai đó có thể làm sáng tỏ cách bộ lọc Kalman được thiết kế để cho phép ước tính sử dụng sự kết hợp giữa phép đo và sự thật cơ bản này không?
Trả lời
Các phép đo không được đưa vào $H$. Các$H$ma trận là "ma trận đo lường" hoặc "ma trận đầu ra" để bạn nhận được ước tính của đầu ra khi bạn nhân$H$ bằng ước tính vector trạng thái của bạn $\hat{X}$. Bạn có thể thấy điều này trong phương trình (23) trong bài báo bạn đã liên kết, trên tài liệu trang 7:
Mô hình có thể được thể hiện như sau:
$$ X_{i+1} = \Phi X_i + w_i \\ Z_{i+1} = HX_{i+1} + \epsilon_{i+1} \\ $$
Hành động của bộ lọc Kalman xảy ra trong phương trình (25), khi Kalman đạt được $K_i$được áp dụng cho sai số đo hoặc "phần dư". Sai số đo lường là sự khác biệt giữa những gì bạn thực sự thấy, vectơ đo lường$Z_i$và những gì bạn mong đợi sẽ thấy, đó là ma trận đầu ra $H_i$ lần trạng thái dự đoán $\hat{X}_{i|i-1}$.
Bộ lọc Kalman lấy phần dư đã sửa đổi đó và thêm nó vào trạng thái dự đoán để có được trạng thái "đã sửa" hoặc đã lọc. Tất cả xảy ra như một phương trình trong (25):
$$ \hat{X}_i = \hat{X}_{i|i-1} + K_i\left(Z_i - H_i\hat{X}_{i|i-1}\right) \\ $$
Lại ở đâu $\hat{X}_{i|i-1}$ thuật ngữ có nghĩa là, "với trạng thái trước đây của tôi $i-1$, mô hình nói gì về trạng thái của tôi lúc $i$ nên là? "Viết lại nó từ phương trình trước đó:
$$ X_{i+1} = \Phi X_i + w_i \\ $$
hoặc là
$$ X_{i|i-1} = \Phi X_{i-1} \\ $$
hoặc là
$$ X_{i|i-1} = (I + A\Delta t)X_{i-1} + B\Delta t u \\ $$
mà chỉ là tích hợp số của
$$ \dot{x} = Ax + Bu \\ $$
như vậy mà
$$ x_i = x_{i-1} + \dot{x} \Delta t\\ x_i = x_{i-1} + (Ax_{i-1} + Bu)\Delta t \\ x_i = x_{i-1} + A\Delta t x_{i-1} + B \Delta t u\\ x_i = (I + A\Delta t) x_{i-1} + B\Delta t u \\ $$
Hy vọng điều này có ý nghĩa hơn!