You are reading a single comment by @HughB and its replies. Click here to read the full conversation.
  • I think it's possible that just raising stepCounterThreshold to maybe 1500, lowering >>STEPCOUNTERHISTORY to 2 and STEPCOUNTERHISTORY_TIME to 40ish might actually have a >>pretty good effect.

    I'm not convinced based on my observations about the ringing.

    Tuning the thresholds is quite tricky as I briefly experimented with taking out the filter.

    It would be good to know how much amplication the convolve() function gives. If the input is -128 to +127, what is the expected output range. How do you scale it back to the -128 to +127 range.

    Another thought I have had is PEAK detection. You then just need 3 points A B C where B > C AND and B > A to detect a PEAK. You would have to take off the clipping though otherwise you get a plateau. The advantage of PEAK detection is that you dont need to worry about setting a threshold for that part. However you do need to determine a band in which you say any magnitude M between -X and +X is considered to be too weak to be walking. I would suggest a good start for that band is -50 to +50. These are the max/min values that I observe for raw_clipped when I lift my hand to rub my hair and drop it back to my side. These are clearly not working values for walking which will be much higher.

      var m = a.mag;
      var v = ((m-1)*8192)>>5;
       var raw_clipped = E.clip(v, -128, 127);
    

    I might try PEAK detection and removing the filter once I understand how to scale the output of convolve().

About

Avatar for HughB @HughB started