User`s guide
Table Of Contents
- Preface
- Quick Start
- LTI Models
- Introduction
- Creating LTI Models
- LTI Properties
- Model Conversion
- Time Delays
- Simulink Block for LTI Systems
- References
- Operations on LTI Models
- Arrays of LTI Models
- Model Analysis Tools
- The LTI Viewer
- Introduction
- Getting Started Using the LTI Viewer: An Example
- The LTI Viewer Menus
- The Right-Click Menus
- The LTI Viewer Tools Menu
- Simulink LTI Viewer
- Control Design Tools
- The Root Locus Design GUI
- Introduction
- A Servomechanism Example
- Controller Design Using the Root Locus Design GUI
- Additional Root Locus Design GUI Features
- References
- Design Case Studies
- Reliable Computations
- Reference
- Category Tables
- acker
- append
- augstate
- balreal
- bode
- c2d
- canon
- care
- chgunits
- connect
- covar
- ctrb
- ctrbf
- d2c
- d2d
- damp
- dare
- dcgain
- delay2z
- dlqr
- dlyap
- drmodel, drss
- dsort
- dss
- dssdata
- esort
- estim
- evalfr
- feedback
- filt
- frd
- frdata
- freqresp
- gensig
- get
- gram
- hasdelay
- impulse
- initial
- inv
- isct, isdt
- isempty
- isproper
- issiso
- kalman
- kalmd
- lft
- lqgreg
- lqr
- lqrd
- lqry
- lsim
- ltiview
- lyap
- margin
- minreal
- modred
- ndims
- ngrid
- nichols
- norm
- nyquist
- obsv
- obsvf
- ord2
- pade
- parallel
- place
- pole
- pzmap
- reg
- reshape
- rlocfind
- rlocus
- rltool
- rmodel, rss
- series
- set
- sgrid
- sigma
- size
- sminreal
- ss
- ss2ss
- ssbal
- ssdata
- stack
- step
- tf
- tfdata
- totaldelay
- zero
- zgrid
- zpk
- zpkdata
- Index

Kalman Filtering
9-59
you can implement the time-varying filter with the following for loop.
P = B*Q*B'; % Initial error covariance
x = zeros(3,1); % Initial condition on the state
ye = zeros(length(t),1);
ycov = zeros(length(t),1);
for i=1:length(t)
% Measurement update
Mn = P*C'/(C*P*C'+R);
x = x + Mn*(yv(i)–C*x); % x[n|n]
P = (eye(3)–Mn*C)*P; % P[n|n]
ye(i) = C*x;
errcov(i) = C*P*C';
% Time update
x = A*x + B*u(i); % x[n+1|n]
P = A*P*A' + B*Q*B'; % P[n+1|n]
end