<p>The different methods you present are multiplications in the frequency domain and as such they are filters in time domain. The purpose of time-domain filters are to reduce the influence of off-band noise.</p>
<p>As I was myself interested in the differences and I'm working exactly on the same problem (multi-channel delay estimation) I applied the four methods and got the following picture
<a href="https://i.sstatic.net/MWBM9.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/MWBM9.png" alt="enter image description here" /></a></p>
<p>with exception of the plain CC all weighted methods are sharper with more or less similar noise levels.</p>
<p>The x-axis are samples and the data are from underwater recordings of a cetacean click recorded on two closely spaced hydrophones</p>
<p>Edit: The purpose of of methods (with exception of the CC method) is to  pre-whiten the noise (flatten the spectrum), so one could conclude:</p>
<ul>
<li>CC: noise spectrum is already flat, no further action required</li>
<li>Roth: both channels have same power spectra</li>
<li>SCOT: both channels have different power spectra</li>
<li>PHAT: effectively whitens the cross spectra (seems to be an ad-hoc method simplifying the Maximum Likelihood method).</li>
</ul>
<p>Literature states that Roth and SCOT methods broaden the correlation peak, but this is very much likely a statement for (wide-sense-stationary) noise signals, as I cannot see this for the cetacean clicks shown in above picture.</p>
<p>Edit: while the peak in picture seems sharper for all but CC, the variability of the peak location is worse for all but CC. This means, that while peak is sharp, the location of the peak is uncertain, consistent with the widening aspect talked about in the literature.</p>
<p>Final selection will has to consider signal and background noise characteristics. Widely spaced sensors will have different background noise and uncorrelated signals, but closely spaced sensors will very likely only differ  by time delay (phase shifts).</p>
<p>For my underwater click direction finding, the CC method (no spectral weighting) performs best. Worst is the Roth method, COTS and PHAT are slightly worse than CC as seen in following picture
<a href="https://i.sstatic.net/L7EXE.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/L7EXE.png" alt="enter image description here" /></a></p>
<p>In the top panel, which shows the azimuth the different methods are separated by 20 deg. for the elevation angle (bottom panel) the methods are separated by 10 deg. The x axis indicates seconds. The slow variations are due to sensor and animal movements.</p>

CC BY-SA 4.0
2022-08-27T20:52:45.807Z
Hi @wmxz, great illustration of the consequences of the various gcc windows. However, the question focusses on the use-cases for each of the windows types - it'd be great if you could shed light on that (why would one use a vs b for example).
Thejasvi
CC BY-SA 4.0
2022-08-27T19:28:01.157Z
2022-08-28T12:14:49.470Z
2022-08-28T12:14:49.470Z
WMXZ
<p>I'm trying to use the generalised cross-correlation (GCC) to find time-difference esimates acoss my multi-channel data. I also understand that there are multiple types of GCC (PHAT, SCOT, Roth, Hanan-Thomson/Max. Likelihood) - which are basically different windows applied before the inverse FFT is applied.</p>
<p>I've empirically noticed there is some difference in how much each of these GCC types affects peak detection - and have also read each of the types is best for a particular type of audio situation (refs: <a href="https://dsp.stackexchange.com/a/8746/37972">Sig Proc SE</a>). Most of the papers I've found study the effect of one or the other types, or describe the types and compare them for their audio data, or list out the window functions for each type. A table (from 1) with the window functions is pasted below:</p>
<p><a href="https://i.sstatic.net/BwOB4.png" rel="noreferrer"><img src="https://i.sstatic.net/BwOB4.png" alt="enter image description here" /></a>
<em>CC: cross-correlation, SCOT: Smoothed Coherence Transform, PHAT: Phase Transform</em></p>
<p>Could someone provide a broad explanation of when to use each of the types?</p>
<ol>
<li>Chen, L., Liu, Y., Kong, F., &amp; He, N. (2011). Acoustic source localization based on generalized cross-correlation time-delay estimation. Procedia engineering, 15, 4912-4919.</li>
</ol>

<localisation><signal-detection><signal-processing>
Difference between GCC 'flavours'?
# Difference between GCC 'flavours'?

(Asked by: username_0 on 2022-08-27)

I'm trying to use the generalised cross-correlation (GCC) to find time-difference esimates acoss my multi-channel data. I also understand that there are multiple types of GCC (PHAT, SCOT, Roth, Hanan-Thomson/Max. Likelihood) - which are basically different windows applied before the inverse FFT is applied.

I've empirically noticed there is some difference in how much each of these GCC types affects peak detection - and have also read each of the types is best for a particular type of audio situation (refs: [Sig Proc SE](https://dsp.stackexchange.com/a/8746/37972)). Most of the papers I've found study the effect of one or the other types, or describe the types and compare them for their audio data, or list out the window functions for each type. A table (from 1) with the window functions is pasted below:

[![enter image description here](https://i.sstatic.net/BwOB4.png)](https://i.sstatic.net/BwOB4.png)
*CC: cross-correlation, SCOT: Smoothed Coherence Transform, PHAT: Phase Transform*

Could someone provide a broad explanation of when to use each of the types?

1. Chen, L., Liu, Y., Kong, F., & He, N. (2011). Acoustic source localization based on generalized cross-correlation time-delay estimation. Procedia engineering, 15, 4912-4919.

**Tags:** localisation, signal-detection, signal-processing


---

## 1 answers

### Answer by username_1 on 2022-08-27. Score: 6 | Accepted answer

The different methods you present are multiplications in the frequency domain and as such they are filters in time domain. The purpose of time-domain filters are to reduce the influence of off-band noise.

As I was myself interested in the differences and I'm working exactly on the same problem (multi-channel delay estimation) I applied the four methods and got the following picture
[![enter image description here](https://i.sstatic.net/MWBM9.png)](https://i.sstatic.net/MWBM9.png)

with exception of the plain CC all weighted methods are sharper with more or less similar noise levels.

The x-axis are samples and the data are from underwater recordings of a cetacean click recorded on two closely spaced hydrophones

Edit: The purpose of of methods (with exception of the CC method) is to pre-whiten the noise (flatten the spectrum), so one could conclude:

* CC: noise spectrum is already flat, no further action required
* Roth: both channels have same power spectra
* SCOT: both channels have different power spectra
* PHAT: effectively whitens the cross spectra (seems to be an ad-hoc method simplifying the Maximum Likelihood method).

Literature states that Roth and SCOT methods broaden the correlation peak, but this is very much likely a statement for (wide-sense-stationary) noise signals, as I cannot see this for the cetacean clicks shown in above picture.

Edit: while the peak in picture seems sharper for all but CC, the variability of the peak location is worse for all but CC. This means, that while peak is sharp, the location of the peak is uncertain, consistent with the widening aspect talked about in the literature.

Final selection will has to consider signal and background noise characteristics. Widely spaced sensors will have different background noise and uncorrelated signals, but closely spaced sensors will very likely only differ by time delay (phase shifts).

For my underwater click direction finding, the CC method (no spectral weighting) performs best. Worst is the Roth method, COTS and PHAT are slightly worse than CC as seen in following picture
[![enter image description here](https://i.sstatic.net/L7EXE.png)](https://i.sstatic.net/L7EXE.png)

In the top panel, which shows the azimuth the different methods are separated by 20 deg. for the elevation angle (bottom panel) the methods are separated by 10 deg. The x axis indicates seconds. The slow variations are due to sensor and animal movements.

> **Comments:**
> **username_0**: Hi @username_1, great illustration of the consequences of the various gcc windows. However, the question focusses on the use-cases for each of the windows types - it'd be great if you could shed light on that (why would one use a vs b for example).  

---

