idfrd
Frequency response data or model
Description
An idfrd
object stores frequency response data over a range of
frequency values. You can use an idfrd
object in two ways. You can use the
object as estimation data for estimating a time-domain or frequency-domain model, similarly to
an iddata
object. Or, you can use the object as a linear model, similarly to
how you use an idss
state-space model or any other identified linear model.
Use the idfrd
command to encapsulate frequency response data or to
convert a linear time-domain or frequency-domain dynamic model into a frequency response
model.
Commands that accept iddata
objects, such as the model estimation
command ssest
, generally also accept
idfrd
objects. However, an idfrd
object can contain
data from only one experiment. It does not have the multiexperiment capability that an
iddata
object has.
Commands that accept identified linear models, such as the analysis and validation
commands compare
, sim
, and bode
, generally also accept
idfrd
models.
For a model of the form
the transfer function estimate is and the additive noise spectrum Φv at the output is
Here, λ is the estimated variance of e(t) and T is the sample time.
For a continuous-time system, the noise spectrum is
An idfrd
object stores and Φv.
Creation
You can obtain an idfrd
model in one of three ways.
Create the model from frequency response data using the
idfrd
command. For example, create anidfrd
model that encapsulates frequency response data taken at specific frequencies using the sample timeTs
.For an example, see Create idfrd Object from Frequency Response Data.sysfr = idfrd(ResponseData,Freq,Ts)
Estimate the model using a frequency response estimation command such as
spa
, using time-domain, frequency-domain, or frequency response data.sysfr = spa(data)
For more information about frequency response estimation commands, see
spa
,spafdr
, andetfe
.Convert a linear model such as an
idss
model into anidfrd
model by computing the frequency response of the model.For an example of linear model conversion, see Convert Time-Domain Model to Frequency Response Model.sysfr = idfrd(sys)
For information on functions you can use to extract information from or transform
idfrd
model objects, see Object Functions.
Syntax
Description
Create Frequency Response Object
creates a discrete-time sysfr
= idfrd(ResponseData,Frequency,Ts)idfrd
object that stores the frequency response
ResponseData
of a linear system at frequency values Frequency
. Ts
is the sample time. For a continuous-time system, set
Ts
to 0
.
sets additional properties using one or more name-value arguments. Specify the
name-value arguments after the first three arguments. For instance, to specify the
frequency units as MHz, use sysfr
= idfrd(___,Name,Value
)sysfr =
idfrd(ResponseData,Frequency,Ts,'FrequencyUnits','MHz')
.
Convert Linear Identified Model to Frequency Response Model
converts a System Identification Toolbox™ or Control System Toolbox™ linear model to frequency response data at default frequencies, including
the output noise spectra and spectra covariance.sysfr
= idfrd(sys
)
interprets frequencies in the sysfr
= idfrd(sys
,Frequency,FrequencyUnits)Frequency
vector in the units
specified by FrequencyUnit
.
Input Arguments
Properties
Object Functions
Many functions applicable to Dynamic System Models are also applicable to an idfrd
model
object. These functions are of three general types.
Functions that operate on and return
idfrd
model objects, such aschgTimeUnit
andchgFreqUnit
Functions that perform analytical and simulation functions on
idfrd
objects, such asbode
andsim
Functions that retrieve or interpret model information, such as
getcov
Unlike other identified linear models, you cannot directly convert an
idfrd
model into another model type using commands such as
idss
or idtf
. Instead, use the estimation command
for the model you want, using the idfrd
object as the estimation data. For
instance, use sys = ssest(sysfr,2)
to estimate a second-order state-space
model from the frequency response data in idfrd
model
sysfr
. For an example of using an idfrd
object as
estimation data, see Estimate Time-Domain Model Using Frequency Response Data.
The following lists contain a representative subset of the functions that you can use with
idss
models.
Examples
Version History
Introduced before R2006a