How to recognize patterns in an analog waveform?

In summary, if you are looking for specific information in a signal then there are many ways to find it. If you are just looking for a general idea of what is in the signal then the simpler techniques will work.f
  • #1
Hi All

As the title of this thread suggest, I am looking for ways to recognize patterns in an analog waveform. Well the obvious answer to this question is use Artifical Neural Network (ANN) as ( from the text on google) its been used for pattern recognition and all sorts of stuff. I've been trying to learn about these ANNs for the past week and trust me all the literature kind of put me off :devil:

So, I need your expert advise on how I could possible recognize patterns in an analog waveform. At this point in my project I am not sure what exactly I would be serching for in the waveform but it would certainly be things like :
1) Delta Y ( to reach first maxima/minima in the waveform)
2) Slew rate to first maxima/minima
3) Maximum Delta Y
4) Delta X
5) Delta X to reach first maxima/minima
and so on...

Any advise ( especially on anything other than ANN) would be greatly appreciated.
Thanks :smile:
  • #2

My thoughts:

If you are just looking for minimum/maximum, derivatives (slew rates), or even spectral content then the problem is simple. You just sample the signal for a certain amount of time and write algorithms that go through the data and pick out those quantities.

If you know what signal you are looking for (say a certain radio signal or a signal for which the characteristics (mainly frequency) are known) then there is plenty of literature and techniques on how to pick it out of the noise.

If you want to take a noisy analog signal and say "Is there any patterns here" then the problem is much more difficult. I don't know that much about it, but I have done a little bit of AI type work and would say a SOM (self organizing map) may be your best bet.
  • #3
Any true "pattern" is repeating and will result in a harmonic component - an FFT type analysis would be the first choice.

Based on the cases you provide - you have Max/Min (OK) , for max slew, used the same max min function after a differentiation function - etc.

If you are looking for a particular pattern - for example a square wave superimposed on a sine wave - the FFT will show the effect, but the analysis is more difficult.

If you are looking for "any" pattern in "any" random analog signal - well people work their whole lives on this.
  • #4
If you know and can generate the pattern you are looking for then cross correlation against the incoming signal would be a possible answer. You can also look at the autocorrelation of the incoming signal, which would tell you how near 'random' the signal is - by giving you a single 'spike'.

Suggested for: How to recognize patterns in an analog waveform?