File Exchange

image thumbnail

Mode shapes extraction by time domain decomposition (TDD)

version 2.4 (3.82 MB) by E. Cheynet
The modal parameters of a line-like structure are estimated in the time domain using displacement records only.


Updated 03 Mar 2019

View License

The Time domain decomposition (TDD) [1] is an output-only method to extract mode shapes of a structure. Here, the modal damping ratios and modal displacements are in addition extracted using the functions presented in [6]. The TDD is similar to a more popular technique called Frequency-domain method (FDD) that was introduced by [2,3]. A good example of the FDD already exists on the Matlab File Exchange [4]. In a previous version, the present submission contained a function for the FDD. This function has been modified and moved to a new submission [5].

This script contains:
- The function TDD.m: function to apply the TDD method.
- An example file Example1.m
- Acceleration data beamData.m (4 Mb)

Comments, suggestions for improvements and questions are welcome. All the credits for the theory go to [1] and [2].

[1] Byeong Hwa Kim, Norris Stubbs, Taehyo Park, A new method to extract modal parameters using output-only responses, Journal of Sound and Vibration, Volume 282, Issues 1–2, 6 April 2005, Pages 215-230, ISSN 0022-460X,
[2] Brincker, R.; Zhang, L.; Andersen, P. (2001). "Modal identification of output-only systems using frequency domain decomposition". Smart Materials and Structures 10 (3): 441. doi:10.1088/0964-1726/10/3/303.
[3] BRINCKER, Rune, ZHANG, Lingmi, et ANDERSEN, P. Modal identification from ambient responses using frequency domain decomposition. In: Proc. of the 18*‘International Modal Analysis Conference (IMAC), San Antonio, Texas. 2000

Cite As

E. Cheynet (2019). Mode shapes extraction by time domain decomposition (TDD) (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (6)

E. Cheynet

Hei Maede,
The function I have used to produce beamData.m, has not been uploaded on Matlab FileExchange until recently (dynaResp_TD.m). The function CentDiff.m is only one way to solve the equation of motion in the time domain. The function dynaResp_TD.m Ihas nested functions that solve the equation of motion more efficiently than CentDiff.m which has, sometimes, convergence issues.

You used CentDiff function to produce beamData.m, if I'm not wrong. How did you set the number of sensors (Nyy) and n in that function? They are not the input of the function. Maybe running the function several times (Nyy times?)
Did you have to change anything in your CentDiff function when using it for different structures?
*great job anyway, I'm enjoying studying your work :)



zhifeng fan



Added project website


Updated example and functions inputs/outputs

Example file contains one more figure




Major changes: The example file and TDD.m function are simplified. The modal damping ratio are now calculated. The code for FDD has been moved to File ID: #57153

MathWorks update: Added Live Script.

-typo + picture

MATLAB Release Compatibility
Created with R2018a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Discover Live Editor

Create scripts with code, output, and formatted text in a single executable document.

Learn About Live Editor