MATLAB: System identification command line- impulseest

identify linear models using the command lineimpulseestSystem Identification Toolbox

Hi; studying the link below http://www.mathworks.com/help/ident/gs/identify-linear-models-using-the-command-line.html i faced something unclear. The help says: "Estimating the Empirical Step Response
To estimate the step response from the data, first estimate a non-parametric impulse response model (FIR filter) from data and then plot its step response. % model estimation |*_Mimp = impulseest(Ze1,60)_;*||| " why did it use 60||; why it did not use 20 or 650 or …;

Best Answer

The "60" refers to the length of the FIR filter. An FIR model typically has larger number of coefficients than a rational transfer function model. Hence the "large number" 60. The exact value of the filter length is not known in advance. You have to try out various values and evaluate the resulting quality of the model using tools such as COMPARE, RESID, and evaluating confidence bounds on impulse response and step response plots.
Note that the estimation is "regularized" unless you choose regularization kernel to be "none" (see IMPULSEESTOPTIONS). This means that choosing too large a value for the filter length would not adversely affect its quality too much. So go with a reasonably large number of coefficients (such as 1/10 of data length).
Related Question