Skip to main content

Welcome to a Grasp lesson

Create a free account to keep studying and create your own study path.

Lesson 30

Eigenvalues of the Combined Observer-Controller System

Recommended resources

Hello! Let's dive into today's lesson.

In our last session, we introduced the Separation Principle, a fundamental concept in modern control theory. We learned that this principle allows us to design the state feedback controller and the state observer independently. The magic behind this is the special mathematical structure of the combined system, which ensures the final closed-loop poles are simply the union of the controller poles and the observer poles.

Today, we will move from theory to practice. Our goal is to verify this principle with a hands-on, numerical example. We will:

  1. Define a system.
  2. Design a controller gain for a set of desired poles.
  3. Design an observer gain for another, faster set of desired poles.
  4. Construct the full state matrix for the combined system.
  5. Calculate the eigenvalues of this large matrix and confirm that they are exactly the poles we designed in steps 2 and 3.

This process will solidify your understanding of how the different parts of an observer-based controller fit together.

The Mathematics of the Combined System

First, let's briefly revisit the structure of the complete observer-based control system. To analyze its stability and behavior, we need a single state-space model that describes the entire system.

A clever way to do this is by choosing our state variables as the plant's actual state, , and the estimation error, . As we saw last time, this choice reveals the underlying structure of the system.

For a rigorous derivation of this combined model, the following resource is an excellent guide.

Observers, model-based controllers

These notes from MIT OpenCourseWare walk through the derivation of the composite system's state equations. The key result is a block upper-triangular matrix that makes the separation of eigenvalues immediately obvious.

Please read Section 29.3, titled 'Model-Based Controllers'. Focus on the final matrix in equation (29.5). The notes use x for the plant state and x_tilde for the estimation error (our e). Notice how this formulation leads directly to a block upper-triangular system matrix.

As the notes demonstrate, the state dynamics of the combined system can be written as:

Because the matrix is block upper-triangular, a core result from linear algebra tells us that its eigenvalues are simply the eigenvalues of the blocks on the main diagonal.

  • The eigenvalues of the top-left block, , are the controller poles.
  • The eigenvalues of the bottom-right block, , are the observer poles.

This mathematically proves the Separation Principle. Now, let's verify it with numbers.


Step-by-Step Numerical Verification

We will use a simple double-integrator system, which is a common model for basic position control (e.g., a satellite's attitude or a cart on a frictionless track).

System Definition:

This system is both controllable and observable.

Step 1: Design the State Feedback Controller

Let's design a controller that provides a critically damped response with a natural frequency of rad/s. This corresponds to desired closed-loop poles at .

The desired characteristic equation is:

Now we find the gain that achieves this. The characteristic equation for is det(sI - (A-BK)) = 0.

The characteristic equation is .

By comparing coefficients with our desired equation, we find:


  • So, our controller gain is . The eigenvalues of are now at , as designed.

Step 2: Design the State Observer

Following our design rule of thumb, we'll make the observer faster than the controller. Let's place the observer poles at , which is 5 times faster.

The desired characteristic equation for the observer error dynamics is:

We need to find the observer gain such that the eigenvalues of are at .

The characteristic equation is .

By comparing coefficients, we find:


  • So, our observer gain is . The eigenvalues of are now at , as designed.
Test your understanding!

Given your background in signal processing, how would you describe the trade-off in choosing the observer poles? What would be the potential downside of choosing even faster poles, say at ?

Show answer

Choosing faster observer poles (placing them further into the left-half plane) is analogous to increasing the bandwidth of a filter.

  • Upside: The observer converges to the true state more quickly, meaning the estimation error decays faster.
  • Downside: A higher bandwidth system is more susceptible to high-frequency measurement noise. If the output measurement from a sensor is noisy, an observer with very fast poles will amplify this noise, leading to a noisy and inaccurate state estimate . This, in turn, causes the control input to be erratic and inefficient. The choice of {-10, -10} is a reasonable compromise between fast convergence and noise sensitivity.

Step 3: Construct the Combined System and Verify

Now for the final step. We will build the full matrix and find its eigenvalues.

Let's plug in the matrices we found:

This gives the full matrix:

Because this matrix is block upper-triangular, we can immediately state that its eigenvalues are the eigenvalues of the diagonal blocks. We already know what these are from our design steps:

  • eig(A-BK) =
  • eig(A-LC) =

Therefore, the eigenvalues of the complete observer-based control system are .

This result is exactly the union of our desired controller poles and our desired observer poles . The verification is complete.

A Note on Practical Implementation

In practice, you would use software like MATLAB or Python to perform these calculations, especially for higher-order systems like your inverted pendulum. The place command is used for both controller and observer gain calculation. The trick for the observer is to use the duality between controllability and observability.

The following video shows exactly how to use MATLAB's place command for observer design.

State-Space Observer Design and Simulation in MATLAB - Control Engineering Tutorial

This practical tutorial demonstrates how to use MATLAB's 'place' command to calculate the observer gain L. Pay close attention to how the function is called using the transpose of the A and C matrices.

Please watch from 6:14 to 10:04, and then from 17:29 to 21:09. The first segment explains the theory of why place(A', C', p_o) works. The second segment shows the exact code being implemented and verified in MATLAB.

The key command shown in the video for finding is L = place(A', C', observer_poles)'. This is the standard, practical method for observer pole placement.


Conclusion

In this lesson, we bridged the gap between the theory of the Separation Principle and its practical application. You have now seen, with a concrete numerical example, that the design processes for the controller and observer are truly separate, and their characteristics are preserved in the final combined system.

Key Takeaways:

  • The stability of the combined observer-controller system is determined by the eigenvalues of a matrix, .
  • By choosing the state representation to include the estimation error e, this matrix becomes block upper-triangular.
  • This structure mathematically guarantees that the eigenvalues of are the union of the controller eigenvalues (from ) and the observer eigenvalues (from ).
  • We verified this principle step-by-step: designing and separately, constructing , and confirming that its poles matched our original designs.

Preview of the Next Lesson:
With our understanding of observer-based control now firmly established, we are ready to tackle the final piece of the puzzle: ensuring the system can follow commands. The next lesson, "Explain the Separation Principle and its implication for designing the controller and observer independently," will serve as a capstone summary of what we've learned before we move on to adding reference tracking to our system. This will be a crucial step toward making your inverted pendulum not just stable, but also controllable in a practical sense.