Not sure if this is the right place for my question but let me give it a try. I have a very simple analog sensor (piezo transducer) which is attached to a microcontroller. I'm using this sensor to detect gestures (hand movements). The mCU sends the sensor data to my PC where I'm running a simple application that plots the data to a graph. In this graph the human eye and brain can recognize easily which gesture is present on the graph, but, of course, the computer has to recognize it as well.

I'm looking for an algorithm or at least a starting point I can detect these gestures. I'm very new to this field so any advice or information would be a great help.

Here you can see a sample screenshot of the graph with two different gestures:

Gesture detection using piezo sensor

Feel free to set the correct tags for this question.


1 Answer 1


You can use a matched filter. Average all the gesture 1's and that's your filter. Do the same for however many gestures you have and you will effectively have a bunch of filters. Run the data through those filters in parallel and then you will need a decision threshold that indicates yes/no if that gesture is detected.

It should look something like this:

enter image description here

  • $\begingroup$ These curves can be wider, thinner, smaller or bigger. It depends on the person who makes the gestures. But the curves always look the same for the human eye. Would matched filter be able to handle these scenario? $\endgroup$
    – papaiatis
    Commented Jan 28, 2014 at 7:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.