Skip to main content
Graduate
August 2, 2023
Solved

Difference between each mode of pedometer in LSM6DSOX

  • August 2, 2023
  • 5 replies
  • 2981 views

Hi,

I am implementing the pedometer function using LSM6DSOX.

According to the driver file provided by ST, there are three different modes to configure. I want to know the difference between them. I cannot find any information in the datasheet.

Jiabin_0-1690953853420.png

Appreciate your help!

    This topic has been closed for replies.
    Best answer by RhSilicon

    Check if the AN5259 document has this information.

    AN5259:

    The kind of algorithms suitable for the machine learning core are those which can be implemented by following
    an inductive approach, which involves searching patterns from observations. Some examples of algorithms which follows this approach are: activity recognition, fitness activity recognition, motion intensity detection, vibration intensity detection, carrying position recognition, context awareness, false-positive rejection, and so on.

    AN5272:

    STMicroelectronics provides the tools to generate specific pedometer configurations starting from a set of data-
    logs with a reference number of steps (Unico GUI on st.com)

    AN5273:

    Decision tree number 0 (the first one) implements an activity recognition algorithm able to detect three user
    activities (classes): still, walking and running;

    5 replies

    Graduate II
    August 2, 2023

    @Jiabin wrote:

    Hi,

    I am implementing the pedometer function using LSM6DSOX.

    According to the driver file provided by ST, there are three different modes to configure. I want to know the difference between them. I cannot find any information in the datasheet.

    Jiabin_0-1690953853420.png

    Appreciate your help!


    Maybe it's related to table 406. PEDO_CMD_REG register description - From DS12814.

    From AN5272:

    • False-Positive Rejection block, which can be enabled by setting the FP_REJECTION_EN bit of the PEDO_CMD_REG embedded advanced features registers to 1. This block performs real-time recognition of
      walking activity based on statistical data and inhibits the step counter if no walking activity is detected.

     

    • Advanced Detection block, which can be enabled by setting the AD_DET_EN bit of the PEDO_CMD_REG
      embedded advanced features registers to 1. This block recognizes a low-energy gait (e.g. device held in the
      hand and very slow step cadence) and automatically switches the internal configurations in order to better
      adapt the pedometer algorithm to this condition. This block works together with the False-Positive Rejection
      block, then also the FP_REJECTION_EN bit must be set to 1 as well.

    (Files in the "Documentation" tab)

    JiabinAuthor
    Graduate
    August 2, 2023

    Hi @RhSilicon 

    Thanks a lot for the detailed reply, very helpful.

    I found that if I set the pedometer to false_positive_rejection mode, after I run/jogged, the number of steps counted was very small. So want to know more detail information how the differences are.

    Since the statistical data are used for the algorithm, do you know if the running is also counted as steps in false_positive_rejection mode?

    RhSiliconAnswer
    Graduate II
    August 2, 2023

    Check if the AN5259 document has this information.

    AN5259:

    The kind of algorithms suitable for the machine learning core are those which can be implemented by following
    an inductive approach, which involves searching patterns from observations. Some examples of algorithms which follows this approach are: activity recognition, fitness activity recognition, motion intensity detection, vibration intensity detection, carrying position recognition, context awareness, false-positive rejection, and so on.

    AN5272:

    STMicroelectronics provides the tools to generate specific pedometer configurations starting from a set of data-
    logs with a reference number of steps (Unico GUI on st.com)

    AN5273:

    Decision tree number 0 (the first one) implements an activity recognition algorithm able to detect three user
    activities (classes): still, walking and running;

    JiabinAuthor
    Graduate
    August 3, 2023

    @niccolò  @RhSilicon 

    Thanks a lot for your kind reply. I have performed an experiment today and got the below results. The dev boards were grasped in my hand, and the smartphone was placed in my pocket. The data are just for your reference.

    I was running for 1 hour the experiment (and there are some walks for temporary rest), seems the default configuration of fp_reject algorithm does not accept fierce activity such as running. 

    Jiabin_0-1691066817076.png

    Best,

    Jiabin

    ST Employee
    August 3, 2023

    Hi @Jiabin ,

    probably the position of the sensor is also involved in the low accuracy, maybe you can try again the test with the board in the pocket to be sure =)
    anyway, remember that you can also tune the algorithm or even try to develop a Machine Learning Core network that is tuned to your running/walking logs to further increase accuracy =)

    also,I think that you can "accept as solution" the answer from @RhSilicon , as he explained well the differences between the different modes =)

    Niccolò

    JiabinAuthor
    Graduate
    August 4, 2023

    Hi, @niccolò @RhSilicon 

    Sure, thanks a lot. For the future version datasheet, it would be very helpful if more detailed information can be disclosed.

    Jiabin

    Graduate II
    August 4, 2023

    Many years ago, I had posted on a forum that Atmel Datasheets were too difficult for novice users. And I also commented that the Datasheet of the Microchip MCU PIC was easier (But Atmel MCUs were pretty good compared to basic PICs). A while later Microchip bought Atmel.

    Perhaps Microchip can give lectures on the didactics used in its product documents :grinning_face_with_sweat:.