Содержание
MATLAB - это инструмент программирования, который можно использовать для детального анализа и обработки сигналов. Обычной операцией при обработке сигналов в одном или нескольких измерениях является удаление высокочастотного шума. Фильтр нижних частот по определению предназначен для удаления частот, превышающих определенное значение, из сигнала. Использование функции filter2 () в MATLAB является одним из способов реализации такого фильтра.
направления
Функция filter2 () в MATLAB позволяет вам реализовать фильтр нижних частот (Hemera Technologies / AbleStock.com / Getty Images)-
Импортируйте ваши данные в MATLAB. Часто сигналы, которые необходимо отфильтровать, хранятся в двоичном формате, для чего требуется импортировать низкоуровневую функцию ввода-вывода, такую как 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 = squeeze (my_image_series (:,: image_number));
-
Нарисуйте свой фильтр и сохраните результат в двумерном массиве H. Обычно фильтр нижних частот использует «гауссовское окно», которое можно создать с помощью функции fspecial (). Фильтры также могут быть разработаны со специальной функцией обработки сигналов sptool (). Вы можете увидеть частотную характеристику вашего окна фильтра с помощью функции wvtool (). В примере кода H является массивом 24x24, который содержит гауссово окно со стандартным отклонением 10.
H = fspecial («гауссов», [24 24], 10); wvtool (H);
-
Выполните фильтрацию, используя алгоритм двумерной свертки, реализованный с помощью filter2 (). По умолчанию результат filter2 () имеет те же размеры, что и входной набор данных.
my_filtered_data = filter2 (my_data, H);