Filter time-variant data and reduce its length
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
zhi liu
el 26 de Abr. de 2020
Comentada: Ameer Hamza
el 26 de Abr. de 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 comentarios
Respuesta aceptada
Ameer Hamza
el 26 de Abr. de 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 comentarios
Ameer Hamza
el 26 de Abr. de 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.
Más respuestas (1)
Thiago Henrique Gomes Lobato
el 26 de Abr. de 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 comentarios
Ver también
Categorías
Más información sobre Single-Rate Filters en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!