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 region
Note
cra
is an alternative method for
computing impulse response from time-domain data only.
Next Steps
Perform model analysis. See Validating Models After Estimation.
Related Examples
- Identify Delay Using Transient-Response Plots
- Compute Response Values
- Estimate Impulse-Response Models Using System Identification App