Generalized cross-correlation
computes the time delay, tau
= gccphat(sig
,refsig
)tau
, between the signal,
sig
, and a reference signal, refsig
. Both
sig
and refsig
can have multiple channels. The
function assumes that the signal and reference signal come from a single source. To estimate
the delay, gccphat
finds the location of the peak of the cross-correlation
between sig
and refsig
. The cross-correlation is
computed using the generalized cross-correlation phase transform (GCC-PHAT) algorithm. Time
delays are multiples of the sample interval corresponding to the default sampling frequency of
one hertz.
[___] = gccphat(
or sig
)[___]
= gccphat(
returns
the estimated delays and cross correlations between all pairs of channels
in sig
,fs
)sig
. If sig
has M columns,
the resulting tau
and R
have M2 columns.
In these syntaxes, no reference signal input is used. The first M columns
of tau
and R
contain the
delays and cross correlations that use the first channel as the reference.
The second M columns contain the delays and cross-correlations
that use the second channel as the reference, and so on.
[1] Knapp, C. H. and G.C. Carter, “The Generalized Correlation Method for Estimation of Time Delay.” IEEE Transactions on Acoustics, Speech and Signal Processing. Vol. ASSP-24, No. 4, Aug 1976.
[2] G. C. Carter, “Coherence and Time Delay Estimation.” Proceedings of the IEEE. Vol. 75, No. 2, Feb 1987.