From: dlh on
Hi,

I have implemented cross-correlation using FFT's. Is
it possible to to normalised cross-correlation with FFT's?

If so, how? Sorry if it is a basic question - but I haven't
found a solution.

Thanks in advance..


From: Rune Allnor on
On 16 Mar, 13:07, "dlh" <danhordern(a)n_o_s_p_a_m.hotmail.com> wrote:
> Hi,
>
> I have implemented cross-correlation using FFT's. Is
> it possible to to normalised cross-correlation with FFT's?
>
> If so, how? Sorry if it is a basic question - but I haven't
> found a solution.

Apart from keeping a sharp eye on the various scaling constants
involved in the FFT and correlation estimator, you might want
to scale the input data to unit norm:

xx = x/norm(x);
yy = y/norm(y);

and then compute the correlation between xx and yy.

Rune
From: Dirk Bell on
On Mar 16, 8:14 am, Rune Allnor <all...(a)tele.ntnu.no> wrote:
> On 16 Mar, 13:07, "dlh" <danhordern(a)n_o_s_p_a_m.hotmail.com> wrote:
>
> > Hi,
>
> > I have implemented cross-correlation using FFT's. Is
> > it possible to to normalised cross-correlation with FFT's?
>
> > If so, how? Sorry if it is a basic question - but I haven't
> > found a solution.
>
> Apart from keeping a sharp eye on the various scaling constants
> involved in the FFT and correlation estimator, you might want
> to scale the input data to unit norm:
>
> xx = x/norm(x);
> yy = y/norm(y);
>
> and then compute the correlation between xx and yy.
>
> Rune

That makes the assumption that all of each signal is involved in the
calculation for each offset. Often not true.

Dirk
From: Rune Allnor on
On 16 Mar, 15:13, Dirk Bell <bellda2...(a)cox.net> wrote:
> On Mar 16, 8:14 am, Rune Allnor <all...(a)tele.ntnu.no> wrote:
>
>
>
>
>
> > On 16 Mar, 13:07, "dlh" <danhordern(a)n_o_s_p_a_m.hotmail.com> wrote:
>
> > > Hi,
>
> > > I have implemented cross-correlation using FFT's. Is
> > > it possible to to normalised cross-correlation with FFT's?
>
> > > If so, how? Sorry if it is a basic question - but I haven't
> > > found a solution.
>
> > Apart from keeping a sharp eye on the various scaling constants
> > involved in the FFT and correlation estimator, you might want
> > to scale the input data to unit norm:
>
> > xx = x/norm(x);
> > yy = y/norm(y);
>
> > and then compute the correlation between xx and yy.
>
> > Rune
>
> That makes the assumption that all of each signal is involved in the
> calculation for each offset.  Often not true.

Sure. But if you want to use the FFT to compute the normalized
correlation, there aren't too many alternatives.

Rune
From: steve on
On Mar 16, 8:07 am, "dlh" <danhordern(a)n_o_s_p_a_m.hotmail.com> wrote:
> Hi,
>
> I have implemented cross-correlation using FFT's. Is
> it possible to to normalised cross-correlation with FFT's?
>
> If so, how? Sorry if it is a basic question - but I haven't
> found a solution.
>
> Thanks in advance..

you just encountered one of several limitations of using FFT for CC,
promises so much, then disappointment :)