## Modal Representation

When the state transition matrix is diagonal, we have the so-called modal representation. In the single-input, single-output (SISO) case, the general diagonal system looks like

 (G.21)

Since the state transition matrix is diagonal, the modes are decoupled, and we can write each mode's time-update independently:

Thus, the diagonalized state-space system consists of parallel one-pole systems. See §9.2.2 and §6.8.7 regarding the conversion of direct-form filter transfer functions to parallel (complex) one-pole form.

### Diagonalizing a State-Space Model

To obtain the modal representation, we may diagonalize any state-space representation. This is accomplished by means of a particular similarity transformation specified by the eigenvectors of the state transition matrix . An eigenvector of the square matrix is any vector for which

where may be complex. In other words, when the matrix of the similarity transformation is composed of the eigenvectors of ,

the transformed system will be diagonalized, as we will see below.

A system can be diagonalized whenever the eigenvectors of are linearly independent. This always holds when the system poles are distinct. It may or may not hold when poles are repeated.

To see how this works, suppose we are able to find linearly independent eigenvectors of , denoted , . Then we can form an matrix having these eigenvectors as columns. Since the eigenvectors are linearly independent, is full rank and can be used as a one-to-one linear transformation, or change-of-coordinates matrix. From Eq.(G.19), we have that the transformed state transition matrix is given by

Since each column of is an eigenvector of , we have , , which implies

where

is a diagonal matrix having the (complex) eigenvalues of along the diagonal. It then follows that

which shows that the new state transition matrix is diagonal and made up of the eigenvalues of .

The transfer function is now, from Eq.(G.5), in the SISO case,

 (G.22)

We have incidentally shown that the eigenvalues of the state-transition matrix are the poles of the system transfer function. When it is diagonal, i.e., when    diag, the state-space model may be called a modal representation of the system, because the poles appear explicitly along the diagonal of and the system's dynamic modes are decoupled.

Notice that the diagonalized state-space form is essentially equivalent to a partial-fraction expansion form (§6.8). In particular, the residue of the th pole is given by . When complex-conjugate poles are combined to form real, second-order blocks (in which case is block-diagonal with blocks along the diagonal), this is corresponds to a partial-fraction expansion into real, second-order, parallel filter sections.

### Finding the Eigenvalues of A in Practice

Small problems may be solved by hand by solving the system of equations

The Matlab built-in function eig() may be used to find the eigenvalues of (system poles) numerically.G.10

### Example of State-Space Diagonalization

For the example of Eq.(G.7), we obtain the following results:

>> % Initial state space filter from example above:
>> A = [-1/2, -1/3; 1, 0]; % state transition matrix
>> B = [1; 0];
>> C = [2-1/2, 3-1/3];
>> D = 1;
>>
>> eig(A) % find eigenvalues of state transition matrix A

ans =
-0.2500 + 0.5204i
-0.2500 - 0.5204i

>> roots(den) % find poles of transfer function H(z)

ans =
-0.2500 + 0.5204i
-0.2500 - 0.5204i

>> abs(roots(den)) % check stability while we're here

ans =
0.5774
0.5774

% The system is stable since each pole has magnitude < 1.

Our second-order example is already in real form, because it is only second order. However, to illustrate the computations, let's obtain the eigenvectors and compute the complex modal representation:

>> [E,L] = eig(A)  % [Evects,Evals] = eig(A)

E =

-0.4507 - 0.2165i  -0.4507 + 0.2165i
0 + 0.8660i        0 - 0.8660i

L =

-0.2500 + 0.5204i        0
0            -0.2500 - 0.5204i

>> A * E - E * L   % should be zero (A * evect = eval * evect)

ans =
1.0e-016 *
0 + 0.2776i        0 - 0.2776i
0                  0

% Now form the complete diagonalized state-space model (complex):

>> Ei = inv(E); % matrix inverse
>> Ab = Ei*A*E % new state transition matrix (diagonal)

Ab =
-0.2500 + 0.5204i   0.0000 + 0.0000i
-0.0000            -0.2500 - 0.5204i

>> Bb = Ei*B   % vector routing input signal to internal modes

Bb =
-1.1094
-1.1094

>> Cb = C*E    % vector taking mode linear combination to output

Cb =
-0.6760 + 1.9846i  -0.6760 - 1.9846i

>> Db = D      % feed-through term unchanged

Db =
1

% Verify that we still have the same transfer function:

>> [numb,denb] = ss2tf(Ab,Bb,Cb,Db)

numb =
1.0000             2.0000 + 0.0000i   3.0000 + 0.0000i

denb =
1.0000             0.5000 - 0.0000i   0.3333

>> num = [1, 2, 3]; % original numerator
>> norm(num-numb)

ans =
1.5543e-015

>> den = [1, 1/2, 1/3]; % original denominator
>> norm(den-denb)

ans =
1.3597e-016

### Properties of the Modal Representation

The vector in a modal representation (Eq.(G.21)) specifies how the modes are driven by the input. That is, the th mode receives the input signal weighted by . In a computational model of a drum, for example, may be changed corresponding to different striking locations on the drumhead.

The vector in a modal representation (Eq.(G.21)) specifies how the modes are to be mixed into the output. In other words, specifies how the output signal is to be created as a linear combination of the mode states:

In a computational model of an electric guitar string, for example, changes whenever a different pick-up is switched in or out (or is moved [99]).

The modal representation is not unique since and may be scaled in compensating ways to produce the same transfer function. (The diagonal elements of may also be permuted along with and .) Each element of the state vector holds the state of a single first-order mode of the system.

For oscillatory systems, the diagonalized state transition matrix must contain complex elements. In particular, if mode is both oscillatory and undamped (lossless), then an excited state-variable will oscillate sinusoidally, after the input becomes zero, at some frequency , where

relates the system eigenvalue to the oscillation frequency , with denoting the sampling interval in seconds. More generally, in the damped case, we have

where is the pole (eigenvalue) radius. For stability, we must have

In practice, we often prefer to combine complex-conjugate pole-pairs to form a real, block-diagonal'' system; in this case, the transition matrix is block-diagonal with two-by-two real matrices along its diagonal of the form

where is the pole radius, and re. Note that, for real systems, a real second order block requires only two multiplies (one in the lossless case) per time update, while a complex second-order system requires two complex multiplies. The function cdf2rdf() in the Matlab Control Toolbox can be used to convert complex diagonal form to real block-diagonal form.

Next Section:
Repeated Poles
Previous Section:
Similarity Transformations