Съдържание
MATLAB е инструмент за програмиране, който може да се използва за анализ и обработка на сигналите в детайли. Обща операция при обработката на сигнали в едно или няколко измерения е отстраняването на високочестотен шум. Нискочестотен филтър, по дефиниция, е предназначен за премахване на честоти над определена стойност от сигнал. Използването на функцията filter2 () в MATLAB е един от начините за реализиране на такъв филтър.
инструкции
Функцията filter2 () на MATLAB ви позволява да приложите нискочестотен филтър (Hemera Technologies / AbleStock.com / Getty Images)-
Импортирайте данните си в MATLAB. Често сигналите, които трябва да се филтрират, се съхраняват в двоичен формат, което изисква импортиране на I / O функция от ниско ниво, като например fread (). Въпреки това, MATLAB включва вносители на изображения за най-често срещаните формати.
my_data = fread (file_handle, n_samples, data_type); my_image = imread ('my_image_file.tif', 'TIFF');
-
Преобразувайте данните в двуизмерен масив, преди да го обработите с функцията filter2 (). Можете да направите това, като конвертирате едномерни двоични масиви в масив чрез функцията reshape () или като изберете изображение от серия. Използвайте функцията squeeze (), за да премахнете единичните размери, като изберете част от масив с повече от две измерения.
my_image = промяна на формата (my_data, ширина, височина); my_other_image = стиснете (my_image_series (:,: image_number));
-
Начертайте филтъра си и запазете резултата в двуизмерен масив H. Обикновено нискочестотният филтър използва "гауссов прозорец", който може да бъде създаден с функцията fspecial (). Филтрите могат да бъдат проектирани и със специална функция за обработка на сигнала (). Можете да видите честотната характеристика на прозореца на филтъра, като използвате функцията wvtool (). В примерния код, H е 24x24 масив, който съдържа стандартно отклонение Гаусов прозорец 10.
H = специален ("гауссов", [24 24], 10); wvtool (H);
-
Извършване на филтриране с помощта на двуизмерния алгоритъм на намотката, реализиран чрез filter2 (). По подразбиране резултатът от filter2 () има същите размери като входните данни.
my_filtered_data = filter2 (my_data, H);