Skip to content

[10.7 STATE-SPACE](#page-15-0) ANALYSIS OF DISCRETE-TIME SYSTEMS

← Back to LINEAR SYSTEMS AND SIGNALS Overview

10.7 STATE-SPACE ANALYSIS OF DISCRETE-TIME SYSTEMS

We have shown that an Nth-order differential equation can be expressed in terms of N first-order differential equations. In the following analogous procedure, we show that a general Nth-order difference equation can be expressed in terms of N first-order difference equations.

Consider the z-transfer function

H[z]=b0zN+b1zN1++bN1z+bNzN+a1zN1++aN1z+aNH[z] = \frac{b_0 z^N + b_1 z^{N-1} + \dots + b_{N-1} z + b_N}{z^N + a_1 z^{N-1} + \dots + a_{N-1} z + a_N}

The input x[n] and the output y[n] of this system are related by the difference equation

(EN+a1EN1++aN1E+aN)y[n]=(b0EN+b1EN1++bN1E+bN)x[n](EN + a1EN-1 + \dots + aN-1E + aN)y[n] = (b0EN + b1EN-1 + \dots + bN-1E + bN)x[n]

The DFII realization of this equation is illustrated in Fig. 10.11.

Signals appearing at the outputs of N delay elements are denoted by q1[n], q2[n], … , qN[n]. The input of the first delay is qN[n + 1]. We can now write N equations, one at the input of each delay:

q1[n+1]=q2[n]q_1[n+1] = q_2[n]

\n

q2[n+1]=q3[n]q_2[n+1] = q_3[n]

\n

\vdots

\n

qN1[n+1]=qN[n]q_{N-1}[n+1] = q_N[n]

\n

qN[n+1]=aNq1[n]aN1q2[n]a1qN[n]+x[n]q_N[n+1] = -a_Nq_1[n] - a_{N-1}q_2[n] - \dots - a_1q_N[n] + x[n]

\n(10.60)

and

y[n] = bNq1[n] +bN1q2[n]+···+b1qN[n] +b0qN+1[n]

We can eliminate qN+1[n] from this equation by using the last equation in Eq. (10.60) to yield

y[n]=(bNb0aN)q1[n]+(bN1b0aN1)q2[n]++(b1b0a1)qN[n]+b0x[n]y[n] = (b_N - b_0 a_N)q_1[n] + (b_{N-1} - b_0 a_{N-1})q_2[n] + \dots + (b_1 - b_0 a_1)q_N[n] + b_0 x[n]

= b^Nq1[n]+b^N1q2[n]++b^1qN[n]+b0x[n]\hat{b}_N q_1[n] + \hat{b}_{N-1} q_2[n] + \dots + \hat{b}_1 q_N[n] + b_0 x[n] (10.61)

where bˆ*i* = bib0ai.

Equation (10.60) shows N first-order difference equations in N variables q1[n], q2[n], … , qN[n]. These variables should immediately be recognized as state variables, since the specification of the initial values of these variables in Fig. 10.11 will uniquely determine the response y[n] for a given x[n]. Thus, Eq. (10.60) represents the state equations, and Eq. (10.61) is the output equation. In matrix form, we can write these equations as

[q1[n+1]q2[n+1]qN1[n+1]qN[n+1]]=[010000010000001aNaN1aN2a2a1][q1[n]q2[n]qN1[n]qN[n]]+[0001]x[n](10.62)\begin{bmatrix} q_{1}[n+1] \\ q_{2}[n+1] \\ \vdots \\ q_{N-1}[n+1] \\ \hline q_{N}[n+1] \end{bmatrix} = \begin{bmatrix} 0 & 1 & 0 & \cdots & 0 & 0 \\ 0 & 0 & 1 & \cdots & 0 & 0 \\ \vdots & \vdots & \vdots & \ddots & \vdots & \vdots \\ 0 & 0 & 0 & \cdots & 0 & 1 \\ -a_{N} & -a_{N-1} & -a_{N-2} & \cdots & -a_{2} & -a_{1} \end{bmatrix} \begin{bmatrix} q_{1}[n] \\ q_{2}[n] \\ \vdots \\ q_{N-1}[n] \\ \hline q_{N}[n] \end{bmatrix} + \begin{bmatrix} 0 \\ 0 \\ \vdots \\ 0 \\ 1 \end{bmatrix} x[n] \quad (10.62)

and

y[n]=[b^Nb^N1b^1]C[q1[n]q2[n]qN[n]]+b0Dx[n](10.63)\mathbf{y}[n] = \underbrace{\begin{bmatrix} \hat{b}_N & \hat{b}_{N-1} & \cdots & \hat{b}_1 \end{bmatrix}}_{C} \begin{bmatrix} q_1[n] \\ q_2[n] \\ \vdots \\ q_N[n] \end{bmatrix} + \underbrace{b_0}_{D} x[n] \qquad (10.63)

In general,

q[n+1]=Aq[n]+Bx[n]\mathbf{q}[n+1] = \mathbf{A}\mathbf{q}[n] + \mathbf{B}\mathbf{x}[n] y[n]=Cq[n]+Dx[n]\mathbf{y}[n] = \mathbf{C}\mathbf{q}[n] + \mathbf{D}\mathbf{x}[n]

Here we have represented a discrete-time system with state equations for DFII form. There are several other possible representations, as discussed in Sec. 10.3. We may, for example, use the cascade, parallel, or transpose of DFII forms to realize the system, or we may use some linear transformation of the state vector to realize other forms. In all cases, the output of each delay element qualifies as a state variable. We then write the equation at the input of each delay element. The N equations thus obtained are the N state equations.

10.7-1 Solution in State Space

Consider the state equation

q[n+1]=Aq[n]+Bx[n]\mathbf{q}[n+1] = \mathbf{A}\mathbf{q}[n] + \mathbf{B}\mathbf{x}[n]

From this equation, it follows that

q[n]=Aq[n1]+Bx[n1]\mathbf{q}[n] = \mathbf{A}\mathbf{q}[n-1] + \mathbf{B}\mathbf{x}[n-1]

and

q[n1]=Aq[n2]+Bx[n2]q[n-1] = Aq[n-2] + Bx[n-2]

\n

q[n2]=Aq[n3]+Bx[n3]q[n-2] = Aq[n-3] + Bx[n-3]

\n:
\n:
\n

q[1]=Aq[0]+Bx[0]q[1] = Aq[0] + Bx[0]

956 CHAPTER 10 STATE-SPACE ANALYSIS

Substituting the expression for q[n−1] into that for q[n], we obtain

q[n]=A2q[n2]+ABx[n2]+Bx[n1]\mathbf{q}[n] = \mathbf{A}^2 \mathbf{q}[n-2] + \mathbf{A} \mathbf{B} \mathbf{x}[n-2] + \mathbf{B} \mathbf{x}[n-1]

Substituting the expression for q[n−2] in this equation, we obtain

q[n]=A3q[n3]+A2Bx[n3]+ABx[n2]+Bx[n1]q[n] = A^{3}q[n-3] + A^{2}Bx[n-3] + ABx[n-2] + Bx[n-1]

Continuing in this way, we obtain

q[n]=Anq[0]+An1Bx[0]+An2Bx[1]++Bx[n1]\mathbf{q}[n] = \mathbf{A}^n \mathbf{q}[0] + \mathbf{A}^{n-1} \mathbf{B} \mathbf{x}[0] + \mathbf{A}^{n-2} \mathbf{B} \mathbf{x}[1] + \dots + \mathbf{B} \mathbf{x}[n-1]

= Anq[0]+m=0n1An1mBx[m]\mathbf{A}^n \mathbf{q}[0] + \sum_{m=0}^{n-1} \mathbf{A}^{n-1-m} \mathbf{B} \mathbf{x}[m]

The upper limit of this summation is nonnegative. Hence, n ≥ 1, and the summation is recognized as the convolution sum

An1u[n1]Bx[n]\mathbf{A}^{n-1}u[n-1]*\mathbf{B}\mathbf{x}[n]

Consequently,

q[n]=Anq[0]zero input+An1u[n1]Bx[n]zero state\mathbf{q}[n] = \underbrace{\mathbf{A}^n \mathbf{q}[0]}_{\text{zero input}} + \underbrace{\mathbf{A}^{n-1} u[n-1] * \mathbf{B} \mathbf{x}[n]}_{\text{zero state}}

(10.64)

and

y[n]=Cq+Dx\mathbf{y}[n] = \mathbf{C}\mathbf{q} + \mathbf{D}\mathbf{x}

= CAnq[0]+m=0n1CAn1mBx[m]+Dx\mathbf{C}\mathbf{A}^n \mathbf{q}[0] + \sum_{m=0}^{n-1} \mathbf{C}\mathbf{A}^{n-1-m} \mathbf{B}\mathbf{x}[m] + \mathbf{D}\mathbf{x}
= CAnq[0]+CAn1u[n1]Bx[n]+Dx\mathbf{C}\mathbf{A}^n \mathbf{q}[0] + \mathbf{C}\mathbf{A}^{n-1}u[n-1] * \mathbf{B}\mathbf{x}[n] + \mathbf{D}\mathbf{x} (10.65)

In Sec. 10.1-3, we showed that

An=β0I+β1A+β2A2++βN1AN1\mathbf{A}^n = \beta_0 \mathbf{I} + \beta_1 \mathbf{A} + \beta_2 \mathbf{A}^2 + \dots + \beta_{N-1} \mathbf{A}^{N-1}

(10.66)

where (assuming N distinct eigenvalues of A)

[\nβ0β1βN1\n]=[\n1λ1λ12λ1N11λ2λ22λ2N11λNλN2λNN1\n]1[\nλ1nλ2nλNn\n]\begin{bmatrix}\n\beta_0 \\ \beta_1 \\ \vdots \\ \beta_{N-1}\n\end{bmatrix} = \begin{bmatrix}\n1 & \lambda_1 & \lambda_1^2 & \cdots & \lambda_1^{N-1} \\ 1 & \lambda_2 & \lambda_2^2 & \cdots & \lambda_2^{N-1} \\ \vdots & \vdots & \vdots & \cdots & \vdots \\ 1 & \lambda_N & \lambda_N^2 & \cdots & \lambda_N^{N-1}\n\end{bmatrix}^{-1} \begin{bmatrix}\n\lambda_1^n \\ \lambda_2^n \\ \vdots \\ \lambda_N^n\n\end{bmatrix}

\n(10.67)

and λ1, λ2, … , λ*N* are the N eigenvalues of A.

We can also determine A*n* from the z-transform formula, which will be derived later, in Eq. (10.71):

An=Z1[(Iz1A)1]\mathbf{A}^n = \mathcal{Z}^{-1}[(\mathbf{I} - z^{-1}\mathbf{A})^{-1}]

EXAMPLE 10.13 State-Space Analysis of a Discrete-Time System

Give a state-space description of the system in Fig. 10.12. Find the output y[n] if the input x[n] = u[n] and the initial conditions are q1[0] = 2 and q2[0] = 3.

6 Figure 10.12 System for Ex. 10.13.

Recognizing that q2[n] = q1[n+1], the state equations are [see Eqs. (10.62) and (10.63)]

[q1[n+1]q2[n+1]]=[011656][q1[n]q2[n]]+[01]x\begin{bmatrix} q_1[n+1] \\ q_2[n+1] \end{bmatrix} = \begin{bmatrix} 0 & 1 \\ -\frac{1}{6} & \frac{5}{6} \end{bmatrix} \begin{bmatrix} q_1[n] \\ q_2[n] \end{bmatrix} + \begin{bmatrix} 0 \\ 1 \end{bmatrix} x

and

y[n]=[15][q1[n]q2[n]]y[n] = \begin{bmatrix} -1 & 5 \end{bmatrix} \begin{bmatrix} q_1[n] \\ q_2[n] \end{bmatrix}

To find the solution [Eq. (10.65)], we must first determine A*n* . The characteristic equation of A is

λIA=λ116λ56=λ256λ+16=(λ13)(λ12)=0|\lambda \mathbf{I} - \mathbf{A}| = \begin{vmatrix} \lambda & -1 \\ \frac{1}{6} & \lambda - \frac{5}{6} \end{vmatrix} = \lambda^2 - \frac{5}{6}\lambda + \frac{1}{6} = \left(\lambda - \frac{1}{3}\right)\left(\lambda - \frac{1}{2}\right) = 0

Hence, λ1 = 1/3 and λ2 = 1/2 are the eigenvalues of A and [see Eq. (10.66)]

An=β0I+β1A\mathbf{A}^n = \beta_0 \mathbf{I} + \beta_1 \mathbf{A}

where [see Eq. (10.67)]

[β0β1]=[113112]1[(13)n(12)n]=[3266][(3)n(2)n]=[3(3)n2(2)n6(3)n+6(2)n]\begin{bmatrix} \beta_0 \\ \beta_1 \end{bmatrix} = \begin{bmatrix} 1 & \frac{1}{3} \\ 1 & \frac{1}{2} \end{bmatrix}^{-1} \begin{bmatrix} \left(\frac{1}{3}\right)^n \\ \left(\frac{1}{2}\right)^n \end{bmatrix} = \begin{bmatrix} 3 & -2 \\ -6 & 6 \end{bmatrix} \begin{bmatrix} (3)^{-n} \\ (2)^{-n} \end{bmatrix} = \begin{bmatrix} 3(3)^{-n} - 2(2)^{-n} \\ -6(3)^{-n} + 6(2)^{-n} \end{bmatrix}

and

An=[3(3)n2(2)n][1001]+[6(3)n+6(2)n][011656]\mathbf{A}^{n} = [3(3)^{-n} - 2(2)^{-n}] \begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix} + [-6(3)^{-n} + 6(2)^{-n}] \begin{bmatrix} 0 & 1 \\ -\frac{1}{6} & \frac{5}{6} \end{bmatrix}

