You are on page 1of 51

Modal Analysis Project

L7005A Senior Sound Design Project

Andre Lundkvist
nadlun-5@student.ltu.se

Lule January 28, 2010 a,

Abstract This report is about a modal analysis project done in the course L7005A Senior Sound Design Project. It is based upon modal measurements from a project in the course L7001A Experimental Acoustics and Dynamics, which were previously analysed in I-DEAS Test. The measurements were imported into Matlab. Functions to nd poles (frequency, damping and amplitude) were constructed using the Complex Mode Indicator Function (CMIF) as a base, and mode shapes were extracted from the measurements. From these parameters, a multiple degrees of freedom (MDOF) modal-parameter model was constructed by summation of many single degree of freedom (SDOF) models. The modal-parameter model was analysed by dierent methods, including mathematical versus measured FRF comparisons, MAC matrix and visual interpretation of the mathematical mode shapes.

Contents
1 Theory 1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.1 1.1.2 1.2 Analytical mathematical models . . . . . . . . . . . . . . . . . . . . . . . . Experimental mathematical models . . . . . . . . . . . . . . . . . . . . . . . 2 2 3 3 4 4 4 4 5 5 5 5 8 8 9 10 10 11 11 12 13 14 15 15 17

Modal parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.1 1.2.2 1.2.3 Mode shape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modal frequency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modal damping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.3

Mathematical theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.1 1.3.2 1.3.3 Degrees of Freedom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mobility matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mathematical models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.4

Parameter estimation methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.1 1.4.2 Complex Mode Indicator Function (CMIF) . . . . . . . . . . . . . . . . . . . Least Squares Frequency Domain method (LSFD) . . . . . . . . . . . . . . .

1.5

Modal parameter model validation . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.1 Modal Assurance Critereon (MAC) matrix . . . . . . . . . . . . . . . . . . .

1.6

Measurements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6.1 1.6.2 1.6.3 1.6.4 Measurement estimation and validation . . . . . . . . . . . . . . . . . . . . Measurement errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Excitation and response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Response transducers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2 Measurements 2.1 2.2 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Measured FRFs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3 Method 3.1 3.2 3.3 Complex Mode Indicator Function (CMIF) . . . . . . . . . . . . . . . . . . . . . . . Mode shape estimation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modal-parameter model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

20 20 21 21 22 22 23 24 28 31 33 34 35 35 36 37 37 39 42 43 44 45 46 47 48

4 Results 4.1 4.2 4.3 4.4 4.5 4.6 Comparison between I-Deas Test and Matlab poles . . . . . . . . . . . . . . . . . . Complex Mode Indicator Function (CMIF) . . . . . . . . . . . . . . . . . . . . . . . Mathematical vs. measured FRFs . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mathematical vs. measured mode shapes . . . . . . . . . . . . . . . . . . . . . . . Modal Assurance Criterion Matrix (MAC) . . . . . . . . . . . . . . . . . . . . . . . . Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

A I-Deas Test stability diagram B Lists B.1 Target modal parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.2 List of detected frequencies and dampings . . . . . . . . . . . . . . . . . . . . . . . C Matlab code C.1 Import FRFs (impfiles.m) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C.2 Process FRFs (process frfs.m) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C.3 Complex Mode Indicator Function (cmif.m) . . . . . . . . . . . . . . . . . . . . . . C.4 Find frequencies (find freqs.m) . . . . . . . . . . . . . . . . . . . . . . . . . . . . C.5 Find dampings (find damps.m) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C.6 SDOF modal model (sdof.m) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C.7 MAC matrix (mac.m) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C.8 Animate mode (animate mode.m) . . . . . . . . . . . . . . . . . . . . . . . . . . . . References

Chapter 1

Theory
1.1 Introduction

Modal analysis is a method to determine modal parameters of a system. The system can be dened as a simple structure or a more complex system involving several subsystems [1]. For the purpose of this project, the system will be a simple structure. Mathematical dynamic models may be used for a number of reasons. Gain understanding how structures behave under dynamic loads Curve tting, to smoothen and reduce data Simulation or prediction when external forces are existent Physical modications to the structure, simulate the change of dynamic characteristics Mathematical models describe generally the dynamic behavior, not the structure itself. They are often constrained by assumptions and boundary conditions. The modal parameters that completely describe the dynamics of a system are: Modal frequency Modal damping Mode shape Any forced dynamic deection of a structure can be represented as a weighted sum of its mode shapes. Each mode can be described by an Single Degree of Freedom (SDOF) model. There are mainly two approaches for the study of system vibrations, analytical and experimental. The analytical starts out with knowledge about the structure geometry, boundary conditions and material characteristics (mass, stiness and damping). The experimental utilize measurements of dynamic input forces and output responses on the structure or a prototype of the structure.

Modal analysis requires some assumptions of the system to work. These are: Linearity: The system is linear, which means the response is proportional to the force. Also, the excitation level should not aect the behavior. Reciprocity: Derives from the Linearity property, and implies that the force and response can switch place and still produce the same result. Time Invariant: The properties of the system should not change over time. Causal: The structure should not be inuenced by vibration before excitation. Stable: The vibrations should die out, and not continue to oscillate and converge to innity when the force is removed.

1.1.1

Analytical mathematical models

Analytical models are often created by using FEM1 based on calculated mass and stiness under specic boundary conditions. The model will contain a number of dierential equations, which are coupled [2].

1.1.2

Experimental mathematical models

Experimental modal analysis consists of ve dierent phases. These span from setup, data acquisition, system identication, validation and using the obtained information for improving the system in a systematic way [2]. Usually measurements are observed in the frequency domain as Frequency Response Functions (FRFs), H(). Which is the ratio between output and input as a function of frequency. See gure 1.1. The FRFs can be described by the modal parameters, and the modal parameters can therefore be extracted from the FRFs.

Figure 1.1: Frequency Response Function (FRF) example [3]


1 Finite

Element Method

1.2
1.2.1

Modal parameters
Mode shape

The mode shape is as the name suggests the shape of the mode. It is connected to the modal frequency and therefore the pole location of the mode, and expresses a deection pattern in the structure [1]. From measurements, a mode shape is a vector containing sampled values. The amount of samples is directly linked to the degrees of freedom (DOF) used. Often these vectors contain complex numbers that describe both magnitude and phase, and these describe modes that can be considered as propagating waves. Standing waves is considered as a normal mode, meaning is a real number vector. Unreliable measurements can wrongly indicate complex modes instead of normal modes.

1.2.2

Modal frequency

The resonance frequency of the specic mode is called modal frequency. These can be determined by observing the maximum magnitudes of the measured or calculated FRF.

1.2.3

Modal damping

Modal damping is the damping to the specic mode, and can be determined from an FRF by nding the 3 dB bandwidths of the modes. This can be a problem on a lightly dampened structure, as the resonance peaks are very narrow.

1.3
1.3.1

Mathematical theory
Degrees of Freedom

Specifying the Degrees of Freedom (DOF) is based on the purpose of the test, geometry and the frequency range. A free point in space has 6 DOFs, both rotation and translation on axes x, y & z. There are not many rotational transducers available, but three transitional is usually enough to describe the the displacement and motion [1]. The number of possible input/output (force/response) combinations will be n2 , where n is the selected DOF.

1.3.2

Mobility matrix

The mobility matrix contains all dierent combinations of the FRFs. For a three-DOF system, the mobility matrix would look like equation 1.1. Each row contains FRFs with a common response DOF, and each column have a common excitation DOF. The diagonal contains the driving point FRF [1]. H1,1 H1,2 H1,3 (1.1) H = H2,1 H2,2 H2,3 H3,1 H3,2 H3,3

1.3.3

Mathematical models

SDOF modal-parameter model Below is described a Modal-Parameter Model FRF, see equation 1.2, gures 1.2 and 1.3, where (equation 1.4) is the pole location and A (equation 1.3) is the residue. Equation 1.2 describes an SDOF system, but can be expanded to an MDOF system [2]. H(j) = with A1 = j 1 2M 1 1 A = j 1 2M 1 A1 A 1 + j 1 j 1 (1.2)

(1.3)

1 = + j1 = j1 1 (1.4)

In the pole equation, is the damping factor and 1 is the damped natural resonance frequency. The residue describes the mode strength, and is related to the mode shape. Because of the complex conjugate part is almost negligible around resonance, the model can be approximated to equation 1.5. A1 H(j) (1.5) j 1

Figure 1.2: Example of a magnitude plot of the FRF for a SDOF system [2]

Figure 1.3: Example of a phase plot of the FRF for a SDOF system [2]

