Seismosignal baseline correction using MATLAB

3 visualizaciones (últimos 30 días)
Moustafa El-sawy
Moustafa El-sawy el 3 de Ag. de 2016
Comentada: Dheeraj Bana el 28 de Mzo. de 2023
Hey everyone,
I was using a software called Seismo signal to do some data processing on some sensor data I have collected in a test I have done. I am interested in replicating the way Seismo-Signal performs the baseline correction.
Here is a description of what is in included in the Seismo-signal manual: Baseline Correction, as implemented in SeismoSignal, consists in (i) determining, through regression analysis (least-squares-fit method), the polynomial curve that best fits the time-acceleration pairs of values and then (ii) subtracting from the actual acceleration values their corresponding counterparts as obtained with the regression-derived equation. In this manner, spurious baseline trends, usually well noticeable in the displacement time-history obtained from double time-integration of uncorrected acceleration records, are removed from the input motion.
Polynomials of up to the 3rd degree can be employed, effectively meaning that constant (y=a0), linear (y=a0+a1*x), quadratic (y=a0+a1*x+a2*x^2) and cubic (y=a0+a1*x+a2*x^2+a3*x^3) baseline correction can be used. The user has the ability to decide if this operation is to be carried out or not (by default, it is not) and can also choose which polynomial degree to adopt (default is 'linear'). The values of the polynomial coefficients are indicated to the user, for his/her information. Further information and discussion on baseline correction can be found in the work by Boore [2001], amongst others.
Does anyone have a code that does a similar thing? If anyone can give me some baselines to how I can perform this, it would be great.
I have attached a text file of a sample of the data I am trying to perform a baseline correction to using MATLAB.
Many thanks!

Respuestas (1)

Nishant Chauhan
Nishant Chauhan el 22 de Ag. de 2018
Do a regression analysis with higher order polynomial like cubic and subtract with the original signal.
>>P = polyfit(t,x,3); %Best fit line of signal x
>>po_va = polyval(P,t); %Matrix of best fit line
>>newx = x -po_va; %Baseline corrected acceleration

Categorías

Más información sobre Statistics and Linear Algebra en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by