MATLAB è un software utilizzato per la simulazione , elaborazione del segnale , operazioni matematiche e l'analisi dei dati . La convoluzione è una operazione matematica che mescola due funzioni insieme . MATLAB fornisce metodi per convolvendo due segnali di tempo in tempo o nel dominio della frequenza . È possibile utilizzare le funzioni incorporate per convolve segnali di tempo in MATAB , o scrivere il proprio codice per aiutare a comprendere l'operazione di convoluzione . Convoluzione
L'operazione di convoluzione è definito come l'integrale , o somma in casi discreti , sopra la gamma della funzione di f ( T ) * g ( tT ) rispetto a T. Mentre muove sulla intervallo di una funzione f , ciascun punto viene moltiplicato per una seconda funzione g . Nel dominio del tempo , convoluzione è una operazione di calcolo intensivo , . Però, dopo aver trasformato nel dominio della frequenza utilizzando una trasformata di Fourier , convoluzione si semplifica in moltiplicazioni
funzione incorporata
" conv ( ) , " o la variante bidimensionale " CONV2 ( ) , " funzioni può essere usato per convolve facilmente ed efficientemente ai segnali in MATLAB . Si assume come ipotesi che i segnali sono nel tempo o nello spazio dominio , in contrapposizione al dominio di frequenza . I primi due argomenti sono i due segnali da convoluta , o un segnale e un filtro. Il terzo argomento è un argomento forma che definisce la dimensione della produzione . Le opzioni valide sono "full ", " stessa " o " valida "
mixed_signal = conv ( SEGNALE 1 , SEGNALE 2 , ' stesso ' ) . New_image = CONV2 ( image1 , Immagine 2, ' pieno ');
Time- Domain
Nonostante sia funzionante convoluzione nel dominio del tempo , può essere utile per capire come funziona la operazione di convoluzione < . br>
% per due segnali 1 - D, F e gmy_length = lunghezza ( f ) + lunghezza ( g ) - 1 , risultato = zero ( my_length , 1);
per i = 1 : my_lengthfor j = 1 : length ( f) if ( ( i- j +1 ) > 0 && ( i- j +1 ) dominio della frequenza
segnali nel dominio del tempo possono trasformarsi in dominio della frequenza utilizzando la trasformata di Fourier . MATLAB implementa una trasformata di Fourier della funzione " ) FFT ( " . Nel dominio della frequenza , due segnali possono essere miscelati mediante moltiplicazione puntiforme utilizzando l' operatore
% Per due segnali , f e GF = FFT ( f ) "* ". ; . G = FFT ( g ), U = F * G , . u = ifftshift ( IFFT ( U ) ) ;