, , , , , , , ,

[SOLVED] ECE5550 Applied Kalman Filtering STATE-SPACE DYNAMIC SYSTEMS Matlab

$25

File Name: ECE5550_Applied_Kalman_Filtering_STATE-SPACE_DYNAMIC_SYSTEMS_Matlab.zip
File Size: 631.14 KB

5/5 - (1 vote)

ECE5550: Applied Kalman Filtering

STATE-SPACE DYNAMIC SYSTEMS

2.1: Introduction to state-space systems

■ Representation of the dynamics of an nth-order system as a first-order differential equation in an n-vector called the state.

➠ n first-order equations.

■ Classic example: Second-order equation of motion.

■ Define a (non-unique) state vector (note that x˙(t) = dx(t)/dt, etc.)

■ We can write this as x˙(t) = Ax(t) + Bu(t), where A and B are constant matrices.

■ Complete the model by computing z(t) = Cx(t) + Du(t), where C and D are constant matrices.

■ Fundamental form. for deterministic, time-invariant, continuous-time linear state-space model:

x˙(t) = Ax(t) + Bu(t)

z(t) = Cx(t) + Du(t),

where u(t) is input, x(t) is the state, A, B, C, D are constant matrices.

• Systems with noise inputs are considered in notes chapter 3.

• Time-varying systems have A, B, C, D that change with time.

DEFINITION: The state of a system at time t0 is a minimum amount of information at t0 that, together with the input u(t), t ≥ t0, uniquely determines the behavior. of the system for all t ≥ t0.

■ State variables provide access to what is going on inside the system.

■ Convenient way to express equations of motion.

■ Matrix format great for computers.

■ Allows new analysis and synthesis tools.

SIMULATING IN SIMULINK: To investigate state-space systems, we can simulate them in Simulink. The block diagram below gives explicit access to the state and other internal signals. It is a direct implementation of the transfer function above, and the initial state may be set by setting the initial integrator values.

Example: The nearly constant position (NCP) model

■ Consider a relatively immobile object that we would like to track using a Kalman filter.

■ It gets bumped around by unknown forces.

■ We let our model state be

where ξ(t) is the x-coordinate and η(t) is the y-coordinate of position.

■ Our model’s state equation is then

x˙(t) = 0x(t) + w(t),

where w(t) is a random process-noise input (unlike known u(t)).

■ One possible output equation is

z(t) = x(t) + v(t),

where v(t) is a random sensor-noise input.

■ A possible Simulink implementation and output trajectory:

Example: The nearly constant velocity (NCV) model

■ Another model we might consider is that of an object with momentum.

■ The velocity is nearly constant, but gets perturbed by external forces.

■ We let our model state be

■ Our model’s state equation is then

■ One possible output equation is

■ A possible Simulink implementation and output trajectory:

Example: The coordinated turn model

■ A third model considers an object moving in a 2D plane with constant speed and angular rate Ω where Ω> 0 is counter-clockwise motion and Ω < 0 is clockwise motion.

ξ (¨ t) = −Ωη(˙ t)     and     η(¨ t) = Ωξ (˙ t),

■ We again let our model state be

■ Our model’s state equation is then

■ One possible output equation is

■ A possible Simulink implementation and output trajectory:

2.2: Time (dynamic) response

■ Develop more insight into the system response by looking at time-domain solution for x(t).

Homogeneous part

■ Start with x˙(t) = Ax(t) and some initial state x(0).

■ Take Laplace transform. X(s) = (s I − A)
−1
x(0).

■ So, we have: x(t) = L
−1
[(s I − A)
−1
]x(0). But,

so,

■ e
At : “Transition matrix” or “state-transition matrix.”

■ In MATLAB,

x = expm(A*t)*x0;

■ e
(A+B)t = e
Ate
Bt   iff   AB = B A. (i.e., not in general).

■ Will say more about e
At when we discuss the structure of A.

■ Computation of e
At = L
−1
[(s I − A)
−1
] straightforward for 2 × 2.

EXAMPLE: Find e
At when

