8. Reduced Order Observer - JoshSilver8/ENGR454_Buck_Converter GitHub Wiki

Lastly, we briefly cover our work on the reduced order observer.Unlike the kalman filter and full order observer that estimate all state variables, the reduced order observer does not. In some situations, the state variables may be accurately measured, and if that’s the case, then they need not be estimated.

Here we have the general block diagram for the full-order observer with feedback applied. Note one mistake on the block diagram where the block G should actually be denoted as G double bar.

The key blocks on this diagram unique to the reduced order observer are the blocks, L, H, F, and G double bar. These blocks can be represented by the following equations:

When constructing the reduced order observer for the buck converter. The first thing we needed to decide was which state variable we were estimating and which we were directly measuring. For our buck converter, it is relatively easy to measure the output voltage while not quite so easy to measure the current through the inductor. Thus, we initially choose the output voltage, Vc as our directly measured variable and IL as our to-be estimated variable. We check for controllability and observability in this configuration first before proceeding to building the reduced order observer. Now that we have chosen our configuration and have checked to ensure it is both controllable and observable, we proceed to building an equation for the observer. We can construct equations from the block diagram and arrive at this new matrix summarizing the entire block diagram:

The equations derived from the block diagram to find il_hat are shown in the first two lines of equations below. While the above matrix is fine for implementing in Matlab, we need a discrete version to implement in arduino code. The following derivation is for discretizing the system to be implemented in arduino for controlling the system.

In the derivation, we replaced the input u with feedback, -G1 and -G2, from the measured and estimated state variables respectively. This is also illustrated in the block diagram.

From matlab simulations, we arrive at the following results given an input step response to the system.

These Matlab simulations indicate that the system is controllable. Plugging the values we calculated for L, H, F, G double bar, and the feedback G1 and G2, into the arduino code, we arrive at the following results:

In comparison to LQR only as well as no applied feedback, we have the following results when we vary in the input voltage between 8 and 12 volts.

This comparison indicated that LQR is a better controlling technique for this system. However, we expect that given better modeling of the system in both state space and in Matlab, the observer will yield better results than LQR alone.

Matlab and Arduino files can be found here.