The impulse response is described in equation 1.6, and it can look similar to gure 1.4. The impulse response is the Fourier transform of the FRF [2]. h(t) = A1 e1 t + A e1 t = e1 t A1 ej1 t + A ej1 t 1 1

(1.6)

Figure 1.4: Example of an impulse response for a SDOF system [2]

MDOF modal-parameter model The MDOF model can be seen in equation 1.7 [2].
N

H(j) =
r=1

A Ar r + j r j r

(1.7)

where the poles can be expressed in matrix form as in equation 1.8.

r =

1 + j1 .. . N + jN 1 j1 0 .. . N jN 0

(1.8)

If the poles are considered as eigenvalues of a system, its eigenvectors can be interpreted as the modal shapes, where each eigenvector corresponds with a specic eigenvalue. See equation 1.9. = 1 {}1 {}1 ... ... N {}N {}N {}1 1 {} 1 ... ... {} N N {} N (1.9)

The residues, Ar is described by equation 1.10, where Qr is a scaling factor, and {} is the modal shape matrix for the specic mode. Ar = Qr {}r {}t r (1.10)

By using the notation above, the FRF can be expanded to the form described in equation 1.11.
N

H(j) =
r=1

Q {} {}t Qr {}r {}t r r r + r (j r ) (j ) r

(1.11)

Figure 1.5: Example of a FRF magnitude plot constructed from two SDOF FRFs [2]

1.4
1.4.1

Parameter estimation methods


Complex Mode Indicator Function (CMIF)

The CMIF is based upon the singular value decomposition of the FRF matrix, containing all possible input output FRF combinations. The diagonal Singular Matrix ([ ]) is used as the CMIF. It indicates the existence of real (normal) or complex modes and also gives the relative magnitude of each mode. It is also capable of yielding the corresponding mode shape and/or participation vector [2]. The Singular Value Decomposition (SVD) of FRF matrix [ H ] is expressed as, [ H ]=[ U ][ ][ V ] where, [H [U [ [V ] ] ] ] is is is is the the the the Frequency Response Function Matrix Left Singular Matrix (unitary) Singular Matrix (diagonal) Right Singular Matrix (unitary) (1.13) (1.12)

Complex Mode Indicator Function (CMIF) of FRF Matrix [H]

120

100

Amplitude (dB)

80

60

40

20

500

1000

1500 Frequency (Hz)

2000

2500

3000

Figure 1.6: Example of a CMIF for a FRF matrix

1.4.2

Least Squares Frequency Domain method (LSFD)

The non-linear Least Squares Frequency Domain (LSFD) method estimates poles, mode shapes and modal participation factors of a system. The modal participation factors can only be estimated if there are multiple inputs. The LSFD method is mostly used for model updating, because of the complexity and amount of parameters that needs to be determined [2]. This method is based on the frequency domain modal-parameter model described in section 1.3.3 on page 7. If equation 1.7 is expanded, including the modal participation factors, the form will be described as N L LRij ir Lrj ir rj + U Rij (1.14) + Hij (j) = j r j 2 r r=1 where i denotes a response position and j denotes an input station. U Rij and LRij is the upper and lower residual terms. These terms approximates the modes below and above the frequency band of interest. Hij (j) is the measured FRF at point (i, j). The method is about iteratively determine the unknown parameters r , ir , Lrj , U Rij and LRij by minimizing the error between the measured FRF and the model. The amount of parameters is Nu . The dierence between the measured FRF and the model can be expressed as, eij (j) = Hij (j) Gij (j, r , ir , Lrj , U Rij , LRij )|r=1,Nm and the total squared error over the frequency range of interest (0 Nf ) becomes,
Nf

(1.15)

Eij =
f =0

eij (jf ) e (jf ) ij

(1.16)

The total error between all inputs and outputs can be expressed as,
No Ni

E=
i=1 j=1

Eij

(1.17)

To minimize the global error, the derivatives of each parameter from the total error E should converge to 0, i.e for parameter rk , dE dr1 dE dr2 dE drNu = = . . . = 0 0 0 (1.18) (1.19) (1.20) (1.21)

10

1.5
1.5.1

Modal parameter model validation


Modal Assurance Critereon (MAC) matrix

The Modal Assurance Criterion (MAC) matrix is a mathematical tool to compare two vectors to each other. It can be used to investigate the validity of estimated modes [2]. The MAC between two mode shape vectors {}r and {}s is dened as, {}T {}s r ({}T {}r ) ({}T {}s ) r s
2

MAC({}r , {}s ) =

(1.22)

The MAC will approach the value 1 if {}r and {}s are the same mode shape. It {}r and {}s are dierent mode shapes, the MAC value should be low, due to the orthogonality condition of the mode shapes.

Figure 1.7: Example of a MAC matrix on 5 randomly generated vectors (Gaussian)

11

1.6
1.6.1

Measurements
Measurement estimation and validation

There are a couple of estimators used to calculate the FRF. For noise at the output, a useful estimator is H1 , see equation 1.23. The function H1 is derived by using least squares method, and is the cross spectrum divided by the autospectrum of the force F. If averaging the FRFs measured with H1 , the random noise will suppress and H1 will converge towards the true H [1]. H1 () GF X () GF F () (1.23)

For noise at the input H2 is a useful estimator for the FRF. It is derived from the same principle as the H1 estimator, and is dened as the autospectrum of the response divided by the cross spectrum. The noise at the input is removed more and more from the cross spectrum with increased averages. H2 () GXX () GXF () (1.24)

A way to validate a measurement is to observe the coherence function, seen in equation 1.26. It is derived from the cross spectrum inequality, equation 1.25 which states that if the autospectrum contains non-coherent noise, the magnitude of the squared cross spectrum is smaller than the product of the autospectrum. The coherence function have the boundaries described in equation 1.27. For the value 1, the measurement contains no noise, and for the value 0, there is pure noise in the measurement. The coherence function also indicates the linearity between the input and output signal. When the coherence is 1, estimator H1 and H2 will yield the same result, therefore the estimators are overcompensated, and the true FRF will be somewhere in between. |QXF ()|2 GXX () GF F () |GF X ()|2 GXX () GF F () (1.25)

()2

(1.26)

0 ()2 1

(1.27)

To calculate the autospectrum, the spectrum is multiplied with its complex conjugate. The complex conjugate is the same spectrum but with opposite sign for the imaginary part. The autospectrum is always real. The cross spectrum is calculated by multiplying a spectrum with the complex conjugate of a dierent spectrum. For instance the spectrum of the force and the response. Cross spectrum is a complex entity which describes the phase shift between the dierent spectrums. The magnitude of the cross spectrum describes the coherent product of power in the spectrums.[1]

12

1.6.2

Measurement errors

There are some error that can occur when performing mobility measurements. These are listed in table 1.1, and its abbreviations in table 1.2. The dierent errors can be divided into dierent classes, depending on the nature of the cause. The classes are Random & Bias errors [1]. Random errors are caused by noise, and can occur both at the input and the output of the signal chain. Random noise can be minimized by averaging over many measurements, because the noise is uncorrelated. Systematic bias error are the same for every measurement (both magnitude and phase). The only way to minimize bias errors is to select another estimator. Table 1.1: Possible errors for mobility measurements Type of Error H1 H2 Noise at the output R B Noise at the input B R Random excitation / non-linearity B/R B/R Deterministic excitation B B Scatter of impact (point / direction) R R Random excitation B (B) Deterministic impact B B

2 + + + 0 + + 0

Abbreviation B R + 0

Table 1.2: Error table abbreviations Description Systematic Bias error Random error Coherence Function can indicate error Coherence Function can not indicate error

13

1.6.3

Excitation and response

Waveform The choice of excitation waveform depends on which type of measurement is to be performed. There is a list of certain parameters to consider, see table 1.3 [1]. The crest factor is the ratio between the peak and the standard deviation RMS of the signal. For modal analysis, a high crest factor in the excitation waveform is undesired, as it contributes to a couple of factors. Noise will be introduced because of the sharp peaks, which decreases the signal to noise ratio SNR. The other factor is that nonlinearity might be introduced due to the high peak forces. Because modal analysis assumes that the system is linear and time invariant, this can be a problem, although there are ways of making linear approximations of a non-linear system. Table 1.3: Excitation conditional parameters Description What is the targeted system, which type of measurement Capability to control the frequency range Ratio between the peak and RMS in the signal Linear and time invariant system How much time is needed for a measurement

Parameter Application Spectrum Control Crest Factor Linearity Speed of Test

Table 1.4: Excitation waveform comparison


