O que fiz foi o seguinte:
1 - gravei os dados do acelerômetro fazendo a movimentação que eu pretendia.
2 - peguei esses dados e joguei no excel para gerar um gráfico.
3 - identifiquei no gráfico os dados referentes àquele movimento, no meu caso eram passos de caminhada, então o gráfico eram parábolas, subindo e descendo, como uma frequência. Entendi que se criar um algoritmo que identifica o pico e o vale dessa frequência, eu tenho o meu padrão e executo a ação necessária.
Foi basicamente isso que fiz, mas no meu caso, o reconhecimento do padrão é contínuo, a fim de detectar cada passo. Havia também a posição ideal do celular no corpo, a média da variação para ser classificada como passo, pois qualquer movimento faz o gráfico subir e descer, o que não necessariamente quer dizer que faz parte do padrão. Eu também identifiquei ruídos nos dados, mas não afetou significativamente no resultado.
PS: só precisei de dados de apenas um sensor do acelerômetro, o resto eu descartei, mas provavelmente você precise trabalhar com 2 ou 3, nesse caso você, talvez você precise identificar os padrões nos sensores e ainda verificar se ocorreram no momento certo, ex: se o padrão ocorreu em um sensor e também ocorreu no outro em momentos diferentes, apesar de ser o padrão correto, não é o movimento correto, o certo é reconhecer os dois no tempo devido.