MATLAB Examples

Engine Speed Model Parameter Estimation

This example shows how to estimate the coefficients of a nonlinear (quadratic) function to approximate the dynamic behavior of a system component.


Description of the Engine Speed Model

The Simulink® model for the engine system, spe_speed, is shown below. Take a few moments to explore this model.

The throttle angle from the block labeled "Throttle" on the left side of the diagram drives the simulation. The output of interest in the model is the engine speed, which can be monitored by opening the Scope block labeled "Engine Speed (rpm)".

Open the engine speed model

Modeling Air Charge Using a Nonlinear Function

Among other dynamic components in the model, the "Intake Manifold" subsystem is used to model the dynamics of the air intake manifold in the engine.

Open the Intake Manifold subsystem

In particular, the "Convert to mass charge" block above defines a quadratic multi-variable polynomial to approximate the relationship between the Air Charge, the Manifold Pressure, and the Engine Speed. This approximation has the following form:

$$AirCharge = p(1) \times Engine Speed + p(2) \times Manifold Pressure$$

$$ + p(3) \times (Manifold Pressure)^2 + p(4) \times Engine Speed \times Manifold Pressure + p(5)$$

The Parameter Estimation Problem

When measured data for various signals in your model are available, you can use Simulink® Design Optimization™ to compute the unknown parameters.

The parameter estimation problem in our case is to compute the coefficients

$$p(1), p(2), p(3), p(4), p(5)$$

using measured data.

You can launch a pre-configured parameter estimation task in the Control and Estimation Tools Manager by first opening the model and by double-clicking on the orange block in the lower corner of the model.

Close the model