Xây Dựng Bộ Lọc Kalman đơn Giản - Tamgiang
Có thể bạn quan tâm
Bộ lọc Kalman là một bộ lọc đệ quy để ước lượng trạng thái của hệ thống tuyến tính, và cả hệ thống phi tuyến khi áp dụng phép ước lượng phi tuyến sang tuyến tính.
Bộ lọc Kalman được ứng dụng rất nhiều trong lĩnh vực kĩ thuật, đặc biệt là lĩnh vực điều khiển. Và dĩ nhiên lý thuyết của bộ lọc hoàn toàn không đơn giản, nhưng may mắn là có thể tìm thấy trên mạng vô số tài liệu về bộ lọc này cũng như sách, báo.
Dưới đây là bài viết tôi thực hiện khi thực tập đại học, trình bày rất đơn giản về bộ lọc Kalman, cũng như một ứng dụng nho nhỏ của bộ lọc này, nhằm mục đích loại bỏ tín hiệu nhiễu từ cảm biến. Chương trình được mô phỏng bằng Matlab.
Các giá trị đọc được từ cảm biến thường chứa nhiễu, tác động bởi nhiều nguồn khác nhau, như nhiễu quá trình, nhiễu nhiệt, nhiều từ bộ biến đổi ADC… Giá trị đọc được do đó dao đông ngay cả khi giá trị thực là hằng số. Ví dụ đơn giản như một cảm biến phao trên mặt nước của một bình chứa, gợn sóng làm giá trị thu được dao động xung quanh vị trí cân bằng ngay cả khi mực nước không đổi. Ngay lúc này bạn có thể nghĩ rằng chỉ cần lấy giá trị trung bình của các giá trị đọc về là ổn. Đúng vậy, cộng trung bình là phương pháp rất đơn giản, và khá hiệu quả. Còn Kalman là bộ lọc thông thấp bậc nhất trong trường hợp này.
Và trong trường hợp có nhiều giá trị liên quan đến đại lượng cần ước lượng được sử dụng, bộ lọc Kalman có thể kết hợp nhiều giá trị đó lại với nhau, cho ra kết quả chính xác hơn. Ví dụ như nếu biết thêm được lưu lượng nước vào và ra của bình chứa thì tổng cộng có 2 giá trị liên quan đến mực nước, là giá trị mực nước và lưu lượng vào ra, kết quả sẽ khả quan hơn với bộ lọc Kalman.
Bài viết cũng có bàn luận đến vấn đề khi giá trị mong muốn thay đổi, thì cần có sự thỏa hiệp giữa tốc độ bám đuổi của giá trị ước lượng với giá trị thực với độ dao động của giá trị ước lượng. Tức là khi muốn giá trị ước lượng thay đổi nhanh thì giá trị ước lượng không phẳng lắm, còn muốn giá trị ước lượng được phẳng hơn thì nó sẽ ít có khả năng bám theo sự thay đổi nhanh của giá trị thực tế.
Điểm màu xanh là giá trị đọc được trực tiếp từ cảm biến, đường màu đỏ là giá trị ước lượng với bộ lọc Kalman bậc 1.
Chương trình thực hiện bộ lọc bậc 1 rất đơn giản, có thể thực hiện đễ dàng trên các chíp VĐK 8 bít, có thể sử dụng để xử lý các tín hiệu từ cảm biến để cho kết quả tốt hơn.
Xem tài liệu này trên Scribd
Chia sẻ:
- X
Có liên quan
Từ khóa » Bộ Lọc Kalman Trong Arduino
-
Bộ Lọc Kalman – Giải Pháp Chống Nhiễu Tuyệt Vời Cho Mọi Dự án Sử ...
-
Bộ Lọc Kalman | Cộng đồng Arduino Việt Nam
-
Bộ Lọc Kalman Chống Nhiễu Tuyệt Vời Cho Cảm Biến - Điện Tử Hello
-
[PDF] Bộ Lọc Kalman – Giải Pháp Chống Nhiễu Tuyệt Vời Cho Mọi Dự án Sử ...
-
DA38: LỌC NHIỄU CHO CẢM BIẾN SỬ DỤNG BỘ LỌC KALMAN
-
Arduino | Chống Nhiễu Analog Đơn Giản Bằng Thuật Toán Kalman
-
[PDF] ứng Dụng Bộ Lọc Kalman Trong Việc Xử Lý Tín Hiệu Thu được Từ
-
Ứng Dụng Bộ Lọc Kalman để Xử Lý Tín Hiệu Từ Cảm Biến độ ẩm Soil ...
-
Da40: ứng Dụng Bộ Lọc Kalman Lọc Nhiễu Cho Cảm Biến Gia Tốc ...
-
Kalman Filter Library - Arduino Reference
-
Cộng đồng Arduino Việt Nam - Bộ Lọc Kalman - Facebook
-
Bộ Lọc Kalman – Giải Pháp Chống Nhiễu Tuyệt Vời Cho Mọi Dự án ...
-
[PDF] điều Khiển Mô Hình Con Lắc Ngược Sử Dụng Bộ điều Khiển Lqr Với Hai ...
-
[HELP] Bác Pro Nào Giúp Em Cái Bộ Lọc Nhiễu Tín Hiệu Cho Arduino Với!
-
Bộ Lọc Kalman – Wikipedia Tiếng Việt