Factor Analysis Speed Leakage Error Approximation Crest Factor Spectrum Control Zoom Analysis Detect Linearity Detect Leakage Sinusoid Very Slow Yes No Good High Yes No No Random Slow Yes Yes Fair High Yes Yes Yes Waveform Pseudo Random Fast No No Fair High Yes No No Impact Fastest No No Poor Limited No No No Multiple Impact Slow Yes Some Poor-Fair Limited No (Yes) Yes

Excitation sources There are many dierent exciters to choose from, such as shakers, hammers, pendulums etc. These are categorized into two fastening categories, attached and non-attached. The choice of exciter depends on the excitation conditional parameters, the structure etc [1]. There are advantages and disadvantages for both categories. The attached exciters aects the structure quite a lot, whereas the non-attached does not. However, the attached exciters give a more controllable excitation than a non-attached.

14

1.6.4

Response transducers

Accelerometers To be able to measure the structural response, the need for a transducer is imminent. The most commonly used transducer is an accelerometer. The standard measurement for an accelerometer is acceleration, but velocity or displacement can be calculated by integration [1]. The piezoelectric accelerometer has good linearity, broad dynamic range, wide frequency range and a strong construction. The dynamic range is typically around 160 dB and ranges in frequency between 0.2 Hz to at least 10 kHz, with a linearity of 5 %. Accelerometers can also be very light, about 1 g, and are easy to mount by glue, wax, screw etc. See a list of selected mounting techniques below. Beeswax is a commonly used method, see gure 1.8. The resonance frequency of the accelerometer is dependent on its weight though, so this have to be considered, and the mounting also aects the applicable frequency range. Steel stud Beeswax Cement stud Thin tape Thick tape Magnet For measurements in the driving point, an impedance head may be used if possible by the setup. The impedance head is a transducer with integrated force and response accelerometers. Another typical setup is by placing a standard accelerometer transducer on the opposite side of the structure to where the force is applied to.

Figure 1.8: Example of a few accelerometers mounted with beeswax

15

Chapter 2

Measurements
2.1 Introduction

This chapter discusses the measured data of the metal plate showed to the left in gure 2.1. It is hung by springs to reduce external excitation and to avoid inuence on the structure. The measurement grid is showed to the right in gure 2.1, where the point (1,1) would be the lower left hand corner, and it is also the excitation point used. The reference to the measurement grid is counting from bottom left (row from bottom, column from left), throughout the report.

Figure 2.1: Left: The metal plate used for measurements, mounted with springs. Right: The measurement grid used for measuring the metal plate

16

The settings for the measurements were as listed below in table 2.1. An impact hammer was used for excitation, and it had a transient window applied to avoid multiple excitations. Accelerometer 2 was used as a trigger to start the measurement. The hold-o was set to the same length as the measurement time to avoid the measurement to restart before completion. Table 2.1: Measurement settings Parameter Value Resolution 6400 lines Break Frequency 3200 Hz Measure Time 2 s Means 3, linearly weighted Overload Reject Accelerometer Window Exponential 0.3 s Excitation Window Transient Start 0.9 ms Stop 1.3 ms Trigger Signal Accelerometer 2 Level 5 % Hold-Off 2 s Setting Base

17

2.2

Measured FRFs

This section presents some chosen FRFs measured on the plate described in gure 2.1. The driving point FRF is showed in gure 2.2 below. There are clear resonance peaks, and overall they are quite separated. The phase response has a weird behavior in the low frequency range, probably due to measurement problems.
Imaginary Response Values (1,1) 3 2 Radians 1 0 1 2 3 500 1000 1500 Frequency [Hz] 2000 2500 3000

Real Response Values (1,1) 50 Magnitude [dB (m/s2/N)]

50 500 1000 1500 Frequency [Hz] 2000 2500 3000

Figure 2.2: Example of a phase and magnitude plot of the FRF associated with the point (1,1) The measurement in point (3,4), according to the grid in gure 2.1), is showed in gure 2.3. In comparison to the driving point FRF, this response has fewer clear resonance peaks, and the apparent ones has lower amplitude which might suggest higher damping. Figure 2.4 shows the FRF at point (5,1) which is located at the left edge, just above the middle of the plate. This FRF has clear separated resonances, except at about 680 Hz, where there could be a double pole.

18

Imaginary Response Values (3,4) 3 2 Radians 1 0 1 2 3 500 1000 1500 Frequency [Hz] 2000 2500 3000

Real Response Values (3,4) 10 5 0 5 10 15 20 25 500 1000 1500 Frequency [Hz] 2000 2500 3000

Figure 2.3: Example of a phase and magnitude plot of the FRF associated with the point (3,4)

Magnitude [dB (m/s2/N)]

Imaginary Response Values (5,1) 3 2 Radians 1 0 1 2 3 500 1000 1500 Frequency [Hz] 2000 2500 3000

Real Response Values (5,1) 40 Magnitude [dB (m/s2/N)] 20 0 20 40 500 1000 1500 Frequency [Hz] 2000 2500 3000

Figure 2.4: Example of a phase and magnitude plot of the FRF associated with the point (5,1)

19

Imaginary Response Values (7,2) 3 2 Radians 1 0 1 2 3 500 1000 1500 Frequency [Hz] 2000 2500 3000

Real Response Values (7,2) 20 Magnitude [dB (m/s2/N)] 10 0 10 20 500 1000 1500 Frequency [Hz] 2000 2500 3000

Figure 2.5: Example of a phase and magnitude plot of the FRF associated with the point (7,2)

Imaginary Response Values (9,3) 3 2 Radians 1 0 1 2 3 500 1000 1500 Frequency [Hz] 2000 2500 3000

Real Response Values (9,3) 30 20 10 0 10 20 30 500 1000 1500 Frequency [Hz] 2000 2500 3000

Figure 2.6: Example of a phase and magnitude plot of the FRF associated with the point (9,3)

Magnitude [dB (m/s2/N)]

20

Chapter 3

Method
3.1 Complex Mode Indicator Function (CMIF)

The complex mode indicator function (CMIF) (see section 1.4.1, page 8) is used to evaluate the resonate frequencies and get an approximation for relative amplitude and damping. The Matlab code used to calculate the CMIF can be found in appendix C.3 on page 42. The curve is similar to the average FRF used in I-DEAS Test to calculate the stability diagram (see appendix A at page 34). The algorithm to search for frequencies is an iterative method. The code for it can be found in appendix C.4 on page 43. It searches for peaks by stepping through the curve, and when the curve has reached a maximum, it will indicate a new pole by a red line in the CMIF, see gure 3.1.
Complex Mode Indicator Function (CMIF) of FRF Matrix [H]

120

100

80 Amplitude (dB)

60

40

20

500

1000

1500 Frequency (Hz)

2000

2500

3000

Figure 3.1: CMIF for all FRFs The algorithm for nding damping ratios is similar, but it will start out from the detected frequencies and iteratively search for the -3 dB decay limits. The code can be found in appendix C.5 on page 44. The -3 dB limits will be indicated on the CMIF as green lines, see gure 3.1.

21

It tries to approximate the damping by taking the closest limit for both the left and right limit. Meaning, that if for example the left limit will diverge, but the right will not, it will approximate the left limit to FP - abs(d2), where FP is the pole location and d2 is the right limit, both in samples. Figure 3.2 shows a close up display of four detected poles, indicating resonance frequency and damping for each pole.
Complex Mode Indicator Function (CMIF) of FRF Matrix [H]

70

60

50 Amplitude (dB)

40

30

20

10

250

260

270

280

290 300 310 Frequency (Hz)

320

330

340

350

Figure 3.2: Detailed CMIF for all FRFs

3.2

Mode shape estimation

The mode shapes are estimated from the imaginary part of the measured FRF response matrix {H} at each system pole detected by the CMIF [4]. This produces a mode shape matrix for each pole frequency, with the dimensions of the measurement grid (gure 2.1).

3.3

Modal-parameter model

The modal model was created by using equation 1.7 (page 7). To use the equation in Matlab, it was rewritten like
N

Hi,j (j)
r=1

Q {i,j } {i,j }T Qr {i,j }r {i,j }T r r r + r j r jr j r + jr

(3.1)

where Qr is a scaling factor and {i,j }r is the modal shape amplitude and direction information for the specic mode and node position. r is the damping factor and r is the damped natural resonance frequency for the specic mode. The amplitude of the mode was used as scaling. The Matlab code can be found in appendix C.6 on page 45. After creating all SDOF models, these are summed together to create the MDOF model.

22

Chapter 4

Results
4.1 Comparison between I-Deas Test and Matlab poles

