Les partenaires publicitaires:

La convolution de deux signaux temporels dans MATLAB

MATLAB est un logiciel utilisé pour la simulation d'ingénierie, traitement du signal, opérations mathématiques et l'analyse de données. Convolution est une opération mathématique qui mélange deux fonctions en même temps. MATLAB fournit des procédés pour la convolution de deux signaux de temps dans le temps ou dans le domaine fréquentiel. Vous pouvez utiliser les fonctions intégrées dans la convolution des signaux horaires dans Maßstab, ou écrivez votre propre code pour vous aider à comprendre l'opération de convolution.

  1. Convolution

    • L'opération de convolution est défini comme l'intégrale, ou la somme dans des affaires distinctes, sur la plage de la fonction f (T) * g (TT) par rapport à T. Tout en se déplaçant sur la plage d'une fonction f, chaque point est multiplié par une seconde fonction g. Dans le domaine temporel, est une convolution de calcul intensif Operation cependant, après la transformation dans le domaine fréquentiel en utilisant une transformée de Fourier, convolution simplifie de multiplications.

    • Fonction intégrée

      • La "conv ()," ou la variante à deux dimensions "conv2 ()," fonctions peuvent être utilisés pour convoluer facilement et efficacement aux signaux dans MATLAB. Il est généralement supposé que les signaux sont dans le temps ou l'espace-domaine, par opposition au domaine fréquentiel. Les deux premiers arguments sont les deux signaux à convolués, ou un signal et un filtre. Le troisième argument est un argument de forme qui définit la taille de la sortie. Les options valides sont "complet," "même," ou "valide."

        mixed_signal = conv (signal1, signal2, 'même') -
        new_image = conv2 (image1, image2, 'full') -

      Dans le domaine temporel

      • Bien que l'exécution convolution dans le domaine temporel, il peut être utile de comprendre comment l'opération de convolution fonctionne.




        % Pour deux signaux 1-D, F et G
        my_length = longueur (f) + longueur (g) - 1-
        Résultat = zéros (my_length, 1) -

        pour i = 1: my_length
        j = 1: longueur (f)

         if ((i-j + 1) gt; 0 &Amp&Amp (i-j + 1) lt; longueur (g))
        réponse (i) = f (j) * g (i-j + 1) -
        fin

        fin
        fin

      Fréquence-Domain

      • Les signaux dans le domaine temporel peuvent être transformées dans le domaine de fréquence en utilisant la transformée de Fourier. MATLAB met en oeuvre une transformée de Fourier rapide dans la "fft ()" fonction. Dans le domaine de fréquence, deux signaux peuvent être mélangés à l'aide de la multiplication point par point à l'aide du ". *" opérateur.

        Pour deux signaux%, f et g
        F = fft (f) -
        G = fft (g) -
        U = F. * G-
        u = ifftshift (ifft (U)) -

    » » » » La convolution de deux signaux temporels dans MATLAB