MF_filter MD_filter ME_filter
MCF_filter MCD_filter MCE_filter
FunktionRaumfrequenz-Filterung
Syntax C/C++#include <MFstd.h>
void MF_filter( fMatrix Y, fMatrix X, fMatrix Flt, ui ht, ui len );
C++ MatObj#include <OptiVec.h>
void matrix<T>::filter( const matrix<T>& MX, const matrix<T>& MFlt );
Pascal/Delphiuses MFstd;
procedure MF_filter( MY, MX, MFlt:fMatrix; ht, len:UIntSize );
BeschreibungDer Raumfrequenz-Filer MFlt wird auf die Matrix X angewandt. Intern geschieht dies durch Multiplikation der Fourier-Transformierten von MX mit MFlt und Rücktransformation des Produktes.

Komplexe Versionen: MX, MY und der Filter MFlt sind komplexe Matrizen.
Reelle Versionen: MX und MY sind reell. MFlt muß in dem gepackt-komplexen Format vorliegen, das man durch Fourier-Transformation einer reellen Matrix mit MF_FFT oder durch Aufruf von MF_convolve erhält. Siehe MF_FFT bezüglich des gepackt-komplexen Formates.

Falls MX nicht-periodisch ist, kann das Filter-Ergebnis durch Randeffekte beeinträchtigt sein. Siehe VF_convolve bezüglich der Vermeidung von Randeffekten. Wie dort für Vektoren beschrieben, sollte auch die Matrix X eventuell in eine größere Matrix eingebettet oder mögliche lineare Trends in beiden Dimensionen beseitigt werden.

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_filter basiert) mit der Fehlermeldung "Size must be an integer power of 2" und bricht das Programm ab.
QuerverweisMF_FFT,   MF_convolve,   Kap. 12,   Kap. 4.8 of http://www.optivec.de/vecfuncs/

MatrixLib Inhaltsverzeichnis  OptiVec Home