Berechnet die Faltung der Eingangsfolgen X und Y. Zur Auswahl der polymorphen Instanz verbinden Sie Daten mit dem Eingang X oder Y oder wählen Sie die Instanz manuell aus.


icon

Ein-/Ausgänge

  • c2ddbl.png X

    X ist die erste Eingangsfolge.

  • c2ddbl.png Y

    Y ist die zweite Eingangsfolge.

  • cenum.png Algorithmus

    Algorithmus gibt die zu verwendende Faltungsmethode an. Wenn Algorithmus auf direct eingestellt ist, wird die Faltung anhand des direkten Verfahrens der linearen Faltung berechnet. Bei frequency domain berechnet das VI die Faltung nach einem Verfahren, das auf der FFT beruht.

    Wenn X und Y klein sind, ist die Methode direct in der Regel schneller. Wenn X und Y groß sind, ist die Methode frequency domain in der Regel schneller. Daneben kann es zwischen den zwei Verfahren geringe Abweichungen geben.

    0
    direct
    1
    frequency domain
    (Voreinstellung)
  • cenum.png Ausgangsgröße

    Ausgangsgröße bestimmt die Größe von X * Y.

    0full (Standard) - Setzt die Breite von X * Y auf eins weniger als die Summe der Breiten von X und Y und setzt die Höhe von X * Y auf eins weniger als die Summe der Höhen von X und Y.
    1size X—Stellt die Höhe und Breite von X * Y auf die Höhe und Breite von X ein.
    2compact—Stellt die Breite von X * Y auf die Differenz der Breite von X und Y plus 1 und die Höhe von X * Y auf die Differenz der Höhe von X und Y plus 1 ein. Die Höhe und Breite von X muss jeweils größer gleich der Höhe und Breite von Y sein, wenn die Ausgangsgröße auf compact gesetzt ist.
  • i2ddbl.png X * Y

    X * Y ist die Faltung von X und Y.

  • ii32.png Fehler

    Fehler gibt alle Fehler oder Warnungen des VIs aus. Zur Umwandlung eines Fehlercodes oder einer Warnung in einen Fehler-Cluster verbinden Sie Fehler mit dem VI Fehler-Cluster aus Fehlercode.

  • 2D-Faltung

    Wenn Algorithmus auf direkt eingestellt ist, wird die zweidimensionale Faltung der Eingangsmatrizen X und Y anhand der folgenden Gleichung berechnet:

    für i = 0, 1, 2, … , M1+M2–2 und j = 0, 1, 2, … , N1+N2–2

    wobei h gleich X * Y,

    M1 ist die Anzahl der Zeilen der Matrix X, N1 ist die Anzahl der Spalten der Matrix X, M2 ist die Anzahl der Zeilen der Matrix Y, N2 ist die Anzahl der Spalten der Matrix Y, Die indizierten Elemente außerhalb der Bereiche von X und Y sind gleich Null, wie die folgenden Beziehungen zeigen:

    x(m,n), m < 0 oder mM1 oder n < 0 oder nN1

    und

    y(m,n) , m < 0 oder mM2 oder n < 0 oder nN2.

    Wenn Algorithmus auf Frequenzbereich eingestellt ist, wird die zweidimensionale Faltung durch Befolgung der folgenden Schritte berechnet:

    • Zunächst werden X und Y rechts mit Nullen aufgefüllt, so dass ihre Größe (M1 + M2 – 1) mal (N1 + N2 – 2) beträgt (vgl. die folgenden Gleichungen).
    • Als Zweites führt das VI anhand der folgenden Gleichungen die Fourier-Transformation von X' und Y' durch:
    X'(f) = FFT(x') Y'(f) = FFT(y')
    • Danach wird X'(f) mit Y'(f) multipliziert und die inverse Fourier-Transformation des Produkts gebildet. Das Ergebnis davon ist die zweidimensionale Faltung von X und Y, wie in der folgenden Gleichung dargestellt:
    X * Y = IFFT(X'(f) · Y'(f))

    Die Größe der Ausgangsmatrix X * Y richtet sich nach der Ausgangsgröße (vgl. Abbildung).

    1. full

      Die Ausgangsmatrix X * Y lautet ([M1+M2–1], [N1+N2–1]).

    2. size X

      Diese Funktion ist bei der Bildverarbeitung von Nutzen. Wenn X die zu filternde Grafik ist, dann ist Y eine kleine Matrix, die als Faltungskern bezeichnet wird. X * Y ist die gefilterte Grafik. Sie ist genauso groß wie die Grafik X. Die [M1, N1]-Ausgangsmatrix ist der zentrale Bestandteil der Ausgangsmatrix, wenn die Ausgangsgröße auf full eingestellt ist.

    3. compact

      Die Berechnung der Randelemente von X * Y erfordert Null-Padding, wenn die Ausgabegröße full oder size Xist. Diese Randelemente werden bei einer Ausgangsgröße von compact entfernt. Die Ausgangsmatrix ([M1M2+1], [N1N2+1]) ist der zentrale Bestandteil der Ausgangsmatrix, wenn die Ausgangsgröße auf size X eingestellt ist.

    Beispiele

    Die folgenden Beispieldateien sind in LabVIEW enthalten.

    • labview\examples\Signal Processing\Signal Operation\Edge Detection with 2D Convolution.vi