Question/Issue:
We were trying to replicate the processing block - flatten for accelerometer based dataset, but couldn’t find the usage of window size and window stride in edge impulse processing block.
Without these feature, the model accuracy will be affected since the flatten feature will be calculated for complete data point(10sec of data).
Context/Use case:
Accelerometer based motion detection.
Can you give more detail on the usage? Is your complete sample 10 seconds long because you’re detecting a long-duration event?
Is the stride vs overlap what is causing confusion? Say the accelerometer samples at 100Hz 1 second will have 100 samples.
Setting the stride to 2000 will give 200 samples, window increase of 2000 will give 0% overlap. Window size vs increase:
Window size: 2,000 ms (for 2 seconds at 100 Hz)
Window increase: 1,000 ms (for 1 second stride at 100 Hz = 50% overlap)
I see that this doc is possibly lacking in examples for use cases here. Some sample settings for short vs long usage:
Short-duration motions vs long-duration motions:
For short-duration motions (e.g., jerks or taps): Use smaller windows (e.g., 50-75 samples) and minimal overlap (stride of 75%).
For long-duration motions (e.g., walking or running): Use larger windows (e.g., 150-200 samples) with more overlap (stride of 25-50%).
The processing blocks don’t have this option. They expect a fixed input buffer.
In the studio this is done in the step before when you configure your impulse.
Do we need to write the wrapper code for considering the windows stride and length and then pass to dsp.py?
Correct. If you want to replicate locally, you’ll need to manually prepare your raw buffers.