Doing averages in blocks for downsampling time series data
Mostrar comentarios más antiguos
One way to downsample is to do averaging in blocks. I had asked a question here "I would like to downsample data simulated at 200 Hz to 50 Hz by averaging blocks of 4 and plot it versus time. For example, if y=[1,2,3,4,5,6,7,8,9,10,11,......], I would like to do averages of (1,2,3,4), then (5,6,7,8), and so and plot it versus t=[0:1/50:60], so that the downsampled data appears to be sampled at 50 Hz." The answer was
y=[1,2,3,4,5,6,7,8,9,10,11];
out = nanmean(reshape([y(:); nan(mod(-numel(y),4),1)],4,[]));
Is there simpler syntax or smaller steps to achieve the same goal. It works but I was trying to decipher the code for self-teaching purposes.
Thank you.
Respuesta aceptada
Más respuestas (0)
Categorías
Más información sobre Multirate Signal Processing en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!