=

[3(3)n2(2)n6(3)n+6(2)n(3)n(2)n2(3)n+3(2)n]\begin{bmatrix} 3(3)^{-n} - 2(2)^{-n} & -6(3)^{-n} + 6(2)^{-n} \\ (3)^{-n} - (2)^{-n} & -2(3)^{-n} + 3(2)^{-n} \end{bmatrix}

(10.68)

We can now determine the state vector q[n] from Eq. (10.64). Since we are interested in the output y[n], we shall use Eq. (10.65) directly. Note that

CAn=[15]An=[2(3)n3(2)n4(3)n+9(2)n]CAn = [-1 \quad 5]An = [2(3)-n - 3(2)-n -4(3)-n + 9(2)-n]

and the zero-input response is CA*n* q[0], with

q[0]=[23]\mathbf{q}[0] = \begin{bmatrix} 2 \\ 3 \end{bmatrix}

Hence, the zero-input response is

CAnq[0]=8(3)n+21(2)nCAnq[0] = -8(3)-n + 21(2)-n

The zero-state component is given by the convolution sum of CAn1 u[n−1] and Bx[n]. We can use the shifting property of the convolution sum [Eq. (3.32)] to obtain the zero-state component by finding the convolution sum of CA*n u*[n] and Bx[n] and then replacing n with n − 1 in the result. We use this procedure because the convolution sums are listed in Table 3.1 for functions of the type x[n]u[n], rather than x[n]u[n−1].

