<<

State Space Models

MUS420 Equations of motion for any physical system may be Introduction to Linear State Space Models conveniently formulated in terms of its state x(t):

Julius O. Smith III ([email protected]) Center for Computer Research in Music and Acoustics (CCRMA) Input u(t) Department of Music, Stanford University Stanford, California 94305 ft Model State x(t) x˙(t) February 5, 2019

Outline R State Space Models x˙(t)= ft[x(t),u(t)] • where Linear State Space Formulation • x(t) = state of the system at time t Markov Parameters (Impulse Response) • u(t) = vector of external inputs (typically driving forces) • ft = general function mapping the current state x(t) and Difference Equations to State Space Models inputs u(t) to the state time-derivative x˙(t) • Similarity Transformations The function f may be time-varying, in general • • t Modal Representation (Diagonalization) This potentially nonlinear time-varying model is • • Matlab Examples extremely general (but causal) • Even the human brain can be modeled in this form • 1 2 State-Space History Key Property of State Vector

The key property of the state vector x(t) in the state 1. Classic phase-space in physics (Gibbs 1901) space formulation is that it completely determines the System state = point in position-momentum space system at time t 2. Digital computer (1950s) 3. Finite State Machines (Mealy and Moore, 1960s) Future states depend only on the current state x(t) • and on any inputs u(t) at time t and beyond 4. Finite Automata All past states and the entire input history are 5. State-Space Models of Linear Systems • “summarized” by the current state x(t) 6. Reference: State x(t) includes all “memory” of the system Linear system theory: The state space • approach L.A. Zadeh and C.A. Desoer Krieger, 1979

3 4 -Driven Mass Example Forming Outputs

Consider f = ma for the force-driven mass: Any system output is some function of the state, and possibly the input (directly): Since the mass m is constant, we can use momentum • ∆ p(t)= mv(t) in place of velocity (more fundamental, y(t) = ot[x(t),u(t)] since momentum is conserved) y(t) x(t ) and p(t ) (or v(t )) define the state of the mass ot • 0 0 0 m at time t0 In the absence of external forces f(t), all future states Input Forces u(t) • are predictable from the state at time t0: ft x˙(t) Model State x(t) p(t) = p(t0) (conservation of momentum) 1 t x(t) = x(t )+ p(τ) dτ, t t 0 m ≥ 0 Zt0 External forces f(t) drive the state to arbitrary points R • Usually the output is a linear combination of state in state space: variables and possibly the current input: t ∆ ∆ p(t) = p(t0)+ f(τ) dτ, t t0, p(t) = mv(t) y(t) = Cx(t)+ Du(t) ≥ Zt0 where C and D are constant matrices of 1 t x(t) = x(t )+ p(τ) dτ, t t linear-combination coefficients 0 m ≥ 0 Zt0

5 6 Numerical Integration State Definition We need a state variable for the amplitude of each Recall the general state-space model in continuous time: physical degree of freedom x˙(t)= ft[x(t),u(t)] Examples: An approximate discrete-time numerical solution is x(t + T ) = x(t )+ T f [x(t ),u(t )] Ideal Mass: n n n n tn n n • 1 for n =0, 1, 2,... . (Forward Euler) Energy = mv2 state variable = v(t) ∆ 2 ⇒ Let gtn[x(tn),u(tn)] = x(tn)+ Tn ftn[x(tn),u(tn)]: Note that in 3D we get three state variables (vx,vy,vz) u(tn) Ideal Spring: • gt 1 Energy = kx2 state variable = x(t) x(tn) x(tn + Tn) 2 ⇒ Inductor: Analogous to mass, so current • Capacitor: Analogous to spring, so charge • T (or voltage = charge/capacitance) z− n Resistors and dashpots need no state variables • This is a simple example of numerical integration for assigned—they are stateless (no “memory”) • solving the ODE ODE can be nonlinear and/or time-varying • The sampling interval T may be fixed or adaptive • n 7 8 State-Space Model of a Force-Driven Mass Force-Driven Mass Reconsidered

For the simple example of a mass m driven by external Why not include position x(t) as well as velocity v(t) in force f along the x axis: the state-space model for the force-driven mass?

v(t) x˙(t) 0 1 x(t) 0 = + f(t) x =0 v˙(t) 0 0 v(t) 1/m        f(t) m We might expect this because we know from before that the complete physical state of a mass consists of its velocity v and position x! There is only one energy-storage element (the mass), • and it stores energy in the form of kinetic energy Therefore, we should choose the state variable to be • velocity v =x ˙ (or momentum p = mv = mx˙) Newton’s f = ma readily gives the state-space • formulation: 1 v˙ = f m or p˙ = f This is a first-order system (no vector needed) •

