idcom
Purpose
UI command functions for standard operations in identification.
Syntax
idcom('CommandString');
Description
idcom provides a simple access to standard operations in identification. The way they should be sequenced is detailed in section 3.3 which also illustrates the use of the associated GUI.
idcom is always associated with an iiplot figure. Information on how to modify standard plots is given under iicom. The first six datasets in that figure must always be the six listed in section 3.3. Methods to access the data from the command line are described in section 3.1.2. Identification options stored in the figure are detailed under the idopt function.
The information given below details each command (see the commode help for hints on how to build commands and understand the variants discussed in this help). Without arguments idcom opens or refreshes the current idcom figure.
Commands
e [ ,i w]
Single pole narrow-band model identification. e calls ii_poest to determine a single pole narrow band identification for the data set XF('test').
A bandwidth of two percent of w is used by default (when i is not given). For i<1, the i specifies the half bandwidth as a fraction of the central frequency w. For i an integer greater than 5, the bandwidth is specified as a number of retained frequency points.
The selected frequency band is centered around the frequency w. If w is not given, ii_poest will wait for you to pick the frequency with your
mouse.
If the local fit does not seem very good, you should try different
bandwidths (values of i).
The results are stored in XF('IdAlt') with a pole .po and residue .res field. FRFs are resynthesized into XF('IdFrf') (which is overlaid to XF('test') in iiplot). If, based on the plot(s), the estimate seems good it should be added to the current pole set XF('IdMain') using idcom ea.
Add alternate poles to the main set. If appropriate modes are present in XF('IdAlt') (after using the e or f commands for example), they should be added to the main pole set XF('IdMain') using the ea command. These poles can then be used to identify a multiple pole broadband model with idcom est and idcom eup.
If all poles in XF('IdAlt') are already in XF('IdMain'), the two are only combined when using the eaf command (this special format is used to prevent accidental duplication of the nodes).
er [num i, f w]
Remove poles from XF('IdMain'). The poles to be removed can be indicated by number using 'er num i' or by frequency using 'er f w' (the pole with imaginary part closest to w is removed). The removed pole is placed in XF('IdAlt') so that an ea command will undo the removal.
est[ ,local,localpole]
Broadband multiple pole identification without pole update. est uses id_rc to identify a model based on the complete frequency range. This estimate uses the current pole set XF('IdMain') but does not update it. The results are a residue matrix XF('IdMain').res, and corresponding FRF XF('IdFrf') (which is overlaid to XF('test') in iiplot). In most cases the estimate can be improved by optimizing the poles using the idcom eup or idcom eopt commands.
estLocal only estimates residues of poles in the range selected by IDopt. You perform a series of local estimates over selected bands by providing these bands or using narrow band around each pole with estLocalPole.
gartid
idcom('w0');idcom est
def_global=XF('IdMain'); % broadband estimate
idcom('estlocal',{[6 7],[15 17],[31 38],[48 65]});
def_local=XF('IdMain'); % estimate by multiple local bands
eup dstep fstep [local, num i ]
Update of poles. eup uses id_rc to update the poles of a multiple pole model based data within IDopt.SelectedRange. This update is done through a non-linear optimization of the pole locations detailed in section 3.3.3. The results are updated modes XF('IdMain') (the initial ones are stored in XF('IdAlt')), and corresponding FRF XF('IdFrf') (which is overlaid in iiplot).
In most cases, eup provides significant improvements over the initial pole estimates provided by the e command. In fact the only cases where you should not use eup is when you have a clearly incomplete set of poles or have reasons to suspect that the model form used by id_rc will not provide an accurate broadband model of your response.
Default values for damping and frequency steps are 0.05 and 0.002. You may specify other values. For example the command 'eup 0.05 0.0' will only update damping values.
It is often faster to start by optimizing over small frequency bands while keeping all the poles. Since some poles are not within the selected frequency range they should not be optimized. The argument
local placed after values of dstep and fstep
(if any) leads to an update of poles whose imaginary part are within the retained frequency band.
When using local update, you may get warning messages about conditioning. These just tell you that residues of modes outside the band are poorly estimated, so that the message can be ignored. While algorithms that by-pass the numerical conditioning warning exist, they are slower and don't change results so that the warning was left.
In some cases you may want to update specific poles. The argument num i where i gives the indices in IdMain
of the poles you want to update. For example 'eup 0.0 0.02 num 12' will update the frequency of pole 12 with a step of 2%.
- The poles in XF('IdMain').po are all the information needed to obtain the full model estimate. You should save this information in a text or .mat file regularly to be able to restart/refine your identification.
- You can get a feel for the need to further update your poles by
showing the error and quality plots (see iiplot and section 3.3.2).
eopt [local, num i ]
Update of poles. eopt is similar to eup but uses id_rcopt to optimize poles. eopt is often more efficient when updating one or two poles (in particular with the eopt local command after selecting a narrow frequency band). eopt is guaranteed to improve the quadratic cost (4.3) so that using it rarely hurts.
find
Find a pole. This command detects minima of the MMIF that are away from poles of the current model XF('IdMain').po and calls ii_poest
to obtain a narrow band single pole estimate in the surrounding area. This command can be used as an alternative to indicating pole frequencies with the mouse (idcom e command). More complex automated model initialization will be introduced in the future.
f i
Graphical input of frequencies. f i prompts the user for mouse input of i frequencies (the abscissa associated with each click is taken to be a frequency). The result is stored in the pole matrix XF('IdAlt').po assuming that the indicated frequencies correspond to poles with 1% damping. This command can be used to create initial pole estimates but the command e should be used in general.
dspi nm
Direct system parameter identification. dspi
uses id_dspi to create a nm pole state space model of Test. nm must be less than the number of sensors.
The results are transformed to the residue form which gives poles and residues in IdMain, and corresponding FRF IdFrf (which is overlaid to Test in iiplot.
mass i
Computes the generalized mass at address i. If the identified model contains complex residues (IDopt.Fit='Pos' or 'Complex'),
res2nor is used to find a real residue approximation. For real residues, the mass normalization of the mode is given by the fact that for collocated residues reciprocity implies
cCol
j =
jT b Col=(
RjCol)
1/2=(
mjCol)
-1/2
The mass at a given sensor i is then related to the modal
output cl
j of the mass normalized mode by
mlj=(cl
j)-2. This command can only be used when
collocated transfer functions are specified and the system is assumed
to be reciprocal (see idopt).
poly nn nd
Orthogonal polynomial identification. poly uses id_poly to create a polynomial model of Test with numerators of degree nn and denominators of degree nd. The corresponding FRFs are stored in IdFrf (which is overlaid to Test in iiplot).
[Table,Tex] IIpo
Formatted printout of pole variables IIpo or IIpo1. With the Tex command the printout is suitable for inclusion in LATEX.
This command is also accessible from the idcom figure context menu.
See also
idcom, iicom, iiplot, id_rc, section 3.3
©1991-2007 by SDTools