Streaming limit

edited December 2019 in Android

When we use limit method to reduce sampling rate on Sensor Fusion from 100Hz to 50Hz is the down-sampling performed on client or the sensor? I mean is the sensor streaming at 100Hz and then our client resampling or the sensor streams at 50Hz (in that case we have space to stream extra data). I 'm asking this because we have 2 sensors ( where the first streams quaternions with limit at 50Hz and the second acceleration at 50Hz) and we get 25% packet loss (the avg streaming time for our use case is 2.5sec).

Comments

  • When we use limit method to reduce sampling rate on Sensor Fusion from 100Hz to 50Hz is the down-sampling performed on client or the sensor?

    Downsampling is performed on the sensor (in firmware).

    Please send more info about your setup.

  • I use one MetaMotionR+ for streaming quaternions on 50Hz (using limit) and one MetaMotionR+ for streaming acceleration 50Hz. Our avg streaming time is 2.5 seconds and we are getting >15% packet loss (sometimes we have no packet loss). Things we tried for debug:

    1. Test with different MetamotionR sensors.
    2. Test with different Android devices.
    3. The distance of smartphone and sensors is < 1m.
    4. Test sensor battery
    5. Reset for sensor bad state
  • edited January 2020

    Is it better with ios? we have the least packet loss on linux machines.
    you can also mess with the ble conn settings.

  • unfortunately, we can't use ios or linux because we have an android based product.

  • In that case, you should try to experiment with the conn settings.

  • edited January 2020

    We changed max connection interval to 11.25 and although things get better we can't have output data rate within +/- 1% error (>5% packet loss). We also tested to stream only acceleration data at 50Hz for both sensors (instead of acceleration and quaternions) with metabase app and the results are perfectly fine. I believe there is a firmware bug when you stream quaternions 50Hz and acceleration 50Hz.

    Edit: To reduce sampling rate to 50Hz we use source.limit(11)

    • How much is >5% packet loss?
    • What is the MetaWear specific code you are calling? Please provide code.
Sign In or Register to comment.