0
\$\begingroup\$

Suppose I have the following state space system: $$ \dot{x}(t) = Ax(t) + Bu, \quad y(t) = Lx(t), \quad x(0) = x_0\neq 0 $$ where \$A\$, \$B\$ and \$L\$ are real matrices, \$u\$ is a constant real vector (so that the system is subjected to a step input at \$t=0\$, and \$L\$ is just an identity matrix. In addition, it is also known that all eigenvalues of \$A\$ are real and negative.

Given this information, can I know (without solving the system in time) if all states of this system will have a monotonic behaviour (i.e. if a given state is increasing it will keep on increasing and vice versa)? In other words, if any state of the system has "overshoot" like behaviour, is there some sufficient condition to detect it?

\$\endgroup\$
1
\$\begingroup\$

First obtain the Transition Matrix: $$\Phi(s) =(sI-A)^{-1}$$

The transfer function is then:

$$H(s)=C\Phi (s)B+D $$

Where the A, B, C, D have their usual state-space interpretations (your 'L' is often referred to as 'C'; and 'D' is often zero).

However, it's possible to derive relative stability information from the transition matrix without going as far as the TF.

\$\endgroup\$
2
  • \$\begingroup\$ can you please elaborate how \$H(s)\$ will help me in detecting if there are overshoots or if all the states are monotonic? \$\endgroup\$
    – Chatter
    Feb 25 '17 at 20:19
  • \$\begingroup\$ There may be no need to go that far - complex eigenvalues will indicate oscillatory behaviour. \$\endgroup\$
    – Chu
    Feb 26 '17 at 9:59
1
\$\begingroup\$

As laptop2d mentioned, it is in general impossible to tell something about the monotonicity of the states just from the elements of the matrices \$A\$ and \$B\$. In the special case that your matrix \$A\$ is diagonal, the states will have a monotonic behavior. Also if you are willing to compute amongst others the eigenvectors of \$A\$, you can tell something about the monotonicity of the states without completely solving the system in time. Admittedly, you need to compute quite a lot and almost solve the system, but at least I hope this answer sheds some light on why it is difficult to tell something about the monotonicity of the states.

The solution of the general state equation \$\dot{x}(t) = A x(t) + B u(t)\$ is $$ x(t) = e^{At}x(0) + \int_0^t e^{A(t-\tau)}Bu(\tau) \mathrm{d}\tau $$ See for example http://web.mit.edu/2.14/www/Handouts/StateSpaceResponse.pdf for a step-by-step derivation.

Assuming that \$A\$ is diagonizable, it can be written as \$A = PDP^{-1}\$, where the columns of \$P\$ contain the right eigenvectors of \$A\$, and \$D\$ is a diagonal matrix containing the corresponding eigenvalues. This makes the solution of the state equation significantly simpler. The state equation becomes $$ \dot{x}(t) = P D P^{-1} x(t) + B u(t) $$ Muliplying from the left with \$P^{-1}\$ results in $$ \begin{aligned} P^{-1} \dot{x}(t) & = P^{-1} P D P^{-1} x(t) + P^{-1} B u(t)\\ & = D P^{-1} x(t) + P^{-1} B u(t) \end{aligned} $$ Denoting \$\tilde{x}(t) = P^{-1}x(t)\$ and \$\tilde{B} = P^{-1}B\$, we obtain a state equation for the transformed states \$\tilde{x}(t)\$ $$ \dot{\tilde{x}}(t) = D \tilde{x}(t) + \tilde{B} u(t) $$ Similarly as before, the solution is $$ \tilde{x}(t) = e^{Dt}\tilde{x}(0) + \int_0^t e^{D(t-\tau)}\tilde{B}u(\tau) \mathrm{d}\tau $$ The fact that \$D\$ is diagonal simplifies the solution, since \$e^{Dt}\$ is again a diagonal matrix with \$e^{d_jt}\$ on position \$(j,j)\$. This means that you can look at this equation one transformed state at a time: $$ \tilde{x}_j(t) = e^{d_jt}\tilde{x}_j(0) + \int_0^t e^{d_j(t-\tau)}\tilde{b}_j u(\tau) \mathrm{d}\tau $$ Moreover, it was assumed that \$u\$ is constant, so \$\tilde{b}_j u(\tau)=\tilde{b}_j u\$ can be taken out of the integral: $$ \tilde{x}_j(t) = e^{d_jt}\tilde{x}_j(0) + \left(\int_0^t e^{d_j(t-\tau)} \mathrm{d}\tau\right) \tilde{b}_j u $$ The solution of the integral is $$ \int_0^t e^{d_j(t-\tau)} \mathrm{d}\tau = \frac{1}{d_j}(e^{d_j t} - 1) $$ (see for example this answer for the matrix case, and introduce a change of variables \$\tilde{\tau}=\tau-t\$). Plugging that into the solution for the transformed states, we get $$ \begin{aligned} \tilde{x}_j(t) & = e^{d_jt}\tilde{x}_j(0) + \frac{1}{d_j}(e^{d_j t} - 1) \tilde{b}_j u \\ & = e^{d_jt} \left(\tilde{x}_j(0) + \frac{1}{d_j} \tilde{b}_j u\right) - \frac{1}{d_j} \tilde{b}_j u \end{aligned} $$ Since all eigenvalues \$d_j\$ are assumed to be real and negative, \$e^{d_jt}\$ decays monotonically to zero at an exponential rate. The expression in the parentheses and the second term are constants. Thus, depending on the sign of the constant \$\tilde{x}_j(0) + \frac{1}{d_j} \tilde{b}_j u\$, the transformed state \$\tilde{x}_j(t)\$ will either decrease or increase monotonically to the constant \$-\frac{1}{d_j} \tilde{b}_j u\$.

The transformed states are thus monotonically decreasing or increasing. What does that tell about the original states? Well, the original states are linear combinations of the transformed states: \$x(t) = P \tilde{x}(t)\$. For example for state \$x_i\$ we have $$ \begin{aligned} x_i(t) & = \sum_{j=1}^n p_{ij} \tilde{x}_j(t)\\ & = \sum_{j=1}^n p_{ij} \left( e^{d_jt} \left(\tilde{x}_j(0) + \frac{1}{d_j} \tilde{b}_j u\right) - \frac{1}{d_j} \tilde{b}_j u \right)\\ & = \left(\sum_{j=1}^n \alpha_{ij} e^{d_jt}\right) - c_i \end{aligned} $$ where \$\alpha_{ij}=p_{ij} \left(\tilde{x}_j(0) + \frac{1}{d_j} \tilde{b}_j u\right)\$ and \$c_i=\sum\limits_{j=1}^n p_{ij}\frac{1}{d_j} \tilde{b}_j u\$. Again, all factors \$e^{d_jt}\$ decay monotonically to zero at an exponential rate. This means that \$x_i(t)\$ converges to \$-c_i\$. If all \$\alpha_{ij}\$ have the same sign for \$j=1,\ldots,n\$, then \$x_i(t)\$ converges monotonically to \$-c_i\$ (see for example this answer). If the \$\alpha_{ij}\$s have a different sign, then the situation is more complicated and you would essentially have to solve the system in time.

Example 1a: Say you have \$x(t) = e^{-t} - e^{-2t}\$. This does not converge monotonically to zero. One way to see this is by noticing that the first term converges slower than the second term. At the start, for small \$t\$, the second term increases faster than that the first term decreases, so that \$x\$ will increase for small \$t\$. For large \$t\$, the first term is dominant, so that \$x\$ will decrease for large \$t\$. The tipping point where \$x(t)\$ switches from increasing to decreasing occurs in this example at \$t\approx0.69\$ (see the next example).

Example 1b: More general, for two terms with opposite signs \$x(t) = \alpha_1 e^{d_1t} - \alpha_2e^{d_2t}\$, with \$\alpha_1>0\$, \$\alpha_2>0\$, \$d_1<0\$, \$d_2<0\$, and \$d_1 \ne d_2\$ you can show that \$x\$ is not monotonic (possibly for negative times \$t\$). If you take the time derivative of \$x\$ and look where it is zero, you can also find the tipping point where \$x\$ changes from increasing to decreasing or vice versa. Here, you find \$d_1\alpha_1 e^{d_1t} - d_2\alpha_2e^{d_2t} = 0\$ if \$t=\frac{\ln\left(\frac{d_1\alpha_1}{d_2\alpha_2}\right)}{d_2-d_1}\$ (and of course also if \$t\$ goes to infinity since \$x\$ converges to a constant). Note that you do have to check if the tipping point occurs for positive \$t\$. If not, then \$x(t)\$ is monotonic for \$t\$ going from zero to infinity.

Example 2a: Say you have three terms \$x(t) = 18e^{-t} - 21e^{-2t} + 4e^{-3t}\$, then taking the time derivative results in \$-18e^{-t} + 42e^{-2t} - 12e^{-3t}\$. If you want to see where this is zero, then you can notice that this is a polynomial in \$e^{-t}\$ (similar as in this answer), solve for \$e^{-t}\$ and then take minus the logarithm. In this example 2a, you only find \$t=-\ln(\frac{1}{2}) \approx 0.69\$ as a positive and finite solution (the other solutions are \$t=-\ln(3) \approx -1.1\$ and \$t=+\infty\$).

Example 2b: Say you have \$x(t) = e^{-t} - e^{-2t} + e^{-3t}\$, then there is no real solution for \$t\$ where the time derivative of \$x(t)\$ is zero, and \$x(t)\$ is monotonic.

In the general case, we have \$x(t)=\sum_{j=1}^n \alpha_{j} e^{d_jt}\$. Its time derivative is also a linear combination of the same exponentials \$e^{d_jt}\$. You need to look at where this time derivative is zero. Again you could use the fact that the time derivative is a polynomial in \$e^{-t}\$. Unfortunately, the eigenvalues \$d_j\$ are not necessarily (small) integers as I chose them in the examples. Solving the polynomial is then not evident (as mentioned in this same answer as before).

Conclusions:

  • It is not evident to see from just the elements of the matrices \$A\$ and \$B\$ if the states converge monotonically.
  • In the special case that the matrix \$A\$ is diagonal and all eigenvalues are real and strictly negative, the states converge monotonically.
  • In the case that the matrix \$A\in\mathbb{R}^{n \times n}\$ is diagonizable, you can compute its eigenvalue decomposition \$A=PDP^{-1}\$ and check if each \$\alpha_{ij}=p_{ij} \left(\tilde{x}_j(0) + \frac{1}{d_j} \tilde{b}_j u\right)\$ for \$j=1,\ldots,n\$ has the same sign. If so, then state \$x_i(t)\$ converges monotonically.
  • Otherwise, you essentially have to solve the system and compute where the time derivative of \$x_i(t)\$ is zero.
  • The special cases I listed are sufficient conditions to detect monotonic behavior. A sufficient condition to detect overshoot behavior (without solving the system) is not evident.
\$\endgroup\$
0
\$\begingroup\$

There isn't any way to determine just from the A, B and L (that I'm aware of anyway). A B and L don't really give any information of the frequency or time domain response.

The best you could do is simulate it for a given step input or inputs and determine the system performance.

Under certain conditions some (not multidimensional ie two or more input systems), state space system can be converted to laplace. If you do have a two input system I think you might be able to consider them one at a time, but I've only separated out systems this way not evaluated their performance.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.