Contents     Functions         Previous Next     PDF Index

2.2  Identification of modal properties (Id dock)

Identification is the process of estimating a parametric model (poles and modeshapes) that accurately represents measured data. The identification process is typically performed using the dock shown below opened with iicom('dockId').

2.2.1  Opening and description of used data

The following procedure loads data from a .unv file but other way to open and load data are available.

On top of the Test and IdMain data discussed above, other useful data used throughout the identification process and stored in the iiplot Stack are

[ci,cf]=gartid; % Open dockid with stored data and performs identification
ci.Stack % Display list of stored data in the Stack of iiplot

Test=ci.Stack{'curve','Test'}; % Retrieve data from iiplot
IdFrf=ci.Stack{'curve','IdFrf'};
IdMain=ci.Stack{'curve','IdMain'};
IdAlt=ci.Stack{'curve','IdAlt'};

wire=cf.mdl.GetData; % GetData is used to retrieve a copy. 
% Otherwise all modifications are propagated to feplot

Here is a tutorial for interactive data loading in DockId

You will need the garteur example files, which can be found in SDTPath/sdtdemos/gart*.m. If these files are not present, click on the first step on the following tutorial in the HTML version of the documentation or download the patch at the adress https://www.sdtools.com/contrib/garteur.zip and unzip the content in the the folder SDTPath/sdtdemos.

  1. Run Execute the command iicom('dockid') to open an empty dock.

    The dock is divided in three parts:

  2. Run The loading of .unv files can be realized from iiplot or feplot. Activate for instance the idcom figure and select File:ImportData...

    Here are the 4 possible menus in this order: iiplot, idcom, feplot and feplot('mdl').

    In the opening window, select the file to load. For this tutorial, the file is located at SDTPath/sdtdemos/gartid.unv.

    Once selected, the Unv tab is displayed in the idcom or the feplot('mdl') figure (depending the chosen menu for ImportData.

    It shows that three types of data are present in the file: a wireframe, transfers and identified mode shapes. Select the three check boxes to load everything.

  3. Run Click on Import (or Import in DockId which is used to build dockId if the loading is performed in a feplot or an iiplot figure outside a dockid).

    The data are loaded: transfers are shown in the iiplot figure, the wireframe in the feplot figure and the list of poles in the tab Ident of the idcom figure.

  4. Run Once an identification is performed, click on Save in the idcom figure.

    A windows pops-up to ask what data must be saved. Save all (by default) to set all the data and info on the dockid in the saving file.

    Close the dock. A pop-up should appear to ask if you really want to close iiplot (this is to ensure that no data is lost if no saving has been performed), click on Close without saving.

  5. Run To reload the saved dock, two possibilities are available:

2.2.2  General process

The proposed identification process is outlined below. The main steps of the methodology are


Figure 2.7: Modal identification process with links to corresponding sections

This process is handled through the Ident tab opened with iicom('InitIdent') or with the interface by clicking on Tab : Ident from the iiplot or idcom figure.

The main steps, associated with level 1 lines in the GUI tree are the topics of specific sections of the documentation:

The gartid script gives real data and an identification result for the GARTEUR example. The demo_id script analyses a simple identification example.

2.2.3  Importing FRF data

SDT stores transfer functions in the Response data (.w,.xf fields) or curve (.X,.Y fields) formats. The following table gives a partial list of systems with which the SDT has been successfully interfaced.


VendorProcedure used
Bruel & KjaerExport data from Pulse to the UFF and read into SDT with ufread or use the Bridge To Matlab software and pulse2sdt.
LMSExport data from LMS CADA-X to UFF or MATLAB format.
PolytecInstall the Polytec File Access library on your computer and use the polytec function to import .svd files directly. Alternatively, export data from PSV software to UFF.
DactronExport data from RT-Pro software to the UFF. Use the Active-X API to drive the Photon from MATLAB see photon.
MathWorksUse Data Acquisition and Signal Processing toolboxes to estimate FRFs and create a script to fill in SDT information (see section 2.2.3).
MTSExport data from IDEAS-Pro software to UFF.
Spectral DynamicsCreate a Matlab script to format data from SigLab to SDT format.


2.2.4  Write a script to build a transfer structure

When writing your own script to transcript data to xfstruct format, you must have a MATLAB structure composed at minimum of the fields

Other fields may be required to specify the type of data and the type of model to use for identification. Two main optional fields are presented here:

 ci=idcom;
 [XF1,cf]=demosdt('demo2bay xf');% sample data and feplot pointer
 out_dof=[3:6]+.02'; % output dofs for 4 sensors in y direction
 in_dof=[6.02 3.01]; % input dofs for two shakers at nodes 1 and 10
 out_dof=out_dof(:)*ones(1,length(in_dof));
 in_dof=ones(length(out_dof),1)*in_dof(:)';
 XF1=struct('w',XF1.w, ...   % frequencies in Hz
            'xf',XF1.xf, ... % responses (size Nw x (40))
            'dof',[out_dof(:) in_dof(:)]);
 XF1=xfopt('check',XF1);
 ci.Stack{'curve','Test'}=XF1;          % sets data 
 iicom(ci,'submagpha'); % display 
 ci.Stack{'Test'}.idopt % field now points to ci.IDopt
 ci.IDopt.nsna=size(out_dof,1); % Possibly correct number of outputs
 ci.IDopt.recip='mimo';ci.IDopt % Set reciprocity to mimo

 cf.def=ci.Stack{'Test'}; fecom('ch35'); % frequency of first mode

You can check these values in the iicom('InitChannel') tab.

 ci=demosdt('demogartid'); 
 ci.IDopt.Residual='3';
 ci.IDopt.DataType='Acc';
 ci.IDopt.Absci='Hz';
 ci.IDopt.PoleU='Hz';
 iicom('wmin 6 40') % sets ci.IDopt.Selected
 ci.IDopt.Fit='Complex';
 ci.IDopt  % display current options

For correct transformations using id_rm, you should also verify ci.IDopt.NSNA (number of sensors/actuators), ci.IDopt.Reciprocity and ci.IDopt.Collocated.

For correct labels using iiplot you should set the abscissa, and ordinate numerator/denominator types in the data base wrapper. You can edit these values using the iiplot properties:channel tab. A typical script would declare frequencies, acceleration, and force using (see list with xfopt _datatype)

 UFS(2).x='Freq';UFS(2).yn='Acc';UFS(2).yd='Load';UFS(2).info

2.2.5  Data acquisition

The SDT does not intend to support the acquisition of test data since tight integration of acquisition hardware and software is mandatory. A number of signal processing tools are gradually being introduced in iiplot (see ii_mmif FFT or fe_curve h1h2). But the current intent is not to use SDT as an acquisition driver. The following example generates transfers from time domain data

frame=fe_curve('Testacq');  % 3 DOF system response
% Time vector in .X field, measurements in .Y columns
frf=fe_curve('h1h2 1',frame); % compute FRF
ci=iicom('Curveid');iicom('curveinit','Test',struct('w',frf.X,'xf',frf.H1))
iicom('SubMagPha');

You can find theoretical information on data acquisition for modal analysis in Refs. [2][3][4][5][6].


©1991-2019 by SDTools
Previous Up Next