A comparison between the detected poles in I-DEAS Test and Matlab can be found in table 4.1 below. The frequencies detected in Matlab is quite similar to I-DEAS Test, with values both higher and lower to I-DEAS Test. The damping is relatively the same for some poles, but can dier a bit on some. The dierence indicates the dierence (I-DEAS Test - Matlab). Poles number 7, 14 and 15 was not detected by I-DEAS Test. Note on pole number 18 and 19, both the frequency and damping is quite close to each other. However, this might be a coincidence. Table 4.1: Comparison between detected frequencies and damping ratios Pole Nr 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Frequency I-DEAS Test 272.544 335.348 620.261 644.843 783.756 962.906 1221.286 1294.681 1660.698 1853.714 1999.744 2089.418 2401.034 2901.708 3023.607 3093.047 Frequency Matlab 270.458 331.448 621.403 641.900 787.377 965.849 973.848 1227.31 1296.80 1664.74 1852.21 1998.19 2090.67 2110.17 2373.13 2399.63 2901.55 3023.53 3094.02 Frequency Dierence 2.0860 3.9000 -1.1420 2.9430 -3.6210 -2.9430 -6.0240 -2.1190 -4.0420 1.5040 1.5540 -1.2520 1.4040 0.1580 0.0770 -0.9730 Damping I-DEAS Test 1.437 0.665 0.202 0.090 0.127 0.232 0.214 0.214 0.336 0.280 0.287 0.355 0.451 0.268 0.212 0.435 Damping Matlab 0.238 0.719 0.110 0.042 0.056 0.158 0.181 0.032 0.069 0.187 0.135 0.113 0.219 0.187 0.382 0.222 0.093 0.273 0.452 Damping Dierence 1.199 -0.054 0.092 0.048 0.071 0.074 0.182 0.145 0.149 0.145 0.174 0.136 0.229 0.175 0.061 -0.017

23

4.2

Complex Mode Indicator Function (CMIF)

To evaluate the generated mathematical FRFs, rst the CMIF function was used. A comparison between the measurement CMIF and the mathematical FRF CMIF can be seen in gure 4.1 below. Overall, the mathematical poles seem quite close to the measurements. The rst pole, located at about 270 Hz, which has almost double amplitude. The overall trend seems to be that lower frequency poles has higher amplitude than the measured, and higher frequency poles has lower amplitude than measured. This error could probably have something to do with the dierence described in the previous section 4.1.
Reconstructed FRF CMIF from SDOF Data

120

Reconstructed CMIF

100

80 Amplitude

60

40

20

500

1000

1500 Frequency (Hz)

2000

2500

3000

Figure 4.1: CMIF for all mathematical FRFs

24

4.3

Mathematical vs. measured FRFs

Another evaluation of the generated mathematical FRFs is to compare them to the measured FRFs. The rst comparison done is in the driving point (position (1,1)) seen in gure 4.2 below. The mathematical does not correspond well to the measurement, which indicates that the model is not accurate at this position of the plate. The mathematical phase is not coherent with the measurement phase either.
Comparison Reconstructed FRF and Real FRF (1,1) 3 2 Phase [rad] 1 0 1 2 3 500 1000 1500 Frequency (Hz) 2000 2500 3000 Math Real

Comparison Reconstructed FRF and Real FRF (1,1) 50 Magnitude [dB (m/s2/N)]

Math Real 50 500 1000 1500 Frequency (Hz) 2000 2500 3000

Figure 4.2: Comparison of the mathematical FRF against the measured FRF in point (1,1) The comparison for position (3,4) can be seen in gure 4.3. It correspond much more with the measured response at this position, especially between 800 2300 Hz. Also the phase is better than in the driving point comparison, but still not good. More comparisons can be seen in gures 4.4 to 4.7. An overall conclusion is that the mathematical FRFs is mostly accurate for the center positions of the plate. Why this is the case has not been thoroughly investigated.

25

Comparison Reconstructed FRF and Real FRF (3,4) 3 2 Phase [rad] 1 0 1 2 3 500 1000 1500 Frequency (Hz) 2000 2500 3000 Math Real

Comparison Reconstructed FRF and Real FRF (3,4) 20 Magnitude [dB (m/s2/N)]

10

10 Math 20 500 1000 1500 Frequency (Hz) 2000 2500 Real 3000

Figure 4.3: Comparison of the mathematical FRF against the measured FRF in point (3,4)

Comparison Reconstructed FRF and Real FRF (5,1) 3 2 Phase [rad] 1 0 1 2 3 500 1000 1500 Frequency (Hz) 2000 2500 3000 Math Real

Comparison Reconstructed FRF and Real FRF (5,1) 40 Magnitude [dB (m/s2/N)] 20 0 20 Math 40 500 1000 1500 Frequency (Hz) 2000 2500 Real 3000

Figure 4.4: Comparison of the mathematical FRF against the measured FRF in point (5,1)

26

Comparison Reconstructed FRF and Real FRF (7,2) 3 2 Phase [rad] 1 0 1 2 3 500 1000 1500 Frequency (Hz) 2000 2500 3000 Math Real

Comparison Reconstructed FRF and Real FRF (7,2) 15 Magnitude [dB (m/s2/N)] 10 5 0 5 10 15 Math Real 500 1000 1500 Frequency (Hz) 2000 2500 3000

Figure 4.5: Comparison of the mathematical FRF against the measured FRF in point (7,2)

Comparison Reconstructed FRF and Real FRF (8,2) 3 2 Phase [rad] 1 0 1 2 3 500 1000 Math Real 1500 Frequency (Hz) 2000 2500 3000

Comparison Reconstructed FRF and Real FRF (8,2) 15 10 5 0 5 10 15 20 500 1000 1500 Frequency (Hz) 2000 2500 Math Real 3000

Figure 4.6: Comparison of the mathematical FRF against the measured FRF in point (8,2)

Magnitude [dB (m/s2/N)]

27

Comparison Reconstructed FRF and Real FRF (9,3) 3 2 Phase [rad] 1 0 1 2 3 500 1000 1500 Frequency (Hz) 2000 2500 3000 Math Real

Comparison Reconstructed FRF and Real FRF (9,3) 30 Magnitude [dB (m/s2/N)] 20 10 0 10 20 500 1000 1500 Frequency (Hz) 2000 2500 3000 Math Real

Figure 4.7: Comparison of the mathematical FRF against the measured FRF in point (9,3)

28

4.4

Mathematical vs. measured mode shapes

This section presents the shapes of some of the detected modes. To the left, the mode shape from the measurement data is presented, and to the right is the mathematical mode shape. The modal-parameter model used to create the mathematical FRFs uses an estimate of the mode shape from the measurements (section 3.2). Overall the mode shapes for the lower frequency band looks reasonable, but the top and bottom of the plate indicates possible errors. Intuitively, these rows appear to be 180 degrees out of phase. The reason for this has not been investigated. The mode shapes indicates that there are torsional and bending waves present in the modes.
Mode Animation: 270.458 Hz Mode Animation: 270.458 Hz

1 0.5 0 0.5 1 9 8 7 6 5 4 3 3 Nodes Y 2 1 1 2 Nodes X 4 5

1 0.5 0 0.5 1 9 8 7 6 5 4 3 3 Nodes Y 2 1 1 2 Nodes X 4 5

Figure 4.8: Measured (left) and Mathematical (right) mode shape for 270 Hz

Mode Animation: 331.448 Hz

Mode Animation: 331.448 Hz

1 0.5 0 0.5 1 9 8 7 6 5 4 3 3 Nodes Y 2 1 1 2 Nodes X 4 5

1 0.5 0 0.5 1 9 8 7 6 5 4 3 3 Nodes Y 2 1 1 2 Nodes X 4 5

Figure 4.9: Measured (left) and Mathematical (right) mode shape for 331 Hz

29

Mode Animation: 621.403 Hz

Mode Animation: 621.403 Hz

1 0.5 0 0.5 1 9 8 7 6 5 4 3 3 Nodes Y 2 1 1 2 Nodes X 4 5

1 0.5 0 0.5 1 9 8 7 6 5 4 3 3 Nodes Y 2 1 1 2 Nodes X 4 5

Figure 4.10: Measured (left) and Mathematical (right) mode shape for 621 Hz

Mode Animation: 641.9 Hz

Mode Animation: 641.9 Hz

1 0.5 0 0.5 1 9 8 7 6 5 4 3 3 Nodes Y 2 1 1 2 Nodes X 4 5

1 0.5 0 0.5 1 9 8 7 6 5 4 3 3 Nodes Y 2 1 1 2 Nodes X 4 5

Figure 4.11: Measured (left) and Mathematical (right) mode shape for 642 Hz

Mode Animation: 973.848 Hz

Mode Animation: 973.848 Hz

