DSPRelated.com
Forums

cross correlation and time delay

Started by Nikhil Eswaran July 6, 2006
Hello all,

I am new to MATLAB and even newer to signal processing. I am doing some work
on Time delay estimation. I have a few questions which I hope some of you
would be able to help me with,

As of now I am experimenting with random signals generated by a signal
analyser. I have been told that the cross correlation is not feasible when
applied to periodic signals ( e.g sine waves). Is this correct?

Also, how can I apply the Hilbert Transform for cross correlation? Can this
be done in MATLAB?

I hope you can clarify my doubts.

Many Thanks once again.

Regards,
Nikhil-

> I am new to MATLAB and even newer to signal processing. I am doing some
> work
> on Time delay estimation. I have a few questions which I hope some of you
> would be able to help me with,
>
> As of now I am experimenting with random signals generated by a signal
> analyser. I have been told that the cross correlation is not feasible
> when applied to periodic signals ( e.g sine waves). Is this correct?

In general this is correct -- you can only find delay up to one period,
beyond that you might have an "aliased" result. If the periodic signal
decays or otherwise changes amplitude over a long time then results might
be acceptable.

> Also, how can I apply the Hilbert Transform for cross correlation?

Please clarify? A Hilbert transform is not used to calculate correlation
or convolution results... it's typically used when a phase shifted
representation of a waveform is needed.

-Jeff
Assalamo Alykom,
Actually I am afraid I wont be useful for you about the cross correlation point but I may tell you how can you make the cross correlation and the Hilbert transform

CROSSCORR Compute or plot sample cross-correlation function.
Compute or plot the sample cross-correlation function (XCF) between
univariate, stochastic time series. When called with no output arguments,
CROSSCORR displays the XCF sequence with confidence bounds.

HILBERT Discrete-time analytic signal via Hilbert transform.
X = HILBERT(Xr) computes the so-called discrete-time analytic signal
X = Xr + i*Xi such that Xi is the Hilbert transform of real vector Xr.
If the input Xr is complex, then only the real part is used: Xr=real(Xr).
If Xr is a matrix, then HILBERT operates along the columns of Xr.

You may try what you doubt about and get sure whether it has a reasonable physical meaning or not

Wish It could help ,
Ahmad El-Saeed

---------------------------------

From: m... [mailto:m...] On Behalf Of Nikhil Eswaran
Sent: Wednesday, July 05, 2006 8:38 PM
To: m...
Subject: [matlab] cross correlation and time delay

Hello all,

I am new to MATLAB and even newer to signal processing. I am doing some work on Time delay estimation. I have a few questions which I hope some of you would be able to help me with,

As of now I am experimenting with random signals generated by a signal analyser. I have been told that the cross correlation is not feasible when applied to periodic signals ( e.g sine waves). Is this correct?

Also, how can I apply the Hilbert Transform for cross correlation? Can this be done in MATLAB?

I hope you can clarify my doubts.

Many Thanks once again.

Regards,