Skip to main content
Engineering LibreTexts

10.1: Time-Varying Linear Models

  • Page ID
    24291
  • \( \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}}\)

    A general \(n\)th-order discrete-time linear state-space description takes the following form:

    \[\begin{aligned}
    x(k+1) &=A(k) x(k)+B(k) u(k) \\
    y(k) &=C(k) x(k)+D(k) u(k)
    \end{aligned} \ \tag{10.1}\]

    where \(x(k) \in \mathbb{R}^{n}\). Given the initial condition \(x(0)\) and the input sequence \(u(k)\), we would like to find the state sequence or state trajectory \(x(k)\) as well as the output sequence \(y(k)\).

    Undriven Response

    First let us consider the undriven response, that is the response when \(u(k) = 0\) for all \(k \in \mathbb{Z}\). The state evolution equation then reduces to

    \[x(k+1)=A(k) x(k) \ \tag{10.2}\]

    The response can be derived directly from (10.2) by simply iterating forward:

    \[\begin{aligned}
    x(1) &=A(0) x(0) \\
    x(2) &=A(1) x(1) \\
    &=A(1) A(0) x(0) \\
    x(k) &=A(k-1) A(k-2) \ldots A(1) A(0) x(0)
    \end{aligned} \ \tag{10.3}\]

    Motivated by (10.3), we define the state transition matrix, which relates the state of the undriven system at time \(k\) to the state at an earlier time \(l\):

    \[x(k)=\Phi(k, l) x(l) \quad k \geq l \ \tag{10.4}\]

    The form of the matrix follows directly from (10.3):

    \[\Phi(k, l)=\left\{\begin{array}{ll}
    A(k-1) A(k-2) \cdots A(l) & , \quad k>l \geq 0 \\
    I & , \quad k=l
    \end{array}\right. \ \tag{10.5}\]

    If \(A(k-1), A(k-2), \ldots, A(l)\) are all invertible, then one could use the state transition matrix to obtain \(x(k)\) from \(x(l)\) even when \(k < l\), but we shall typically assume \(k \geq l\) when writing \(\Phi(k, l)\).

    The following properties of the discrete-time state transition matrix are worth highlighting:

    \[\begin{aligned}
    \Phi(k, k) &=I \\
    x(k) &=\Phi(k, 0) x(0) \\
    \Phi(k+1, l) &=A(k) \Phi(k, l)
    \end{aligned}\ \tag{10.6}\]

    Example 10.1 (A sufficient Condition for Asymptomatic Stability)

    The linear system (10.1) is termed asymptotically stable if, with \(u(k) \equiv 0\), and for all \(x(0)\), we have \(x(n) \rightarrow 0\) (by which we mean \(\|x(n)\| \rightarrow 0\)) as \(n \rightarrow \infty\). Since \(u(k) \equiv 0\), we are in effect dealing with (10.2)

    Suppose

    \[\|A(k)\| \leq \gamma<1 \ \tag{10.7}\]

    for all k, where the norm is any submultiplicative norm and \(\gamma\) is a constant (independent of \(k\)) that is less than 1. Then

    \[\|\Phi(n, 0)\| \leq \gamma^{n}\nonumber\]

    and hence

    \[\|x(n)\| \leq \gamma^{n}\|x(0)\|\nonumber\]

    so \(x(n) \rightarrow 0\) as \(n \rightarrow \infty\), no matter what \(x(0)\) is. Hence (10.7) constitutes a sufficient condition (though a weak one, as we'll see) for asymptotic stability of (10.1).

    Example 10.2 ("Lifting" a Periodic Model to an LTI Model)

    Consider an undriven linear, periodically varying (LPV) model in state-space form. This is a system of the form (10.2) for which there is a smallest positive integer \(N\) such that \(A(k + N) = A(k)\) for all \(k\); thus \(N\) is the period of the system. (If \(N = 1\), the system is actually LTI, so the cases of interest here are really those with \(N \geq 2\).) Now focus on the state vector \(x(mN)\) for integer \(m\), i.e., the state of the LPV system sampled regularly once every period. Evidently

    \[\begin{aligned}
    x(m N+N) &=[A(N-1) A(N-2) \cdots A(0)] x(m N) \\
    &=\Phi(N, 0) x(m N)
    \end{aligned} \ \tag{10.8}\]

    The sampled state thus admits an LTI state-space model. The process of constructing this sampled model for an LPV system is referred to as lifting.

    Driven Response

    Now let us consider the driven system, i.e., \(u(k) \neq 0\) for at least some \(k\). Referring back to (10.1), we have

    \[\begin{aligned}
    x(1) &=A(0) x(0)+B(0) u(0) \\
    x(2) &=A(1) x(1)+B(1) u(1) \\
    &=A(1) A(0) x(0)+A(1) B(0) u(0)+B(1) u(1)
    \end{aligned} \ \tag{10.9}\]

    which leads to

    \[\begin{aligned}
    x(k) &=\Phi(k, 0) x(0)+\sum_{l=0}^{k-1} \Phi(k, l+1) B(l) u(l) \\
    &=\Phi(k, 0) x(0)+\Gamma(k, 0) \mathcal{U}(k, 0)
    \end{aligned} \ \tag{10.10}\]

    where

    \[\Gamma(k, 0)=[\Phi(k, 1) B(0)|\Phi(k, 2) B(1)| \cdots \mid B(k-1)], \mathcal{U}(k, 0)=\left(\begin{array}{c}
    u(0) \\
    u(1) \\
    \vdots \\
    u(k-1)
    \end{array}\right) \ \tag{10.11}\]

    What (10.10) shows is that the solution of the system over \(k\) steps has the same form as the solution over one step, which is given in the first equation of (10.1). Also note that the system response is divided into two terms: one depends only on the initial state \(x(0)\) and the other depends only on the input. These terms are respectively called the natural or unforced or zero-input response, and the zero-state response. Note also that the zero-state response has a form that is reminiscent of a convolution sum; this form is sometimes referred to as a superposition sum.

    If (10.10) had been simply claimed as a solution, without any sort of derivation, then its validity could be verified by substituting it back into the system equations:

    \[\begin{aligned}
    x(k+1)=& \Phi(k+1,0) x(0)+\sum_{l=0}^{k} \Phi(k+1, l+1) B(l) u(l) \\
    =& \Phi(k+1,0) x(0)+\sum_{l=0}^{k-1} \Phi(k+1, l+1) B(l) u(l)+B(k) u(k) \\
    =& A(k)\left[\Phi(k, 0) x(0)+\sum_{l=0}^{k-1} \Phi(k, l+1) B(l) u(l)\right]+B(k) u(k) \\
    =& A(k) x(k)+B(k) u(k)
    \end{aligned} \ \tag{10.12}\]

    Clearly, (10.12) satisfies the system equations (10.1). It remains to be verified that the pro- posed solution matches the initial state at \(k = 0\). We have

    \[x(0)=\Phi(0,0) x(0)=x(0) \ \tag{10.13}\]

    which completes the check

    If \(\mathcal{Y}(k, 0)\) is defined similarly to \(\mathcal{U}(k, 0)\), then following the sort of derivation that led to (10.10), we can establish that

    \[\mathcal{Y}(k, 0)=\Theta(k, 0) x(0)+\Psi(k, 0) \mathcal{U}(k, 0)\ \tag{10.14}\]

    for appropriately defined matrices \(\Theta(k, 0)\) and \(\Psi(k, 0)\). We leave you to work out the details. Once again, (10.14) for the output over \(k\) steps has the same form as the expression for the output at a single step, which is given in the second equation of (10.1).


    This page titled 10.1: Time-Varying Linear Models 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.