Hiểu về Bộ lọc Kalman qua ví dụ Radar đơn giản

08 tháng 4, 2026·6 phút đọc

Bộ lọc Kalman là thuật toán quan trọng dùng để ước tính và dự đoán trạng thái của hệ thống trong môi trường có nhiễu. Bài viết này sẽ hướng dẫn bạn cách thuật toán hoạt động thông qua ví dụ thực tế về radar theo dõi máy bay, từ đó làm rõ các khái niệm toán học thường bị coi là phức tạp.

Hiểu về Bộ lọc Kalman qua ví dụ Radar đơn giản

Hiểu về Bộ lọc Kalman qua ví dụ Radar đơn giản

"Nếu bạn không thể giải thích nó một cách đơn giản, có nghĩa là bạn chưa hiểu đủ sâu về nó." — Albert Einstein

Bộ lọc Kalman là một thuật toán dùng để ước tính và dự đoán trạng thái của một hệ thống khi có sự hiện diện của sự không chắc chắn, chẳng hạn như nhiễu đo lường hoặc các yếu tố bên ngoài không xác định. Đây là một công cụ thiết yếu trong các lĩnh vực như theo dõi đối tượng, điều hướng, robot học và hệ thống điều khiển.

Ví dụ, thuật toán này có thể được áp dụng để ước tính quỹ đạo của chuột máy tính, giúp giảm nhiễu và bù đắp cho sự rung lắc nhẹ của tay, tạo ra đường chuyển động mượt mà hơn. Ngoài kỹ thuật, Bộ lọc Kalman còn được dùng trong phân tích thị trường tài chính để phát hiện xu hướng giá cổ phiếu hay trong dự báo thời tiết.

Mặc dù là một khái niệm tương đối đơn giản, nhiều tài liệu giáo dục thường trình bày nó qua các giải thích toán học phức tạp mà thiếu các ví dụ thực tế. Hướng dẫn này sẽ tiếp cận vấn đề theo cách ngược lại: sử dụng các ví dụ số minh họa và giải thích đơn giản để giúp bạn dễ dàng nắm bắt Bộ lọc Kalman.

Ví dụ về radar theo dõiVí dụ về radar theo dõi

Tại sao cần thuật toán dự đoán?

Để hiểu rõ nhu cầu về thuật toán ước tính trạng thái, hãy xem xét ví dụ về một radar theo dõi máy bay. Trong kịch bản này, máy bay là hệ thống, và đại lượng cần ước tính là vị trí của nó (trạng thái hệ thống).

Radar lấy mẫu mục tiêu bằng cách hướng chùm tia hẹp về phía máy bay và cung cấp các phép đo vị trí. Để theo dõi máy bay, radar phải quét lại mục tiêu ở các khoảng thời gian đều đặn. Điều này có nghĩa là radar phải có khả năng dự đoán vị trí tương lai của máy bay cho lần quét tiếp theo. Nếu thất bại, chùm tia có thể hướng sai, dẫn đến mất dấu mục tiêu. Để thực hiện dự đoán này, chúng ta cần một mô hình mô tả hành vi của hệ thống theo thời gian, hay còn gọi là mô hình động.

Để đơn giản hóa, hãy giả sử máy bay di chuyển theo một đường thẳng trong thế giới một chiều. Trạng thái hệ thống được định nghĩa là khoảng cách từ radar đến máy bay, ký hiệu là ( r ), và vận tốc ( v ).

Giả sử tại thời điểm ( t_{0} ), radar đo được khoảng cách 10.000 mét và vận tốc 200 mét/giây. Trạng thái hệ thống là: [ r_{t_{0}} = 10.000m ] [ v_{t_{0}} = 200m/s ]

Bước tiếp theo là dự đoán trạng thái tại thời điểm ( t_{1} ). Giả sử máy bay duy trì vận tốc không đổi, vị trí dự đoán là: [ r_{t_{1}} = r_{t_{0}} + v \cdot \Delta t = 10.000 + 200 \cdot 5 = 11.000m ]

Tuy nhiên, trong thực tế, các phép đo radar không hoàn toàn chính xác do nhiễu. Hơn nữa, các yếu tố môi trường như gió có thể làm thay đổi vận tốc của máy bay (quá trình nhiễu). Bộ lọc Kalman giải quyết vấn đề này bằng cách cung cấp cả ước tính trạng thái và mức độ không chắc chắn của ước tính đó, đồng thời tối ưu hóa sự chính xác.

Cách hoạt động của Bộ lọc Kalman

Chúng ta sẽ xem xét một ví dụ cụ thể với các bước: Khởi tạo, Dự đoán và Cập nhật.

1. Khởi tạo (Iteration 0)

Tại thời điểm bắt đầu ( t_0 ), chúng ta sử dụng phép đo đầu tiên để khởi tạo bộ lọc. Vector trạng thái ước tính ban đầu (\boldsymbol{\hat{x}}{0,0}) bao gồm khoảng cách và vận tốc: [ \boldsymbol{\hat{x}}{0,0}=\left[\begin{matrix}10.000\200\\end{matrix}\right] ]

