How could I create a sliding window of 300ms, with an overlap of 50ms?

12 visualizaciones (últimos 30 días)
Hello, I have an Emg data of 15mins length (1808331x12), sampling frequency : 2kHz. I want to apply a 300ms window(600samples) with an overlap of 20samples(10ms). I want 300ms segments so i can extract features from it.
Can somebody help me?

Respuesta aceptada

Pratyush Roy
Pratyush Roy el 27 de En. de 2022
Hi JJyh,
You can extract the data from individual windows and store them in a cell array. The following code might be helpful to understand how to store data from individual windows in a cell:
emg_data = randn([1808331,12]); % Here I have used random data since I don't have the original data on my end. This can be replaced by the data array that you are using.
[r c] = size(emg_data)
n_start = 1;
window_size = 600;
overlap_size = 20;
frame_cell = {};
while (n_start+window_size<=r)
window = emg_data(n_start:n_start+window_size-1,:);
frame_cell{end+1} = window;
n_start = n_start + window_size - overlap_size;
end
Hope this helps!

Más respuestas (0)

Categorías

Más información sobre Get Started with MATLAB en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by