Filter time-variant data and reduce its length
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
zhi liu
am 26 Apr. 2020
Kommentiert: Ameer Hamza
am 26 Apr. 2020
Hi experts,
I have a time-variant test data. The 1st column is time, and the 2nd column is data. There is a serious fluctuation of it. I want to filter the data and at the same time want to reduce its length.
Could somebody guide me how to do this? Thank you!
0 Kommentare
Akzeptierte Antwort
Ameer Hamza
am 26 Apr. 2020
It seems like you are trying to plot step-response of a system. Try something like this
data = load('data.csv');
t = data(1:100,1);
y = data(1:100,2);
y = smoothdata(y, 'sgolay', 20);
plot(t, y)
It reduces the length by taking the first 100 elements and smoothening the signal.
2 Kommentare
Ameer Hamza
am 26 Apr. 2020
Yes, The system reaches its steady-state after a few seconds. The rest of the data is redundant. This gives the full response of the system.
Weitere Antworten (1)
Thiago Henrique Gomes Lobato
am 26 Apr. 2020
Take a look at medfilt1 and/or movmean. They sould help you reduce the fluctuations. To reduce the data length you just index the time you want:
idx1 = 100;
idx2 = 900;
Data = Data(idx1:idx2,:); % Data = Length x 2 matrix
In this example your data will go only from meausurement point 100 to measurement point 900.
0 Kommentare
Siehe auch
Kategorien
Mehr zu Single-Rate Filters finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!