Bài viết này đi sâu vào việc phân tích phân phối của các đại lượng trong bộ lọc Kalman tĩnh (stationary Kalman filter), một công cụ mạnh mẽ trong lĩnh vực xử lý tín hiệu và ước lượng trạng thái. Chúng ta sẽ khám phá các phương trình cơ bản, điều kiện hội tụ và cách tính hiệp phương sai để hiểu rõ hơn về hoạt động và ứng dụng của nó. Bài viết này đặc biệt hữu ích cho những ai mới bắt đầu làm quen với thống kê và bộ lọc Kalman.
Bộ lọc Kalman, còn được gọi là ước lượng tuyến tính bình phương tối thiểu (linear quadratic estimation), là một thuật toán sử dụng chuỗi các phép đo quan sát được theo thời gian, bao gồm nhiễu thống kê và các sai số khác, để tạo ra các ước tính về các biến chưa biết. Các ước tính này có xu hướng chính xác hơn so với những ước tính chỉ dựa trên một phép đo duy nhất. Bộ lọc này ước tính một phân phối xác suất kết hợp (joint probability distribution) trên các biến cho mỗi bước thời gian. Nó được ứng dụng rộng rãi trong dẫn đường, điều khiển phương tiện, xử lý tín hiệu và nhiều lĩnh vực khác.
Ý tưởng chính của bộ lọc Kalman là sử dụng mô hình động của hệ thống (ví dụ: các định luật vật lý về chuyển động), các đầu vào điều khiển đã biết cho hệ thống đó và nhiều phép đo tuần tự (ví dụ: từ cảm biến) để hình thành ước tính về các đại lượng thay đổi của hệ thống (trạng thái của nó). Ước tính này tốt hơn so với việc chỉ sử dụng một phép đo duy nhất. Điều này làm cho nó trở thành một thuật toán hợp nhất cảm biến (sensor fusion) và hợp nhất dữ liệu (data fusion) phổ biến.
Trong bài toán cụ thể này, chúng ta quan tâm đến việc xác định phân phối của đại lượng cập nhật (update term) trong bộ lọc Kalman tĩnh. Giả sử chúng ta có các phương trình của bộ lọc Kalman như sau (lấy từ kalmanfilter.net):
Trong đó Q và R là hằng số, Kalman Gain Kk hội tụ về dạng ổn định K khi k tiến đến vô cùng. Chúng ta muốn tìm hiểu về phân phối của đại lượng cập nhật uk = K (zk - H x̂k).
Chúng ta biết phân phối của sai số đổi mới (innovation term) ik = zk - H x̂k, cụ thể là ik ~ N(0, R + H Pk- HT). Ở đây, ký hiệu Ωk = R + H Pk- HT.
Vì Kalman Gain là hằng số, chúng ta có thể áp dụng các quy tắc tính toán cho giá trị kỳ vọng và kết thúc với uk ~ N(0, K Ωk KT).
Để giải quyết bài toán này, chúng ta cần xem xét mô hình không gian trạng thái (state space model) tuyến tính bất biến theo thời gian rời rạc như sau:
Với wk ~ N(0, Q) là nhiễu quá trình và vk ~ N(0, R) là nhiễu quan sát (wk và vk không tương quan).
Các phương trình bộ lọc Kalman không dừng (non-stationary) cho hệ thống trên được cho bởi:
Trong đó Pk|n biểu diễn hiệp phương sai của xk - x̂k|n. Do đó, hiệp phương sai của ik có thể được biểu diễn là:
var(ik) = var(zk - H x̂k|k-1) = H Pk|k-1 H⊤ + R = Sk
Ở đây, hiệp phương sai của một vector ngẫu nhiên, y, được định nghĩa là var(y) = E[(y - E(y))(y - E(y))⊤]. Trong trường hợp này, ik có giá trị trung bình bằng không, vì vậy E(ik) = 0. Hơn nữa, Kk được tính toán chỉ bằng cách sử dụng các ma trận đã biết, do đó nó là xác định và không ngẫu nhiên. Đánh giá hiệp phương sai của uk = Kk ik do đó mang lại:
var(uk) = var(Kk ik) = Kk var(ik) Kk⊤ = Kk Sk Kk⊤
Khi (F, H) là phát hiện được và R ≻ 0, thì khi k → ∞, các ma trận Pk|k-1 và Pk|k trở thành các ma trận xác định dương hằng số. Ví dụ: ký hiệu giá trị giới hạn này của Pk|k-1 là P∞, thì các ma trận xác định dương hằng số này có thể được tìm thấy bằng cách giải phương trình Riccati sau:
P∞ = F (P∞ - P∞ H⊤ (H P∞ H⊤ + R)-1 H P∞) F⊤ + Q.
Khi giải pháp dừng này của ma trận hiệp phương sai trạng thái P∞ được tìm thấy, thì giới hạn tương ứng của hiệp phương sai của ik được cho bởi:
limk→∞ cov(ik) = H P∞ H⊤ + R = S∞.
Tương tự, giới hạn tương ứng của hiệp phương sai của uk được cho bởi:
limk→∞ cov(uk) = K∞ S∞ K∞⊤ = P∞ H⊤ (H P∞ H⊤ + R)-1 H P∞.
Như vậy, chúng ta đã xác định được phân phối của đại lượng cập nhật uk trong bộ lọc Kalman tĩnh. Việc hiểu rõ phân phối này là rất quan trọng trong nhiều ứng dụng, đặc biệt là khi cần phân tích sự đóng góp của từng trạng thái con vào quá trình ước lượng. Hy vọng bài viết này đã cung cấp một cái nhìn chi tiết và dễ hiểu về chủ đề này.
Bài viết liên quan