Bộ lọc Kalman
January 21, 2018 | Author: vanthanggtvt | Category: N/A
Short Description
Download Bộ lọc Kalman...
Description
c 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 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. 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à Ü Ü. 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). x , 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.
! 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. 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ó.
"#$ %&%' 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Ӆ %&%'
"#$ %&%' 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 ë. 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: () %* * +
.... Đâ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. () %* *+ (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? () %* *+ 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. , c -
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à . / 0 1. ĐӇ 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).
, c 23 24 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 w ~N(0,Q) v ~N(0,R) NӃu vector trҥng thái x có kích thưӟc là n, thì ma trұn A sӁ có kích thӭoc là n x n. B (n x l) là ma trұn phө thuӝc vào điӅu khiӇn tӕi ưu u vӟi u là vector có kích thưӟc là l. Vector đo đҥc z có kích thưӟc là m nên ma trұn H sӁ là m x n. Chú ý rҵng các ma trұn Q,R, A, H có thӇ thay đәi theo thӡi gian (tӯng bưӟc k), nhưng ӣ đây chùng đưӧc giҧ sӱ không đәi. Ì !" #$ % & '()%) * Ví dө trong bài toán chuyӇn đӝng, ta biӃt đưӧc qui luұt thay đәi cӫa vұn tӕc, nhưng ta lҥi có thӇ đo đưӧc sӵ thay đәi cӫa vӏ trí. Khi đó, cái ta cҫn tìm là vұn tӕc ưӧc lưӧng. NӃu ta giҧ sӱ và lҫn lưӧt là tiên nghiӋm và tiӅn nghiӋm ưӟc lưӧng cӫa giá trӏ x tҥi thӡi điӇm k. Giá trӏ tiên nghiӋm thu đưӧc chӍ dӵa vào mô hình hӋ thӕng (1), còn giá trӏ hұu nghiӋm là giá trӏ thu đưӧc sau khi đã có kӃt quҧ đo đҥc (2). Khi đó sai sӕ cӫa ưӟc đoán tiên nghiӋm và hұu nghiӋm lҫn lưӧt là
Ma trұn hiӋp biӃn cӫa 2 sai sӕ trên đưӧc tính lҫn lưӧt theo công thӭc
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ương trình sau (3)
ĐӃn đây ta thҩy , K cũng chính là alpha mà đã giӟi thiӋu ӣ trên. Phương trình (3) có nghĩa là giá trӏ hұu nghiӋm cӫa ưӟc lưӧng x sӁ đưӧc tính bҵng giá trӏ tiên nghiӋm cӫa nó và sau đó thêm/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án . K ӣ đây chính là đӝ lӧi (gain) cӫa mҥch lӑc Kalman. Câu hӓi đһt ra là làm thӃ nào đӇ chӑn K tӕi ưu nhҩt. Tӕi ưu ӣ đây theo nghĩa là covariance cӫa sai sӕ cӫa ưӟc lưӧng hұu nghiӋm (tính tӯ (3)) là nhӓ nhҩt. Bҵng cách thay e_k vào trong biӇu thӭc tính P_k, rӗi sau đó lҩy đҥ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.
thay đәi theo thӡi gian k và chính là đӝ lӡi cҫn tìm cӫa mҥch lӑc Kalman trong mӛi ưӟc đoán. Tóm lҥi mҥch lӑc Kalman bao gӗm 2 bưӟc : m ¼
ê !"#$%
& ' ( Ta có thӇ tóm tҳt lҥi hoҥt đӝng cӫa mҥch lӑc Kalman bҵng các phương trình sau: Giҧ sӱ bҥn đã có giá trӏ ưӟc đoán ӣ tҥi thӡi điӇm (k-1) và biӃt đưӧc giá trӏ điӅu khiӇn .(Giá trӏ ban đҫu tҥi thӡi điӇm 0 đưӧc chӑn ). Lúc đó bҥn chӍ viӋc lҫn lưӧt tiӃn hành các tính toán tӯ 1 đӃn 2 ӣ bưӟc 1 rӗi tӯ 1 đӃn 3 trong bưӟc 2 như trong hình dưӟi đây.
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.
View more...
Comments