Why I get same outputs for fully observable system and system with Luenberger observer?

266 Views Asked by At

I have a system-state equations

$x'=Ax+Bu$

$y=Cx$

To get control signal (u) for fully observable system I use feedback from x like this: $u=-Kx+gv$ (where v is input signal). So resulting system is $x'=(A-BK)x+Bgv$. Its transfer function is $W=C*(pE-A)^{-1}*B$

Now consider that we can't observe x variables, so we have to use observer. It requires us to introduce new variables for estimation of x: $\overline{x}'=A\overline{x}+Bu+L(y-\overline{y}), u=-K\overline{x}+gv$, where L is a column of coefficients for Luenberger's observer.

Substitution $\overline{x}=x-e$ gives following equations:

$x'=(A-BK)x+BKe+Bgv$

$e'=0x+(A-LC)e$

It can be represented as a system with four system-state variables $[x, e]$ and corresponding matrices:

$A_{full}=\begin{bmatrix} A-BK & BK \\ 0 & A-LC \\ \end{bmatrix}$

$B_{full}=\begin{bmatrix} B \\ 0 \\ \end{bmatrix}$,

$C_{full}=[C, 0]$

But if we compute transfer function $W=C_{full}*(pE-A_{full})^{-1}*B_{full}$, result will be the same as it was without observer - that's because $B_{full}$ and $C_{full}$ have zeros in end, and on multiplication they will "mask" everything except $A-BK$.

So where did I go wrong? Obviously when we can't use state variables directly result should be worse.

2

There are 2 best solutions below

0
On BEST ANSWER

This is an extended comment as I am by no means expert on the topic. The following are only speculations and I cannot provide any "formal proof".

I do not see any errors in your derivation (although your post has many undefined variables and inconsistencies throughout).

If I am understanding the concept of the Luenenberger observer correctly, it provides an estimate $\hat{x}(t)$ of the system (plant) state $x(t)$, when the latter is not directly observable. However, when the plant is, so called, observable, this approach is able to perfectly estimate the system state in the long run (steady state), i.e., $e(t)\rightarrow 0$, by proper selection of the matrix $L$.

In your approach for obtaining the transfer function, you are neglecting/ignoring/forgetting the initial conditions, essentially resulting in a steady state analysis. Therefore, as argued above, it is excepted that the input-output relation is exactly the same as if $x(t)$ was observed in the first place.

Clearly, before steady state is established, i.e., during the transition period, it holds $\hat{x}(t)\neq x(t)$, and the input-output relation will not be the same. You need a different approach to analyze the transient operation (which is a far more complicated task). The transient analysis will also indicate whether a steady state of the system can be achieved.

0
On

If $(A, C)$ is not observable, then you are also not able to place the eigenvalues/poles of $A-L\,C$ anywhere you want. If you are lucky and the unobservable states are stable by themselves (the system is detectable) then the error does go to zero, but otherwise that observer is not useful.

And to clarify, when you calculate a transfer function from a state space model you only get the controllable and observable dynamics of the plant. So if you extend your state space, but not the rank of your controllability and observability, then you will not see a change in your transfer function.

So for a given $(A,B,C,D)$-system you can't change the openloop transfer function by extending the state space. You will need to change $B$ to affect the controllability (which can be done in the real world by re-positioning and/or adding actuators), change $C$ to affect the observability (which can be done in the real world by re-positioning and/or adding sensors) or change $A$, which might affect both.

You would want to use a Luenberger's observer when the system is detectable (but preferable also observable). In that case you can reconstruct the full state $x$ from the output of your system $y$ (which usually has a lower dimension than $x$). The purpose of this is that you can apply state feedback after this, which only depends on the controllability of system. So you can basically decouple $(A,B)$ and $(A,C)$. In contrast for a PID controller you might resort to a finite difference method to calculate the derivative term, which remains an approximation, while a Luenberger's observer can (asymptotically) retrieve the exact derivative term. The integral term from a state space perspective has its own problems, but that is outside the scope of this answer.