How to translate from a 2x2 state-space difference equation to a 2nd-order difference equation

25 Views Asked by At

I have a state-space evolution equation of the form

$$\begin{bmatrix}u_k\cr v_k\end{bmatrix} = \begin{bmatrix}1-a & c \cr b(a-1) & 1-bc\end{bmatrix} \begin{bmatrix}u_{k-1}\cr v_{k-1}\end{bmatrix} + \begin{bmatrix}0 & a \cr b & -ab\end{bmatrix} \begin{bmatrix}x_{k}\cr x_{k-1}\end{bmatrix} $$

where $a,b,c$ are known and the equation relates state values $u_k$ and $v_k$ as a function of input sequence $x_k$.

I don't care about the value of $u_k$, just the values of $v_k$. I know it is possible to eliminate the $u_k$ somehow, and restate this as a 2nd-order difference equation of the form

$$v_k + a_1v_{k-1} + a_2v_{k-2} = b_0x_k + b_1x_{k-1} + b_2x_{k-2}$$

but it has been years since I've done this sort of stuff at university, and I can't remember how to do this.

How can I write $a_1, a_2, b_0, b_1, b_2$ in terms of $a,b,c$?

2

There are 2 best solutions below

3
On BEST ANSWER

You have from the second equation (shifted by one position) $$v_{k+1}=A_{21}u_k+A_{22}v_k+B_{21}x_{k+1}+B_{22}x_k.$$ Assuming that $A_{21}\ne 0$ you can use this equation to get an expression for $u_k$ (and $u_{k-1}$ with one index shift back). Then insert this twice into the first row of the equation, \begin{multline} \frac{v_{k+1}-(A_{22}v_k+B_{21}x_{k+1}+B_{22}x_k)}{A_{21}}=\\ A_{11}\frac{v_{k}-(A_{22}v_{k-1}+B_{21}x_{k}+B_{22}x_{k-1})}{A_{21}}+A_{12}v_{k-1}+B_{11}x_{k}+B_{12}x_{k-1}. \end{multline} Should you find determinant and trace expressions in the resulting recursion equation, then you did it right.

0
On

Hmm... I remembered how to find $a_1$ and $a_2$: the matrix $A=\begin{bmatrix}1-a & c \cr b(a-1) & 1-bc\end{bmatrix}$ has two eigenvalues $\lambda_1, \lambda_2$, and that means the polynomial $1 + a_1z^{-1} + a_2z^{-2}$ has the same coefficients as $(1-\lambda_1 z^{-1})(1-\lambda_2 z^{-1})$, so I can equate terms and solve for $a_1 = -\lambda_1 - \lambda_2$ and $a_2 = \lambda_1\lambda_2$.

Can't remember how to solve for $b_0, b_1, b_2$, though.


@LutzL's approach is easier, just algebra, and after a lot of simplification, there are terms that cancel out and I get:

$$ v_k - (2-a-bc)v_{k-1} + (1-a)v_{k-2} = b(x_k-x_{k-1}) $$

(in other words, $a_1 = -2+a+bc, a_2 = 1-a, b_0 = b, b_1 = -b, b_2 = 0.$)

When I try a sample input sequence $x_k = \begin{cases}0 & k<2 \cr 0.01(k-1) & k \ge 2\end{cases}$ with $a=0.1, b=200/9, c=1/20000$ then I get $v_k = \{0, 0, 0.222222, 0.644198, 1.245482, 2.007476, 2.913262, \ldots\}$ for both methods (state-space and discrete-time recurrence) which helps verify that I didn't make a mistake.