CAnu[n]Bx[n]=[2(3)n3(2)n4(3)n+9(2)n][0u[n]]\mathbf{CA}^{n}u[n] * \mathbf{B}x[n] = [2(3)^{-n} - 3(2)^{-n} - 4(3)^{-n} + 9(2)^{-n}] * \begin{bmatrix} 0 \\ u[n] \end{bmatrix}

= -4(3)^{-n} * u[n] + 9(2)^{-n} * u[n]

Using Table 3.1 (pair 4), we obtain

CAnu[n]Bx[n]=4[13(n+1)113]u[n]+9[12(n+1)112]u[n]\mathbf{CA}^{n}u[n] * \mathbf{B}x[n] = -4 \left[ \frac{1 - 3^{-(n+1)}}{1 - \frac{1}{3}} \right] u[n] + 9 \left[ \frac{1 - 2^{-(n+1)}}{1 - \frac{1}{2}} \right] u[n] =[12+6(3(n+1))18(2(n+1))]u[n]= [12 + 6(3^{-(n+1)}) - 18(2^{-(n+1)})]u[n]

Now the desired (zero-state) response is obtained by replacing n by n−1. Hence,

CAnu[n]Bx[n1]=[12+6(3)n18(2)n]u[n1]CAnu[n] * Bx[n-1] = [12+6(3)-n - 18(2)-n]u[n-1]