Chúng ta cũng cần xác định mức độ không chắc chắn (ma trận hiệp phương sai) của phép đo này, ký hiệu là (\boldsymbol{P}_{0,0}). Giả sử độ lệch chuẩn của khoảng cách là 4m và vận tốc là 0.5m/s, ta có ma trận phương sai (\boldsymbol{R}_0). Trong bước khởi tạo, ta coi độ không chắc chắn của trạng thái bằng độ không chắc chắn của phép đo.

2. Bước Dự đoán (Prediction)

Bây giờ chúng ta dự đoán trạng thái tiếp theo tại ( t_1 ) (sau 5 giây). Sử dụng mô hình vận tốc không đổi, ta có phương trình ngoại suy trạng thái: [ {\hat{\boldsymbol{x}}}{1,0}=\boldsymbol{F}{\hat{\boldsymbol{x}}}{0,0} ] Trong đó (\boldsymbol{F}) là ma trận chuyển tiếp trạng thái. Áp dụng số liệu: [ {\hat{\boldsymbol{x}}}_{1,0}=\left[\begin{matrix}1&5\0&1\\end{matrix}\right]\left[\begin{matrix}10.000\200\\end{matrix}\right]=\left[\begin{matrix}11.000\200\\end{matrix}\right] ]

Ngoài ra, chúng ta cũng cần dự đoán độ không chắc chắn (ma trận hiệp phương sai) cho trạng thái mới. Theo thời gian, độ không chắc chắn thường tăng lên. Chúng ta cũng cộng thêm một ma trận nhiễu quá trình (\boldsymbol{Q}) để tính đến các yếu tố ngẫu nhiên như gió: [ \boldsymbol{P}{1,0}=\boldsymbol{F}\boldsymbol{P}{0,0}\boldsymbol{F}^T + \boldsymbol{Q} ]

Kết quả tính toán cho thấy phương sai của khoảng cách tăng từ 16 lên 28.5, phản ánh việc chúng ta bớt tự tin hơn về vị trí dự đoán sau một khoảng thời gian.

3. Bước Cập nhật (Update)

Tại thời điểm ( t_1 ), radar có một phép đo mới (\boldsymbol{z}_1): [ \boldsymbol{z}_1=\left[\begin{matrix}11.020\202\\end{matrix}\right] ]

Lúc này, chúng ta có hai thông tin: dự đoán (\hat{\boldsymbol{x}}_{1,0}) và phép đo (\boldsymbol{z}_1). Phép đo mới có nhiễu lớn hơn (do tín hiệu yếu), nhưng dự đoán cũ cũng có độ không chắc chắn nhất định. Bộ lọc Kalman sẽ kết hợp hai thông tin này dựa trên độ tin cậy của từng bên.

Trọng số kết hợp này được gọi là Kalman Gain ((\boldsymbol{K})). Nó được tính toán dựa trên việc so sánh độ không chắc chắn của dự đoán và độ không chắc chắn của phép đo: [ \boldsymbol{K}n=\boldsymbol{P}{n,n-1}\boldsymbol{H}^T\left(\boldsymbol{H}\boldsymbol{P}_{n,n-1}\boldsymbol{H}^T+\boldsymbol{R}_n\right)^{-1} ]

Sau khi tính được (\boldsymbol{K}1), ta cập nhật trạng thái: [ \hat{\boldsymbol{x}}{1,1}=\hat{\boldsymbol{x}}_{1,0}+\boldsymbol{K}_1(\boldsymbol{z}1 - \boldsymbol{H}\hat{\boldsymbol{x}}{1,0}) ]

Kết quả sau khi cập nhật là: [ \hat{\boldsymbol{x}}_{1,1}=\left[\begin{matrix}11.009.37\201.43\\end{matrix}\right] ]

Nhận thấy kết quả này nằm giữa giá trị dự đoán (11.000) và giá trị đo được (11.020), nhưng bị kéo về phía dự đoán nhiều hơn vì phép đo lần này có độ tin cậy thấp hơn (nhiễu cao).

Cuối cùng, chúng ta cập nhật lại ma trận hiệp phương sai (\boldsymbol{P}{1,1}). Một đặc tính quan trọng là độ không chắc chắn của ước tính mới ((\boldsymbol{P}{1,1})) sẽ thấp hơn cả độ không chắc chắn của dự đoán và của phép đo đơn lẻ. Điều này có nghĩa là chúng ta đã có được một ước tính chính xác hơn nhờ việc kết hợp thông tin.

Sơ đồ tổng quan quá trình ước tínhSơ đồ tổng quan quá trình ước tính

Tổng kết

Ví dụ đơn giản trên minh họa cho ba giai đoạn chính của Bộ lọc Kalman: Khởi tạo, Dự đoán và Cập nhật. Sau khi khởi tạo, bộ lọc sẽ hoạt động trong một chu trình lặp liên tục Dự đoán -> Cập nhật.

Bộ lọc Kalman không chỉ là một công cụ toán học trừu tượng mà là nền tảng của nhiều công nghệ hiện đại, từ hệ thống dẫn đường GPS, xe tự lái cho đến các thuật toán giao dịch tài chính. Hiểu rõ nguyên lý hoạt động của nó giúp các kỹ sư và nhà phát triển xây dựng được các hệ thống thông minh và ổn định hơn.

Bài viết được tổng hợp và biên soạn bằng AI từ các nguồn tin tức công nghệ. Nội dung mang tính tham khảo. Xem bài gốc ↗