
Hello DSP experts,
I have a system that generates a train of pulses and when i put these pulses on top of each other i get something as shown by above image. In the image you can see the pulses are all aligned with each other at most of the places but they are mismatch somewhere between index no 480 to 490. I need to develop an algorithm that detects the indices of highest mismatch in pulses. I tried taking difference of pulses and then integrating the difference but that doesn't work very efficiently.
Your ideas in this regard is highly appreciated.
Thanks

Have you tried correlation on pairs of your pulse streams. I believe it will give a nice peak where the mismatch occurs.

1. Identify the maxima and minima (peak detection). You can also do this with the zero crossings alternatively.
This allows to minimize the time shift. I.e. compare the indices of your first few peaks, to some reference or averaged pulse.
2. With this time adjusted signal, you can calculate a point wise distance function, square of difference or abs of difference. Where that error exceeds some threshold, you find your mismatch.
3. if needed, adjust the index by the time shift established in 1.)

The signal is a time series, a correlation of signals x[0],...,x[479], or x[0],...,x[489] that can be decomposed a time series of random variables X_0,...,X_479, or X_0,...,X_489 to give a stationary signal with a mean, variance and autocovariance. This is common for statistical time series analysis, which should yield a stationary signal with:
Xt = Tt + St + Yt
deterministic trend Tt : linear regression
deterministic seasonal component St
remainder: stationary, mean zero
The trend component, Tt can be approximated as Tt = beta*t + beta_0
Have a look at Time Series Analysis in order to understand how to analyze stationary signals.