Tải bản đầy đủ (.doc) (8 trang)

Tài liệu Bộ lọc Kalman ppt

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (211.54 KB, 8 trang )

Bộ lọc Kalman
1.Bộ lọc là gì ?
Trước tiên, bộ lọc là một quá trình xử lý nhằm loạị bỏ những gì không có giá trị hoặc không quan
tâm đến và giữ lại những gì có giá trị sử dụng. Tiếng Anh gọi là filter (giống như cái filtre để pha
cafe). Bạn có thể hình dung nôm na đơn giản cái filter pha cafe cũng làm nhiệm vụ lọc, nó lọc lấy
chất cafein hòa lẫn nước và loại bỏ xác cafe.Trong xử lý tín hiệu, bọ lộc được thiết kế để lọc tín
hiệu « sạch » (cần tìm) từ trong tín hiệu trộn lẫn giữa tín hiệu sạch và nhiều tín hiệu bẩn (không
cần thiết).
Ví dụ đơn giản là bạn có tín hiệu S (signal) trộn lẫn với nhiễu N (noise) trong một tín hiệu tổng
hợp X. Và ta cần lọc để loại bỏ N ra khỏi X.
X(k)=S(k)+N(k)
Nếu bạn biết rằng nhiễu N dao động xung quanh 0 và có giá trị trung bình là 0
khi M đủ lớn.
Ta thấy rằng để loại bỏ N, ta có thể lấy tổng của X trên một cửa sổ có kích thước M.

Nhìn ở một khía cạnh nào đó ta đã loại bỏ được N
Tuy nhiên, cũng cần phải chú ý rằng cái bộ lọc có lọc kiểu gì thì cũng không thể loại hết toàn bộ
nhiễu. Thế nên, các bộ lọc cũng chỉ lọc ra được tín hiệu sạch, theo nghĩa không còn nhiều nhiễu,
nhưng cũng chỉ là ước lượng của tín hiệu thực, chứ không phải chính xác là tín hiệu thực.
2.Bộ lọc Kalman là gì ?
Trước tiên tên Kalman là tên của người nghĩ ra cái bộ lọc đấy. Vào năm 1960, R.E Kalman đã
công bố bài báo nổi tiếng về một giải pháp truy hồi để giải quyết bài tóan lọc thông tin rời rạc
tuyến tính (discrete data linear filtering). Tên đầy đủ của bài báo là "A New Approach to Linear
Filtering and Prediction Problems" . Từ đó đến nay cùng với sự phát triển của tính tóan kỹ thuật
số, bộ lọc Kalman đã trở thành chủ đề nghiên cứu sôi nổi và được ứng dụng trong nhiều ngành kỹ
thuật công nghệ khác nhau : trong tự động hóa, trong định vị cũng như trong viễn thông (và nhiều
lĩnh vực khác nữa).
Một cách khái quát, bộ lọc Kalman là một tập hợp các phương trình tóan học mô tả một phương
pháp tính tóan truy hồi hiệu qủa cho phép ước đoán trạng thái của một quá trình (process) sao cho
trung bình phương sai của độ lệch (giữa giá trị thực và giá trị ước đóan) là nhỏ nhất. Bộ lọc
Kalman rất hiệu quả trong việc ước đóan các trạng thái trong quá khứ, hiện tại và tương lai thậm


chí ngay cả khi tính chính xác của hệ thống mô phỏng không được khẳng định.
3. Học bộ lọc Kalman như thế nào?
3.1. Sơ kết
Chúng ta đã biết, bộ lọc chỉ đơn giản như trên, nhưng chúng ta chưa biết bộ lọc Kalman như thế
nào (ngoại trừ một định nghĩa khái quát)?
Thực ra nó cũng chỉ đơn giản là từ một tín hiệu cần đo, khi chúng ta đo, sẽ có những sai số từ cảm
biến, ảnh hưởng đến tín hiệu cần đo, môi trường đo có nhiễu... Tất cả những thứ này, tổng hợp lại,
sẽ cho ta một kết quả đo.
Học mạch lọc Kalman như thế nào? Đây là một câu hỏi lớn không lớn, nhỏ không nhỏ, nhưng
tính quan trọng của nó dành cho những người mới học là không thể chối cãi. Tuy có thể chưa thấu
đáo, tường tận, song hy vọng nó có thể giúp các bạn có những ý tưởng cơ bản về mạch lọc
Kalman, và bắt đầu nghiên cứu nó một cách phổ biến.
Một trong những kiến thức nền tảng để có thể hiểu về nguyên lý của bộ lọc Kalman chính là xác
suất. Học bộ lọc Kalman hoàn toàn không khó. Để tìm hiểu về xác suất (dĩ nhiên là nếu bạn không
biết về nó) thì có thể tham khảo ở đây.
3.2. Ví dụ về ước lượng 1
Ví dụ chúng ta lấy thước để đo chiều dài của một cây bút. Lần thứ nhất, chúng ta đo được là
10cm, lần thứ hai chúng ta đo được là 10.05cm chẳng hạn. Vậy thì nếu hỏi chiều dài cây bút là
bao nhiêu?
Có phải trong đầu các bạn luôn cho một giá trị ước lượng tốt nhất là 10.025cm? Điều đó đúng,
nhưng căn cứ vào đâu để các bạn ước lượng như vậy?
Rồi, nếu bây giờ, một anh F lấy cây thước đo chiều dài, và được kết quả là 10.02 cm, và một bạn
T khác cũng lấy cây thước đo, và được chiều dài 10.07cm. Nếu chỉ có hai kết quả này thôi, chúng
ta sẽ lại ước lượng rằng chiều dài của cây thước là 10.045 cm!
Vậy thì, thực chất là không thể đánh đồng được chuyện đo đạc này, mà cần có một hệ số đánh giá.
Chiều dài cây thước là
chiều dài = alpha * 10.02 (của F đo) + (1-alpha)*10.07 (của T đo)
Vậy alpha sẽ là bao nhiêu? Căn cứ vào đâu để lựa chọn alpha?
Ví dụ trên để các bạn thấy được khái niệm về ước lượng.
3.3. Ví dụ về ước lượng 2