It follows that

y[n]=[8(3)n+21(2)nu[n]+[12+6(3)n18(2)n]u[n1]y[n] = [-8(3)^{-n} + 21(2)^{-n}u[n] + [12 + 6(3)^{-n} - 18(2)^{-n}]u[n-1]

This is the desired answer. We can simplify this answer by observing that 12 + 6(3)−n − 18(2)−n = 0 for n = 0. Hence, u[n−1] may be replaced by u[n], and

y[n]=[122(3)n+3(2)n]u[n]y[n] = [12 - 2(3)^{-n} + 3(2)^{-n}]u[n]

\n(10.69)

USING MATLAB TO OBTAIN A GRAPHICAL SOLUTION

MATLAB is equipped with tools to simulate digital systems, which makes it easy to obtain a graphical solution to the system. Let us use MATLAB simulation to determine the total system output over 0 ≤ n ≤ 25.

  • A = [0 1;-1/6 5/6]; B = [0; 1]; C = [-1 5]; D = 0;

  • N = 25; n = (0:N); x = ones(1,N+1); q0 = [2;3];

  • sys = ss(A,B,C,D,-1); % Discrete-time state space model

  • [y,q] = lsim(sys,x,n,q0); % Simulate output and state vector

  • clf; stem(n,y,‘k.’); xlabel(‘n’); ylabel(‘y[n]’); axis([-.5 25.5 11.5 13.5]);

The MATLAB results, shown in Fig. 10.13, exactly align with the analytical solution derived earlier. Also notice that the zero-input and zero-state responses can be separately obtained using the same code and respectively setting either x or q0 to zero.

10.7-2 The z**-Transform Solution**

The z-transform of Eq. (10.62) is given by

zQ[z]zq[0]=AQ[z]+BX[z]z\mathbf{Q}[z] - z\mathbf{q}[0] = \mathbf{A}\mathbf{Q}[z] + \mathbf{B}\mathbf{X}[z]

Therefore,

(zIA)Q[z]=zq[0]+BX[z](z\mathbf{I} - \mathbf{A})\mathbf{Q}[z] = z\mathbf{q}[0] + \mathbf{B}\mathbf{X}[z]

and

Q[z]=(zIA)1zq[0]+(zIA)1BX[z]Q[z] = (zI - A)^{-1}zq[0] + (zI - A)^{-1}BX[z] =(Iz1A)1q[0]+(zIA)1BX[z]= (I - z^{-1}A)^{-1}q[0] + (zI - A)^{-1}BX[z]

Hence,

q[n]=Z1[(Iz1A)1]q[0]zero-input response+Z1[(zIA)1BX[z]]zero-state response\mathbf{q}[n] = \underbrace{\mathcal{Z}^{-1}[(\mathbf{I} - z^{-1}\mathbf{A})^{-1}]\mathbf{q}[0]}_{\text{zero-input response}} + \underbrace{\mathcal{Z}^{-1}[(z\mathbf{I} - \mathbf{A})^{-1}\mathbf{B}\mathbf{X}[z]]}_{\text{zero-state response}}

(10.70)

960 CHAPTER 10 STATE-SPACE ANALYSIS

A comparison of Eq. (10.70) with Eq. (10.64) shows that

An=Z1[(Iz1A)1]\mathbf{A}^{n} = \mathcal{Z}^{-1}[(\mathbf{I} - z^{-1}\mathbf{A})^{-1}]

(10.71)

The output equation is given by

Y[z]=CQ[z]+DX[z]\mathbf{Y}[z] = \mathbf{C}\mathbf{Q}[z] + \mathbf{D}\mathbf{X}[z]

= C[(Iz1A)1q[0]+(zIA)1BX[z]]+DX[z]\mathbf{C}[(\mathbf{I} - z^{-1}\mathbf{A})^{-1}\mathbf{q}[0] + (z\mathbf{I} - \mathbf{A})^{-1}\mathbf{B}\mathbf{X}[z]] + \mathbf{D}\mathbf{X}[z]
= C(Iz1A)1q[0]+[C(zIA)1B+D]X[z]\mathbf{C}(\mathbf{I} - z^{-1}\mathbf{A})^{-1}\mathbf{q}[0] + [\mathbf{C}(z\mathbf{I} - \mathbf{A})^{-1}\mathbf{B} + \mathbf{D}]\mathbf{X}[z]
= C(Iz1A)1q[0]zero-input response+H[z]X[z]zero-state response\underbrace{\mathbf{C}(\mathbf{I} - z^{-1}\mathbf{A})^{-1}\mathbf{q}[0]}_{\text{zero-input response}} + \underbrace{\mathbf{H}[z]\mathbf{X}[z]}_{\text{zero-state response}} (10.72)

where

H[z]=C(zIA)1B+D\mathbf{H}[z] = \mathbf{C}(z\mathbf{I} - \mathbf{A})^{-1}\mathbf{B} + \mathbf{D}

(10.73)

Note that H[z] is the transfer function matrix of the system, and Hij[z], the ijth element of H[z], is the transfer function relating the output yi[n] to the input xj[n]. If we define h[n] as

h[n]=Z1[H[z]]\mathbf{h}[n] = \mathcal{Z}^{-1}[\mathbf{H}[z]]

then h[n] represents the unit impulse function response matrix of the system. Thus, hij[n], the ijth element of h[n], represents the zero-state response yi[n] when the input xj[n] = δ[n] and all other inputs are zero.

EXAMPLE 10.14 z**-Transform Solution to State Equations**

Use the z-transform to find the response y[n] for the system in Ex. 10.13.

According to Eq. (10.72),

Y[z]=[15][116z1z1z6z]1[23]+[15][z161z56]1[0zz1]\mathbf{Y}[z] = [-1 \quad 5] \left[ \frac{1}{\frac{1}{6z}} \quad \frac{-\frac{1}{z}}{1 - \frac{z}{6z}} \right]^{-1} \left[ \frac{2}{3} \right] + [-1 \quad 5] \left[ \frac{z}{\frac{1}{6}} \quad \frac{-1}{z - \frac{5}{6}} \right]^{-1} \left[ \frac{0}{\frac{z}{z - 1}} \right]

\n

=[15][z(6z5)6z25z+1z6z25z+16z6z25z+16z25z+16z25z+1][23]+[15][z(z1)(z256z+16)z2(z1)(z256z+16)]= [-1 \quad 5] \left[ \frac{\frac{z(6z - 5)}{6z^2 - 5z + 1}}{\frac{-z}{6z^2 - 5z + 1}} \quad \frac{\frac{6z}{6z^2 - 5z + 1}}{\frac{6z^2 - 5z + 1}{6z^2 - 5z + 1}} \right] \left[ \frac{2}{3} \right] + [-1 \quad 5] \left[ \frac{\frac{z}{(z - 1)(z^2 - \frac{5}{6}z + \frac{1}{6})}}{\frac{z^2}{(z - 1)(z^2 - \frac{5}{6}z + \frac{1}{6})}} \right]

\n

=13z23zz256z+16+(5z1)z(z1)(z256z+16)= \frac{13z^2 - 3z}{z^2 - \frac{5}{6}z + \frac{1}{6}} + \frac{(5z - 1)z}{(z - 1)(z^2 - \frac{5}{6}z + \frac{1}{6})}

\n

=8zz13+21zz12+12zz1+12zz1+6zz1318zz12= \frac{-8z}{z - \frac{1}{3}} + \frac{21z}{z - \frac{1}{2}} + \frac{12z}{z - 1} + \frac{12z}{z - 1} + \frac{6z}{z - \frac{1}{3}} - \frac{18z}{z - \frac{1}{2}}

Therefore,

y[n]=[8(3)n+21(2)nzero-input response+12+6(3)n18(2)nzero-state response]u[n]y[n] = \underbrace{[-8(3)^{-n} + 21(2)^{-n}}_{\text{zero-input response}} + \underbrace{12 + 6(3)^{-n} - 18(2)^{-n}}_{\text{zero-state response}}]u[n]

LINEAR TRANSFORMATION, CONTROLLABILITY, AND OBSERVABILITY

The procedure for linear transformation is parallel to that in the continuous-time case (Sec. 10.5). If w is the transformed-state vector given by

w = Pq

then

w[n+1]=PAP1w[n]+PBx\mathbf{w}[n+1] = \mathbf{P}\mathbf{A}\mathbf{P}^{-1}\mathbf{w}[n] + \mathbf{P}\mathbf{B}\mathbf{x}

and

y[n]=(CP1)w+Dx\mathbf{y}[n] = (\mathbf{C}\mathbf{P}^{-1})\mathbf{w} + \mathbf{D}\mathbf{x}

Controllability and observability may be investigated by diagonalizing the matrix, as explained in Sec. 10.5-1.