MATLAB est un logiciel utilisé pour la simulation d'ingénierie , traitement du signal , des opérations mathématiques et d'analyse des données. Convolution est une opération mathématique qui combine deux fonctions en même temps . MATLAB fournit des méthodes pour la convolution de deux signaux de temps en temps ou dans le domaine fréquentiel . Vous pouvez utiliser les fonctions intégrées à convolution des signaux horaires dans MATAB , ou écrire votre propre code pour vous aider à comprendre le fonctionnement de convolution. Convolution
L'opération de convolution est définie 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ée par une seconde fonction g . Dans le domaine temporel , convolution est une opération intensive de calcul ; . Cependant, après transformation dans le domaine fréquentiel en utilisant une transformée de Fourier , convolution simplifie à des multiplications
Fonction intégrée
" conv ( ) », ou les deux dimensions variant " conv2 ()," des fonctions peut être utilisée pour convolve facilement et efficacement aux signaux dans MATLAB. Il est généralement admis que les signaux sont dans le - temps ou espace -domaine , par opposition au domaine de la fréquence . Les deux premiers arguments sont les deux signaux à convolution , ou d'un signal et d'un filtre . Le troisième paramètre est un argument de forme qui définit la taille de la sortie. Les options valides sont «plein », « même » ou «valide»
mixed_signal = conv ( signal1 , signal2 , «même» ) ; . New_image = conv2 ( image1 , image2 , ' full ' ) ;
Time- Domain
Bien effectuer convolution dans le domaine temporel , il peut être utile de comprendre comment fonctionne l' opération de convolution < . br>
% pour deux signaux 1- D, F et gmy_length = longueur ( f) + longueur ( g ) - 1 ; result = zéros ( my_length , 1);
pour i = 1: my_lengthfor j = 1 : longueur ( f) si ( ( i- j +1 ) > 0 && ( i- j +1 ) < longueur ( g ) ) résultat ( i ) = f ( j) * g ( i- j +1); endendend
domaine fréquentiel
signaux temporels
peuvent être transformées dans le domaine de fréquence en utilisant la transformée de Fourier . MATLAB met en œuvre une transformée de Fourier rapide dans la fonction " ) fft (". Dans le domaine de fréquence , deux signaux peuvent être mélangés à l'aide point par point à l'aide de l'opérateur de multiplication
% Pour deux signaux , F et GF = FFT ( f ) «*». ; . G = FFT ( g ) ; U = F * G; . u = ifftshift ( ifft (U) ) ;