Giả sử chúng ta có một chiếc xe di chuyển với vận tốc 20m/s theo một phương x. Vị trí ban đầu
của xe là 0.
Khi đó, vận tốc của xe sẽ là:
Trong đó, là nhiễu vận tốc đo.
Kết quả, nếu bây giờ chúng ta cần xác định vị trí của xe sau 2 phút. Và giả sử chúng ta chỉ quan
tâm đến cảm biến đo vị trí hoặc cảm biến đo vận tốc của xe. Chúng ta sẽ chỉ ra được 2 phương
pháp ước lượng như sau:
a) Phương pháp 1:
....
Đây là ước lượng vị trí của xe, chỉ nhờ vào cảm biến vị trí của xe, trong đó, là các giá trị vị trí
xe đo được.
b) Phương pháp 2:
(vị trí ban đầu của xe)
(1 giây sau nếu giả sử xe di chuyển với vận tốc 20m/s)
(1 giây sau nữa)
...
Như vậy, cả hai phương pháp trên, cũng đều là một cách để chúng ta ước lượng vị trí của xe.
Vậy áp dụng lại 3.2, chúng ta sẽ thấy rằng, nếu dùng hai phương pháp ước lượng khác nhau,
chúng ta cũng sẽ có các giá trị ước lượng khác nhau. Chúng ta sẽ tin cách ước lượng nào hơn?
c) Phương pháp 3:
Vậy thì, chúng ta thử xem phương pháp ước lượng thứ ba như sau:
Vậy các bạn có nhận xét gì về cách ước lượng này?
Một cách chung chung (không phải là tổng quát, chỉ là khái niệm sơ khởi), nhiệm vụ của bộ lọc
Kalman, chính là tìm ra hệ số alpha tối ưu để tìm gần đúng với x(t) nhất.
Vậy nhiệm vụ của mạch lọc Kalman được phát biểu rõ hơn một chút, đó là tìm ước lượng gần
đúng với x(t) nhất (giá trị ước lượng gần đúng với giá trị thực tế nhất) thông qua hiểu biết của
chúng ta về mô hình của hệ thống.
3.4. Bản chất của bộ lọc Kalman
Hình trên mô hình hóa hoạt động của mạch lọc Kalman. Chúng ta có tín hiệu đo được, chúng ta có
mô hình của tín hiệu đo được (đòi hỏi tuyến tính) và sau đó là áp dụng vào trong hệ thống phương

trình của mạch lọc để ước lượng trạng thái quan tâm. Thực ra tín hiệu đo là không khó, phương
trình đã có sắn, cái chung ta cần chính là mô hình hoá hệ thống. Để có thể ứng dụng một cách
hiểu quả mạch lọc Kalman thì chúng ta phải mô hình hóa được một cách tuyến tính sự thay đổi
của trạng thái cần ước lượng (estimate) hoặc ước đoán (predict).
4. Bộ lọc Kalman rời rạc
Bộ lọc Kalman đề cập đến bài toán tổng quát đi ước lượng trạng thái của một quá trình được mô
hình hóa một cách rời rạc theo thời gian bằng một phương trình ngẫu nhiên tuyến tính như sau
(1)
và kết quả đo đạc
(2)
Trong đó w và v là 2 vector biến ngẫu nhiên đại diện cho nhiễu hệ thông và nhiễu đo đạc. 2 biến
ngãy nhiên này độc lập và được giả sử là tuân theo phân bố Gauss với trung bình =0 và ma trận
hiệp biến (covariance) lần lượt là Q và R

×