Forgive me if this question is poorly worded, I'm not sure if centroid is the word to use here.
Say I want to interpolate the peak of a cross-correlation function in order to get sub-sample delays. I can fit a parabola with three points, or simply upsample my signal through zero-padding/sinc-interpolation. However, I haven't seen any comments (or found any literature) on using some sort of weighted average on the main peak.
In case it's unclear, i mean performing the following:
- Finding the maximum of the cross-correlation in order to get a coarse estimate. $$ \hat{D} = argmax(R_{12}) $$
- Taking the P nearest neighbors (where [-P,P] corresponds to the central peak area) and doing the following fine estimate
$$ \hat{d} = \frac{\sum_{k =-P}^P kR_{12}(k)}{\sum_{k=-P}^PR_{12}(k)} $$
I've tested it for a gaussian distributed, infinite snr signal, critically sampled (so peak is only three samples. Centroid, (yellow) versus some sinc interpolation (purple) and parabolic fitting (orange), and it seems to offer good performance.
It appears to have less maximum bias, despite the discontinuity. I also tested it with noise and the results were also okay. I get that this requires knowledge of the signal A.C.F. beforehand whereas fitting a parabola doesn't, but is there any other reason why this method is not seen in the literature?
Either way, I'm finding it somewhat advantageous in my application (also not sure wh), so I would like to read some more formal studies or descriptions of the technique. My background is not signal processing, so I'm afraid I'm overlooking some severe shortcoming.
NOTE: I also tested the mean-square error. It seems to perform much worse there,
but as I said, for my use case it seems to perform well. . (The black line is the cramer-rao lower bound. Not sure why the parabola goes below it, probably because it's a biased estimator...)
EDIT: Signal example of the application (this picture has quite a lot of distortion of the delayed signal, but it's what I have at hand currently).