1 0.5 0 0.5 1 9 8 7 6 5 4 3 3 Nodes Y 2 1 1 2 Nodes X 4 5

1 0.5 0 0.5 1 9 8 7 6 5 4 3 3 Nodes Y 2 1 1 2 Nodes X 4 5

Figure 4.12: Measured (left) and Mathematical (right) mode shape for 974 Hz

30

Mode Animation: 1227.31 Hz

Mode Animation: 1227.31 Hz

1 0.5 0 0.5 1 9 8 7 6 5 4 3 3 Nodes Y 2 1 1 2 Nodes X 4 5

1 0.5 0 0.5 1 9 8 7 6 5 4 3 3 Nodes Y 2 1 1 2 Nodes X 4 5

Figure 4.13: Measured (left) and Mathematical (right) mode shape for 1227 Hz

Mode Animation: 1664.74 Hz

Mode Animation: 1664.74 Hz

1 0.5 0 0.5 1 9 8 7 6 5 4 3 3 Nodes Y 2 1 1 2 Nodes X 4 5

1 0.5 0 0.5 1 9 8 7 6 5 4 3 3 Nodes Y 2 1 1 2 Nodes X 4 5

Figure 4.14: Measured (left) and Mathematical (right) mode shape for 1665 Hz

Mode Animation: 3023.53 Hz

Mode Animation: 3023.53 Hz

1 0.5 0 0.5 1 9 8 7 6 5 4 3 3 Nodes Y 2 1 1 2 Nodes X 4 5

1 0.5 0 0.5 1 9 8 7 6 5 4 3 3 Nodes Y 2 1 1 2 Nodes X 4 5

Figure 4.15: Measured (left) and Mathematical (right) mode shape for 3024 Hz

31

4.5

Modal Assurance Criterion Matrix (MAC)

The MAC matrix of the mathematical model created with I-DEAS Test can be seen below in gure 4.16. It indicates that the modes are not similar to other modes except for themselves. This is the wanted result. For the Matlab created mathematical modes, the MAC matrix can be found in gure 4.17. The code to create this MAC matrix can be found in appendix C.7 on page 46. Compared to the I-DEAS Test MAC matrix, the model created in Matlab is not optimal. Many modes are too similar to be trusted. The four most similar modes are listed in table 4.2. Only modes 7, 14 and 15 are not detected by I-DEAS Test. If mode 7 is a faulty mode, this could explain the similarity between mode 6 and 7.

Figure 4.16: MAC for all mathematical FRFs from I-DEAS Test

Table 4.2: Most similar modes Modes Frequency Similarity Mode 1 Mode 2 Mode 1 Mode 2 MAC Value 4 13 642 2090 0.7367 6 7 966 974 0.3144 9 17 1297 2902 0.2886 5 12 787 1998 0.2226

32

Figure 4.17: MAC for all mathematical FRFs from Matlab

33

4.6

Discussion

By comparing the detected modes (frequency and damping), the Matlab model is fairly close to the model created with I-DEAS Test. The mathematical FRFs, MAC matrix and the mode shapes all indicate however, that the model is not very good. A reason for this could be that the mode shape estimation process is not very good. Another reason could be that some of the modes detected are propagating waves through the surface. In the model used, all modes are handled as standing waves, and might cause problems if this is the case. A way to enhance the model is to use the Least Squares Frequency Domain method, described in section 1.4.2, to iteratively improve the parameters. This process has not been done, or explored further. The method is referred to as hard to perform successfully, and requires a lot of experience to make the iteration to converge. There are other approaches available to update the model [5].

34

Appendix A

I-Deas Test stability diagram

Figure A.1: Stability diagram from I-DEAS Test

35

Appendix B

Lists
B.1
PARM LABEL 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Target modal parameters


SHAPE REC 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 FREQUENCY (HERTZ) 272.544 335.348 620.261 644.843 783.756 962.906 1221.286 1294.681 1660.698 1853.714 1999.744 2089.418 2401.034 2901.708 3023.607 3093.047 DAMPING (%) 1.437 0.665 0.202 0.090 0.127 0.232 0.214 0.214 0.336 0.280 0.287 0.355 0.451 0.268 0.212 0.435 AMPLITUDE PHASE (RAD) 1.571 1.571 1.571 1.571 1.571 1.571 1.571 -1.571 1.571 -1.571 -1.571 -1.571 -1.571 1.571 1.571 1.571 MCF REF,RES

1.2707E+00 5.1796E+01 2.0356E+02 4.9071E+01 6.0770E+00 1.7722E+01 5.5194E+01 5.1247E+02 6.8301E-01 5.8477E+02 5.5141E+01 4.1940E+01 8.8062E+01 6.4988E+02 1.5767E+02 1.5229E+02

1.000 1.000 1.000 1.000 0.999 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000

1Z-,28Z+ 1Z-,28Z+ 1Z-,28Z+ 1Z-,28Z+ 1Z-,28Z+ 1Z-,28Z+ 1Z-,28Z+ 1Z-,28Z+ 1Z-,28Z+ 1Z-,28Z+ 1Z-,28Z+ 1Z-,28Z+ 1Z-,28Z+ 1Z-,28Z+ 1Z-,28Z+ 1Z-,28Z+

36

B.2
Pole (Nr) 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19

List of detected frequencies and dampings


Frequency (Hz) 270.458 331.448 621.403 641.900 787.377 965.849 973.848 1227.31 1296.80 1664.74 1852.21 1998.19 2090.67 2110.17 2373.13 2399.63 2901.55 3023.53 3094.02 Damping 0.2380 0.7185 0.1098 0.0419 0.0561 0.1584 0.1814 0.0321 0.0687 0.1872 0.1351 0.1134 0.2188 0.1867 0.3822 0.2222 0.0932 0.2727 0.4519 Amplitude (Rel. dB) 37.814 22.264 81.923 119.320 89.111 75.765 77.186 124.489 131.048 74.787 103.584 97.024 68.533 69.634 68.017 89.982 107.287 54.992 57.526

37

Appendix C

Matlab code
C.1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52

Import FRFs (impfiles.m)

