Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Obsah<br />
Kalman˚uv <strong>filtr</strong><br />
Moderní teorie ˇrízení<br />
1 Úvod 1<br />
2 Pˇríklady 6<br />
2.1 Praktick´y návrh Kalmanova <strong>filtr</strong>u . . . . . . . . . . . . . . . . . . . . . . . . 6<br />
2.1.1 ˇ Reˇsení pomocí Matlabu . . . . . . . . . . . . . . . . . . . . . . . . . 9<br />
3 Domácí úloha 11<br />
Reference 11<br />
1 Úvod<br />
Kalman˚uv <strong>filtr</strong> – pomocí Wienerova <strong>filtr</strong>u [1] lze ˇreˇsit problém optimální <strong>filtr</strong>ace pro<br />
signály, jejichˇz vlastnosti a vzájemné vztahy byly charakterizovány autokorelačními funk-<br />
cemi Pxx(k), Pyy(k) a vzájemnou kovarianční funkcí Pxy(k). Tento popis je moˇzné chápat<br />
jako vnějˇsí popis.<br />
Nyní vyuˇzijeme vnitˇrního (stavového) popisu. Podmínkou ˇreˇsitelnosti úloh <strong>filtr</strong>ace, pre-<br />
dikce a interpolace, formulovan´ych pomocí vnitˇrního popisu systému, je moˇznost odhadovat<br />
stav systému na základě pozorování vstup˚u a v´ystup˚u systému. V deterministické formulaci<br />
problému lze k odhadování stavu sestrojit pozorovatel stavu metodou umíst’ování pól˚u. Ve<br />
stochastické formulaci problému lze úlohu odhadu stavu formulovat ve smyslu optimálního<br />
LMS odhadu stavu a v´ysledn´y optimální pozorovatel stavu se naz´yvá Kalman˚uv <strong>filtr</strong>.<br />
⋆ LMS odhad – lineární odhad minimalizující stˇrední kvadratickou chybu. Kritérium je<br />
JLMS = E ˜x T ˜x , ˜x = x − ˆxLMS , (1)<br />
kde pˇredpokládáme, ˇze hledaná data ˆxLMS(y) jsou pouze afinní funkcí měˇren´ych dat y<br />
Dosadíme do kritéria<br />
ˆxLMS(y) = Ay + b . (2)<br />
E ˜x T ˜x = E trace (˜x T ˜x) = E trace (˜x˜x T ) = trace (E ˜x˜x T ),<br />
1
MODERNÍ TEORIE ˇ RÍZENÍ – Kalman˚uv <strong>filtr</strong> 2<br />
kde trace (A) – stopa matice A je součet prvk˚u na diagonále matice A. Tento operátor<br />
komutuje s operátorem stˇrední hodnoty, stopa skaláru je skalár sám a ve stopě součinu matic<br />
je moˇzno matice cyklicky zaměňovat.<br />
Dále pokračujeme<br />
<br />
<br />
T<br />
JLMS = trace E (x − Ay − b) (x − Ay − b) =<br />
<br />
= trace E{xxT − Ayx T − bx T − xyT A T +<br />
+Ayy T A T + by T A T − xb T + Ayb T + bb T <br />
} =<br />
<br />
= trace µxµ T x + P xx − Aµyµ T x − AP yx − bµ T x − µxµ T y A T − P xyA T +<br />
+A µyµ T T<br />
y + P yy A + bµ T y A T − µxb T + Aµyb T + bb T<br />
<br />
=<br />
<br />
= trace µxµ T x + P xx − 2Aµyµ T x − 2AP yx − bµ T x +<br />
+A µyµ T T<br />
y + P yy A − µxb T + 2Aµyb T + bb T<br />
<br />
=<br />
<br />
= trace P xx + A P yy + µyµ T T<br />
y A + (b − µx)(b − µx) T + 2Aµy(b − µx) T <br />
− 2AP yx .<br />
S vyuˇzitím vztah˚u pro derivace stopy matice<br />
dostaneme<br />
Odtud dostaneme<br />
∂<br />
∂Y trace XY Z = X T Z T ,<br />
∂<br />
∂X trace XY X T = 2XY ,<br />
∂<br />
∂A JLMS = 2A P yy + µyµ T <br />
y + 2 (b − µx) µ T y − 2P xy = 0 ,<br />
∂<br />
∂b JLMS = 2 (b − µx) + 2Aµy = 0 .<br />
A = P xyP −1<br />
yy ,<br />
b = µx − P xyP −1<br />
yy µy .<br />
⋆ Optimální lineární odhad minimalizující stˇrední kvadratickou chybu je tedy dán vztahem<br />
ˆxLMS(y) = µx + P xyP −1<br />
yy (y − µy) . (3)<br />
D˚uleˇzitou vlastností odhadu ˆxLMS je právě skutečnost, ˇze závisí pouze na prvních dvou mo-<br />
mentech – stˇredních hodnotách µx, µy a kovariančních maticích P xy, P yy. Platí samozˇrejmě<br />
vlastnost E {ˆxLMS(y)} = µx. Kovarianční matici m˚uˇzeme odvodit následovně<br />
x = E − ˆxLMS(y) x − ˆxLMS(y) T <br />
=<br />
= E<br />
P ˜xLMS (x − µx) − P xyP −1<br />
yy (y − µy) (x − µx) − P xyP −1<br />
yy (y − µy) T <br />
=<br />
= P xx − P xyP −1<br />
yy P yx − P xyP −1<br />
yy P yx + P xyP −1<br />
yy P yyP −1<br />
yy P yx .<br />
⋆ Kovarianční matice chyby odhadu tedy je<br />
P ˜xLMS = P xx − P xyP −1<br />
yy P yx . (4)
MODERNÍ TEORIE ˇ RÍZENÍ – Kalman˚uv <strong>filtr</strong> 3<br />
⋆ Stochastick´y systém – lineární, diskrétní, pozorovateln´y<br />
x(k + 1) = Mx(k) + Nu(k) + v(k) (5)<br />
y(k) = Cx(k) + Du(k) + e(k) ,<br />
kde ˇsum procesu v(k) a ˇsum měˇrení e(k) jsou diskrétní bílé posloupnosti s nulovou stˇrední<br />
hodnotou<br />
E<br />
v(k)<br />
e(k)<br />
<br />
= 0 (6)<br />
a známou kovarianční maticí<br />
⎧<br />
T<br />
⎨<br />
v(k1) v(k2)<br />
E<br />
⎩ e(k1) e(k2)<br />
⎫ ⎬<br />
⎭ =<br />
<br />
Q S<br />
S T <br />
<br />
= 1 k1 = k2<br />
δ(k1 − k2) , δ(k1 − k2)<br />
. (7)<br />
R<br />
= 0 k1 = k2<br />
Z (7) vidíme, ˇze jsou ˇsumy navzájem korelované, ale v r˚uzn´ych časev´ych okamˇzicích jsou jiˇz<br />
nezávislé. Kovarianční matice jsou symetrické a uvaˇzujeme Q ≥ 0, R > 0.<br />
Pˇredpokládejme, ˇze v k-tém kroku algoritmu známe apriorní odhad stavu x(k) (tj. odhad<br />
vyuˇzívající data aˇz do času k−1, ale neberoucí v úvahu data y(k)), jehoˇz podmíněnou stˇrední<br />
hodnotu budeme značit<br />
ˆx(k| k − 1)<br />
pˇritom první index označuje běˇzn´y čas a druh´y index poslední měˇrení, které je uˇzito k určení<br />
odhadu. Kovarianční matici chyby odhadu stavu budeme značit<br />
P (k| k − 1) .<br />
Počáteční stav systému je tedy charakterizován stˇrední hodnotou ˆx(0) = ˆx(0| − 1) a kova-<br />
rianční maticí P (0) = P (0| − 1).<br />
Po změˇrení hodnoty v´ystupu y(k) chceme tyto hodnoty aktualizovat a získat aposteriorní<br />
odhad stavu (tj. odhad zahrnující měˇrení y(k))<br />
ˆx(k| k)<br />
a pˇrísluˇsnou kovarianční matici chyby odhadu<br />
P (k| k).<br />
Kalman˚uv <strong>filtr</strong> pro nekorelované ˇsumy procesu a měˇrení – v tomto pˇrípadě je<br />
matice S = 0.<br />
Nejprve odvodíme v´yvoj stˇrední hodnoty<br />
ˆx(k + 1| k − 1) = E {Mx(k) + Nu(k) + v(k)} = M ˆx(k| k − 1) + Nu(k)<br />
ˆy(k| k − 1) = E {Cx(k) + Du(k) + e(k)} = C ˆx(k| k − 1) + Du(k) ,<br />
(8)
MODERNÍ TEORIE ˇ RÍZENÍ – Kalman˚uv <strong>filtr</strong> 4<br />
její chyby<br />
˜x(k + 1| k − 1) = x(k + 1) − ˆx(k + 1| k − 1) = M ˜x(k| k − 1) + v(k)<br />
˜y(k| k − 1) = y(k) − ˆy(k| k − 1) = C ˜x(k| k − 1) + e(k)<br />
a kovarianční matice chyby odhadu<br />
⎧<br />
T<br />
⎨<br />
˜x(k + 1) ˜x(k + 1)<br />
E<br />
⎩ ˜y(k) ˜y(k)<br />
⎫<br />
<br />
⎬<br />
k − 1<br />
⎭ =<br />
<br />
P xx<br />
P yx<br />
P xy<br />
P yy<br />
<br />
. (10)<br />
Odvodíme P xx<br />
<br />
<br />
T<br />
P xx = E [˜x (k + 1| k − 1)] [˜x (k + 1| k − 1)] =<br />
<br />
<br />
T<br />
= E [M ˜x(k| k − 1) + v(k)] [M ˜x(k| k − 1) + v(k)] =<br />
= E M ˜x(k| k −1)˜x T (k| k −1)M T +v(k)˜x T (k| k −1)M T +M ˜x(k| k −1)v(k)+v(k)v T (k) =<br />
= MP (k| k − 1)M T + 0 + 0 + Q .<br />
Obdobně získáme P xy, P yx a P yy<br />
<br />
P xx<br />
P yx<br />
P xy<br />
P yy<br />
<br />
T<br />
MP (k| k − 1)M + Q<br />
=<br />
CP (k| k − 1)M<br />
T<br />
MP (k| k − 1)C + S<br />
T + S T CP (k| k − 1)C T <br />
.<br />
+ R<br />
(11)<br />
ˇRekli jsme, ˇze pro nekorelované ˇsumy procesu a měˇrení je S = 0. Dosadíme-li nyní do (3),<br />
získáme vztah pro odhad stavu x(k)<br />
ˆx(k + 1| k − 1) = M ˆx(k| k − 1) + Nu(k)+<br />
+MP (k| k − 1)C T CP (k| k − 1)C T + R −1 [y(k) − C ˆx(k| k − 1) − Du(k)].<br />
Dosazením do (4) získáme Riccatiho rovnici pro Kalman˚uv <strong>filtr</strong><br />
P (k + 1| k − 1) = MP (k| k − 1)M T + Q −<br />
− MP (k| k − 1)C T CP (k| k − 1)C T + R −1 CP (k| k − 1)M T .<br />
Rovnice (12) a (13) pˇredstavují algoritmus Kalmanova <strong>filtr</strong>u a dají se rozdělit do dvou<br />
nezávisl´ych krok˚u [1].<br />
⋆ Datov´y (<strong>filtr</strong>ační) krok Kalmanova <strong>filtr</strong>u<br />
kde ε(k| k − 1) je chyba odhadu v´ystupu<br />
ˆx(k| k) = ˆx(k| k − 1) + L ′ (k) ε(k| k − 1) ,<br />
P (k| k) = P (k| k − 1) − L ′ (k)CP (k| k − 1) ,<br />
ε(k| k − 1) = y(k) − C ˆx(k| k − 1) − Du(k)<br />
(9)<br />
(12)<br />
(13)<br />
(14)
MODERNÍ TEORIE ˇ RÍZENÍ – Kalman˚uv <strong>filtr</strong> 5<br />
a L ′ (k) je Kalmanovo zesílení datového kroku<br />
L ′ (k) = P (k| k − 1)C T CP (k| k − 1)C T + R −1 . (15)<br />
⋆ Časov´y (predikční) krok Kalmanova <strong>filtr</strong>u<br />
ˆx(k + 1| k) = M ˆx(k| k) + Nu(k) ,<br />
P (k + 1| k) = MP (k| k)M T + Q .<br />
Algoritmus Kalmanova <strong>filtr</strong>u je znázorněn na obr. 1. Poznmenejme, ˇze tento obrázek je pouze<br />
ilustrativní – datov´y krok Kalmanova <strong>filtr</strong>u je moˇzné provést aˇz po změˇrení nov´ych dat, tedy<br />
časov´y krok nemá dva mezikroky jak by se podle obrázku na první pohled zdálo.<br />
x(k-1|k-2)<br />
u(k-1)<br />
y(k-1)<br />
x(k-1|k-1)<br />
x(k|k-1)<br />
u(k)<br />
y(k)<br />
èasový krok<br />
x(k|k)<br />
datový krok<br />
Obrázek 1: Cyklus Kalmanova <strong>filtr</strong>u<br />
Uvědomme si, ˇze Kalmanovo zesílení celého <strong>filtr</strong>u je<br />
x(k+1|k)<br />
èas - t<br />
(16)<br />
L(k) = ML ′ (k). (17)<br />
Dále si vˇsimněme toho, ˇze pokud budou ˇsumy procesu a měˇrení korelované (S = 0), nep˚ujde<br />
algoritmus Kalmanova <strong>filtr</strong>u (rovnice (12) a (13)) rozdělit na datov´y a časov´y krok. V [1]<br />
je vˇsak ukázáno, ˇze úlohu Kalmanova <strong>filtr</strong>u pro korelované ˇsumy procesu a měˇrení lze vˇzdy<br />
pˇrevést na úlohu Kalmanova <strong>filtr</strong>u pro nekorelované ˇsumy procesu a měˇrení.<br />
Kalman˚uv <strong>filtr</strong> je tedy algoritmus generující posloupnost odhad˚u stavu ˆx(k|k) a kova-<br />
riančních matic chyb odhadu P (k|k), pˇričemˇz odhad stavu ˆx(k|k) v kaˇzdém kroku minima-<br />
lizuje kritérium<br />
JLMS = trace P (k|k). (18)
MODERNÍ TEORIE ˇ RÍZENÍ – Kalman˚uv <strong>filtr</strong> 6<br />
2 Pˇríklady<br />
2.1 Praktick´y návrh Kalmanova <strong>filtr</strong>u<br />
Pˇríklad 2.1: Pro spojitou soustavu<br />
<br />
A =<br />
<br />
,<br />
<br />
B =<br />
000<br />
0 1 0 0<br />
0 0 1 0<br />
0 0 0 1<br />
−10 −11 −24010 −2539 −54<br />
31940<br />
<br />
, C = [ 1 0 0 0 ], D = [0]<br />
navrhněte časově invariantní Kalman˚uv <strong>filtr</strong>. Periodu vzorkování volte Ts = 0,01 s. Pˇredpo-<br />
kládejte nekorelované ˇsumy procesu a měˇrení.<br />
ˇReˇsení: Systém je pozorovateln´y, takˇze má smysl pokračovat v návrhu. Nejprve pro-<br />
vedeme diskretizaci, abychom získali matice M a N. Návrh Kalmanova <strong>filtr</strong>u spočívá ve<br />
vyˇreˇsení Riccatiho rovnice (13). Tuto rovnici budeme ˇreˇsit sekvenčně ve směru času (na<br />
rozdíl od Riccatiho rovnice pro LQ regulátor, kterou jsme ˇreˇsili zpětně v čase).<br />
Abychom mohli Kalman˚uv <strong>filtr</strong> navrhnout, musíme znát parametry ˇsumu procesu a ˇsumu<br />
měˇrení (kovarianční matice těchto ˇsum˚u Q a R), nebo je nějak odhadnout. Pˇredpokládejme<br />
Q = diag [ 0,01; 0,01; 0,1; 0,1 ] , R = [ 0,05 ].<br />
Budeme tedy iteračně ˇreˇsit rovnici (13) dokud nedosáhneme ustáleného Kalmanova zesílení<br />
(podobně jako u LQ regulátoru). Toto ustálené Kalmanovo zesílení pouˇzijeme pro časově<br />
invariantní <strong>filtr</strong> (viz obr. 6).<br />
L<br />
K<br />
0.5<br />
0<br />
−0.5<br />
−1<br />
−1.5<br />
−2<br />
Kalmanovo zesileni L<br />
−2.5<br />
0 50 100 150 200 250 300<br />
0.5<br />
0<br />
−0.5<br />
−1<br />
−1.5<br />
Kalmanovo zesileni K<br />
−2<br />
0 50 100 150<br />
Diskretni cas − k<br />
200 250 300<br />
Obrázek 2: Pr˚uběh Kalmanova zesílení
MODERNÍ TEORIE ˇ RÍZENÍ – Kalman˚uv <strong>filtr</strong> 7<br />
x 1<br />
err<br />
y<br />
err<br />
4<br />
2<br />
0<br />
Skutecny stav systemu<br />
−2<br />
0<br />
5<br />
1 2<br />
Korelace<br />
3<br />
0<br />
−5<br />
−400<br />
0.5<br />
−200 0 200<br />
Chyba odhadu<br />
400<br />
0<br />
−0.5<br />
0 1 2 3<br />
Cas (s)<br />
5<br />
0<br />
x 1p<br />
x 1 , x 1p<br />
Obrázek 3: Pr˚uběh odhadu stavu x1<br />
Vystup systemu<br />
−5<br />
0<br />
40<br />
1 2<br />
Korelace<br />
3<br />
20<br />
0<br />
−20<br />
−400<br />
1<br />
−200 0 200<br />
Chyba odhadu<br />
400<br />
0<br />
−1<br />
0 1 2 3<br />
Cas (s)<br />
y p<br />
y, y p<br />
4<br />
2<br />
0<br />
Odhad stavu<br />
−2<br />
0<br />
10<br />
1 2<br />
Histogram chyby odhadu<br />
3<br />
5<br />
0<br />
−0.4<br />
4<br />
−0.2 0 0.2<br />
Stav a jeho odhad<br />
0.4<br />
2<br />
0<br />
−2<br />
0 1 2 3<br />
Cas (s)<br />
4<br />
2<br />
0<br />
Odhad vystupu<br />
−2<br />
0<br />
10<br />
1 2<br />
Histogram chyby odhadu<br />
3<br />
5<br />
0<br />
−1<br />
5<br />
−0.5 0 0.5<br />
Vystup a jeho odhad<br />
1<br />
0<br />
−5<br />
0 1 2 3<br />
Cas (s)<br />
Obrázek 4: Pr˚uběh odhadu v´ystupu y
MODERNÍ TEORIE ˇ RÍZENÍ – Kalman˚uv <strong>filtr</strong> 8<br />
Pokud jsme navrhli Kalman˚uv <strong>filtr</strong> správně, musí b´yt chyba predikce (odhadu) v´ystupu bíl´y<br />
ˇsum. O tom se m˚uˇzeme pˇresvědčit na obr. 4.<br />
Zesílení (dB)<br />
Fáze (°)<br />
−20<br />
−40<br />
−60<br />
−80<br />
−100<br />
−120<br />
−140 0<br />
−90<br />
−180<br />
−270<br />
−360<br />
10 −1<br />
−450<br />
10 0<br />
Prenos U −> odhad X 1<br />
10 1<br />
Frekvence (rad/s)<br />
10 2<br />
10 3<br />
Zesílení (dB)<br />
Fáze (°)<br />
0<br />
−5<br />
−10<br />
−15 0<br />
−45<br />
−90<br />
−135<br />
−180<br />
10 0<br />
−225<br />
Prenos Y −> odhad X 1<br />
10 1<br />
Frekvence (rad/s)<br />
Obrázek 5: Frekvenční vlastnosti časově invariantního Kalmanova <strong>filtr</strong>u<br />
Obrázek 6: Simulinkové schéma časově invariantního Kalmanova <strong>filtr</strong>u<br />
Na obr. 6 vidíme, ˇze časově invariantní Kalman˚uv <strong>filtr</strong> má stejnou strukturu jako pozoro-<br />
vatel stavu. Matice L je ovˇsem navrˇzena optimálně pro kovariance ˇsumu procesu Q a ˇsumu<br />
měˇrení R. ✷<br />
10 2<br />
10 3
MODERNÍ TEORIE ˇ RÍZENÍ – Kalman˚uv <strong>filtr</strong> 9<br />
2.1.1 ˇReˇsení pomocí Matlabu<br />
%----- KALMANUV FILTR<br />
randn(’state’,0);%reset generatoru nahodnych cisel<br />
%----- Soustava<br />
load system.mat;<br />
[Ad, Bd, Cd, Dd] = ssdata(c2d(ss(Ac,Bc,Cc,Dc),Ts));<br />
Ns = size(Ad,1); Ny = size(Cd,1);<br />
%----- Kovariancni matice<br />
Qd = diag([0.01, 0.01, 0.1, 0.1]); Rd = 0.05;<br />
Pd = 1000*Qd;%pocatecni hodnota kovariancni matice<br />
%----- Pocatecni podminky<br />
xs = zeros(Ns,1); xp = zeros(Ns,1);<br />
%----- Inicializace historie<br />
N = 300;<br />
uh = [1*ones(1,N)]; eh = zeros(1,N);<br />
xsh = zeros(Ns,N); xph = zeros(Ns,N);<br />
Lh = zeros(Ns,N); Kh = zeros(Ns,N);<br />
ysh = zeros(1,N); yph = zeros(1,N);<br />
%----- Simulace<br />
for t = 1 : N<br />
end<br />
v = chol(Qd)’*randn(Ns,1);<br />
e = chol(Rd)’*randn(1,1);<br />
u = uh(t);<br />
ys = Cd*xs + Dd*u + e;%vystup systemu ys(k)<br />
%----- Datovy krok KF<br />
yp = Cd*xp + Dd*u;%odhad vystupu yp(k|k-1)<br />
ep = ys - yp;%chyba odhadu vystupu e(k|k-1)<br />
L = Pd*Cd’*inv(Cd*Pd*Cd’+Rd);%Kalmanovo zesileni<br />
Pd = Pd - L*Cd*Pd;%kovariancni matice P(k|k)<br />
xp = xp + L*ep;%odhad stavu x(k|k)<br />
yp = Cd*xp + Dd*u;%odhad vystupu y(k|k)<br />
%----- Ulozeni dat<br />
eh(t) = ep; xsh(:,t) = xs; xph(:,t) = xp; ysh(t) = ys;<br />
yph(t) = yp; Lh(:,t) = L; Kh(:,t) = Ad*L;<br />
xs = Ad*xs + Bd*u + v;%stav systemu x(k)<br />
%----- Casovy krok KF<br />
xp = Ad*xp + Bd*u;%odhad stavu x(k+1|k)<br />
Pd = Ad*Pd*Ad’ + Qd;%kovariancni matice P(k+1|k)
MODERNÍ TEORIE ˇ RÍZENÍ – Kalman˚uv <strong>filtr</strong> 10<br />
%----- Prubehy stavu<br />
DobaC = (1:N)*Ts;<br />
err = xsh - xph(1:Ns,:);<br />
figure(1);<br />
subplot(3,2,1);<br />
plot(DobaC,xsh(1,:)’,’b’);<br />
ylabel(’x1’);title(’Skutecny stav systemu’);<br />
current=axis;<br />
subplot(3,2,2);<br />
plot(DobaC,xph(1,:)’,’r’);<br />
ylabel(’x1p’);title(’Odhad stavu’);<br />
axis(current);<br />
[C,LAGS]=xcorr(err(1,:));<br />
subplot(3,2,3);<br />
plot(LAGS,C);<br />
title(’Korelace’);<br />
subplot(3,2,4);<br />
hist(err(1,:),N/2);<br />
title(’Histogram chyby odhadu’);<br />
subplot(3,2,5);<br />
plot(DobaC,err(1,:)’);<br />
xlabel(’Cas (sec)’);ylabel(’err’);title(’Chyba odhadu’);<br />
subplot(3,2,6);<br />
plot(DobaC,xsh(1,:)’,’b’);<br />
hold on;<br />
plot(DobaC,xph(1,:)’,’r’);<br />
xlabel(’Cas (sec)’);ylabel(’x1, x1p’);title(’Stav a jeho odhad’);<br />
%-----Frekvencni vlastnosti invariantniho KF<br />
K = Ad*Lh(:,end);<br />
Ak = Ad - K*Cd;<br />
Bk = [Bd - K*Dd,K];<br />
Ck = eye(Ns); Dk = zeros(Ns,2);<br />
[NumKU DenK] = ss2tf(Ak,Bk,Ck,Dk,1);%prenos U -> odhad X<br />
[NumKY DenK] = ss2tf(Ak,Bk,Ck,Dk,2);%prenos Y -> odhad X<br />
figure(Ns+3);<br />
bode(tf(NumKU(1,:),DenK,Ts));<br />
title(’Prenos U -> odhad X 1’);<br />
figure(Ns+4);<br />
bode(tf(NumKY(1,:),DenK,Ts));<br />
title(’Prenos Y -> odhad X 1’);
MODERNÍ TEORIE ˇ RÍZENÍ – Kalman˚uv <strong>filtr</strong> 11<br />
3 Domácí úloha<br />
Pˇríklad 3.1: Proved’te diskretizaci (Ts = 0,01 s) systému z pˇríkladu 2.1. Systém simu-<br />
lujte jako stochastick´y. Pro r˚uzné kovarianční matice Q a R navrhněte časově invariantní<br />
Kalman˚uv <strong>filtr</strong> a porovnejte jeho frekvenční vlastnosti a vlastní čísla matice (M − LC)<br />
v závislosti na kovariančních maticích Q a R. V´ysledky ověˇrte simulacemi v Matlabu.<br />
Navrhněte Kalman˚uv <strong>filtr</strong> pro kovarianční matice Q a R. Stochastick´y systém ale simu-<br />
lujte s jin´ymi kovariancemi ˇsum˚u. Co pˇri simulacích pozorujete?<br />
Dále jen pro dobrovolníky. Pouˇzijte pro ˇrízení systému LQ regulátor a diskutujte rozdíly<br />
pˇri regulaci, pouˇzijeme-li identick´y pozorovatel stavu nebo v´yˇse navrˇzen´y Kalman˚uv <strong>filtr</strong>.<br />
Reference<br />
[1] Havlena, V. Moderní teorie ˇrízení – Doplňkové skriptum. Praha: Vydavatelství<br />
ČVUT, 1999. ISBN 80-01-02036-3<br />
[2] Havlena, V.; ˇ Stecha, J. Moderní teorie ˇrízení. Praha: Vydavatelstní ČVUT, 2000.<br />
[3] Roubal, J.; Pekaˇr, J. Moderní teorie ˇrízení [online]. Poslední revize 2005-01-16<br />
[cit. 2005-01-16], 〈http://dce.felk.cvut.cz/mtr/〉.