|Contents   Functions      PDF Index|
Broadband pole/residue model identification with the possibility to update an initial set of poles.
[res,po,xe] = id_rc (xf,po,w,idopt) [res,new_po,xe] = id_rc (xf,po,w,idopt,dst,fst) [res,new_po,xe] = id_rcopt(xf,po,w,idopt,step,indpo)
This function is typically accessed using the idcom GUI figure as illustrated in section 2.3.
For a given set of poles, idrc(xf,po,w,idopt) identifies the residues of a broadband model, with poles po, that matches the FRFs xf at the frequency points w. This is implemented as the idcom est command and corresponds to the theory in section 2.3.3.
As detailed in section 2.3, the poles can (and should) be tuned  using either id_rc (ad-hoc dichotomy algorithm, accessible through the idcom eup command) or id_rcopt (gradient or conjugate gradient minimization, accessible through the idcom eopt command). id_rc performs the optimization when initial step sizes are given (see details below).
After the identification of a model in the residue form with id_rc, other model forms can be obtained using id_rm (minimal/reciprocal residue model), res2ss (state-space), res2xf (FRF) and res2tf (polynomial), id_nor (normal mode model).
The different input and output arguments of id_rc and id_rcopt are
Measured data stored in the xf format where each row corresponds to a frequency point and each column to a channel (actuator/sensor pair).
Although it may work for other types of data, id_rc was developed to identify model properties based on transfer functions from force actuators to displacement sensors. IDopt(2) lets you specify that the data corresponds to velocity or acceleration (over force always). An integration (division by s=jω) is then performed to obtain displacement data and a derivation is performed to output estimated FRFs coherent with the input data (the residue model always corresponds to force to displacement transfer functions).
The phase of your data should loose 180o phase after an isolated lightly damped but stable pole. If phase is gained after the pole, you probably have the complex conjugate of the expected data.
If the experimental set-up includes time-delays, these are not considered to be part of the mechanical system. They should be removed from the data set xf and added to the final model as sensor dynamics or actuator dynamics . You can also try to fit a model with a real poles for Pade approximations of the delays but the relation between residues and mechanical modeshapes will no longer be direct.
Measurement frequencies are stored as a column vector which indicates the frequencies of the different rows of xf. IDopt(3) is used to specify the frequency unit. By default it is set to 11 (FRF and pole frequencies in Hz) which differs from the SDT default of rad/s used in functions with no frequency unit option. It is assumed that frequencies are sorted (you can use the MATLAB function sort to order your frequencies).
Initial and updated pole sets. id_rc estimates residues based on a set of poles po which can be updated (leading to new_po, see ii_pof for the format). Different approaches can be used to find an initial pole set:
Poles can be stored using different formats (see ii_pof) and can include both conjugate pairs of complex poles and real poles. (id_rc uses the frequency/damping ratio format).
The id_rc algorithms are meant for iterations between narrow-band estimates, used to find initial estimates of poles, and broadband model tuning using id_rc or id_rcopt. To save the poles to a text file, use idcom Table. If these are your best poles, id_rc will directly provide the optimal residue model. If you are still iterating you may replace these poles by the updated ones or add a pole that you might have omitted initially.
Identification options (see idopt for details). Options used by id_rc are Residual, DataType, AbscissaUnits, PoleUnits, SelectedRange and FittingModel.
The definition of channels in terms of actuator/sensor pairs is only considered by id_rm which should be used as a post-treatment of models identified with id_rc.
Damping and frequency steps. To update pole locations, the user must specify initial step sizes on the frequency and damping ratio (as fractions of the initial values). id_rc then uses the gradient of the quadratic FRF cost to determine in which direction to step and divides the step size by two every time the sign changes. This approach allows the simultaneous update of all poles and has proved over the years to be extremely efficient.
For lightly damped structures, typical step values (used by the idcom command eup) are 10% on all damping ratios (dstep = 0.1) and 0.2% on all frequencies (fstep = 0.002). If you only want to update a few poles fstep and dstep can be given as vectors of length the number of poles in po and different step values for each pole.
idcom('eup 0.05 0.002 local') can be used to specify dstep and fstep. The optional local at the end of the command specifies that zero steps should be used for poles whose resonance is outside the selected frequency band.
Methods and selected poles. step specifies the method used for step length, direction determination method, line search method, reference cost and pole variations. You should use the default values (empty step matrix). indpo gives the indices of poles to be updated (po(indpo,:) for poles in format 2 are the poles to be updated, by default all poles are updated).
The idcom eopt command can be used to access id_rcopt. eoptlocal calls id_rcopt with indpo set to only update poles whose resonance is within the selected frequency band.
Residues are stored in the res format (see section 5.6). If the options IDopt are properly specified this model corresponds to force to displacement transfer functions (even if the data is acceleration or velocity over force). Experts may want to mislead id_rc on the type of data used but this may limit the achievable accuracy.
Estimated FRFs correspond to the identified model with appropriate derivation if data is acceleration or velocity over force.
idcom, id_rm, res2xf, res2ss
Tutorial section section 2.3
gartid and demo_id demonstrations