0

I have multiple signals (1-dim. arrays) that are similar as depicted on the image example of 2 similar signals. The signals are circulary shifted. I'm searching for a way to align similar signals without comparing them. In a way, I am searching for hash function, which takes the signal and uses its features to shift it.

Naive solution for illustration: find the maximum value of the signal and shift it so, that the maximum value is on position 0.

Because signals are not the same the naive solution is not robust, therefore I'm searching for an alternative.

Thank you!

gntr
  • 1
  • What exactly constitutes comparing them? And could you define what a hash function is in this context? To me, the simplest approach would be the cross-correlation, but I don't know if that constitutes a comparison. – AnonSubmitter85 Dec 29 '16 at 21:13
  • Similar signals should be aligned simillary. Only one signal is known when aligning, therefore no comparison is possible. "hash function" would have to use some attributes of the input signal to shift it to a specific location. Similar signals, with similar features would then be shifted to the same position. If you consider the naive solution above, the signals are positioned according to the max value (feature). The output of the "hash function" is the shift necessary to reach the position. is – gntr Dec 29 '16 at 21:56
  • Do you have or can you build up a database/library/hash of signals? For instance, correlate the input with the current library of reference signals. If highly correlated with one, then shift by some amount associated with that reference signal. Otherwise, add the input signal to the database. Other ideas are to choose some finite number of statistics (mean, variance, skewness, kurtosis, ...) or fit each to some family of polynomials and look for similar coefficients. It's hard to say without some prior knowledge on the possible inputs. – AnonSubmitter85 Dec 29 '16 at 22:45
  • Another possibility is something like wavelet feature extraction. But again, without knowing more, it's hard to give specific suggestions. Good luck. – AnonSubmitter85 Dec 29 '16 at 22:47
  • I have a large database of signals and i would like to avoid the need to make shift invariant comparisons with every signal in the database. "hashmal shifting" would only require me to make one shift and then compare the shifted signal with preshifted signals in the database. Since the similar signals would shift into the same locations a simple, not shift invariant comparison could later be applied. I hope thet clears it up :), Thanks for the help. – gntr Dec 30 '16 at 07:25

0 Answers0