Calcule la convolution des séquences d'entrée X et Y. Câblez des données aux entrées X et Y pour déterminer l'instance polymorphe à utiliser, ou sélectionnez manuellement l'instance.


icon

Entrées/Sorties

  • c2dcdb.png X

    X représente la première séquence à valeur complexe en entrée.

  • c2dcdb.png Y

    Y est la seconde séquence à valeur complexe en entrée.

  • cenum.png algorithme

    algorithme spécifie la méthode de convolution à utiliser. Lorsque le paramètre algorithme est défini à direct, ce VI calcule la convolution en utilisant la méthode directe de convolution linéaire. Lorsque le paramètre algorithme est défini à frequency domain, ce VI calcule la convolution en utilisant une technique basée sur la FFT.

    Si X et Y sont petits, la méthode direct est généralement plus rapide. Si X et Y sont importants, la méthode frequency domain est généralement plus rapide. Par ailleurs, de légères différences numériques peuvent exister entre les deux méthodes.

    0
    direct
    1
    frequency domain
    (valeur par défaut)
  • cenum.png taille de la sortie

    taille de la sortie détermine la taille de X * Y.

    0full (valeur par défaut) — Définit la largeur de X * Y à la somme des largeurs de X et de Y moins 1, et définit la hauteur de X * Y à la somme des hauteurs de X et de Y moins 1.
    1size X— Définit la largeur et la hauteur de X * Y à la largeur et la hauteur de X.
    2compact— Définit la largeur de X * Y à la différence des largeurs de X et de Y plus 1, et la hauteur de X * Y à la différence des hauteurs de X et de Y plus 1. Si taille de la sortie est compact, la largeur et la hauteur de X doivent être respectivement supérieures ou égales à la largeur et la hauteur de Y.
  • i2dcdb.png X * Y

    X * Y représente la convolution de X et Y.

  • ii32.png erreur

    erreur renvoie toute erreur ou mise en garde générée par le VI. Vous pouvez câbler erreur au VI Convertir un code d'erreur en cluster d'erreur pour convertir le code d'erreur ou la mise en garde en cluster d'erreur.

  • Convolution 2D

    Si algorithme est direct, ce VI utilise l'équation suivante pour calculer la convolution à deux dimensions des matrices en entrée X et Y.

    pour i = 0, 1, 2, … , M1+M2–2 et j = 0, 1, 2, … , N1+N2–2

    h correspond à X * Y,

    M1 est le nombre de lignes de la matrice X, N1 est le nombre de colonnes de la matrice X, M2 est le nombre de lignes de la matrice Y, N2 est le nombre de colonnes de la matrice Y, Les éléments indexés en dehors des plages de X et Y sont égaux à zéro, comme le montrent les relations suivantes :

    x(m,n), m < 0 ou mM1 or n < 0 ou nN1

    et

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

    Si algorithme est frequency domain, ce VI effectue les étapes suivantes, dans l'ordre, pour calculer la convolution à deux dimensions :

    • Ce VI commence par ajouter des zéros à la fin de X et de Y pour que leur taille soit égale à (M1 + M2 – 1, N1 + N2 – 2), comme dans les équations suivantes.
    • Puis il calcule la transformée de Fourier de X' et Y' selon les équations suivantes.
    X'(f) = FFT(x') Y'(f) = FFT(y')
    • Enfin, ce VI multiplie X'(f) par Y'(f) et calcule la transformée de Fourier inverse du produit. Le résultat est la convolution à deux dimensions de X et Y, comme l'illustre l'équation suivante.
    X * Y = IFFT(X'(f) · Y'(f))

    La taille en sortie détermine la taille de la matrice en sortie X * Y comme le montre l'illustration suivante.

    1. full

      La matrice en sortie X * Y est de type (M1+M2–1) sur (N1+N2–1).

    2. size X

      Ceci est utile dans le traitement de l'image. Si X correspond à l'image que vous souhaitez filtrer, Y correspond à une petite matrice appellée "noyau de convolution". X * Y correspond à l'image filtrée dont la taille est la même que l'image de X. La matrice (M1, N1) en sortie correspond à la partie centrale de la matrice en sortie lorsque la taille en sortie est full.

    3. compact

      Calculer des éléments de front de X * Y requiert un remplissage par des zéros si la taille en sortie est full ou qu'elle correspond à size X. LabVIEW supprime ces éléments de front si la taille en sortie est compact. La matrice (M1M2+1, N1N2+1) en sortie correspond à la partie centrale de la matrice en sortie lorsque la taille en sortie correspond à size X.

    Exemples

    Reportez-vous aux exemples de fichiers inclus avec LabVIEW suivants.

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