cancel
Showing results for 
Search instead for 
Did you mean: 

Difference between each mode of pedometer in LSM6DSOX

Jiabin
Associate II

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!

1 ACCEPTED SOLUTION

Accepted Solutions

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;

View solution in original post

8 REPLIES 8
RhSilicon
Lead

@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)

Jiabin
Associate II

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?

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;

Hi @Jiabin ,

running should be counted as steps even with false positive rejection, but maybe the type of running is slightly different from the one expected by the algorithm.
the algorithm can also be tuned by the user, if needed =)

If this answers your question, please, mark this as "best answer", by clicking on the "accept as solution" to help the other users of the community

Niccolò

Jiabin
Associate II

@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

niccolò
ST Employee

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ò

Jiabin
Associate II

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

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 😅.