| VF_autocorr | VD_autocorr | VE_autocorr |
|
| Funktion | Autokorrelationsfunktion |
|
| Syntax C/C++ | #include <VFstd.h>
void VF_autocorr( fVector Y, fVector X, ui size ); |
| C++ VecObj | #include <OptiVec.h>
void vector<float>::autocorr( const vector<float>& Y ); |
| Pascal/Delphi | uses VFstd;
procedure VF_autocorr( Y, X:fVector; size:UIntSize ); |
|
| Beschreibung | Die Autokorrelationsfunktion (AKF) von X wird berechnet und in Y gespeichert. Dabei erhalten die Elemente Y0 bis Ysize/2-1 die AKF für 0 und für positive Verschiebungen; für negative Verschiebungen wird die AKF beginnend mit der am stärksten negativen Verschiebung in Ysize/2+1 bis Ysize-1 gespeichert. Da diese Funktion (wie alle auf der Fourier-Transformation basierenden Routinen) implizit von periodischen X, Y und Z ausgeht, ist die AKF für die stärkste positive Verschiebung identisch mit der AKF für die stärkste negative Verschiebung. Dieser Wert befindet sich im Element Ysize/2.
Um die AKF in normale Ordnung zu bringen, kann
VF_rotate( Y, Y, size, size/2 );
aufgerufen werden. Danach befindet sich der Nullpunkt an der Position size/2.
Ist X nicht periodisch, so sollten Randeffekte mit den
bei VF_convolve beschriebenen Methoden vermieden werden.
Bezüglich spezieller Versionen mit den Präfixen VFp_, VFs_ und
VFl_ vergleiche man Kap. 4.8.. |
|
| Fehlerbehandlung | Wenn size nicht eine Potenz von 2 ist, meldet sich VF_FFT (worauf VF_autocorr basiert) mit der Fehlermeldung "Size must be integer power of 2." und bricht das Programm ab. |
|
|
|