diff --git a/modal-analysis/figs/coh_result_example.png b/modal-analysis/figs/coh_result_example.png new file mode 100644 index 0000000..e156f7d Binary files /dev/null and b/modal-analysis/figs/coh_result_example.png differ diff --git a/modal-analysis/figs/frf_result_example.png b/modal-analysis/figs/frf_result_example.png new file mode 100644 index 0000000..eb775e3 Binary files /dev/null and b/modal-analysis/figs/frf_result_example.png differ diff --git a/modal-analysis/figs/raw_data_acceleration.png b/modal-analysis/figs/raw_data_acceleration.png new file mode 100644 index 0000000..746c854 Binary files /dev/null and b/modal-analysis/figs/raw_data_acceleration.png differ diff --git a/modal-analysis/figs/raw_data_acceleration_zoom.png b/modal-analysis/figs/raw_data_acceleration_zoom.png new file mode 100644 index 0000000..7d9ac6e Binary files /dev/null and b/modal-analysis/figs/raw_data_acceleration_zoom.png differ diff --git a/modal-analysis/figs/raw_data_force.png b/modal-analysis/figs/raw_data_force.png new file mode 100644 index 0000000..6e8f263 Binary files /dev/null and b/modal-analysis/figs/raw_data_force.png differ diff --git a/modal-analysis/figs/raw_data_force_zoom.png b/modal-analysis/figs/raw_data_force_zoom.png new file mode 100644 index 0000000..2e9f943 Binary files /dev/null and b/modal-analysis/figs/raw_data_force_zoom.png differ diff --git a/modal-analysis/index.html b/modal-analysis/index.html index 458769c..3e328f1 100644 Binary files a/modal-analysis/index.html and b/modal-analysis/index.html differ diff --git a/modal-analysis/index.org b/modal-analysis/index.org index e8adb5d..19ad5e3 100644 --- a/modal-analysis/index.org +++ b/modal-analysis/index.org @@ -232,9 +232,132 @@ An exponential window (figure [[fig:window_response]]) is used for the response #+attr_html: :width 500px [[file:img/parameters/window_response.jpg]] -* FRF and COH Results +* Frequency Response Functions and Coherence Results +** Matlab Init :noexport:ignore: +#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name) + <> +#+end_src + +#+begin_src matlab :exports none :results silent :noweb yes + <> +#+end_src + +** Load Data +#+begin_src matlab + meas1_raw = load('modal_analysis/raw_data/Measurement1.mat'); +#+end_src + +** Raw Force Data +#+begin_src matlab :exports none + time = linspace(0, meas1_raw.Track1_X_Resolution*length(meas1_raw.Track1), length(meas1_raw.Track1)); + figure; + plot(time, meas1_raw.Track1); + xlabel('Time [s]'); + ylabel('Force [N]'); +#+end_src + +#+HEADER: :tangle no :exports results :results none :noweb yes +#+begin_src matlab :var filepath="figs/raw_data_force.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png") + <> +#+end_src + +#+NAME: fig:raw_data_force +#+CAPTION: Raw Force Data from Hammer Blow +[[file:figs/raw_data_force.png]] + +#+begin_src matlab :exports none + xlim([22.1, 22.3]); +#+end_src + +#+HEADER: :tangle no :exports results :results none :noweb yes +#+begin_src matlab :var filepath="figs/raw_data_force_zoom.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png") + <> +#+end_src + +#+NAME: fig:raw_data_force_zoom +#+CAPTION: Raw Force Data from Hammer Blow - Zoom +[[file:figs/raw_data_force_zoom.png]] + +** Raw Response Data +#+begin_src matlab :exports none + figure; + plot(time, meas1_raw.Track2); + xlabel('Time [s]'); + ylabel('Acceleration [m/s2]'); +#+end_src + +#+HEADER: :tangle no :exports results :results none :noweb yes +#+begin_src matlab :var filepath="figs/raw_data_acceleration.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png") + <> +#+end_src + +#+NAME: fig:raw_data_acceleration +#+CAPTION: Raw Acceleration Data from Accelerometer +[[file:figs/raw_data_acceleration.png]] + +#+begin_src matlab :exports none + xlim([22.1, 22.5]); +#+end_src + +#+HEADER: :tangle no :exports results :results none :noweb yes +#+begin_src matlab :var filepath="figs/raw_data_acceleration_zoom.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png") + <> +#+end_src + +#+NAME: fig:raw_data_acceleration_zoom +#+CAPTION: Raw Acceleration Data from Accelerometer - Zoom +[[file:figs/raw_data_acceleration_zoom.png]] + +** Load Data +#+begin_src matlab + meas1 = load('modal_analysis/frf_coh/Measurement1.mat'); +#+end_src + +** FRF and Coherence Results +#+begin_src matlab :exports none + figure; + ax1 = subplot(2, 1, 1); + plot(meas1.FFT1_AvSpc_2_RMS_X_Val, meas1.FFT1_AvXSpc_2_1_RMS_Y_Mod); + set(gca, 'XTickLabel',[]); + ylabel('Magnitude'); + + ax2 = subplot(2, 1, 2); + plot(meas1.FFT1_AvSpc_2_RMS_X_Val, meas1.FFT1_AvXSpc_2_1_RMS_Y_Phas); + ylim([-180, 180]); + yticks([-180, -90, 0, 90, 180]); + xlabel('Frequency [Hz]'); ylabel('Phase [deg]'); + + linkaxes([ax1,ax2],'x'); +#+end_src + +#+HEADER: :tangle no :exports results :results none :noweb yes +#+begin_src matlab :var filepath="figs/frf_result_example.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png") + <> +#+end_src + +#+NAME: fig:frf_result_example +#+CAPTION: Example of one measured FRF +[[file:figs/frf_result_example.png]] + +#+begin_src matlab :exports none + figure; + plot(meas1.FFT1_AvSpc_2_RMS_X_Val, meas1.FFT1_Coh_2_1_RMS_Y_Val); + xlabel('Frequency [Hz]'); + ylabel('Coherence'); +#+end_src + +#+HEADER: :tangle no :exports results :results none :noweb yes +#+begin_src matlab :var filepath="figs/coh_result_example.pdf" :var figsize="wide-normal" :post pdf2svg(file=*this*, ext="png") + <> +#+end_src + +#+NAME: fig:coh_result_example +#+CAPTION: Example of one measured Coherence +[[file:figs/coh_result_example.png]] * Mode Shapes +Multiple modal extraction techniques can be used (SIMO, MIMO, narrow band, wide band, ...). +First preliminary results on 10 identified modes are presented here. #+name: fig:mode1 #+caption: Mode 1 @@ -276,6 +399,110 @@ An exponential window (figure [[fig:window_response]]) is used for the response #+caption: Mode 10 [[file:img/modes/mode10.gif]] +* Obtained Modal Matrices +From the modal analysis software, we can export the obtained *eigen matrices*: +\[ \begin{bmatrix} + \omega_1^2 & & 0 \\ + & \ddots & \\ + 0 & & \omega_n^2 +\end{bmatrix}; \quad \Psi = \begin{bmatrix} + & & \\ + \{\psi_1\} & \dots & \{\psi_n\} \\ + & & +\end{bmatrix} \] + +where $\bar{\omega}_r^2$ is the $r^\text{th}$ eigenvalue squared and $\{\phi\}_r$ is a description of the corresponding *mode shape*. + +The file containing the eigen frequencies and mode shapes are shown below (for the first mode). + +#+begin_src bash :results output :exports results :eval no-export + sed 80q modal_analysis/modes_propres_narband.asc +#+end_src + +#+RESULTS: +#+begin_example +Created by N-Modal +Estimator: cmif +18-Jun-19 16:31:25 + + +Mode 1 +freq = 11.11191Hz +damp = 10.51401% +modal A = 8.52879e+003-2.29043e+003i +modal B = -9.64203e+004-6.08978e+005i +Mode matrix of local coordinate [DOF: Re IM] + 1X+: -9.34637e-002 4.52445e-002 + 1Y+: 2.33790e-001 1.41439e-003 + 1Z+: -1.73754e-002 6.02449e-003 + 2X+: -7.42108e-002 3.91543e-002 + 2Y+: 2.41566e-001 -1.44869e-003 + 2Z+: -5.99285e-003 2.10370e-003 + 4X+: -1.02163e-001 2.79561e-002 + 4Y+: 2.29048e-001 2.89782e-002 + 4Z+: -2.85130e-002 1.77132e-004 + 5X+: -8.77132e-002 3.34081e-002 + 5Y+: 2.14182e-001 2.14655e-002 + 5Z+: -1.54521e-002 1.26682e-002 + 6X+: -7.90143e-002 2.42583e-002 + 6Y+: 2.20669e-001 2.12738e-002 + 6Z+: 4.60755e-002 4.96406e-003 + 7X+: -7.79654e-002 2.58385e-002 + 7Y+: 2.06861e-001 3.48019e-002 + 7Z+: -1.78311e-002 -1.29704e-002 + 8X+: -8.49357e-002 3.55200e-002 + 8Y+: 2.07470e-001 3.59745e-002 + 8Z+: -7.66974e-002 -3.19813e-003 + 9X+: -7.38565e-002 1.95146e-002 + 9Y+: 2.17403e-001 2.01550e-002 + 9Z+: -1.77073e-002 -3.46414e-003 + 10X+: -7.77587e-002 2.36700e-002 + 10Y+: 2.35654e-001 -2.14540e-002 + 10Z+: 7.94165e-002 -2.45897e-002 + 11X+: -8.17972e-002 2.20583e-002 + 11Y+: 2.20906e-001 -4.30164e-003 + 11Z+: -5.60520e-003 3.10187e-003 + 12X+: -8.64261e-002 3.66022e-002 + 12Y+: 2.15000e-001 -5.74661e-003 + 12Z+: -1.22622e-001 4.11767e-002 + 13X+: -4.25169e-002 1.56602e-002 + 13Y+: 5.31036e-002 -1.73951e-002 + 13Z+: -4.07130e-002 1.26884e-002 + 14X+: -3.85032e-002 1.29431e-002 + 14Y+: 5.36716e-002 -1.80868e-002 + 14Z+: 1.00367e-001 -3.48798e-002 + 15X+: -4.25524e-002 1.46363e-002 + 15Y+: 5.19668e-002 -1.69744e-002 + 15Z+: 5.89747e-003 -2.32428e-003 + 16X+: -4.31268e-002 1.38332e-002 + 16Y+: 5.07545e-002 -1.53045e-002 + 16Z+: -1.04172e-001 3.17984e-002 + 17X+: -2.69757e-002 9.07955e-003 + 17Y+: 3.07837e-002 -9.44663e-003 + 17Z+: -7.63502e-003 1.68203e-003 + 18X+: -3.00097e-002 9.23966e-003 + 18Y+: 2.83585e-002 -8.97747e-003 + 18Z+: 1.52467e-001 -4.78675e-002 + 19X+: -2.70223e-002 6.16478e-003 + 19Y+: 3.06149e-002 -6.25382e-003 + 19Z+: -4.84888e-003 1.93970e-003 + 20X+: -2.90976e-002 7.13184e-003 + 20Y+: 3.36738e-002 -7.30875e-003 + 20Z+: -1.66902e-001 3.93419e-002 + 3X+: -9.40720e-002 3.93724e-002 + 3Y+: 2.52307e-001 0.00000e+000 + 3Z+: -1.53864e-002 -9.25720e-004 + 21X+: -7.91940e-002 4.39648e-002 + 21Y+: 2.04567e-001 9.49987e-003 + 21Z+: -1.56087e-002 7.08838e-003 + 22X+: -1.01070e-001 3.13534e-002 + 22Y+: 1.92270e-001 1.80423e-002 + 22Z+: 2.93053e-003 -1.97308e-003 + 23X+: -8.86455e-002 4.29906e-002 + 23Z+: -3.38351e-002 1.81362e-003 + 23Y-: -1.90862e-001 -2.53414e-002 +#+end_example + * Problem with AirLoc System 4 Airloc Levelers are used for the granite (figure [[fig:airloc]]). @@ -284,6 +511,6 @@ An exponential window (figure [[fig:window_response]]) is used for the response #+attr_html: :width 500px [[file:img/airloc/IMG_20190618_155522.jpg]] -They are probably not well leveled so that could explain the first modes at 11Hz and 17Hz. +They are probably *not well leveled* so that could explain the first modes at 11Hz and 17Hz. * Spatial Mode Extraction