% Import all frequency files to workspace importfile ( conv / FRF_C1_A1 . txt ) ; importfile ( conv / FRF_C1_A2 . txt ) ; importfile ( conv / FRF_C1_A3 . txt ) ; importfile ( conv / FRF_C1_A4 . txt ) ; importfile ( conv / FRF_C1_A5 . txt ) ; importfile ( conv / FRF_C2_A1 . txt ) ; importfile ( conv / FRF_C2_A2 . txt ) ; importfile ( conv / FRF_C2_A3 . txt ) ; importfile ( conv / FRF_C2_A4 . txt ) ; importfile ( conv / FRF_C2_A5 . txt ) ; importfile ( conv / FRF_C3_A1 . txt ) ; importfile ( conv / FRF_C3_A2 . txt ) ; importfile ( conv / FRF_C3_A3 . txt ) ; importfile ( conv / FRF_C3_A4 . txt ) ; importfile ( conv / FRF_C3_A5 . txt ) ; importfile ( conv / FRF_C4_A1 . txt ) ; importfile ( conv / FRF_C4_A2 . txt ) ; importfile ( conv / FRF_C4_A3 . txt ) ; importfile ( conv / FRF_C4_A4 . txt ) ; importfile ( conv / FRF_C4_A5 . txt ) ; importfile ( conv / FRF_C5_A1 . txt ) ; importfile ( conv / FRF_C5_A2 . txt ) ; importfile ( conv / FRF_C5_A3 . txt ) ; importfile ( conv / FRF_C5_A4 . txt ) ; importfile ( conv / FRF_C5_A5 . txt ) ; importfile ( conv / FRF_C6_A1 . txt ) ; importfile ( conv / FRF_C6_A2 . txt ) ; importfile ( conv / FRF_C6_A3 . txt ) ; importfile ( conv / FRF_C6_A4 . txt ) ; importfile ( conv / FRF_C6_A5 . txt ) ; importfile ( conv / FRF_C7_A1 . txt ) ; importfile ( conv / FRF_C7_A2 . txt ) ; importfile ( conv / FRF_C7_A3 . txt ) ; importfile ( conv / FRF_C7_A4 . txt ) ; importfile ( conv / FRF_C7_A5 . txt ) ; importfile ( conv / FRF_C8_A1 . txt ) ; importfile ( conv / FRF_C8_A2 . txt ) ; importfile ( conv / FRF_C8_A3 . txt ) ; importfile ( conv / FRF_C8_A4 . txt ) ; importfile ( conv / FRF_C8_A5 . txt ) ; importfile ( conv / FRF_C9_A1 . txt ) ; importfile ( conv / FRF_C9_A2 . txt ) ; importfile ( conv / FRF_C9_A3 . txt ) ; importfile ( conv / FRF_C9_A4 . txt ) ; importfile ( conv / FRF_C9_A5 . txt ) ; % Reconstruct the FRFs by (1 , 3 , ... , n -1 = REAL ) , (2 , 4 , ... , n = IMAG ) FRF_C1_A1 = 1 i *( downsample ( FRF_C1_A1 ,2 ,1) ) + downsample ( FRF_C1_A1 ,2) ; FRF_C1_A2 = 1 i *( downsample ( FRF_C1_A2 ,2 ,1) ) + downsample ( FRF_C1_A2 ,2) ; FRF_C1_A3 = 1 i *( downsample ( FRF_C1_A3 ,2 ,1) ) + downsample ( FRF_C1_A3 ,2) ; FRF_C1_A4 = 1 i *( downsample ( FRF_C1_A4 ,2 ,1) ) + downsample ( FRF_C1_A4 ,2) ; FRF_C1_A5 = 1 i *( downsample ( FRF_C1_A5 ,2 ,1) ) + downsample ( FRF_C1_A5 ,2) ; FRF_C2_A1 = 1 i *( downsample ( FRF_C2_A1 ,2 ,1) ) + downsample ( FRF_C2_A1 ,2) ; FRF_C2_A2 = 1 i *( downsample ( FRF_C2_A2 ,2 ,1) ) + downsample ( FRF_C2_A2 ,2) ; FRF_C2_A3 = 1 i *( downsample ( FRF_C2_A3 ,2 ,1) ) + downsample ( FRF_C2_A3 ,2) ; FRF_C2_A4 = 1 i *( downsample ( FRF_C2_A4 ,2 ,1) ) + downsample ( FRF_C2_A4 ,2) ; FRF_C2_A5 = 1 i *( downsample ( FRF_C2_A5 ,2 ,1) ) + downsample ( FRF_C2_A5 ,2) ; FRF_C3_A1 = 1 i *( downsample ( FRF_C3_A1 ,2 ,1) ) + downsample ( FRF_C3_A1 ,2) ; FRF_C3_A2 = 1 i *( downsample ( FRF_C3_A2 ,2 ,1) ) + downsample ( FRF_C3_A2 ,2) ; FRF_C3_A3 = 1 i *( downsample ( FRF_C3_A3 ,2 ,1) ) + downsample ( FRF_C3_A3 ,2) ; FRF_C3_A4 = 1 i *( downsample ( FRF_C3_A4 ,2 ,1) ) + downsample ( FRF_C3_A4 ,2) ; FRF_C3_A5 = 1 i *( downsample ( FRF_C3_A5 ,2 ,1) ) + downsample ( FRF_C3_A5 ,2) ; FRF_C4_A1 = 1 i *( downsample ( FRF_C4_A1 ,2 ,1) ) + downsample ( FRF_C4_A1 ,2) ; FRF_C4_A2 = 1 i *( downsample ( FRF_C4_A2 ,2 ,1) ) + downsample ( FRF_C4_A2 ,2) ; FRF_C4_A3 = 1 i *( downsample ( FRF_C4_A3 ,2 ,1) ) + downsample ( FRF_C4_A3 ,2) ; FRF_C4_A4 = 1 i *( downsample ( FRF_C4_A4 ,2 ,1) ) + downsample ( FRF_C4_A4 ,2) ; FRF_C4_A5 = 1 i *( downsample ( FRF_C4_A5 ,2 ,1) ) + downsample ( FRF_C4_A5 ,2) ; FRF_C5_A1 = 1 i *( downsample ( FRF_C5_A1 ,2 ,1) ) + downsample ( FRF_C5_A1 ,2) ; FRF_C5_A2 = 1 i *( downsample ( FRF_C5_A2 ,2 ,1) ) + downsample ( FRF_C5_A2 ,2) ; FRF_C5_A3 = 1 i *( downsample ( FRF_C5_A3 ,2 ,1) ) + downsample ( FRF_C5_A3 ,2) ; FRF_C5_A4 = 1 i *( downsample ( FRF_C5_A4 ,2 ,1) ) + downsample ( FRF_C5_A4 ,2) ; FRF_C5_A5 = 1 i *( downsample ( FRF_C5_A5 ,2 ,1) ) + downsample ( FRF_C5_A5 ,2) ; FRF_C6_A1 = 1 i *( downsample ( FRF_C6_A1 ,2 ,1) ) + downsample ( FRF_C6_A1 ,2) ;

38

53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92

FRF_C6_A2 FRF_C6_A3 FRF_C6_A4 FRF_C6_A5 FRF_C7_A1 FRF_C7_A2 FRF_C7_A3 FRF_C7_A4 FRF_C7_A5 FRF_C8_A1 FRF_C8_A2 FRF_C8_A3 FRF_C8_A4 FRF_C8_A5 FRF_C9_A1 FRF_C9_A2 FRF_C9_A3 FRF_C9_A4 FRF_C9_A5

= = = = = = = = = = = = = = = = = = =

1 i *( downsample ( FRF_C6_A2 ,2 ,1) ) + downsample ( FRF_C6_A2 ,2) ; 1 i *( downsample ( FRF_C6_A3 ,2 ,1) ) + downsample ( FRF_C6_A3 ,2) ; 1 i *( downsample ( FRF_C6_A4 ,2 ,1) ) + downsample ( FRF_C6_A4 ,2) ; 1 i *( downsample ( FRF_C6_A5 ,2 ,1) ) + downsample ( FRF_C6_A5 ,2) ; 1 i *( downsample ( FRF_C7_A1 ,2 ,1) ) + downsample ( FRF_C7_A1 ,2) ; 1 i *( downsample ( FRF_C7_A2 ,2 ,1) ) + downsample ( FRF_C7_A2 ,2) ; 1 i *( downsample ( FRF_C7_A3 ,2 ,1) ) + downsample ( FRF_C7_A3 ,2) ; 1 i *( downsample ( FRF_C7_A4 ,2 ,1) ) + downsample ( FRF_C7_A4 ,2) ; 1 i *( downsample ( FRF_C7_A5 ,2 ,1) ) + downsample ( FRF_C7_A5 ,2) ; 1 i *( downsample ( FRF_C8_A1 ,2 ,1) ) + downsample ( FRF_C8_A1 ,2) ; 1 i *( downsample ( FRF_C8_A2 ,2 ,1) ) + downsample ( FRF_C8_A2 ,2) ; 1 i *( downsample ( FRF_C8_A3 ,2 ,1) ) + downsample ( FRF_C8_A3 ,2) ; 1 i *( downsample ( FRF_C8_A4 ,2 ,1) ) + downsample ( FRF_C8_A4 ,2) ; 1 i *( downsample ( FRF_C8_A5 ,2 ,1) ) + downsample ( FRF_C8_A5 ,2) ; 1 i *( downsample ( FRF_C9_A1 ,2 ,1) ) + downsample ( FRF_C9_A1 ,2) ; 1 i *( downsample ( FRF_C9_A2 ,2 ,1) ) + downsample ( FRF_C9_A2 ,2) ; 1 i *( downsample ( FRF_C9_A3 ,2 ,1) ) + downsample ( FRF_C9_A3 ,2) ; 1 i *( downsample ( FRF_C9_A4 ,2 ,1) ) + downsample ( FRF_C9_A4 ,2) ; 1 i *( downsample ( FRF_C9_A5 ,2 ,1) ) + downsample ( FRF_C9_A5 ,2) ;

% Construct FRF Matrix H H = [ ... FRF_C1_A1 FRF_C1_A2 FRF_C1_A3 FRF_C2_A1 FRF_C2_A2 FRF_C2_A3 FRF_C3_A1 FRF_C3_A2 FRF_C3_A3 FRF_C4_A1 FRF_C4_A2 FRF_C4_A3 FRF_C5_A1 FRF_C5_A2 FRF_C5_A3 FRF_C6_A1 FRF_C6_A2 FRF_C6_A3 FRF_C7_A1 FRF_C7_A2 FRF_C7_A3 FRF_C8_A1 FRF_C8_A2 FRF_C8_A3 FRF_C9_A1 FRF_C9_A2 FRF_C9_A3 ];

FRF_C1_A4 FRF_C2_A4 FRF_C3_A4 FRF_C4_A4 FRF_C5_A4 FRF_C6_A4 FRF_C7_A4 FRF_C8_A4 FRF_C9_A4

