Splot dwóch sygnałów czasowych w MATLAB

MATLAB oferuje funkcje czasu lub częstotliwości.

Konwolucja

Operacja splotu jest definiowana jako całka lub suma w dyskretnych przypadkach, w zakresie funkcji f (T) * g (tT) względem T. Podczas przesuwania zakresu funkcji f, każdy punkt jest mnożony przez druga funkcja wg W dziedzinie czasu splot jest intensywną operacją obliczeniową, jednak po przekształceniu go w domenę częstotliwości przez transformację Fouriera, splatanie upraszcza się do multiplikacji.

Zintegrowana funkcja

Funkcje "conv () lub jego dwuwymiarowy wariant" conv2 () "mogą być używane z łatwością i wydajnością w celu splatania sygnałów w MATLAB, zwykle przyjmuje się, że sygnały są w domenie czasowej lub przestrzennej, w przeciwieństwie do domeny Pierwsze dwa argumenty to dwa sygnały, które mają być spajane, lub sygnał i filtr. Trzeci argument jest argumentem określającym rozmiar wyjścia. Prawidłowe opcje to "pełny", "ten sam" lub "ważny". "(" pełny ", " równy "lub" prawidłowy ").

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

Domena czasu

Wykonanie splotu w dziedzinie czasu może być przydatne, aby zrozumieć, jak działa ta operacja:

% za pomocą dwóch sygnałów 1-D, fyg my_length = length (f) + length (g) - 1; result = zera (my_length, 1);

dla i = 1: my_length dla j = 1: length (f) if ((i-j + 1)> 0 && (i-j + 1) <length (g)) result (i) = f (j) * g (i-j + 1); koniec końcówki

Domena częstotliwości

Sygnały w dziedzinie czasu mogą być przekształcane do dziedziny częstotliwości za pomocą transformacji Fouriera. MATLAB implementuje szybką transformację Fouriera za pomocą funkcji "ffft ()". W dziedzinie częstotliwości dwa sygnały mogą być mieszane za pomocą mnożenia punktowego przez operatora ". *".

% dla dwóch sygnałów, fiw F = fft (f); G = fft (g); U = F. * G; u = ifftshift (ifft (U));