exponenta event banner

Сглаживание данных со сверткой

Свертку можно использовать для сглаживания данных 2-D, содержащих высокочастотные компоненты.

Создание 2-D данных с помощью peaks и постройте график данных на различных уровнях контуров.

Z = peaks(100);
levels = -7:1:10;
contour(Z,levels)

Figure contains an axes. The axes contains an object of type contour.

Введите случайный шум в данные и постройте график шумных контуров.

Znoise = Z + rand(100) - 0.5;
contour(Znoise,levels)

Figure contains an axes. The axes contains an object of type contour.

conv2 функция в MATLAB ® свертывает 2-D данные с указанным ядром, элементы которого определяют, как удалить или расширить функции исходных данных. Размер ядер не должен совпадать с размером входных данных. Малогабаритных ядер может быть достаточно для сглаживания данных, содержащих лишь несколько частотных компонентов. Ядра большего размера могут обеспечивать большую точность настройки частотной характеристики, что приводит к более плавному выходу.

Определение ядра 3 на 3 K и использовать conv2 для сглаживания шумных данных в Znoise. Постройте график сглаженных контуров. 'same' опция в conv2 делает выход таким же размером, как и вход.

K = (1/9)*ones(3);
Zsmooth1 = conv2(Znoise,K,'same');
contour(Zsmooth1, levels)

Figure contains an axes. The axes contains an object of type contour.

Сглаживайте шумные данные ядром 5 на 5 и постройте новые контуры.

K = (1/25)*ones(5);
Zsmooth2 = conv2(Znoise,K,'same');
contour(Zsmooth2,levels)

Figure contains an axes. The axes contains an object of type contour.

См. также

| | |

Связанные темы