Zawartość
MATLAB to narzędzie programistyczne, które może służyć do szczegółowej analizy i przetwarzania sygnałów. Powszechną operacją przetwarzania sygnałów w jednym lub kilku wymiarach jest usuwanie szumu o wysokiej częstotliwości. Filtr dolnoprzepustowy z definicji ma na celu usunięcie z sygnału częstotliwości powyżej pewnej wartości. Użycie funkcji filter2 () w MATLABIE jest jednym ze sposobów implementacji takiego filtra.
Instrukcje
Funkcja filter2 () programu MATLAB pozwala zaimplementować filtr dolnoprzepustowy (Hemera Technologies / AbleStock.com / Getty Images)-
Zaimportuj swoje dane do MATLAB. Często sygnały, które muszą być filtrowane, są przechowywane w formacie binarnym, wymagającym importowania niskopoziomowej funkcji we / wy, takiej jak fread (). Jednak MATLAB zawiera importerów obrazów dla najpopularniejszych formatów.
my_data = fread (file_handle, n_samples, typ_danych); my_image = imread ('my_image_file.tif', 'TIFF');
-
Przekształć dane w tablicę dwuwymiarową przed przetworzeniem za pomocą funkcji filter2 (). Możesz to zrobić, konwertując jednowymiarową tablicę binarną na tablicę za pomocą funkcji reshape () lub wybierając obraz z serii. Użyj funkcji squeeze (), aby usunąć pojedyncze wymiary, wybierając część tablicy o więcej niż dwóch wymiarach.
my_image = reshape (moje_dane, szerokość, wysokość); my_other_image = squeeze (my_image_series (:,: image_number));
-
Narysuj swój filtr i zapisz wynik w dwuwymiarowej tablicy H. Generalnie filtr dolnoprzepustowy używa „okna gaussowskiego”, które można utworzyć za pomocą funkcji fspecial (). Filtry mogą być również zaprojektowane ze specjalną funkcją przetwarzania sygnału sptool (). Możesz zobaczyć pasmo przenoszenia okna filtru za pomocą funkcji wvtool (). W przykładowym kodzie H jest tablicą 24x24 zawierającą okno Gaussa o odchyleniu standardowym 10.
H = fspecial („gaussian”, [24 24], 10); wvtool (H);
-
Przeprowadź filtrowanie za pomocą dwuwymiarowego algorytmu splotu zaimplementowanego za pomocą filter2 (). Domyślnie wynik filter2 () ma takie same wymiary jak wejściowy zestaw danych.
my_filtered_data = filter2 (my_data, H);