Azzera filtri
Azzera filtri

Smoothing the time series data (x-axis is time in seconds, y-axis is Pressure)

17 visualizzazioni (ultimi 30 giorni)
Hi,
I would like to smooth my y-axis data, it has too much of fluctuations now. I am trying to smooth the data. I have seen many methods in |MATLAB to smooth. But, I heard FFT is the best suitable to smooth the time series data. Can some help me how to do it? I am attaching my data file here.
x-axis is time in seconds, y-axis is pressure.
Many thanks
  2 Commenti
Dyuman Joshi
Dyuman Joshi il 7 Feb 2023
smoothdata is a good option to smooth the data
format long
data=readtable('fluct.txt');
x=data.Var1;
y=data.Var2;
figure
plot(x,y)
xlim([0 500])
title('Original')
figure
y1=smoothdata(y);
plot(x,y1)
xlim([0 500])
title('smoothdata')
figure
%adjust window as per need
win=10;
y2=movmedian(y,win);
plot(x, y2)
xlim([0 500])
title('movmedian')
Or do you want a polynomial like smoothness/fitting?
Teja Reddy
Teja Reddy il 7 Feb 2023
Hi, thank you for your reply.
I read that FFT is the best method to smooth the time series data. Is it correct?
Thank you

Accedi per commentare.

Risposte (1)

Meet
Meet il 8 Feb 2023
Hi,
The usage of FFT to filter the signal depends on the signal that is being processed.
You can refer to the below link to select the type of smoothing that need to be implemented based on your use case.
If you want to use FFT based filtering technique, then you can use fftfilt function from the signal processing toolbox.
Below are some other references that might be helpful :

Community Treasure Hunt

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

Start Hunting!

Translated by