La convoluzione di due segnali orari in MATLAB

MATLAB offre funzioni di dominio del tempo o di frequenza.

circonvoluzione

L'operazione di convoluzione è definita come integrale o somma in casi discreti, su un intervallo di funzioni f (T) * g (tT) rispetto a T. Mentre si sposta l'intervallo di una funzione f, ciascun punto viene moltiplicato per un seconda funzione in g. Nel dominio del tempo, la convoluzione è un'intensa operazione di calcolo, tuttavia, dopo averla trasformata nel dominio della frequenza mediante la trasformazione di Fourier, la convoluzione viene semplificata in moltiplicazioni.

Funzione integrata

Le funzioni "conv (), o la sua variante bidimensionale" conv2 () ", possono essere utilizzate con facilità ed efficienza per convogliare i segnali in MATLAB, di solito si presume che i segnali siano nel dominio temporale o spaziale, in contrapposizione al dominio del I primi due argomenti sono i due segnali da convogliare, o un segnale e un filtro. Il terzo argomento è un argomento che definisce la dimensione dell'output. Le opzioni valide sono "full", "same" o "valid" "(" completo ", " uguale "o" valido ").

mixed_signal = conv (signal1, signal2, 'same'); new_image = conv2 (image1, image2, 'full');

Dominio del tempo

L'esecuzione della convoluzione nel dominio del tempo può essere utile per capire come funziona questa operazione:

% di due segnali 1-D, fyg my_length = length (f) + length (g) - 1; risultato = zeri (my_length, 1);

per i = 1: my_length per j = 1: length (f) if ((i-j + 1)> 0 && (i-j + 1) <length (g)) result (i) = f (j) * g (i-j + 1); fine fine

Dominio di frequenza

I segnali nel dominio del tempo possono essere trasformati nel dominio della frequenza usando la trasformazione di Fourier. MATLAB implementa una trasformazione veloce di Fourier usando la funzione "ffft ()". Nel dominio della frequenza, due segnali possono essere miscelati utilizzando una moltiplicazione di punti mediante l'operatore ". *".

% per due segnali, fe eg F = fft (f); G = fft (g); U = F. * G; u = ifftshift (ifft (U));