Hi, I have got a problem doing 2D normalised cross correlation by FFT. The normal 2D cross correlation seems very time consuming for long signal so I tried to use FFT. I can now get the equal result of cross correlation both by equation and by FFT, but I can not do the normalisation to get the result of FFT equals to the "normxcorr2" from matlab function. Thanks, Sangthong
normalised cross correlation by fft
Started by ●February 26, 2008
Reply by ●February 27, 20082008-02-27
On 26 Feb, 20:58, "sangthong" <sangthong2...@yahoo.com> wrote:> Hi, > > I have got a problem doing 2D normalised cross correlation by FFT. The > normal 2D cross correlation seems very time consuming for long signal so I > tried to use FFT. I can now get the equal result of cross correlation both > by equation and by FFT, but I can not do the normalisation to get the > result of FFT equals to the "normxcorr2" from matlab function. > > Thanks, > SangthongThere is no reason why the FFT should produce a normalized result: http://groups.google.no/group/comp.dsp/msg/d184833f2fa03ee7 Rune
Reply by ●February 27, 20082008-02-27
>There is no reason why the FFT should produce a normalized result: > >http://groups.google.no/group/comp.dsp/msg/d184833f2fa03ee7 > >Rune >Hi, Thank you for your comment, but when one of the two signal is very short in length it seems the result is incorrect in terms of peak location. In the normal cross correlation, I can do the normalisation in one dimension by hand and in two dimension there is a function "normscorr2" in matlab to do the normalization, but that takes very long time to run the programme, or sometimes it can't even run because of memory consuming. So I want to try the normalisation with the FFT, which may be faster. thanks, Sangthong
Reply by ●February 28, 20082008-02-28
On 27 Feb, 23:22, "sangthong" <sangthong2...@yahoo.com> wrote:> >There is no reason why the FFT should produce a normalized result: > > >http://groups.google.no/group/comp.dsp/msg/d184833f2fa03ee7 > > >Rune > > Hi, > > Thank you for your comment, but when one of the two signal is very short > in length it seems the result is incorrect in terms of peak location.Hardly surprising. When the reference signal is short, the likelihood of some 'false' section of data matching it becomes large.> In > the normal cross correlation, I can do the normalisation in one dimension > by hand and in two dimension there is a function "normscorr2" in matlab to > do the normalization, but that takes very long time to run the programme,Of course it does. The reason is what I explained in the post at the end of the link: One has to normalize each element individually. Rune