ARX Estimator

Estimate parameters of ARX model from SISO data in Simulink® software returning idpoly object

Library

System Identification Toolbox

Description

The ARX block uses least-squares analysis to estimate the parameters of an ARX model and returns the estimated model as an idpoly object.

For information about the default algorithm settings used for model estimation, see the Algorithm Properties reference page.

Each estimation generates a figure with the following plots:

Model Definition

The ARX model is defined, as follows:

where

The ARX model can also be written in a compact way using the following notation:

where

and is the backward shift operator, defined by .

The following block diagram shows the ARX model structure.

Input

The block accepts two inputs, corresponding to the measured input-output data for estimating the model.

First input: Input signal.

Second input: Output signal.

Output

The ARX Estimator block outputs a sequence of multiple models (idpoly objects), estimated at regular intervals during the simulation.

The Data window field in the block parameter dialog box specifies the number of data samples to use for estimation, as the simulation progresses.

The output format depends on whether you specify the Model Name in the block parameter dialog box.

Dialog Box

Orders of model [na nb nk]

Integers na, nb, and nk specify the number of A and B model parameters and the input-output delay, respectively.

How often update model [samples]

Number of input data samples that specify the interval after which to estimate a new model.

Default: 25

Sample time

Sampling time for the model.

Length of Data window

Number of past data samples used to estimate each model. A longer data window should be used for higher-order models. Too small a value might cause poor estimation results, and too large a value leads to slower computation.

Default: 200.

Model Name

Name of the model.

Whether you specify the model name determines the output format of the resulting models, as follows:

Simulation/Prediction

Simulation: The algorithm uses only measured input data to simulate the response of the model.

Prediction: Specifies the forward-prediction horizon for computing the response K steps in the future, where K is 1, 5, or 10.

Examples

This example shows how you can use the ARX Estimator block in a Simulink model.

  1. Generate sample input and output data.

    y = sin([1:300]') + 0.5*randn(300,1);
    u = sin([1:300]') + 0.6*randn(300,1);
    IODATA = iddata(y,u,0.25);
  2. Create a new Simulink model, as follows.

    Add the IDDATA Source block and specify IODATA in the Iddata object field of the IDDATA Source block parameters dialog box.

    Add the ARX Estimator block to the model and accept default block parameter values.

    Connect the Input and Output ports of the IDDATA Source block to the u and y ports of the ARX Estimator block, respectively.

  3. Run the simulation.

    The estimated models display in the MATLAB Command Window every 25 samples. The following are the first two estimated transfer functions:

    Transfer function:
     
    num/den = 
     
         -0.0098875 z + 0.043902
       --------------------------
       z^2 - 0.94346 z + 0.078936
    Noise model:
     
    num/den = 
     
                   z^2
       --------------------------
       z^2 - 0.94346 z + 0.078936
    Transfer function:
     
    num/den = 
     
         -0.001273 z + 0.010989
       --------------------------
       z^2 - 0.92699 z + 0.086175
    Noise model:
     
    num/den = 
     
                   z^2
       --------------------------
       z^2 - 0.92699 z + 0.086175

See Also

Related Commands

arx
idpoly

Topics in the System Identification Toolbox™ User's Guide

Identifying Input-Output Polynomial Models

  


 © 1984-2008- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS