Accelerometer signal segmentation
![alt text][1]

I have a 1D accelerometer signal (one axis only). I would like to create a robust algorithm, which would be able to recognize some shapes in the signal. 

At first I apply a moving average filter to the raw signal. On the attached picture the raw signal is coloured red and the averaged signal is black. As seen from the picture, some trends are visible from the averaged (black) signal - the signal contains 10 repetitions of a peak like pattern, where acceleration climbs to a maximum and then drops back down. I have marked the beginnings and endings of those patterns with a violet cross.

So my goal is to find the marked positions automatically. The problem making the pattern extraction difficult are:
- the start of the pattern could have a different y value than the end of the pattern
- the pattern could have more than one peak
- I do not have any concrete time information (from start to the end of the pattern it takes A time units)

I have tried different approaches, which are pretty much home-brew, so I won't mention them - I don't want you to be biased by my way of thinking. Are there some standard or by the books approaches for doing that kind of pattern extraction? Or maybe does anyone know how to tackle the problem in a robust way?

Any idea will be appreciated.


  [1]: http://i.stack.imgur.com/Qss9O.png
Accelerometer signal segmentation
===

![alt text][1]

I have a 1D accelerometer signal (one axis only). I would like to create a robust algorithm, which would be able to recognize some shapes in the signal. 

At first I apply a moving average filter to the raw signal. On the attached picture the raw signal is coloured red and the averaged signal is black. As seen from the picture, some trends are visible from the averaged (black) signal - the signal contains 10 repetitions of a peak like pattern, where acceleration climbs to a maximum and then drops back down. I have marked the beginnings and endings of those patterns with a violet cross.

So my goal is to find the marked positions automatically. The problem making the pattern extraction difficult are:
- the start of the pattern could have a different y value than the end of the pattern
- the pattern could have more than one peak
- I do not have any concrete time information (from start to the end of the pattern it takes A time units)

I have tried different approaches, which are pretty much home-brew, so I won't mention them - I don't want you to be biased by my way of thinking. Are there some standard or by the books approaches for doing that kind of pattern extraction? Or maybe does anyone know how to tackle the problem in a robust way?

Any idea will be appreciated.


  [1]: http://i.stack.imgur.com/Qss9O.png