Estimate Impulse-Response Models at the Command Line
Before you can perform this task, you must have:
Input/output or frequency-response data. See Representing Time- and Frequency-Domain Data Using iddata Objects. For supported data formats, see Supported Estimation Data.
Performed any required data preprocessing operations. If you use time-domain data, you can detrend it before estimation. See Ways to Prepare Data for System Identification.
Use impulseest to compute impulse response
models. impulseest estimates a high-order, noncausal FIR model
using correlation analysis. The resulting models are stored as idtf model objects and contain impulse-response coefficients in the
model numerator.
To estimate the model m and plot the impulse or step response, use
the following syntax:
m=impulseest(data,N); impulse(m,Time); step(m,Time);
where data is a single- or multiple-output iddata or idfrd object. N is a
scalar value specifying the order of the FIR system corresponding to the time range 0:Ts:(N-1)*Ts, where Ts is the data sample time.
You can also specify estimation options, such as regularizing kernel, pre-whitening
filter order and data offsets, using impulseestOptions and pass them as an input to
impulseest. For example:
opt = impulseestOptions('RegularizationKernel','TC')); m = impulseest(data,N,opt);
To view the confidence region for the estimated response, use impulseplot and stepplot to create the plot. Then use showConfidence.
For example:
h = stepplot(m,Time);
showConfidence(h,3) % 3 std confidence regionNote
cra is an alternative method for
computing impulse response from time-domain data only.
Next Steps
Perform model analysis. See Validating Models After Estimation.