Anda di halaman 1dari 8


7" C@W@SG@@

.$7+2/,(.( 81,9(56,7(,7 /(89(1


DS76SUQ@@U@STS@T@6S8C6TTDTU6IU U@G"! %"! %&&A6Y"! %"! ('' @hvy)ihrrr5ixxyrrhpir

Output-only modal analysis: a GUI for MATLAB

Bart Peeters, Bart Van den Branden, Guido De Roeck Department of Civil Engineering, Katholieke Universiteit Leuven, BELGIUM e-mail: URL:

KEYWORDS: civil engineering, vibration monitoring, system identification, modal analysis

ABSTRACT: In this paper the development of MACEC, a Graphical User Interface (GUI) for MATLAB, is described. MACEC is the acronym for Modal Analysis on Civil Engineering Constructions. The program is used in vibration monitoring of large civil engineering structures such as bridges and towers. By pushing buttons the user is guided through the whole process of output-only modal analysis: converting measurements to engineering units, preprocessing the data, system identification, extracting modal parameters from a stabilisation diagram and animating mode shapes. The possibilities of the program are demonstrated with a real-life example.

1 INTRODUCTION Vibration monitoring of constructions is a research topic of growing interest in civil engineering. By the analysis of vibration measurements, the dynamic signature of a construction is obtained. Changes in the state of a construction will have an impact on the dynamic signature. So, comparing signatures of the same construction but at different instants of its life cycle, constitutes a tool for monitoring and damage assessment. It is in the determination of the dynamic signatures that MACEC plays its role: the program identifies eigenfrequencies, damping ratios and mode shapes based on response measurements. Unlike in classical modal analysis no measurements of the dynamic input forces are required (Fig. 1). It is not necessary to excite for instance a bridge with very

Figure 1: Classical input-output versus output-only system identification. , known quantity; /, unknown quantity.

heavy and expensive shakers; it suffices to use unmeasurable traffic or wind as excitation sources. There exist many modal analysis software packages. Originally developed in mechanical engineering for identification based on input/output data (Frequency Response Functions: FRFs), today some of these packages have also modules for output-only modal analysis; e.g. recent revision of the CADA-X system (LMS International 1998). However most commercial dedicated software packages have some drawbacks in a research environment: it is impossible to view how an algorithm has been implemented and it is often not straightforward to add own developments to these packages. MATLAB on the other hand is a program that offers computation, visualization and programming tools (MathWorks 1998a). The basic package has a lot of building blocks that can be used to make more application-specific toolboxes. Most of the functions are accessible ASCII-files which are compiled at their first call in a session; so the user can learn from their implementation or even modify it. Some existing toolboxes in the field of system identification and modal analysis will be briefly reviewed. Both the System Identification Toolbox (Ljung 1995) and the Frequency Domain System Identification Toolbox (Kollar 1995) offer data preprocessing, identification and model validation tools. The first fits time domain models to the data whereas the latter operates in the frequency domain. These toolboxes have been written by people with an electronic engineering background, but since they can identify any linear dynamic system from measurements, they can also be used in civil

engineering (a bridge is assumed to be a linear dynamic system). However both toolboxes only offer a mathematical model that best fits the data but the need remains to extract the modal parameters from the model and to plot them in stabilisation diagrams for increasing model order to allow the user to select stable poles. Further it is necessary to combine different setups since bridges are large structures that cannot be measured in one setup and finally a visualization of the structures geometry and its mode shapes is essential. Next to official toolboxes supported and distributed by The MathWorks, there exist also many toolboxes in a connection program for MATLABrelated third party products (MathWorks 1998b). One of these products is the Structural Dynamics Toolbox, that offers possibilities in experimental modal analysis, finite element analysis and updating (Balms 1997). The toolbox has geometry and mode shape visualization possibilities. However identification is based on FRFs and therefore not suitable for output-only modal analysis.

visualization possibilities of MATLAB. Also algorithm development is very easy in MATLAB, because of the interaction between the function under development and the workspace: the programmer can always control the state of the variables. A disadvantage of using MATLAB for developing a GUI could be that the result is not a stand-alone program but that the user needs MATLAB to run it. 2.2 GUIs in MATLAB (MathWorks 1997) The first step in building a GUI is its design. The principles of good design are universal and not restricted to the environment used to build the GUI. The design of the GUI as such will not be treated. The second step is the implementation. It divides into screen layout and Callback handling. MathWorks (1997): This is the difference between how the screen looks versus what it does when you interact with it. To explore the possibilities concerning screen layout, it is useful to discuss shortly MATLABs Handle Graphics object hierarchy (Fig. 3).

2 DEVELOPMENT 2.1 History From the previous section it is clear that the need arose to develop an own program for output-only modal analysis. Last years some stochastic system identification and modal analysis algorithms were tried out and implemented in MATLAB at the department of civil engineering, K.U.Leuven. These algorithms can be executed by typing in the MATLAB command window the name of the function together with the input and output variables. For instance: [phi,w,z] = modal(a,c,dt); extracts the modal parameters phi,w,z from the stochastic state space model a,c; the sampling time being dt. The difficulty with all these functions is that one has to know the syntax and keep track of all variables. Therefore a MSc-project was set up in order to build a Graphical User Interface (GUI) incorporating most of the existing functions for data conversion, system identification and adding functions for mode shape animation (Laquire & Van den Branden 1998). In stead of typing in commands, the user just has to click buttons (Fig. 2).
Figure 3: Handle Graphics object hierarchy.

Every object on the screen has a unique identifier, called a Handle that allows to modify the object at any time. The Root object (Fig. 3) is the screen and a Figure object is a window. Every Figure can consists of Axes, Uicontrols and Uimenus. The Uimenus are the classical menus and submenus at the top of a window (e.g. File, Edit, . . ., Help). Uicontrols can be placed anywhere on a window. There exist 9 styles of Uicontrols: pushbuttons, radio buttons, sliders, etc. Although the number of available Uicontrols is rather limited (probably due to the fact that the applications built within MATLAB should run on different platforms: Windows, Unix, Mac), it is possible to create quite advanced GUIs. Finally the Axes can visualize data; they consist of Images, Lines, Text, etc. Since version 5, MATLAB has a tool to create graphically a GUI layout. It is in fact a GUI to create a GUI and is called GUIDE (Graphical User Interface Development Environment). 2.3 Design and implementation of MACEC

Figure 2: The GUI approach.

There might exist better environments to create a GUI (e.g. DELPHI), but none of these have the efficient computation and powerful 2D and 3D

After the more general discussion of previous section, the implementation of MACEC is discussed here. MACEC stands for Modal Analysis on Civil Engineering Constructions. The possibilities and

features will be discussed later. Two questions are very important when designing a GUI (MathWorks 1997): 1. Do the users always know where they are? 2. Do they always know where to go next? In order to get positive answers to these questions MACEC is constructed around one main window (Fig. 4), that is divided into three main tasks: preprocessing - system identification - visualization. To perform each of these tasks a new window is opened and after the user has gone through all desired features of the task, the window is closed and the user returns to the main window. To implement MACEC, MATLABs GUIDE (section 2.2) was not used. It was the authors experience that it became too slow as the complexity of the interface increased. Also it was difficult to keep control of every detail of the implementation with GUIDE. Therefore the screen layout was programmed on a low-level (i.e. manually typing of coordinates of buttons). Further the implementation was inspired by chapter 6 of Marchand (1996). For every window of MACEC only one function was written incorporating the screen layout as well as the Callback handling

(the Callbacks of the Uicontrols recall the same function that created the Figure but with different input arguments). Every function consists of three parts (Laquire & Van den Branden 1998, Marchand 1996): 1. Initialization (if the Figure does not already exist): A Figure is created together with Uimenus, Uicontrols and Axes. The Handles to all these objects are stored in the UserData - property of the Figure. 2. Retrieve all Handles (if the Figure already exists): By executing the Callbacks (part 3), some of the objects of the Figure may change and hereto the Handles of the objects are required. These were stored in the Figures UserData (part 1). 3. Writing Callbacks (a Callback defines what happens if for instance a button is pushed): Switchyard programming is used (MathWorks 1997) to be able to define all Callbacks in one function.

Figure 4: MACEC main window.

To make the user more familiar with the toolbox, some attention was paid to give it a Windows 95/NT4-look (All these details were not included in MATLAB 5): Some of the pushbuttons have standard Windows images in stead of text:

sit-format (Fig. 6). Next the true preprocessing can begin. Preprocessing is the data treatment before system identification and it highly influences the identification result. Following possibilities are implemented: Decimate: the data is low-pass filtered and decimated; the identification can concentrate on a limited frequency band. Detrend: the best straight line fit is removed from the data. This removes the DC-component that can badly influence the identification results. No Elec: removal of spurious frequencies (e.g. at 50 Hz due to AC power supply). This operation is not the same as stopband filtering, but it really removes only the component at a certain frequency. Delete channel: removal of a complete channel. For instance a very noisy channel can be better removed to improve the identification result. Time window: a certain high-quality time segment can be selected for further analysis. However by interacting with MATLABs Command Window, every other preprocessing is possible. 3.2 System identification Currently two identification methods that can deal with the output-only case are implemented. The first is the very simple peak-picking method (Bendat & Piersol 1993). It has some theoretical drawbacks, but it is very practical: the method is very fast and can be used on site allowing a quality check of the acquired data. The second method is complementary, it is the stochastic subspace identification method (probably the most advanced method known up to date for output-only system identification): slower than peak-picking but yielding more accurate results so that it can be used afterwards, back at the office, to analyse the data into more detail (Van Overschee &

Frames that group a set of Uicontrols and/or Axes are embossed. Typical dialog boxes are used:

If a Figure is resized, only the Axes are resized and not the Uicontrols (buttons, . . .).

3 FEATURES OF MACEC The main functions of MACEC are reviewed. They can be divided into three categories: preprocessing system identification - visualization. 3.1 Preprocessing The raw time data can be imported into the program in ASCII-format or a more efficient binary format. Before further analysis the data is converted into an internal format (*.sit: System Identification Toolboxformat): if the data was stored in Volts [V], it is scaled to obtain accelerations [m/sec2]. The scaling is very easy, once the user has created an ASCII-file containing the sensitivities of all his sensors (Fig. 5). Also the physical locations of the measurement points and the sensitivity axis (node number and Degree Of Freedom: DOF) is incorporated into the

Figure 5: Scaling data from Volt to Engineering Units.

Figure 6: Attributing nodes and DOFs to channels.

De Moor 1996, Peeters & De Roeck 1999). 3.3 Visualization Every setup of simultaneously measured channels yields after identification a part of the global mode shape. These parts are glued together with the aid of reference sensors, common to all setups. Before visualization the location of the nodes (grid) and the connection between the nodes (beams/surfaces) need to be defined. This is realized by loading two ASCIIfiles into the program: a grid-file and a beam- or surface-file. The grid-file contains 4 columns: node number and coordinates. The beam-file contain 2 columns: a MATLAB Line object is defined by 2 nodes; whereas the surface-file has 4 columns: 4 nodes define a MATLAB Patch object (Fig. 3). These files can easily be generated in MACEC with the beam/surface-generator. Visualization of DOFs which were not measured can be done in a slavingprocedure: the unmeasured slave DOFs are related to

measured master DOFs. Now we are ready to visualize the mode shapes. The visualization window (Fig. 12) offers a lot of possibilities: scrolling through all modes, representation of undeformed structure and node numbers, 3D-view with possibility to change the viewpoint, animation of mode shapes, . . .

4 EXAMPLE: B15-BRIDGE The B15-Bridge overpasses the highway E19 between Brussels and Antwerp in Belgium (Fig. 7). The bridge connects the villages Peutie and Perk. It is a very classical prestressed concrete box girder bridge with a main span of 53 m and two side spans of 36 m. The bridge is supported on 3 roller and 1 pinned support. It is a skew bridge: the axes of the piers are not perpendicular to the longitudinal axis of the deck. In the ambient vibration test, the bridge was excited by traffic on the highway (Fig. 8). A drop weight was

Figure 7: B15-Bridge overpassing highway E19.

Figure 8: Ambient excitation: traffic.

Figure 9: Accelerometer locations.

Figure 10: Forced excitation: drop weight.

used in the forced vibration test (Fig. 10). The aim of the tests was the determination of the modal parameters of the bridge: eigenfrequencies, damping ratios and mode shapes. Accelerometers were put on 86 different locations on the deck (Fig. 9). Ambient test data from the B15-Bridge as it is represented in MACEC is shown in Figure 11. The top chart is an acceleration time history, whereas the bottom chart shows the power spectrum. Figures 12-14 are showing some typical mode shapes from the bridge. Animations of these mode shapes can be found on the Internet: http://www. macec/B15.htm .

visualization possibilities that allow both a fast quality check of the data on site and a more accurate analysis afterwards. The use of MACEC was demonstrated with data from a real-life bridge vibration test.

ACKNOWLEDGEMENTS Sven Vranckx is gratefully acknowledged for sharing his experience in MATLAB GUI development.

BALMS, E. 1997. Structural dynamics toolbox users guide, version 3. Scientific Software Group, Svres, France. BENDAT, J.S. & A.G. PIERSOL 1993. Engineering applications of correlation and spectral analysis. 2nd edition, John Wiley & Sons, New York, NY, USA. KOLLR, I. 1995. Frequency domain system identification toolbox users guide, version 2. The MathWorks, Natick, MA, USA. LAQUIRE, A. & B. VAN DEN BRANDEN 1998. Multivariabele stochastische systeemidentificatie. MACEC, modal analysis on civil engineering constructions. In Dutch, MSc-thesis, Dept. of Civil Eng., K.U.Leuven, Belgium. LJUNG, L. 1995. System identification toolbox users guide,

5 CONCLUSIONS In this paper the development of a GUI for MATLAB was described. The goal was a complete and userfriendly package for output-only modal analysis (with civil engineering applications in mind). MATLAB was used as development environment because of the large amount of computation and visualization tools that are already present and also because it is a very open programming environment with access to most of the code, allowing the programmer to easily modify implementations or add new features. The toolbox has preprocessing, system identification and

Figure 11: Ambient test data. (Top) acceleration time history; (bottom) power spectrum.

version 4. The MathWorks, Natick, MA, USA. LMS INTERNATIONAL 1998. LMS CADA-X, modal analysis manual, revision 3.5. Leuven, Belgium. MARCHAND, P. 1996. Graphics and GUIs with MATLAB. CRC Press, Boca Raton, FL, USA. MATHWORKS, THE 1997. Building GUIs with MATLAB, version 5. Natick, MA, USA. MATHWORKS, THE 1998a. Using MATLAB, version 5.2. Natick, MA, USA. MATHWORKS, THE 1998b. MATLAB Connections. Available from connections/ , Natick, MA, USA. PEETERS, B. & G. DE ROECK 1999. Reference based stochastic subspace identification in civil engineering. In Proceedings of the 2nd International Conference on Identification in Engineering Systems. 29-31 March 1999, University of Wales, Swansea, UK. VAN OVERSCHEE, P. & B. DE MOOR 1996. Subspace identification for linear systems: theory implementation - applications. Kluwer Academic Publishers, Dordrecht, Netherlands.

Figure 12: B15-Bridge: mode 4, surface plot.

Figure 13: B15-Bridge: mode 5, wireframe model.

Figure 14: B15-Bridge: mode 1, MACEC screen shot.