■ Solve

■ This is the best way to find e
At if A 2 × 2.

Forced solution

■ Where did this come from?

■ Clearly, if z(t) = Cx(t) + Du(t),

More on the matrix exponential

■ Have seen the key role of e
At in the solution for x(t). Impacts the system response, but need more insight.

■ Consider what happens if the matrix A is diagonalizable, that is, there exists a matrix T such that T
−1AT = 3 =diagonal. Then,

and

■ Much simpler form. for the exponential, but how to find T, 3?

■ Write T
−1AT = 3 as T
−1A = 3 T
−1 with

wTi A = λiwi
T
, so wi
is a left eigenvector of A and note that wi
T
v j = δi,j
.

■ How does this help?

■ Very simple form, which can be used to develop intuition about dynamic response ≈ e
λi
t
.

■ Trajectory can be expressed as a linear combination of modes: vie
λi
t
.

■ Left eigenvectors decompose x(0) into modal coordinates wi
T
x(0).

■ e
λi
t
propagates mode forward in time. Stability?

■ vi corresponds to “relative phasing” of state’s part of the response.

EXAMPLE: Let’s consider a specific system

x˙(t) = Ax(t)

z(t) = Cx(t),

with x(t) ∈ R
16×1
, z(t) ∈ R (16-state, single output).

■ A lightly damped system.

■ Typical output to initial conditions are shown:

■ Waveform. is very complicated. Looks almost random.

■ However, the solution can be decomposed into much simpler modal components.

2.3: Discrete-time state-space systems

■ Computer monitoring of real-time systems requires analog-to-digital (A2D) and digital-to-analog (D2A) conversion.

■ Discrete-time systems can also be represented in state-space form.

xk+1 = Ad xk + Bduk

zk = Cd xk + Dduk.

■ The subscript. “d” is used here to emphasize that, in general, the “A”, “B”, “C” and “D” matrices are different for discrete-time and continuous-time systems, even if the underlying plant is the same.

■ I will usually drop the “d” and expect you to interpret the system from its context.

Time (dynamic) response

■ The full solution, found by induction from xk+1 = Axk + Buk, is

■ Clearly, if zk = Cxk + Duk,

Converting plant dynamics to discrete time.

■ Combine the dynamics of the zero-order hold and the plant.

■ The continuous-time dynamics of the plant are:

x˙(t) = Ax(t) + Bu(t)

z(t) = Cx(t) + Du(t).

■ Evaluate x(t) at discrete times. Recall

■ With malice aforethought, break up the integral into two pieces. The first piece will become Ad times x(kT ). The second part will become Bd times u(kT).

■ In the remaining integral, note that u(τ ) is constant from kT to (k + 1)T, and equal to u(kT ).

■ So, we let σ = (k + 1)T − τ ; τ = (k + 1)T − σ ; dτ = −dσ .

■ So, we have a discrete-time state-space representation from the continuous-time representation

xk+1 = Ad xk + Bduk

where

■ Similarly,

zk = Cxk + Duk.

• That is, Cd = C; Dd = D.

Calculating Ad, Bd, Cd and Dd

■ Cd and Dd require no calculation since Cd = C and Dd = D.

■ Ad is calculated via the matrix exponential Ad = e
AT . This is different from taking the exponential of each element in AT .

■ If MATLAB is handy, you can type in

Ad=expm(A*T)

■ If MATLAB is not handy, then you need to work a little harder. Recall from earlier that e
At = L
−1
[(s I − A)
−1
]. So,

which is probably the “easiest” way to work it out by hand.

■ Now we focus on computing Bd. Recall that

■ If A is invertible, this method works nicely; otherwise, we will need to perform. the integral.

■ Also, in MATLAB,

[Ad,Bd]=c2d(A,B,T)

Reviews

There are no reviews yet.

Only logged in customers who have purchased this product may leave a review.

Shopping Cart
[SOLVED] ECE5550 Applied Kalman Filtering STATE-SPACE DYNAMIC SYSTEMS Matlab
$25