Getting Started    

Model Order Reduction

You can derive reduced-order models with the following commands.

Model Order Reduction
balreal
Input/output balancing
minreal
Minimal realization (pole/zero cancellation)
modred
State deletion in I/O balanced realization
sminreal
Structurally minimal realization

Use minreal to delete uncontrollable or unobservable state dynamics in state-space models, or cancel pole/zero pairs in transfer functions or zero-pole-gain models. Use sminreal to remove any states that are structurally decoupled from the inputs or outputs. For already minimal models, you can further reduce the model order using a combination of balreal and modred.

Example: Gasifier Model

This example presents a model of a gasifier, a device that converts solid materials into gases. The original model is nonlinear. To load a linearized version of the model, type

at the MATLAB prompt; the gasifier example is stored in the variable named gasf. If you type

MATLAB responds with

Before attempting model order reduction, inspect the pole and zero locations by using pzmap(gasf) and then zooming in near the origin. If you don't know how to use the zoom feature on plots, see Zooming for an example.

This figure shows the results.

Figure 2-5: Pole-Zero Map of the Gasifier Model (Zoomed In)

Since the model displays near pole-zero cancellations, it is a good candidate for model reduction.

SISO Model Order Reduction

As an illustration of the model order reduction tools, this example focuses on a single input/output pair of the gasifier, input 5 to output 3.

To enhance the numerical stability, first scale the system realization with ssbal.

Then use minreal to eliminate uncontrollable or unobservable states.

MATLAB responds with

The result is a 15th order system. Use this command

to compare the Bode magnitude and phase of the 25th order model to the reduced-order model. This figure shows the result.

Figure 2-6: Comparison of Full 25 State Model to the 15 State Reduced Order Models

As the figure shows, there is very little difference in the responses.

Finally, try eliminating states that are weakly affecting the I/O map by using the balreal and modred functions. First, attempt a balanced realization.

Use format short e to view the Hankel singular values stored in variable G.

Small Hankel singular values indicate that the associated states are weakly coupled. You can try discarding the last five states (associated with the five smallest Hankel singular values).

MATLAB responds with

Type

to compare the magnitude and phase of the 10th order model to the 25th order model.

This figure shows the result.

Figure 2-7: Comparison of 25 and 10 State Models

The figure shows good agreement until the frequency reaches 5 rad/sec. This may be acceptable since gasifiers are often low bandwidth systems, and since the models still agree at smaller frequencies. Try experimenting with discarding more Hankel values. With each further reduction, the match to the 25th order model will continue to degrade.

MIMO Model Order Reduction

You can choose not to restrict yourself to individual input/output pairs. The following code does model order reduction on the full MIMO gasifier model.

After you get to 16 states, the reduced-order MIMO model begins to deteriorate when compared to the full 25 state MIMO model. Try reducing the model further to see which channels suffer the most degradation.

The MathWorks would like to thank ALSTOM Power UK for kindly permitting us to use their gasifier model for this example. This model was issued as part of the ALSTOM Benchmark Challenge on Gasifier Control. For more details see Dixon, R., (1999), "Advanced Gasifier Control," Computing & Control Engineering Journal, IEE, Vol. 10, No. 3, pp. 92-96.


  Continuous/Discrete Conversions Analyzing Models