You are reading a single comment by @HughB and its replies. Click here to read the full conversation.
  • The LPF we used in the existing algorithm is actually quite good. A previous filter suffered from lots of ringing. So one step would generate 4-5 echo steps.

    The existing algorithm uses the Magnitude of the accelerometer signal. This SQRT(x*x + y*y + z*z). Many designs use the Magnitude method as it means you dont have to worry about the orientation of the device - eg held flat.

    One article I read showed a process of dealing with the x,y,z signals seperately, then passing them through an LPF and them making a decision what was going on. For example when driving one of the directions (y) will show acceleration and deceleration due to the car moving forward, another z will be impacted by bumps in the road at random points, x will be impacted when moving the steering wheel. I am not sure how the accelerometer chip knows its orientation (unless it has built in gyros). So for example what if you wore the watch strap around you knuckles. Does that mean that x,y,z swap round.

    BTW - what device are you using to experiment with algorithms - is it a mobile phone ? Be aware that sampleing frequency of the Bangle accelerometer is about 12.5Hz. I read a paper that suggest you should use 100hz and that accuracy at 20Hz was poor. I am told by Gordon that 100Hz would plave too much load on the Bangle though.

  • The existing algorithm uses the Magnitude of the accelerometer signal. This SQRT(x*x + y*y + z*z). Many designs use the Magnitude method as it means you dont have to worry about the orientation of the device - eg held flat.

    My current best versions use only the component which has changed most since the previous sample.

    I am not sure how the accelerometer chip knows its orientation

    I don't believe the accelerometer does know its orientation, and the watch will be getting turned this way and that while walking and especially running. Other algorithms use a separate gyroscope to determine orientation and then use just the Z component, which best corresponds to a running motion. I thought that the Bangle had a gyroscope but looking through the reference I can't find it, so I may have misremembered (possibly because I've also been reading about the Puck?).

    Edit: It says here it has "device orientation algorithms" https://www.kionix.com/product/KX022-102­0

    BTW - what device are you using to experiment with algorithms

    Actually, I'm just using the data in the two test harness git repos. I didn't check all of them, but I assume they're all as 12.5 Hz. I haven't noticed any papers using as high as 100 Hz, but I did see quite a few use up to 50 Hz. I could use a phone for testing I suppose, but from what I've read the difference between a phone in a pocket and a wrist-based device are large.

About

Avatar for HughB @HughB started