File Exchange

image thumbnail

Mode shapes extraction by time domain decomposition (TDD)

version 2.5 (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 08 May 2020

From GitHub

View Version History

View license on GitHub

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 (2021). Mode shapes extraction by time domain decomposition (TDD) (, GitHub. Retrieved .

E. Cheynet. ECheynet/TDD: Mode Shapes Extraction by Time Domain Decomposition (TDD). Zenodo, 2020, doi:10.5281/ZENODO.3817999.

View more styles

Comments and Ratings (8)

Saqib Mehboob


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.

Maede Zolanvari

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

Mohammad Farshchin

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

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!