MF_xcorr MD_xcorr ME_xcorr
FunktionRäumliche Kreuzkorrelationsfunktion
Syntax C/C++#include <MFstd.h>
void MF_xcorr( fMatrix MC, fMatrix MA, fMatrix MB, ui ht, ui len );
C++ MatObj#include <OptiVec.h>
void matrix<T>::xcorr( const matrix<T>& MA, const matrix<T>& MB );
Pascal/Delphiuses MFstd;
procedure MF_xcorr( MC, MA, MB:fMatrix; ht, len:UIntSize );
BeschreibungDie räumliche Kreuzkorrelationsfunktion (engl.: spatial cross-correlation function, SCCF) von MA und MB wird in MC in der folgenden Weise gespeichert: Die Zeilenelemente MCi,0 bis MCi,len/2-1 enthalten die SCCF für 0 und für positive x-Verschiebungen. Beginnend mit der größten negativen Verschiebung in MCi,len/2+1 enthalten die Elemente bis zu MCi,len-1 die SCCF für negative Verschiebungen. Da diese Funktion MA und MB als periodisch annimmt, ist die SCCF für die größte positive Verschiebung gleich der SCCF für die größte negative Verschiebung und wird als MCi,len/2 gespeichert.
In ähnlicher Weise enthalten die Spaltenelemente MC0,j bis MClen/2-1,j die SCCF für 0 und für positive y-Verschiebungen. Beginnend mit der größten negativen Verschiebung in MClen/2+1,j enthalten die Elemente bis zu MClen-1,j die SCCF für negative Verschiebungen.
Um die SCCF in normale Reihenfolge zu bringen, rufe man
MF_Rows_rotate( MC, ht, len, len/2 );
MF_Cols_rotate( MC, ht, len, ht/2 );

Hiernach befindet sich der Nullpunkt an der Stelle MCht/2,len/2.
Falls MA oder MB nicht-periodisch sind, sollten Randeffekte mit den bei MF_convolve beschriebenen Methoden vermieden werden.
Die Dimensionen aller drei beteiligter Matrizen sind gleich. Dabei müssen sowohl ht als auch len ganzzahlige Potenzen von 2 sein.
Bezüglich spezieller Versionen mit den Präfixen MFl_ und MFs_ vergleiche man Kap. 4.8 von http://www.optivec.de/vecfuncs/.
FehlerbehandlungFalls entweder len oder ht nicht eine Potenz von 2 ist, meldet sich VF_FFT (worauf MF_xcorr basiert) mit der Fehlermeldung "Size must be an integer power of 2" und bricht das Programm ab.
QuerverweisMF_autocorr,   Kap. 12

MatrixLib Inhaltsverzeichnis  OptiVec Home