Skip to main content
Engineering LibreTexts

12.3: Solution in Modal Coordinates

  • Page ID
    31495
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    The proper choice of a similarity transformation may yield a new system model that will be more suitable for analytical purposes. One such transformation brings the system to what are known as modal coordinates. We shall describe this transformation now for the case where the matrix \(A\) in the state-space model can be diagonalized, in a sense to be defined below; we leave the general case for later.

    Modal coordinates are built around the eigenvectors of \(A\). To get a sense for why the eigenvectors may be involved in obtaining a simple choice of coordinates for studying the dynamics of the system, let us examine the possibility of finding a solution of the form

    \[x(k)=\lambda^{k} v, \quad v \neq 0 \ \tag{12.9}\]

    for the undriven LTI system

    \[x(k)=Ax(k) \ \tag{12.9}\]

    Substituting (12.9) in (12.10), we find the requisite condition to be that

    \[(\lambda I-A) v=0 \ \tag{12.11}\]

    i.e., that \(\lambda\) be an eigenvalue of \(A\), and \(v\) an associated eigenvector. Note from (12.11) that multiplying any eigenvector by a nonzero scalar again yields an eigenvector, so eigenvectors are only defined up to a nonzero scaling; any convenient scaling or normalization can be used. In other words, (12.9) is a solution of the undriven system iff \(\lambda\) is one of the \(n\) roots \(\lambda_{i}\) of the characteristic polynomial

    \[a(z)=\operatorname{det}(z I-A)=z^{n}+a_{n-1} z^{n-1}+\cdots+a_{0} \ \tag{12.12}\]

    and \(v\) is a corresponding eigenvector \(v_{i}\). A solution of the form \(x(k)=\lambda_{i}^{k} v_{i}\) is referred to as a mode of the system, in this case the \(i\)th mode. The corresponding \(\lambda_{i}\) is the \(i\)th modal frequency or natural frequency, and \(v_{i}\) is the corresponding modal shape. Note that we can excite just the \(i\)th mode by ensuring that the initial condition is \(x(0)=\lambda_{i}^{0} v_{i}=v_{i}\). The ensuing motion is then confined to the direction of \(v_{i}\), with a scaling by \(\lambda_{i}\) at each step.

    It can be shown fairly easily that eigenvectors associated with distinct eigenvalues are (linearly) independent, i.e. none of them can be written as a weighted linear combination of the remaining ones. Thus, if the \(n\) eigenvalues of \(A\) are distinct, then the \(n\) corresponding eigenvectors \(v_{i}\) are independent, and can actually form a basis for the state-space. Distinct eigenvalues are not necessary, however, to ensure that there exists a selection of \(n\) independent eigenvectors. In any case, we shall restrict ourselves for now to the case where - because of distinct eigenvalues or otherwise - the matrix \(A\) has \(n\) independent eigenvectors. Such an \(A\) is termed diagonalizable (for a reason that will become evident shortly), or non-defective. There do exist matrices that are not diagonalizable, as we shall see when we examine the Jordan form in detail later in this course.

    Because (12.10) is linear, a weighted linear combination of modal solutions will satisfy it too, so

    \[x(k)=\sum_{i=1}^{n} \alpha_{i} v_{i} \lambda_{i}^{k}\ \tag{12.13}\]

    will be a solution of (12.10) for arbitrary weights \(\alpha_{i}\), with initial condition

    \[x(0)=\sum_{i=1}^{n} \alpha_{i} v_{i} \ \tag{12.14}\]

    Since the \(n\) eigenvectors \(v_{i}\) are independent under our assumption of diagonalizable \(A\), the right side of (12.14) can be made equal to any desired \(x(0)\) by proper choice of the coefficients \(\alpha_{i}\), and these coefficients are unique. Hence specifying the initial condition of the undriven system (12.10) specifies the \(\alpha_{i}\) via (12.14) and thus, via (12.13), specifies the response of the undriven system. We refer to the expression in (12.13) as the modal decomposition of the undriven response. Note that the contribution to the modal decomposition from a conjugate pair of eigenvalues \(\lambda\) and \(\lambda^{*}\) will be a real term of the form \(\alpha v \lambda^{k}+\alpha^{*} v^{*} \lambda^{* k}\)

    From ( 12.14), it follows that \(\alpha=V^{-1} x(0)\), where \(\alpha\) is a vector with components \(\alpha_{i}\). Let \(W = V^{-1}\), and \(w_{i}^{\prime}\) be the \(i^{th}\) row of \(W\), then

    \[x(k)=\sum_{i=1}^{n} \lambda_{i}^{k} v_{i} w_{i}^{\prime} x(0) \ \tag{12.15}\]

    It easy to see that \(w_{i}\) is a left eigenvector corresponding to the eigenvalue \(\lambda_{i}\). The above modal decomposition of the undriven system is the same as obtaining the diadic form of \(A^{k}\). The contribution of \(x(0)\) to the \(i^{th}\) mode is captured in the term \(w_{i}^{\prime} x(0)\).

    Before proceeding to examine the full response of a linear time-invariant model in modal terms, it is worth noting that the preceding results already allow us to obtain a precise condition for asymptotic stability of the system, at least in the case of diagonalizable \(A\) (it turns out that the condition below is the right one even for the general case). Recalling the definition in Example 10.1, we see immediately from the modal decomposition that the LTI system (12.10) is asymptotically stable \(\left|\lambda_{i}\right|<1\) for all \(1 \leq i \leq n\), i.e. iff all the natural frequencies of the system are within the unit circle. Since it is certainly possible to have this condition hold even when \(\|A\|\) is arbitrarily greater than 1, we see that the sufficient condition given in Example 1 is indeed rather weak, at least for the time-invariant case.

    Let us turn now to the LTI version of the full system in (10.1). Rather than approaching its modal solution in the same style as was done for the undriven case, we shall (for a different point of view) approach it via a similarity transformation to modal coordinates, i.e., to coordinates defined by the eigenvectors \(\left\{v_{i}\right\}\) of the system. Consider using the similarity transformation

    \[x(k)=V r(k) \ \tag{12.16}\]

    where the \(i\)th column of the \(n \times n\) matrix \(V\) is the \(i\)th eigenvector, \(v_{i}\):

    \[V=\left(\begin{array}{llll}
    v_{1} & v_{2} & \cdots & v_{n}
    \end{array}\right) \ \tag{12.17}\]

    We refer to \(V\) as the modal matrix. Under our assumption of diagonalizable \(A\), the eigenvectors are independent, so \(V\) is guaranteed to be invertible, and (12.16) therefore does indeed constitute a similarity transformation. We refer to this similarity transformation as a modal transformation, and the variables \(r_{i}(k)\) defined through (12.16) are termed modal variables or modal coordinates. What makes this transformation interesting and useful is the fact that the state evolution matrix \(A\) now transforms to a diagonal matrix \(\Lambda\):

    \[V^{-1} A V=\operatorname{diagonal}\left\{\lambda_{1}, \cdots, \lambda_{n}\right\}=\left[\begin{array}{cccc}
    \lambda_{1} & 0 & \cdots & 0 \\
    0 & \lambda_{2} & \cdots & 0 \\
    \vdots & \vdots & \ddots & \vdots \\
    0 & 0 & \cdots & \lambda_{n}
    \end{array}\right]=\Lambda \ \tag{12.18}\]

    The easiest way to verify this is to establish the equivalent condition that \(AV = V \Lambda\), which in turn is simply the equation (12.11), written for \(i=1, \cdots, n\) and stacked up in matrix form. The reason for calling \(A\) "diagonalizable" when it has a full set of independent eigenvectors is now apparent.

    Under this modal transformation, the undriven system is transformed into \(n\) decoupled, scalar equations:

    \[r_{i}(k+1)=\lambda_{i} r_{i}(k) \ \tag{12.19}\]

    for \(i=1,2, \cdots, n\). Each of these is trivial to solve: we have \(r_{i}(k)=\lambda_{i}^{k} r_{i}(0)\). Combining this with (12.16) yields (12.13) again, but with the additional insight that

    \[\alpha_{i}=r_{i}(0) \ \tag{12.20}\]

    Applying the modal transformation (12.16) to the full system, it is easy to see that the transformed system takes the following form, which is once again decoupled into \(n\) parallel scalar subsystems:

    \[\begin{aligned}
    r_{i}(k+1) &=\lambda_{i} r_{i}(k)+\beta_{i} u(k), \quad i=1,2, \ldots, n \ (12.21) \\
    y(k) &=\xi_{1} r_{1}(k)+\cdots+\xi_{n} r_{n}(k)+D u(k) \ (12.22)
    \end{aligned}\]

    where the \(\beta_{i}\) and \(\xi_{i}\) are defined via

    \[V^{-1} B=\left[\begin{array}{c}
    \beta_{1} \\
    \beta_{2} \\
    \vdots \\
    \beta_{n}
    \end{array}\right], \quad C V=\left[\begin{array}{llll}
    \xi_{1} & \xi_{2} & \cdots & \xi_{n}
    \end{array}\right] \ \tag{12.23}\]

    The scalar equations above can be solved explicitly by elementary methods (compare also with the expression in (22.2):

    \[r_{i}(k)=\underbrace{\lambda_{i}^{k} r_{i}(0)}_{\mathrm{ZIR}}+\underbrace{\sum_{0}^{k-1} \lambda_{i}^{k-l-1} \beta_{i} u(l)}_{\mathrm{ZSR}} \ \tag{12.24}\]

    where "ZIR" denotes the zero-input response, and "ZSR" the zero-state response. From the preceding expression, one can obtain an expression for \(y(k)\). Also, substituting (12.24) in (12.16), we can derive a corresponding modal representation for the original state vector \(x(k)\). We leave you to write out these details.

    Finally, the same concepts hold for CT systems. We leave the details as an exercise.

    Example 12.1

    Consider the following system:

    \[\left[\begin{array}{l}
    \dot{x_{1}} \\
    \dot{x_{2}}
    \end{array}\right]=\left[\begin{array}{cc}
    0 & 1 \\
    8 & -2
    \end{array}\right]\left[\begin{array}{l}
    x_{1} \\
    x_{2}
    \end{array}\right]+\left[\begin{array}{l}
    1 \\
    1
    \end{array}\right] u\ \tag{12.25}\]

    We will consider the modal decomposition of this system for the zero input response. The eigenvalues of \(A\) are -4 and 2 and the associated eigenvectors are \(\left[\begin{array}{ll}
    1 & -4
    \end{array}\right]^{\prime}\) and \(\left[\begin{array}{ll}
    1 & -4
    \end{array}\right]^{\prime}\). The modal matrix is constructed from the eigenvectors above:

    \[V=\left(\begin{array}{cc}
    1 & 1 \\
    -4 & 2
    \end{array}\right) \ \tag{12.26}\]

    Its inverse is given by

    \[W=V^{-1}=\frac{1}{6}\left[\begin{array}{cc}
    2 & -1 \\
    4 & 1
    \end{array}\right]\nonumber\]

    It follows that:

    \[W A V=\Lambda=\left[\begin{array}{cc}
    \lambda_{1} & 0 \\
    0 & \lambda_{2}
    \end{array}\right]=\left[\begin{array}{cc}
    -4 & 0 \\
    0 & 2
    \end{array}\right]\nonumber\]

    Now let's define \(r\) in modal coordinate as

    \[x(t)=T r \rightarrow r(t)=T^{-1} x\tag{t}\]

    Then in terms of \(r\), the original system can be transformed into the following:

    \[\left[\begin{array}{c}
    \dot{r_{1}} \\
    \dot{r_{2}}
    \end{array}\right]=\left[\begin{array}{cc}
    -4 & 0 \\
    0 & 2
    \end{array}\right]\left[\begin{array}{l}
    r_{1} \\
    r_{2}
    \end{array}\right] \ \tag{12.7}\]

    The response of the system for a given initial state and zero input can now be expressed as:

    \[\begin{aligned}
    x(t) &=\operatorname{Vr}(t)=V e^{\Lambda\left(t-t_{0}\right)} W x\left(t_{0}\right) \\
    &=\left[\begin{array}{cc}
    1 & 1 \\
    -4 & 2
    \end{array}\right]\left[\begin{array}{cc}
    e^{-4\left(t-t_{0}\right)} & 0 \\
    0 & e^{2\left(t-t_{0}\right)}
    \end{array}\right] \frac{1}{6}\left[\begin{array}{cc}
    2 & -1 \\
    4 & 1
    \end{array}\right] x\left(t_{0}\right)
    \end{aligned}\nonumber\]

    For instance, if the initial vector is chosen in the direction of the first eigenvector, i.e., \(x\left(t_{0}\right)=v_{1}=\left[\begin{array}{cc}
    1 & -4
    \end{array}\right]^{\prime}\) then the response is given by:

    \[x(t)=\left[\begin{array}{c}
    1 \\
    -4
    \end{array}\right] e^{-4\left(t-t_{0}\right)}\nonumber\]

    Example 12.2 Inverted Pendulum

    Consider the linearized model of the inverted pendulum in Example 7.6 with the parameters given by: \(m = 1, M = 10, l = 1\), and \(g = 9.8\). The eigenvalues of the matrix \(A\) are \(0, 0, 3.1424\), and \(-3.1424\). In this case, the eigenvalue at 0 is repeated, and hence the matrix \(A\) may not be diagonalizable. However, we can still construct the Jordan form of \(A\) by finding the generalized eigenvectors corresponding to 0, and the eigenvectors corresponding to the other eigenvalues.

    The Jordan form of \(A\), \(\Lambda=T^{-1} A T\) and the corresponding transformation \(T\) are given by:

    \[\Lambda=\left[\begin{array}{cccc}
    0 & 1 & 0 & 0 \\
    0 & 0 & 0 & 0 \\
    0 & 0 & 3.1424 & 0 \\
    0 & 0 & 0 & -3.1424
    \end{array}\right], T=\left[\begin{array}{ccccc}
    0.0909 & 0 & -0.0145 & 0.0145 \\
    0 & 0.0909 & -0.0455 & -0.0455 \\
    0 & 0 & 0.1591 & -0.1591 \\
    0 & 0 & 0.5000 & 0.5000
    \end{array}\right]\nonumber\]

    We can still get quite a bit of insight from this decomposition. Consider the zero input response, and let \(x(0)=v_{1}=\left[\begin{array}{ccccc}
    1 & 0 & 0 & 0 & ]^{\prime}
    \end{array}\right.\). This is an eigenvector corresponding to the zero eigenvalue, and corresponds to a fixed distance \(s\), zero velocity, zero angular position, and zero angular velocity. In that case, the system remains in the same position and the response is equal to \(x(0)\) for all future time. Now, let \(x(0)=v_{2}=\left[\begin{array}{ccccc}
    0 & 1 & 0 & 0 & ]^{\prime}
    \end{array}\right.\), which corresponds to a non-zero velocity and zero position, angle and angular velocity. This is not an eigenvector but rather a generalized eigenvector, i.e., it satisfies \(Av_{2} = v_{1}\). We can easily calculate the response to be \(x(t)=\left[\begin{array}{ccccc}
    t & 1 & 0 & 0 & ]^{\prime}
    \end{array}\right.\) implying that the cart will drift with constant velocity but will remain in the upright position. Notice that the response lies in the linear span of \(v_{1}\) and \(v_{2}\).

    The case where \(x(0) = v_{3}\) corresponds to the eigenvalue \(\lambda= 3.1424\). In this case, the cart is moving to the left while the pendulum is tilted to the right with clockwise angular velocity. Thus, the pendulum tilts more to the right, which corresponds to unstable behavior. The case where \(x(0) = v_{4}\) corresponds to the eigenvalue \(\lambda= -3.1424\). The cart again is moving to the left with clockwise angular velocity, but the pendulum is tilted to the left. With an appropriate combination of these variables (given by the eigenvector \(v_{4}\)) the response of the system converges to the upright equilibrium position at the origin.


    This page titled 12.3: Solution in Modal Coordinates is shared under a CC BY-NC-SA 4.0 license and was authored, remixed, and/or curated by Mohammed Dahleh, Munther A. Dahleh, and George Verghese (MIT OpenCourseWare) via source content that was edited to the style and standards of the LibreTexts platform; a detailed edit history is available upon request.