Documentation Center

  • Trial Software
  • Product Updates

BJ Estimator

Estimate parameters of Box-Jenkins model from SISO data in Simulink software returning idpoly object


System Identification Toolbox


The BJ Estimator block estimates the parameters of a Box-Jenkins model, and returns the estimated model as an idpoly object.

    Note:   The BJ Estimator block will be removed in a future release. There is no replacement for this block.

For information about the default algorithm settings used for model estimation, see bjOptions.

Each estimation generates a figure with the following plots:

  • Actual (measured) output versus the simulated or predicted model output.

  • Error in simulated model, which is the difference between the measured output and the model output.

Model Definition

The Box-Jenkins model is defined, as follows:

where the coefficients of

are the parameters being estimated, and is the backward shift operator defined by .

The following block diagram shows the Box-Jenkins model structure.


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

First input: Input signal.

Second input: Output signal.


The BJ Estimator block outputs a sequence of multiple models (idpoly), 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 [nb nc nd nf nk]

Integers nb, nc, nd, and nf specify the number of B, C, D, and F model parameters, respectively.

Integer nk specifies the input-output delay.

Calculate after how many points

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.

    Note:   If you use a fixed step-size solver, the fixed step size must be consistent with this sample time.

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:

  • If you do not specify a model name, the estimated models display in the MATLAB® Command Window in a transfer-function format.

  • If you specify a model name, the resulting models are output to the MATLAB workspace as a cell array.


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.


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

  1. Specify the data in iddata1.mat for estimation:

    load iddata1;
    IODATA = z1; 
  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 BJ Estimator block to the model. Set the sample time in the block to 0.1 seconds and the simulation end time to 30 seconds.

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

  3. Run the simulation.

    The estimated models appear in the MATLAB Command Window every 25 samples.

See Also

Related Commands


Topics in the System Identification Toolbox User's Guide

Identifying Input-Output Polynomial Models

Was this topic helpful?