9 10 Force-Driven Mass Reconsidered and Dismissed State Variable Summary

Position x does not affect stored energy State variable = physical amplitude for some • • energy-storing degree of freedom 1 2 Em = mv 2 Mechanical Systems: • Velocity v(t) is the only energy-storing degree of State variable for each • freedom – ideal spring (linear or rotational) Only velocity v(t) is needed as a state variable – point mass (or moment of inertia) • The initial position x(0) can be kept “on the side” to times the number of dimensions in which it can move • enable computation of the complete state in RLC Electric Circuits: position-momentum space: • State variable for each capacitor and inductor t In Discrete-Time: x(t) = x(0) + v(τ) dτ • Z0 State variable for each unit-sample delay In other words, the position can be derived from the Continuous- or Discrete-Time: • velocity history without knowing the force history • Dimensionality of state-space = order of the system Note that the external force f(t) can only drive v˙(t). (LTI systems) • It cannot drive x˙(t) directly: x˙(t) 0 1 x(t) 0 = + f(t) v˙(t) 0 0 v(t) 1/m       

11 12 Discrete-Time Linear State Space Zero-State Impulse Response Models (Markov Parameters)

For linear, time-invariant systems, a discrete-time state-space model looks like a vector first-order Linear State-Space Model: finite-difference model: y(n) = Cx(n)+ Du(n) x(n +1) = A x(n)+ B u(n) x(n +1) = Ax(n)+ Bu(n) y(n) = C x(n)+ D u(n) The zero-state impulse response of a state-space model is where ∆ easily found by direct calculation: Let x(0) =0 and N x(n) R = state vector at time n u = Ipδ(n)= diag(δ(n),...,δ(n)). Then • ∈ u(n)= p 1 vector of inputs h(0) = Cx(0)B + DI δ(0) = D • × p y(n)= q 1 output vector x(1) = A x(0) + BIpδ(0) = B • × A = N N state transition h(1) = CB • × B = N p input coefficient matrix x(2) = A x(1) + B δ(1) = AB • × h(2) = CAB C = q N output coefficient matrix • × x(3) = A x(1) + B δ(1) = A2B D = q p direct path coefficient matrix • × h(3) = CA2B The state-space representation is especially powerful for . n 1 multi-input, multi-output (MIMO) linear systems h(n) = CA − B , n> 0 • time-varying linear systems • (every matrix can have a time subscript n)

13 14 Zero-State Impulse Response (Markov Linear State-Space Model Parameters) Transfer Function

Thus, the “impulse response” of the state-space model Recall the linear state-space model: can be summarized as • y(n) = C x(n)+ D u(n) D, n =0 h (n)= n 1 x(n +1) = A x(n)+ B u(n) ( CA − B, n> 0 and its “impulse response” Initial state x(0) assumed to be 0 • D, n =0 h Input “impulse” is u = I δ(n)= diag(δ(n),...,δ(n)) (n) = n 1 • p ( CA − B, n> 0 Each “impulse-response sample” h(n) is a p q • matrix, in general × The transfer function is the z transform of the • impulse response: The impulse-response terms CAnB for n 0 are • ≥ called Markov parameters ∆ ∞ n ∞ n 1 n H(z) = h(n)z− = D + CA − B z− n=0 n=1 X X  1 ∞ 1 n = D + z− C z− A B "n=0 # X  The closed-form sum of a matrix geometric series gives 1 H(z)= D + C (zI A)− B − (a p q matrix of rational polynomials in z) × 15 16 If there are p inputs and q outputs, then H(z) is a System Poles • p q transfer-function matrix (or× “matrix transfer function”) Above, we found the transfer function to be Given transfer-function coefficients, many digital filter 1 • H(z)= D + C (zI A)− B realizations are possible (different computing − structures) The poles of H(z) are the same as those of

∆ 1 H (z) =(zI A)− Example: (p =3, q =2) p − By Cramer’s rule for matrix inversion, the denominator 1 polynomial for (zI A)− is given by the determinant: − 1 ∆ 1 1 z− 1 d(z) = zI A z − 1+ z− − 1 0.5z 1 | − | H  −  Q determinant (z)= 1 − 1 1 2 where denotes the of the square matrix 2+3z− 1+ z− (1 z− ) | |  −  Q (also written as det(Q).)  1 0.1z 1 1 z 1 (1 0.1z 1)(1 0.2z 1)   − − − − − − − −    In linear algebra, the polynomial d(z)= zI A is • called the characteristic polynomial for the| matrix− | A The roots of the characteristic polynomial are called • the eigenvalues of A Thus, the eigenvalues of the state transition matrix • A are the system poles Each mode of vibration gives rise to a pole pair •

17 18 Initial-Condition Response Difference Equation to State Space Form

Going back to the time domain, we have the linear A digital filter is often specified by its difference equation discrete-time state-space model (Direct Form I). Second-order example: 1 1 y(n) = C x(n)+ D u(n) y(n)= u(n)+2u(n 1)+3u(n 2) y(n 1) y(n 2) − − −2 − −3 − x(n +1) = A x(n)+ B u(n) Every nth order difference equation can be reformulated and its “impulse response” as a first order vector difference equation called the D, n =0 “state space” (or “state variable”) representation: h(n) = n 1 ( CA − B, n> 0 x(n +1) = A x(n)+ B u(n) y(n) = C x(n)+ D u(n) Given zero inputs and initial state x(0) =0, we get 6 For the above example, we have, as we’ll show, y (n) = CAnx(0), n =0, 1, 2,... . x 1 1 ∆ A = −2 −3 (state transition matrix) superposition complete 1 0 By (for LTI systems), the   response of a linear system is given by the sum of its 1 B =∆ (matrix routing input to state variables) forced response (such as the impulse response) and its 0   initial-condition response 3/2 C =∆ (output linear-combination matrix) 8/3   D =∆ 1 (direct feedforward coefficient)

19 20 Converting to State-Space Form by Hand 3. Next, draw the strictly causal part in direct form II, as shown below:

1. First, determine the filter transfer function H(z). In the example, the transfer function can be written, by 1 inspection, as x(n) y(n) 1 2 1+2z +3z x1(n + 1) H(z)= − − 1 1 1 2 z−1 1+ 2z− + 3z− x1(n) 2. If h(0) =0, we must “pull out” the parallel delay-free 6 1/2 3/2 path: − −1 b z 1 + b z 2 z H(z)= d + 1 − 2 − 0 1 1 1 2 x2(n) 1+ 2z− + 3z− Obtaining a common denominator and equating 1/3 8/3 numerator coefficients yields − It is important that the filter representation be d0 = 1 1 3 canonical with respect to delay, i.e., the number of b = 2 = 1 − 2 2 delay elements equals the order of the filter 1 8 4. Assign a state variable to the output of each delay b = 3 = 2 − 3 3 element (see figure) The same result is obtained using long or synthetic 5. Write down the state-space representation by division inspection. (Try it and compare to answer above.)

21 22 Matlab Conversion from Direct-Form to Previous Example Using Matlab State-Space Form

>> num = [1 2 3]; % transfer function numerator Matlab has extensive support for state-space models, >> den = [1 1/2 1/3]; % denominator coefficients such as >> [A,B,C,D] = tf2ss(num,den) tf2ss - transfer-function to state-space conversion • A = ss2tf - state-space to transfer-function conversion • -0.5000 -0.3333 1.0000 0 Note that these utilities are documented primarily for continuous-time systems, but they are also used for B = discrete-time systems. 1 Let’s repeat the previous example using Matlab: 0

C = 1.5000 2.6667

D= 1

>> [N,D] = ss2tf(A,B,C,D)

N = 1.0000 2.0000 3.0000

D = 1.0000 0.5000 0.3333

23 24 Matlab Documentation Similarity Transformations

similarity transformation The tf2ss and ss2tf functions are documented at A of a state-space system is a linear change of state variable coordinates: http://www.mathworks.com/access/helpdesk/help/toolbox/signal/tf2ss.shtml as well as within Matlab itself (e.g., help tf2ss). x(n) =∆ Ex˜(n) Related Signal Processing Toolbox functions include where x(n)= original state vector tf2sos — Convert digital filter transfer function • • parameters to second-order sections form. x˜(n)= state vector in new coordinates • sos2ss E = any invertible (one-to-one) matrix — Convert second-order filter sections to • • state-space form. (linear transformation) tf2zp — Convert transfer function filter parameters Substituting x(n)= Ex˜(n) gives • to zero-pole-gain form. Ex˜(n +1) = AEx˜(n)+ Bu(n) zp2ss — Convert zero-pole-gain filter parameters to y(n) = CEx˜(n)+ Du(n) • 1 state-space form. Premultiplying the first equation above by E− gives 1 1 x˜(n +1) = E− AE x˜(n)+ E− B u(n) y(n)=(CE)˜x(n)+ Du(n)   Define the transformed system matrices by 1 A˜ = E− AE 1 B˜ = E− B C˜ = CE D˜ = D

25 26 We can now write State Space Modal Representation x˜(n +1) = A˜ x˜(n)+ B˜ u(n) y(n) = C˜ x˜(n)+ Du(n) Diagonal state transition matrix = modal representation: x (n + 1) λ 0 0 0 x (n) b The transformed system describes the same system in 1 1 ··· 1 1  x2(n + 1)   0 λ2 0 0   x2(n)   b2  . . . .. ···. . . . new state-variable coordinates . = ...... + . u(n)                  xN 1(n + 1)   0 0 0 λN 1 0   xN 1(n)   bN 1  Let’s verify that the transfer function has not changed:  −   −   −   −   xN (n + 1)   000 0 λN   xN (n)   bN          ˜ ˜ ˜ ˜ 1 ˜         H(z) = D + C(zI A)− B y(n) = Cx(n)+ Du(n) − 1 1 1 = D +(CE) zI E− AE − (E− B) − (always possible when there are no repeated poles) 1 1 1 = D + C E zI E− AEE− − B − 1 The N complex modes are decoupled: = D + C (zI A)− B = H(z)  − x1(n +1) = λ1x1(n)+ b1u(n) Since the eigenvalues of A are the poles of the x2(n +1) = λ2x2(n)+ b2u(n) • system, it follows that the eigenvalues of . A˜ E 1AE = − are the same. In other words, xN (n +1) = λN xN (n)+ bN u(n) eigenvalues are unaffected by a similarity y(n) = c1x1(n)+ c2x2(n)+ + cN xN (n)+ Du(n) transformation. ··· That is, the diagonal state-space system consists of N ˜ ˜ n ˜ The transformed Markov parameters, CA B, are parallel one-pole systems: • also unchanged since they are given by the inverse z 1 H˜ H(z) = C(zI A)− B + D transform of the transfer function (z). However, it − is also easy to show this by direct calculation. N c b z 1 = D + i i − 1 λ z 1 i=1 i − X − 27 28 Finding the (Diagonalized) Modal Representation State-Space Analysis Example: The Digital Oscillator The ith eigenvector e of a matrix A has the defining i Let’s use state-space analysis to determine the frequency property of oscillation of the following system: Aei = λiei, where λ is the associated eigenvalue. Thus, the i c eigenvector ei is invariant under the linear transformation

A to within a (generally complex) scale factor λi. x1(n) x2(n + 1) −1 −1 An N N matrix A typically has N eigenvectors.1 Let’s z z × make a similarity-transformation matrix E out of the N x1(n + 1) x2(n) eigenvectors: - E = e e e 1 2 ··· N The second-order digital waveguide oscillator. Then we have   Note the assignments of unit-delay outputs to state ∆ AE = λ1e λ2e λN e = EΛ variables x (n) and x (n). 1 2 ··· N 1 2 ∆ where Λ = diag(λ) is a diagonal matrix having We have ∆ T λ = λ1 λ2 λN along its diagonal. x1(n+1) = c[x1(n)+x2(n)] x2(n)= cx1(n)+(c 1)x2(n) ··· 1 − − Premultiplying by E− gives and   1 E− AE = Λ x2(n+1) = x1(n)+c[x1(n)+x2(n)] = (1+c)x1(n)+cx2(n) In matrix form, the state transition can be written as Thus, E = e e e is a similarity transformation 1 2 ··· N x (n + 1) c c 1 x (n) that diagonalizes the system. 1 = − 1 1When there are repeated eigenvalues, there may be only one linearly independent eigenvector for the x2(n + 1) c +1 c x2(n) repeated group. We will not consider this case and refer the interested reader to a Web search on “generalized       eigenvectors,” e.g., http://en.wikipedia.org/wiki/Generalized eigenvector . A

29 30 | {z } or, in vector notation, Eigenstructure of A x(n +1) = A x(n) The defining property of the eigenvectors ei and The poles of the system are given by the eigenvalues of eigenvalues λi of A is the relation A, which are the roots of its characteristic polynomial. Ae = λ e , i =1, 2, That is, we solve i i i λ I A =0 which expands to | i − | for λi, i =1, 2,...,N, or, for our N =2 problem, c c 1 1 λ − = i . λ c 1 c c +1 c ηi λiηi 0= i − − =(λ c)2+(1 c)(1+c)= λ 2 2λ c+1      c 1 λ c i− − i − i − − i − The first element of e is normalized arbitrarily to 1 • i Using the quadratic formula, the two solutions are found We have two equations in two unknowns λi and ηi: to be • 2 2 λ = c c 1= c j 1 c c + ηi(c 1) = λi i ± − ± − − Defining c = cos(θ),p we obtain the simplep formula (1 + c)+ cηi = λiηi jθ (We already know λ from above, but this analysis λi = cos(θ) j sin(θ)= e± i ± will find them by a different method.) It is now clear that the system is a real sinusoidal Substitute the first into the second to eliminate λ : oscillator for 1 c 1, oscillating at normalized radian • i − ∆ ≤ ∆ ≤ = = 2 frequency ωcT θ arccos(c) [ π,π]. 1+ c + cηi = [c + ηi(c 1)]ηi = cηi + ηi (c 1) ∈ − 2 − − We determined the frequency of oscillation ω T from the 1+ c = ηi (c 1) c ⇒ − eigenvalues λ of A. To study this system further, we can c +1 i η = diagonalize A. For that we need the eigenvectors as well i ⇒ ±rc 1 as the eigenvalues. −

31 32 We have found both eigenvectors: where f denotes the sampling rate. Or, • s 1 1 ∆ c +1 c = cos(ω T ) e = , e = , where η = c 1 η 2 η rc 1    −  − The coefficient range c ( 1, 1) corresponds to They are linearly independent provided frequencies f ( f /2∈,f −/2). η =0 c = 1 and finite provided c =1. ∈ − s s 6 ⇔ 6 − 6 We have shown that the example system oscillates The eigenvalues are then • sinusoidally at any desired digital frequency ωc when c +1 2 2 c = cos(ωcT ), where T denotes the sampling interval. λi = c+ηi(c 1) = c (c 1) = c c 1 − ±rc 1 − ± − − p Assuming c < 1, they can be written as The Diagonalized Example System • | | λ = c j 1 c2 i ± − We can now diagonalize our system using the similarity With c ( 1, 1), define θ =p arccos(c), i.e., transformation • ∈ − c =∆ cos(θ) and √1 c2 = sin(θ). 1 1 E = e e = − 1 2 η η The eigenvalues become  −  •   2 jθ c+1 λ1 = c + j 1 c = cos(θ)+ j sin(θ)= e where η = c 1. − − 2 jθ λ = c j 1 c = cos(θ) j sin(θ)= e− q 2 − p − − We have only been working with the state-transition as expected. p matrix A up to now. The system has no inputs so it must be excited by initial We again found the explicit formula for the frequency of conditions (although we could easily define one or two oscillation: θ inputs that sum into the delay elements). ω = = f arccos(c), c T s 33 34 We have two natural choices of output which are the the modal representation: state variables x1(n) and x2(n), corresponding to the 1 1 y (n) = [1, 0]x(n)=[1, 0] x˜(n) choices C = [1, 0] and C = [0, 1]: 1 η η ∆  −  y (n) = x (n) = [1, 0] x(n) n n 1 1 = [1, 1]˜x(n)= λ1 x˜1(0) + λ2 x˜2(0) ∆ y2(n) = x2(n) = [0, 1] x(n) 1 1 y (n) = [0, 1]x(n)=[0, 1] x˜(n) 2 η η Thus, a convenient choice of the system C matrix is the  −  n n 2 2 identity matrix. = [η, η]˜x(n)= ηλ1x˜1(0) ηλ2 x˜2(0) × − − For the diagonalized system we obtain The output signal from the first state variable x1(n) is jθ n n ˜ 1 e 0 y1(n) = λ1 x˜1(0) + λ2 x˜2(0) A = E− AE = jθ jω nT jω nT 0 e− = e c x˜ (0) + e c x˜ (0)   1 − 2 B˜ E 1B 0 = − = T 1 1 The initial condition x(0) = [1, 0] corresponds to modal C˜ = CE = E = η η initial state  −  ˜ 1 1 1 e 1 1 1/2 D = 0 x˜(0) = E− = − − − = 0 2e e 1 0 1/2 c+1    −     where θ = arccos(c) and η = c 1 as derived above. − For this initialization, the output y1 from the first state We may now view our state-outputq signals in terms of variable x1 is simply ejωcnT + e jωcnT y (n)= − = cos(ω nT ) 1 2 c Similarly y2(n) is proportional to sin(ωcnT ) (“phase quadrature” output), with amplitude η.

35 36