What are the advantages and disadvantages of performing numerical integration from acceleration to displacement in the time domain and frequency domain, respectively?
I think that what you are asking is: "why would I apply Laplace Transform as a Solution for Mechanical Shock and Vibration Problems?". In which case you can understand the response to a single degree of freedom response.
A common scenario when monitoring the condition of a machine is to examine vibrations during start up or shut down. Additional information can often be obtained by resonances and the presence of non-synchronous vibrations. Plotting frequency domains vs. time domains (Wigner-Ville distribution).
Although the time domain clearly indicates the presence of the resonance, it does not provide a full description of the nature of the structural resonance. In order to more fully understand and implement structural resonances it is necessary to form a time frequency distribution of the vibrations.
Thank you for the responses. My question is, if I have an acceleration signal, I can do the formal numerical integration using the well known techniques such as Simpson's Rule, Simpson's 1/3 rule, etc. Another approach is to transform the acceleration signal in the frequency domain and use the so called "Omega Arithmetic" and take the inverse transform again to obtain displacements. What are the advantages and disadvantages of these two approaches?
Thank you Ian for the suggestions. I implemented Dr Seis code in my data (result is attached here). The displacement obtained from the code (red colour) is dominated by the low frequency component of the signal. A significant difference can be seen as compared to the displacement obtained from a commercial tool MB BSR Suite (green)(http://www.mbdynamics.eu/products/BSR%20Suite.html). *Acceleration signal (Blue colour)
The reason for this difference is perhaps due to the biased error encountered while reconstructing low signal in the frequency domain (Omega Arithmetic). I am doing the reconstruction in the time domain now.
The answer I am looking for is found in the following papers by Dr. Sangbo Han and co-workers
According to the above literatures, the choice of using the time domain (direct numerical integration) or the frequency domain (Omega Arithmetic/Fourier transform) depends on the frequency content of the signal.
For low frequency acceleration signal, the time domain approach is preferable whereas for high frequency acceleration signal, the frequency domain approach is preferable.
Article Measuring displacement signal with an accelerometer
Article Retrieving the time history of displacement from measured ac...
Article Analysis of errors in the conversion of acceleration into displacement
I do not think one can integrate acceleration in frequency domain to obtain meaningful displacement in time domain. A time sequence of millions of points can be viewed as a spectrum of several thousand points at most (assuming you are talking about mechanical vibration). Once you did that, there is no way for you to reconstruct anything in time domain.
One can integrate from acceleration to velocity, and subsequently from velocity to displacement using frequency-domain integration. It doesn't have to be a time-domain integration.
In each integration step, the unknown initial value introduces a linear trend in the result that, on a physical basis, is expected to have a slope near zero. The slope of the trend is equal to the unknown initial value. Thus, after the initial integration, the slope of the pre-event interval is then used as an estimate of the initial value and a correction is made to the integrated time series.
You may download a MatLAB code for conducting frequency-domain integration from the following link:
All acceleration occur in time domain physically. From time domain to freqency domain is not injection nor surjection. Different time domain sequencie can have exactly the same frequency spectrum. It is OK to analysis accelerations in freqency domain, but integrate in freqency domain to obtain displacement (although methematically doable) would not truelyreflect what was happening in reality. Normally (in my field of mechanical fatigue), I would measure acceleration at 8K and FFT to get a spectrum contains frequencies up to 4k Hz, while the meaningful displacemnt contents would all at the lower end (below 300 Hz). To analyze displacemtnt from several hunddred ieces of data point acceleration spectrum would be very course and all the details would be missing (expeciialy when the spectrum was an average of a long time sequence.
My overall suggestion is: Don't do it if one can integrate in time domain. But, if the only tool you have is an hammar, then everything looks like a nail.
When you deal with high frequencies, time domain integration such as trapezoidal method may give incorrect results. One thing to remember in frequency domain integration is that waveform needs to be demeaned and padded for DFT to avoid aliasing (caused by cyclic convolution property of the inverse Fourier transform)
I suggest the following paper, which nicely covers the topic:
Brandt, A. and Brincker, R. (2014). “Integrating time signals in frequency domain – Comparison with time domain integration,” Measurement, 58: 511-519.
I do not know the nature of the data from the original person who posted the question (how high the frequency it covers), but just thinking if he had time domain data, why not directly double integration to get displacement? I am aware some of the issues with double integrations. In practice, I would resampling the time sequece 4X, integration with det-rending, then resampling to the original rate. It seems to work with most of the integration mothods.
If you have acceleration data, you can get displacement data by using the MATLAB built-in function "integral2" which numerically evaluate double integral . In case you have displacement data and want to get acceleration data, it is simple by just using the built-in function "diff" twice. However, "diff" requires one of the difference methods (backward, forward or central difference method) to be applied to the time duration data(say, T). This is because "diff" will always result in reduced data and therefore to be able to plot acceleration data (resulting from "diff") vs time (T), the use of one of the aforementioned difference methods is a must.For example, if Y is a vector that contains displacement data and T is vector of time data(before the application of difference method), then the acceleration (Acc) can be obtained as
Acc=diff(Y)./diff(T). If you want to plot Acceleration vs Time, then it is necessary to apply difference method to the above T(i.e. T will change to say, T1), then plot Acc vs T1(not T). For more detail information, read the following journal paper (it deeply provides details and explanation about numerical integration/differentiation):
Dushimimana, A., Niyonsenga, A.A., Decadjevi, G.J., Kathumbi, L.K. Effects of model-based design and loading on
responses of base-isolated structures. Magazine of Civil Engineering. 2019. 92(8). Pp. 142–154. DOI: