Xem mẫu
- Bộ lọc Kalm
man
1.Bộ lọc là gì ?
Trước tiê bộ lọc là một quá trìn xử lý nhằm loạị bỏ nh
ên, nh m hững gì khôn có giá trị hoặc không
ng
quan tâm đến và giữ lại những gì có giá trị sử dụng. Tiến Anh gọi là filter (giốn như cái filtre
m ì ử ng ng
để pha caafe). Bạn có thể hình dun nôm na đ giản cái filter pha cafe cũng làm nhiệm vụ lọ
ng đơn ọc,
nó lọc lấy chất cafein hòa lẫn nướ và loại bỏ xác cafe.Trong xử lý tí hiệu, bọ lộ được thiế kế
y n ớc ỏ ín ộc ết
để lọc tín hiệu « sạch » (cần tìm) từ trong tín hiệu trộn lẫ giữa tín hi sạch và n
n h ) n ẫn iệu nhiều tín hiệu
bẩn (không cần thiết)).
Ví dụ đơ giản là bạn có tín hiệu S (signal) tr lẫn với n
ơn n u rộn nhiễu N (noi trong mộ tín hiệu tổ
ise) ột ổng
hợp X. V ta cần lọc để loại bỏ N ra khỏi X.
Và
k)+N(k)
X(k)=S(k
Nếu bạn biết rằng nh N dao độ xung qu
hiễu ộng uanh 0 và có giá trị trung bình là 0
g
kh M đủ lớn.
hi
Ta thấy r
rằng để loại bỏ N, ta có t lấy tổng của X trên m cửa sổ có kích thước M.
b thể một c
Nhìn ở m khía cạnh nào đó ta đ loại bỏ đư N
một h đã ược
Tuy nhiê cũng cần phải chú ý r
ên, rằng cái bộ lọc có lọc kiể gì thì cũn không thể loại hết toàn bộ
ểu ng n
nhiễu. Th nên, các bộ lọc cũng c lọc ra đư tín hiệu s
hế b chỉ ược sạch, theo ng không c nhiều nh
ghĩa còn hiễu,
nhưng cũ chỉ là ướ lượng của tín hiệu thự chứ khôn phải chính xác là tín h thực.
ũng ớc a ực, ng h hiệu
2.Bộ lọc Kalman là gì ?
Trước tiê tên Kalma là tên của người nghĩ ra cái bộ lọc đấy. Vào n 1960, R Kalman đ
ên an a c năm R.E đã
công bố b báo nổi tiếng về một giải pháp tr hồi để gi quyết bài tóan lọc thô tin rời rạ
bài t t ruy iải ông ạc
tuyến tính (discrete data linear fil
d ltering). Tên đầy đủ của bài báo là " New Appr
n a "A roach to Linear
Filtering and Predict
g tion Problem . Từ đó đ nay cùng với sự phá triển của tí tóan kỹ t
ms" đến g át ính thuật
số, bộ lọc Kalman đã trở thành ch đề nghiên cứu sôi nổi và được ứn dụng tron nhiều ngà
c ã hủ n ng ng ành
kỹ thuật công nghệ khác nhau : tr
k rong tự động hóa, trong định vị cũng như trong viễn thông (
g g (và
nhiều lĩnh vực khác nữa).
n
Một cách khái quát, bộ lọc Kalm là một tập hợp các ph
h b man p hươ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 c phép ướ đoán trạng thái của một quá trình (process) sa
h h cho ớc g ao
cho trung bình phươn sai của độ lệch (giữa giá trị thực v giá trị ướ đóan) là nh nhất. Bộ lọc
g ng ộ và ớc hỏ
Kalman r hiệu quả trong việc ư đóan các trạng thái tr
rất ước c rong quá khứ hiện tại và tương lai t
ứ, à 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ă cứ vào đâ để các bạn ước lượng như vậy?
ăn âu n
Rồi, nếu bây giờ, mộ anh F lấy c thước đo chiều dài, v được kết quả là 10.02 cm, và một bạn
ột cây o và 2 t
T khác cũ 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,
ũng à u m. có uả
chúng ta sẽ lại ước lư
ượng rằng ch dài của cây thước là 10.045 cm!
hiều à
Vậy thì, t
thực chất là không thể đ
đánh đồng đư chuyện đ đạc này, m cần có m hệ số đán
ược đo mà một nh
giá.
Chiều dà cây thước là
ài
chiều dài = alpha * 10.02 (của F đo) + (1-alp
i pha)*10.07 (c T đo)
của
Vậy alph sẽ là bao nhiêu? Căn c vào đâu đ lựa chọn a
ha n cứ để alpha?
Ví dụ trê để các bạn thấy được k niệm về ước lượng
ên n khái ề g.
3.3. Ví d về ước lư
dụ ượng 2
Giả sử ch
húng ta có một chiếc xe di chuyển vớ vận tốc 20
m ới 0m/s theo m phương x Vị trí ban đ
một x. đầu
của xe là 0.
à
Khi đó, v tốc của xe sẽ là:
vận x
Trong đó
ó, là nh vận tốc đo.
hiễu
Kết quả, nếu bây giờ chúng ta cầ xác định v trí của xe sau 2 phút. V giả sử ch
ờ ần vị Và húng ta chỉ qu
uan
tâm đến c biến đo vị trí hoặc c biến đo vận tốc của xe. Chúng t sẽ chỉ ra đ
cảm o cảm ta được 2 phươn ng
pháp ước lượng như sau:
c
a) Phươn pháp 1:
ng
....
Đây là ướ lượng vị trí của xe, ch nhờ vào c biến vị t của xe, tro đó,
ớc t hỉ cảm trí ong là các giá trị v trí
vị
xe đo đượ
ợc.
b) Phươn pháp 2:
ng
(v trí ban đầu của xe)
vị u
(1 giây sau nếu giả sử xe di chuyển với vận tốc 20m
g m/s)
- (1 giây sau nữa)
y
...
Như vậy, cả hai phươ pháp trê cũng đều là một cách để chúng ta ước lượng v trí của xe.
, ơng ên, h a vị
Vậy áp d
dụng lại 3.2, chúng ta sẽ thấy rằng, n dùng hai phương phá ước lượng khác nhau,
nếu áp g ,
chúng ta cũng sẽ có các giá trị ướ lượng khá nhau. Chú ta sẽ tin cách ước lư
c ớc ác úng ượng nào hơn
n?
c) Phươn pháp 3:
ng
Vậy thì, c
chúng ta thử xem phươn pháp ước lượng thứ ba như sau:
ử ng
[IMG]htt
tp://tools.jcis
sio.com/tex/
/?%5Chat%77Bx3%7D%
%28i%29%20
0=%20alpha
a*%5Chat%7
7Bx1
%7D% 228i%29%20+ +%20%281- -alpha%29*%
%5Chat%7B
Bx2%7D%28
8i%29[/IMG
G]
Vậy các b có nhận xét gì về cá ước lượn này?
bạn n ách ng
Một cách chung chun (không ph là tổng q
h ng hải quát, chỉ là k niệm sơ khởi), nhiệm vụ của bộ lọc
khái m
Kalman, chính là tìm ra hệ số alp tối ưu để tìm
m pha ể gần đúng với x nhất.
n x(t)
Vậy nhiệ vụ của mạch lọc Kalm được ph biểu rõ h một chút đó là tìm ư lượng
ệm m man hát hơn t, ước
gần đúng với x(t) nhấ (giá trị ướ lượng gần đúng với gi trị thực tế nhất) thông qua hiểu biế
g ất ớc n iá g ết
của chún ta về mô hình của hệ t
ng h thống.
3.4. Bản ch của bộ lọc Kalman
hất c
- Hình trên mô hình hó hoạt động của mạch l Kalman. Chúng ta có tín hiệu đo được, chúng ta
n óa g lọc ó g
có mô hìn của tín hi đo được (đòi hỏi tuy tính) và s đó là áp dụng vào tro hệ thống
nh iệu yến sau ong g
phương ttrình của mạ lọc để ướ lượng trạn thái quan tâm. Thực r tín hiệu đo là không k
ạch ớc ng ra o khó,
phương ttrình đã có sắ cái chung ta cần chín là mô hìn hoá hệ th
ắn, nh nh hống. Để có thể ứng dụn
ng
một cách hiểu quả mạch lọc Kalm thì chún ta phải mô hình hóa đ
h m man ng được một các tuyến tính sự
ch h
thay đổi của trạng thá cần ước lư
ái ượng (estima hoặc ướ đoán (pred
ate) ớc dict).
4. Bộ lọc Kalman rờ rạc
c ời
Bộ lọc K
Kalman đề cậ đến bài toán tổng quát đi ước lượn trạng thái của một qu trình được mô
ập t ng i uá c
hình hóa một cách rờ rạc theo th gian bằng một phươn trình ngẫu nhiên tuyến tính như sa
ời hời g ng u n au
[IMG]htt
tp://tools.jcis
sio.com/tex/
/?x_k=A*x_
_%7Bk-1%7D
D+B*u_%7B
Bk-1%7D+w
w_%7Bk-
1%7D[/IM (1)
MG]
và kết qu đo đạc
uả
[IMG]htt
tp://tools.jcis
sio.com/tex/
/?z_k=H*x_k
k+v_k[/IMG (2)
G]
Trong đó w và v là 2 vector biến ngẫu nhiên đại diện cho nhiễu hệ th
ó o hông và nhiễ đo đạc. 2 b
ễu biến
ngãy nhiê này độc lập và được g sử là tuâ theo phân bố Gauss vớ trung bình =0 và ma trận
ên l giả ân ới h
hiệp biến (covariance lần lượt là Q và R
n e) à
w ~N(0,Q
Q)
v ~N(0,R
R)
Nếu vect trạng thái x có kích th
tor i hước là n, th ma trận A sẽ có kích th
hì hứoc là n x n B (n x l) là ma
n. à
trận phụ thuộc vào đi khiển tối ưu u với u là vector có kích thước l l. Vector đ đạc z có k
iều i là đo kích
thước là m nên ma tr H sẽ là m x n. Chú ý rằng các ma trận Q,R, A H có thể t
rận a A, thay đổi theo thời
o
gian (từn bước k), nhưng ở đây chùng được giả sử khôn đổi.
ng n c ng
Đến đây ta thấy bài toán lọc Kal
t lman chính là đi tìm giá trị ược lượ và ước đ
á ợng đoán của trạ
ạng
thái x kh ta biết đượ sự biến th
hi ợc hiên của nó và ta đo đượ một đai l
ược lượng z mà p thuộc tu
phụ uyến
tính vào x.
Ví dụ tro bài toán chuyển động ta biết đượ qui luật th đổi của v tốc, như ta lại có thể
ong g, ợc hay vận ưng
đo được sự thay đổi của vị trí. Kh đó, cái ta cần tìm là vận tốc ược lư
c hi ượng.
Nếu ta gi sử
iả và lần lượ là tiên ngh
ợt hiệm và tiền nghiệm ước
n c
lượng củ giá trị x tạ thời điểm k Giá trị tiên nghiệm thu được chỉ d vào mô h
ủa ại k. n u dựa hình hệ thốn
ng
(1), còn g trị hậu ng
giá ghiệm là giá trị thu được sau khi đã có kết quả đ đạc (2). Khi đó sai số
á c đo
của ước đđoán tiên ng
ghiệm và hậu nghiệm lần lượt là
u n
- Ma trận h biến của 2 sai số trê được tính lần lượt the công thức
hiệp ên h eo
Mục đích của chúng ta bây giờ là đi tìm hệ số K sao cho thỏa mản ph
h à ố hương trình sau
[IMG]htt
tp://tools.jcis
sio.com/tex/
/?%5Chat%7
7Bx%7D_k=
=%5Chat%7 7Bx%7D_k%
%5E-
%20+%220K*%28z_k k-H*%5Cha at%7Bx%7DD_k%5E-%2
29[/IMG] (3)
)
Đến đây ta thấy , K cũng chính là alpha mà đ giới thiệu ở trên. Phươ trình (3) có nghĩa là giá
c à đã ơng ) à
trị hậu ngghiệm của ước lượng x s được tính bằng giá trị tiên nghiệm của nó và s đó thêm/
sẽ m sau /bớt
đi một tí dựa vào sai số giữa giá trị đo được v giá trị đo đạc ước đoá
và án
[IMG]htt tp://tools.jcis
sio.com/tex/
/?H*%5Chat t%7Bx%7D_ _k%5E-[/IMMG]. K ở đây chính là độ lợi
y ộ
(gain) củ mạch lọc Kalman.
ủa K
Câu hỏi đ ra là làm thế nào để c
đặt m chọn K tối ư nhất. Tối ưu ở đây the nghĩa là c
ưu eo covariance củ
ủa
sai số của ước lượng hậu nghiệm (tính từ (3))
a m
[IMG]htt tp://tools.jcis
sio.com/tex/
/?%20e_k=K K*%28z_k-H H*%5Chat% %7Bx%7D_k k%5E-
%29[/IM là nhỏ nh Bằng cá thay e_k vào trong biểu thức tính P_k, rồi sau đó lấy đạo
MG] hất. ách h o
hàm của P_k theo K, ta sẽ tìm ra được giá trị K mà tương ứng với nó P_k là nhỏ nhất.
, ị g ó
thay đ theo thời gian k và c
đổi chính là độ lờ cần tìm củ mạch lọc Kalman tron mỗi ước
ời ủa ng
đoán.
Tóm lại m
mạch lọc Kaalman bao gồ 2 bước : 1- Ước đoán trạng thái t nghiệm, và sau đó, 2
ồm n tiên , 2-
dựa vào k quả đo để hiệu chỉnh lại ước đoá Ta có thể tóm tắt lại h động củ mạch lọc
kết đ h án. ể hoạt ủa
Kalman bbằng các phư
ương trình sau:
Giả sử bạ đã có giá trị ước đoán
ạn n ở tại t
thời điểm (k và biết đ
k-1) được giá trị đ khiển
điều .
(Giá trị b đầu tại th điểm 0 đ
ban hời được chọn
[IMG]htt tp://tools.jcis
sio.com/tex/
/?%5Chat%7 7Bx%7D_% %7B0%7D=H H*z_0[/IMG Lúc đó bạn
G]).
chỉ việc l lượt tiến hành các tín toán từ 1 đến 2 ở bướ 1 rồi từ 1 đ 3 trong b
lần nh ớc đến bước 2 như trong
hình dướ đây.
ới
- Hình trên tóm tắt cơ bản của mạch lọc Kalman. Như đã nhắc đến ở phần 3.4, cái khó của mạch
lọc Kalman là làm thể nào để mô hình hóa các trạng thái và đo đạc để có được 2 phương trình (1)
và (2) để có thể áp dụng Kalman.
nguon tai.lieu . vn