FRF_C1_A5 ... FRF_C2_A5 ... FRF_C3_A5 ... FRF_C4_A5 ... FRF_C5_A5 ... FRF_C6_A5 ... FRF_C7_A5 ... FRF_C8_A5 ... FRF_C9_A5 ...

% H = H (1: round ( end /3) ,:) ; % Use only up to approx 1 kHz % Set up the frequency scale t = 1: length( FRF_C1_A1 ) ; t = t / t (end) *3200; % t = downsample (t ,2) ; % t = t (1: round ( end /3) ) ; % Use only up to approx 1 kHz

39

C.2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77

Process FRFs (process frfs.m)

% =================================================== % MODAL FREQUENCY AND DAMPING RATIO % =================================================== format long % Start clock tic ; close a l l ; clear y ; clear y2 ; animation = 0; % Set to 1 to animate mode shapes % Create Complex Mode Indicator Function from all FRFs in H h = cmif ( H ) ; % Smoothen the CMIF by a 25 sample long Running Average filter hs = smooth (h ,25) ; % Find Frequencies iteratively [ freqz , f_i , f_l , f_a ] = find_freqs ( hs , t ) ; % Find Damping ratios iteratively [d , f_i , d_i1 , d_i2 ] = find_damps ( hs ,t , f_l ) ; d_err = 5; % Damping error threshold % Print out the findings f p r i n t f ( Nr Frequency Damping Amplitude \ n ) ; lf = length( freqz ) ; % Will be updated in loop k = 1; % Reset loop counter while k <= lf i f d ( k ) > d_err % If wrong pole ( damping factor unrealistic ) % Remove this pole from list d ( k ) = []; freqz ( k ) = []; f_a ( k ) = []; f_l ( k ) = []; lf = length( freqz ) ; % Update length else f p r i n t f ( %02 g % 7g % 7g % 7 g \ n ,k , freqz ( k ) ,d ( k ) , f_a ( k ) ) ; k = k +1; end; end; % Plot figure ; plot (t , hs , b - ) ; % Plot CMIF hold on ; stem(t , f_i , r -. ) ; % Plot Pole Indicator Lines stem(t , d_i1 , g - -. ) ; % Plot Left Damping Limit Indicator stem(t , d_i2 , g - -. ) ; % Plot Right Damping Limit Indicator hold off ; t i t l e ( Complex Mode Indicator Function ( CMIF ) of FRF Matrix [ H ] ) ; xlabel ( Frequency ( Hz ) ) ; ylabel ( Amplitude ( dB ) ) ; axis tight ; outfile = ../ report / figures / cmif ; print ( - depsc , outfile )

40

78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157

% =================================================== % MODE SHAPE VECTORS % =================================================== % Step through all detected poles for k = 1: length( f_l ) u = 1; % Cycle through all measurement positions for j = 1:9 for l = 1:5 % Save the mode shape information to Psi Psi (k ,j , l ) = H ( f_l ( k ) ,u ) ; u = u + 1; end; end; i f ( animation == 1 ) % Animate the mode ( export to . avi - file and save image ) animate_mode (imag( Psi (k ,: ,:) ) ,4 , freqz ( k ) , sprintf ( anims / real / test % g . avi ,k ) ) ; animate_mode (imag( Psi (k ,: ,:) ) ,3.5 , freqz ( k ) ) ; outfile = [ ../ report / figures / modeshape_ num2str(round( freqz ( k ) ) ) ]; print ( - depsc , outfile ) end; end % =================================================== % MATHEMATICAL FREQUENCY RESPONSE FUNCTIONS % =================================================== y = zeros (length( freqz ) ,45 , length( t ) ) ; for k = 1: length( freqz ) Resid = squeeze ( Psi (k ,: ,:) ) ; u = 1; for m = 1:9 for n = 1:5 % Calculate the mode shape scalar for the specific position PsiL = Resid (: , n ) * Resid (m ,:) ; % Create the SDOF modal model for this position and mode y (k ,u ,:) = sdof (t , freqz ( k ) ,20* d ( k ) , Psi (k ,m , n ) ,1/ f_a ( k ) ) ; u = u +1; end end end ys = squeeze (sum(y ,1) ) ; % SDOF summed % Somehow the real part of the generated frf is the imaginary .. % Let s flip them .. for k = 1:45 ys_temp (k ,:) = real ( ys (k ,:) ) ; ys (k ,:) = imag( ys (k ,:) ) ; ys (k ,:) = ys (k ,:) - 1 i .* ys_temp (k ,:) ; end; % =================================================== % MATHEMATICAL MODE SHAPE VECTORS % =================================================== for k = 1: length( f_l ) u = 1; for j = 1:9 for l = 1:5 Psi_Math (k ,j , l ) = ys (u , f_l ( k ) ) ; PsiG (k , u ) = Psi (k ,j , l ) ; % In long vector form u = u + 1; end; end; i f ( animation == 1 ) animate_mode (imag( Psi_Math (k ,: ,:) ) ,4 , freqz ( k ) , ... sprintf ( anims / math / test_math % g . avi ,k ) ) ; animate_mode (imag( Psi_Math (k ,: ,:) ) ,3.5 , freqz ( k ) ) ; outfile = [ ../ report / figures / modeshape_math_ num2str(round( freqz ( k ) ) ) ]; print ( - depsc , outfile ) end; end

41

158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212

% =================================================== % PLOTTING % =================================================== % Create the CMIF for the generated FRF matrix ys ( the summe d sdofs ) figure ; yc = cmif ( ys ) ; % Smoothen the CMIF by a 25 sample long Running Average filter ycmif = smooth ( yc ,25) ; % Plot the CMIF plot (t , ycmif ./max(abs( ycmif ) ) .*max(abs( hs ) ) ,t , hs ) ; t i t l e ( Reconstructed FRF CMIF from SDOF Data ) ; xlabel ( Frequency ( Hz ) ) ; ylabel ( Amplitude ) ; axis tight ; legend( Reconstructed , CMIF , Location , Best ) ; outfile = [ ../ report / figures / cmif_generated ]; % print ( - depsc , outfile ) % Plot all generated FRFs against the measured FRFs , includi ng phase response l = 1; for m = 1:9 for n = 1:5 clear y y = squeeze ( ys (l ,:) ) ; figure (5) ; subplot (2 ,1 ,1) ; plot (t ,angle( y ) , b - ,t ,angle( H (: , l ) ) , r - ) ; % .*2+ pi t i t l e ([ Comparison Reconstructed FRF and Real FRF ( num2str( m ) , num2str( n ) ) ]) ; xlabel ( Frequency ( Hz ) ) ; ylabel ( Phase [ rad ] ) ; axis tight ; legend( Math , Real , Location , Best ) ; subplot (2 ,1 ,2) ; plot (t , real ( y ) ./max(abs( real ( y ) ) ) .*max(abs( real ( H (: , l ) ) ) ) , b - ,t , real ( H (: , l ) ) , r - ) ; t i t l e ([ Comparison Reconstructed FRF and Real FRF ( num2str( m ) , num2str( n ) ) ]) ; xlabel ( Frequency ( Hz ) ) ; ylabel ( Magnitude [ dB ( m / s ^2/ N ) ] ) ; axis tight ; legend( Math , Real , Location , Best ) ; outfile = [ ../ report / figures / frf_generated_ num2str( l ) ]; % print ( - depsc , outfile ) l = l +1; end end % Generate MAC Matrix MAC = mac ( PsiG , freqz ) ; % How much time is elapsed ? toc;

42

C.3
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

Complex Mode Indicator Function (cmif.m)

function h = cmif ( H ) % Function to compute the Complex Mode Indicator Function ( CMIF ) % % h = cmif ( H ) ; % % It will compute for the FRF matrix H , with dimensions % number_of_linex x n u m b e r _ o f _ r e s p o n s e s x n u m b e r _ o f _ r e f e r e n c e s % % Extract the resolution of the given FRF matrix number_of_lines = s i z e (H ,1) ; n u m b e r _ o f _ r e s p o n s e s = s i z e (H ,2) ; n u m b e r _ o f _ r e f e r e n c e s = s i z e (H ,3) ; % Allocate memory for the result h = zeros ( number_of_references , number_of_lines ) ; % Step through all values for i = 1: number_of_lines % Calculate the Singular Value Decomposition of the squeeze d matrix H % Squeeze removes singleton dimensions ( if only m x n matrix , k dim rem .) h (: , i ) = svd(abs( squeeze ( H (i ,: ,:) ) ) ) ; end

43

C.4
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Find frequencies (find freqs.m)

