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

17 次查看(过去 30 天)
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 个评论
Dyuman Joshi
Dyuman Joshi 2023-2-7
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 2023-2-7
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

请先登录,再进行评论。

回答(1 个)

Meet
Meet 2023-2-8
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