SDT-base         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').

Three ways are available to load data in the dockid :

Once data is properly loaded in the dockid, the general process for modal identification is described in section 2.2.3.

2.2.1  Interactive data loading

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 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  Opening and description of used data

For some reasons (data customization or user-built transfers for instance), data have to be loaded from MATLAB variables in the workspace into the dockId. To give an example of the data storage, the following scripts loads data from a .unv file which is then stored into the dockId

% Unv with wire-frame, transfer and poles
% Open empty dockid get pointer to feplot (cf) and iiplot (ci)
% Build gartid.unv file the first time, then provide file name
fname=demosdt('build gartid.unv'); 
% Data are stored into a variable to help you build custom loading procedure
wire=UFS(1); % Test wireframe
XF=UFS(2); % Transfers
ID=UFS(3); % List of modes
cf.mdl=wire; % Store the wireframe in the feplot figure
% Put transfers to iiplot figure (Transfers named test are the ones 
ci.Stack{'curve','Test'}=XF; concerned by the current identification)
ci.Stack{'curve','IdMain'}=ID; % Store the poles in the iiplot figure
iicom('iix:TestOnly'); % Equivalent to :  idcom figure, tab Stack, 
% right click on Test and select 'Display selected data'

When manual assignation is performed, do not forget to click on to refresh the tables (for instance the pole list in idcom). Note that to perform identification, only the transfers are needed: the wireframe allows visualizing the identified mode shapes and the list of poles is helpful if previous identification has been performed. For more information about the wireframe data structure (geometry and sensor definition), see section 2.8.

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

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

2.2.3  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.4  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.4).
MTSExport data from IDEAS-Pro software to UFF.
Spectral DynamicsCreate a Matlab script to format data from SigLab to SDT format.

2.2.5  Write a script to build a transfer structure

Transfers can be wrote in the xfstruct (old) or Multi-dim curve (new) format.

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

In the new Multi-dim curve format, the structure must at least contain a MATLAB structure composed 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:

 [XF1,mo1]=demosdt('demo2bay xf');% sample data in wxf format and model+wireframe
 XF1=xfopt('check',XF1); % Auto fill optionnal fields for cleaner display
 % Equivalent structure in new curve format
 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
 XF2=struct('X',{{XF1.w out_dof in_dof}}, ...   % frequencies in Hz
            'Xlab',{{{'Frequency' 'Hz' []} 'Out' 'In'}}, ...
            'Y',XF1.xf); % responses (size Nw x no x ni)
 XF2.dof=[out_dof(:) in_dof(:)] ;
 % Init dockid with model containing the wireframe and transfers (model is optional)
 ci.IDopt.recip='mimo';ci.IDopt % Set reciprocity to mimo

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

 iicom('wmin 6 40') % sets ci.IDopt.Selected
 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)


2.2.6  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
ci=iicom('curveinit','Time',frame);iicom(ci,'Sub 1 1');
% Time vector in .X{1}, measurements in .Y columns
frf=fe_curve('h1h2 1 -Stack',frame); % compute FRF (1 indicates first channel as input)

You can find theoretical information on data acquisition for modal analysis in Refs. [9][10][11][12][13].

©1991-2024 by SDTools
Previous Up Next