Delay estimation using cross correlation

In summary: I stand corrected. I forgot about the setup described in post #3. Assuming that his sensors have delays less than one wave time, he should be...able to detect delays up to the number of cycles in the original signal.
  • #1
nauman
91
4
Hi

Suppose there are two continuous signals of same frequency say 4 KHz. The time corresponding to its one cycle is around 250 us. If we delay one signal by 4010 us (i.e >> one cycle delay), can we use cross correlation techniques to estimate this delay accurately?

Thanks
 
Physics news on Phys.org
  • #2
We need to be careful here. If you said that the delay of a 4 KHz signal was 4000, then there would be no way to distinguish that from a zero delay or from any delay of multiple of 1/4,000 = 250 us.
Since you specified 4010 rather than 4000, that delay could be detected if extreme accuracy was possible. But there are many shorter delays that would be very close to a perfect match. So there is a question of whether the algorithms you use apply a tolerance that would make it appear that a shorter delay is close enough to give for the answer. The presence of any noise would make the calculation much trickier.
 
  • #3
FactChecker said:
But there are many shorter delays that would be very close to a perfect match. So there is a question of whether the algorithms you use apply a tolerance that would make it appear that a shorter delay is close enough to give for the answer. The presence of any noise would make the calculation much trickier.
These two signals are from two sensors which are some distance apart and the delays estimated using cross correlation will be utilised for bearing estimation. I am stuck here how to proceed? According to literature, bearing estimation using delay measurements is a standard technique being used.
 
  • Informative
Likes FactChecker
  • #4
nauman said:
These two signals are from two sensors which are some distance apart and the delays estimated using cross correlation will be utilised for bearing estimation. I am stuck here how to proceed? According to literature, bearing estimation using delay measurements is a standard technique being used.
I see. Then you will just have to be very accurate in the calculations and have enough data to minimize the influence of noise.
 
  • #5
FactChecker said:
I see. Then you will just have to be very accurate in the calculations and have enough data to minimize the influence of noise.
Yes you are right that noise will have to be catered.
However, what about delays which are greater than one cycle length?
As I have understood so far, cross correlation techniques can measure only those delays accurately which are less than one cycle length in case of single frequency signals. Am i right in my understanding?
 
  • #6
In theory, with unlimited data and accuracy and a sample frequency small enough, the cross-correlation will be greatest at the correct delay. Of course, there is no way to distinguish it if the delay is an exact number of wavelengths since the signals will overlay.
 
  • #7
FactChecker said:
In theory, with unlimited data and accuracy and a sample frequency small enough, the cross-correlation will be greatest at the correct delay. Of course, there is no way to distinguish it if the delay is an exact number of wavelengths since the signals will overlay.
I disagree with this. A delay of larger than one oscillation period (i.e., the signal wavelength is shorter than the sensor spacing) results in a sort of spatial aliasing. You can no longer unambiguously determine delay absent further assumptions.

On the other hand, if you know more information about the wave being measured you can sometimes "de-alias" the signal and get an answer. The problem there is generalizing it.
 
  • #8
boneh3ad said:
I disagree with this. A delay of larger than one oscillation period (i.e., the signal wavelength is shorter than the sensor spacing) results in a sort of spatial aliasing. You can no longer unambiguously determine delay absent further assumptions.
Yes. I think that is what I was trying to say.
boneh3ad said:
On the other hand, if you know more information about the wave being measured you can sometimes "de-alias" the signal and get an answer. The problem there is generalizing it.
He knows that both the original and the delayed signal are 4 KHz. In that case, I don't see how he can detect an additional delay of any multiple of that wavelength unless he has subject matter knowledge that limits the delay.
 
Last edited:
  • #9
FactChecker said:
Yes. I think that is what I was trying to say.

He knows that both the original and the delayed signal are 4 KHz. In that case, I don't see how he can detect an additional delay of any multiple of that wavelength unless he has subject matter knowledge that limits the delay.
One example is if you know the wave speed should fall in some range that lets you narrow down  which multiple.
 
  • Like
Likes FactChecker
  • #10
boneh3ad said:
One example is if you know the wave speed should fall in some range that lets you narrow down  which multiple.
I stand corrected. I forgot about the setup described in post #3. Assuming that his sensors have delays less than one wave time, he should be able to determine the delay due to the distance and use the cross-correlation to correctly determine the delay.
 
  • #11
FactChecker said:
I stand corrected. I forgot about the setup described in post #3. Assuming that his sensors have delays less than one wave time, he should be able to determine the delay due to the distance and use the cross-correlation to correctly determine the delay.
Yeah my point is extremely context-specific and requires a level of context awareness that usually doesn't exist.

Also, even the situation where a wave has a wavelength between 1 and 2 times the spacing of the sensors has contextual assumptions baked in. That assumes a wave propagation direction. In situations where you do not know which direction the wave travels, you need to have a wavelength at least 2 times the sensor spacing to unambiguously determine delay/speed.
 
  • Like
Likes FactChecker

FAQ: Delay estimation using cross correlation

What is delay estimation using cross-correlation?

Delay estimation using cross-correlation is a technique used to determine the time delay between two signals. By calculating the cross-correlation function of the two signals, the time shift that maximizes the correlation can be identified, which corresponds to the delay between the signals.

How does cross-correlation help in estimating the delay between signals?

Cross-correlation measures the similarity between two signals as a function of the time-lag applied to one of them. By identifying the time-lag that maximizes the cross-correlation function, we can estimate the delay between the signals. This maximum point indicates the time shift where the signals are most aligned.

What are the common applications of delay estimation using cross-correlation?

Common applications include time synchronization in communication systems, source localization in acoustic and seismic signal processing, echo detection in radar and sonar systems, and speech processing for aligning audio signals.

What are the limitations of delay estimation using cross-correlation?

Limitations include sensitivity to noise, which can affect the accuracy of the delay estimation, and the assumption that the signals have similar frequency content. Additionally, if the signals have multiple similar features, cross-correlation may produce ambiguous results with multiple peaks.

How can the accuracy of delay estimation be improved?

Accuracy can be improved by preprocessing the signals to reduce noise, using windowing techniques to focus on specific signal segments, applying filtering to enhance relevant frequency components, and employing more sophisticated algorithms like generalized cross-correlation with phase transform (GCC-PHAT) to handle noisy environments.

Similar threads

Back
Top