function [f , f_i , f_l , f_a ] = find_freqs (H , F ) ; % % Function to iteratively find poles of a sampled frf . % Syntax : % [ f ] = find_freqs (H , F ) % where : % f : Output vector containing the found freqency poles % f_i : Pole indicator lines output % f_l : Pole indicator lines sample position output % f_a : Amplitude of the pole % % H : Input FRF data % F : Input Frequency line data % k = 1; u = 1; % Pole indicator lines for plot f_i = zeros (length( H ) ,1) ; for i = 1+ u : length( H ) - u i f H(i+u) < H(i) i f H (i - u ) < H ( i ) f(k) = F(i); f_i ( i ) = max( H ) ; f_l ( k ) = i ; f_a ( k ) = H ( i ) ; k = k + 1; end end end

44

C.5
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69

Find dampings (find damps.m)

function [d , f_i , d_i1 , d_i2 ] = find_damps (H ,F , FP ) % % Function to iteratively find damping and poles of a sampled frf . % Syntax : % [d , f_i , d_i1 , d_i2 ] = find_damps (H , F ) % where : % d : Output vector containing the found dampings % f_i : Pole indicator lines output % d_i1 : Left freq line for pole % d_i2 : Right freq line for pole % % H : Input FRF data % F : Input Frequency line data % FP : Input Pole Location data p = 1; thr = 10; % Pole f_i = d_i1 = d_i2 = indicator lines for plot zeros (length( H ) ,1) ; zeros (length( H ) ,1) ; zeros (length( H ) ,1) ;

% Step through all detected frequencies for i = 1 : length( FP ) % Reset parameters k = FP ( i ) ; % Start sample position for this frequency d1 = 0; % Frequency for damping limit left d2 = 0; % Frequency for damping limit right f_i ( k ) = max( H ) ; while (( H ( k ) > H ( FP ( i ) ) - thr ) && (( H ( k ) ) > 0) && ( k > 1) ) % Find limits k = k - 1; end; k1 = k ; % Save left limit sample position d1 = F ( k ) ; % Save frequency of this position k = FP ( i ) ; while (( H ( k ) > H ( FP ( i ) ) - thr ) && (( H ( k ) ) > 0) && ( k < length( H ) -1) ) k = k + 1; end; k2 = k ; d2 = F ( k ) ; % Try to correct if there are many poles close to each other by % approximating the correct damping . This is done by using the % pole as center location and adjusting the limit that is far away % to be the same length from the pole as the correct limit . i f ( abs( FP ( i ) - k2 ) > abs( FP ( i ) - k1 ) ) d2 = F ( FP ( i ) + abs( FP ( i ) - k1 ) ) ; d_i2 ( FP ( i ) + abs( FP ( i ) - k1 ) ) = max( H ) ; k2 = FP ( i ) + abs( FP ( i ) - k1 ) ; else d_i2 ( k2 ) = max( H ) ; end i f ( abs( FP ( i ) - k1 ) > abs( FP ( i ) - k2 ) ) d1 = F ( FP ( i ) - abs( k2 - FP ( i ) ) ) ; d_i1 ( FP ( i ) - abs( FP ( i ) - k2 ) ) = max( H ) ; k1 = FP ( i ) - abs( FP ( i ) - k2 ) ; else d_i1 ( k1 ) = max( H ) ; end % Calculate damping ratio for the specified pole d ( p ) = ( d2 - d1 ) / H ( FP ( i ) ) ; % Go to next pole p = p +1; end

45

C.6
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

SDOF modal model (sdof.m)

function ret = sdof (w , wd , s , Psi , Q ) % % Function to create a SDOF modal model . % Syntax : % ret = sdof (w , wd , s , Psi , Q ) % where : % w : Frequency vector % wd : Damped natural resonance frequency % s : Damping factor % Psi : Mode shape value % Q : Scaling factor % Calculate residuals A = Q * Psi ; Ac = conj( Q ) *conj( Psi ) ; L = s + i * wd ; Lc = s - i * wd ; for k = 1: length( w ) ret ( k ) = ( A /( i * w ( k ) - L ) ) + ( Ac /( i * w ( k ) - Lc ) ) ; end;

46

C.7
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69

MAC matrix (mac.m)

function MAC = mac ( Psi , freqz , RES ) % % Modal Assurance Critereon Matrix Function % Takes a modal shape matrix in form : % Psi = [ Frequency , Mode Shape Vector ] % Optional parameter freqz , containing the frequency infor mation for axis . % Optional parameter RES , for plotting resolution ( if <= 0 , no plot is generated ) % % Syntax : % MAC = mac ( Psi , freqz , RES ) ; % % Find out how many frequencies Freqs = s i z e ( Psi ,1) ; % If the optional freqz argument is not existant i f nargin < 2 freqz = 1: Freqs ; end; i f nargin < 3 RES = 100; % Standard resolution for plot end; % Allocate memory MAC = zeros ( Freqs ) ; % Compare each frequency for u = 1: Freqs for l = 1: Freqs PsiRed1 = squeeze ( Psi (u ,:) ) ; % Create temorary vectors PsiRed2 = squeeze ( Psi (l ,:) ) ; % Calculate MAC value MAC (u , l ) = ( PsiRed1 * PsiRed2 ) ^2 / (( PsiRed1 * PsiRed1 ) *( PsiRed2 * PsiRed2 ) ) ; end end MAC = abs( MAC ) ; i f ( RES > 0 ) % For a nicer stem 3 d plot ... MAC_PLOT = zeros ( Freqs * RES ) ; for u = 0: Freqs -1 for l = 0: Freqs -1 MAC_PLOT ( u * RES +1:( u +1) * RES -( RES /2) ,l * RES +1:( l +1) * RES -( RES /2) ) = MAC ( u +1 , l +1) ; end; end; figure ; mesh( MAC_PLOT ) ; axis square ; axis tight ; set (gca, XTick ,round( RES /2) : RES : Freqs * RES +round( RES /2) ) set (gca, YTick ,round( RES /2) : RES : Freqs * RES +round( RES /2) ) set (gca, XTickLabel , freqz ) set (gca, YTickLabel , freqz ) colormap(hsv) view(57 ,43) ; light ( Position ,[8 , -8 ,20]) lighting gouraud t i t l e ( Modal Assurance Critereon ( MAC ) Matrix ) ; xlabel ( Frequency ( Hz ) ) ; ylabel ( Frequency ( Hz ) ) ; zlabel ( Value ) ; outfile = [ ../ report / figures / mac_generated ]; print ( - depsc , outfile ) end;

47

C.8
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

Animate mode (animate mode.m)

function y = animate_mode ( Psi , Maxtime , Freq , Name ) % % Function to animate a mode shape , given it s matrix form % Syntax : % y = animate_mode ( Psi , Maxtime , Freq , Name ) ; % where : % Psi : The mode shape matrix in the size of the measurement grid % Maxtime : Animation time % Freq : Frequency to animate ( just for printing the title ) % Name : For exporting to . avi - file % i f nargin < 3 Freq = NaN; end; i f nargin < 4 e = 0; Name = NaN ; else aviobj = avifile ( Name , fps ,30) ; e = 1; end % Remove singleton dimensions Psi = squeeze ( Psi ) ; % Normalize Psi = Psi ./max(max(abs(abs( Psi ) ) ) ) ; la = length( - pi :.1: Maxtime * pi ) ; k = 0; f p r i n t f ([ sprintf ( Exporting Mode Animation %6 g Hz to , Freq ) Name . ]) ; for x = - pi :.1: Maxtime * pi figure (1) surf ( Psi .* sin ( x ) ) ; colormap hot; axis equal ; zlim ([ -1 1]) ; t i t l e ( sprintf ( Mode Animation : %6 g Hz , Freq ) ) ; xlabel ( Nodes X ) ; ylabel ( Nodes Y ) ; i f e == 1 frame = getframe(gca) ; aviobj = addframe ( aviobj , frame ) ; end; k = k +1; i f ( mod ( la , k / la ) == 0) f p r i n t f ( . ) ; end; end f p r i n t f ( \ n \ n ) ; i f e == 1 aviobj = close ( aviobj ) ; end; % Don t return anything useful y = 0;

48

Bibliography
[1] O. Dossing and B. & Kjaer, Structural testing, April 1988. [2] P. Sas and W. Heylen, eds., Theory and Practice, International Seminar on Modal Analysis, (Heverlee), September 1993. [3] Vibration. http://en.wikipedia.org/wiki/Vibration, October 2009. [4] P. Avitabile, Modal space - in our little world (sem experimental techniques), August 1999. [5] R. J. Allemang and D. L. Brown, A Unied Matrix Polynomial Approach to Modal Identication. Journal of Sound and Vibration 211(3), 301-322: Academic Press Limited, March 1998.

49

You might also like