views:

108

answers:

5

A project I'm researching requires some numerical pattern matching. My searches haven't turned up many relevant hits since most results tend to be around text pattern matching. The idea is we'll have certain wave patterns we'll need to be watching for and trying to match incoming data vs the wave database we will be building. Here is and example of one of the wave patterns we'll need to be matching against.

alt text

There is clearly a pattern there, but the peaks will not have the exact same values, but the overall shape of the wave iterations will be very similar. Does anyone have any advice on how to go about storing and later matching these patterns, and / or other search terms I can use to find more information on the subject of pattern matching?

Thanks, Tim.

+3  A: 

Check about (Discrete) Fourier Transform, which can extract the frequency of a time series.

(And Excel has built-in Fast Fourier transform function.)

KennyTM
Fourier Transforms work well only when the period of the waves is constant.
Jay Elston
A: 

You should start reading about correlation.

The easiest thing to start with would be Linear Correlation, but get a good statistics book. Visual Statistics seems to be a very good start.


I know that there is a Visual Studio Statistical Analysis package, but I can't find further information right now.


Depending on your exact requirements, you might want to look into R programming language, which is specifically designed for statistical analysis, and/or the SciPy Python library

You do seem to have a simple two variable linear correlation, if instead of showing a timeline, you do a scatter plot with X being Series1 and Y being Series2, you'll see a packed cloud of points with a downward slope. That is a linear correlation.

voyager
A: 

Have you looked at Wavelets?

Jay Elston
+3  A: 

FFT is useful for general analysis of the data sequence.

If you need to correlate sequences, then phase correlation is much more efficient than linear correlation. The wikipedia example is for a 2D image-analysis, but it can be used in 1D as well.

Ernelli
A: 

I think you will find it much easier to spot such patterns in a time frequency representation of your signal rather than trying to use Fourier analysis directly. I did my PhD on a similar problem in the context of diffraction data. The software I used is available here.

Jon Harrop