fwind2

2D КИХ-фильтр с помощью 2D метода окна

Описание

fwind2 функционируйте проектирует 2D КИХ-фильтры с помощью метода окна. fwind2 использует 2D спецификацию окна, чтобы спроектировать 2D КИХ-фильтр на основе желаемой частотной характеристики. fwind2 работает с 2D окнами только. Использование fwind1 создать 2D КИХ-фильтр из 1D окна.

Можно применить 2D КИХ-фильтр к изображениям при помощи filter2 функция.

пример

h = fwind2(Hd,win) создает 2D КИХ-фильтр h при помощи обратного преобразования Фурье желаемой частотной характеристики Hd и умножение окном win.

h = fwind2(f1,f2,Hd,win) позволяет вам задать желаемую частотную характеристику Hd на произвольных частотах f1 и f2 вдоль x-и осей Y.

Примеры

свернуть все

В этом примере показано, как спроектировать приблизительно циркулярный симметричный двумерный полосовой фильтр с помощью 2D метода окна.

Создайте векторы частотного диапазона f1 и f2 использование freqspace. Эти векторы имеют длину 21.

[f1,f2] = freqspace(21,'meshgrid');

Вычислите расстояние каждого положения от центральной частоты.

r = sqrt(f1.^2 + f2.^2);

Создайте матричный Hd это содержит желаемый полосовой ответ. В этом примере желаемая полоса пропускания между 0,1 и 0.5 (нормированная частота, где 1.0 соответствует половине частоты дискретизации, или π радианы).

Hd = ones(21); 
Hd((r<0.1)|(r>0.5)) = 0;

Отобразите идеальный полосовой ответ.

colormap(parula(64))
mesh(f1,f2,Hd)

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

Создайте 2D окно Gaussian с помощью fspecial. Нормируйте окно.

win = fspecial('gaussian',21,2);
win = win ./ max(win(:));

Отобразите окно.

mesh(win)

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

Используя 2D окно, спроектируйте фильтр, который лучше всего производит желаемую частотную характеристику

h = fwind2(Hd,win);

Отобразите фактическую частотную характеристику этого фильтра.

freqz2(h)

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

Входные параметры

свернуть все

Желаемая частотная характеристика в равномерно распределенных точках в Декартовой плоскости в виде числовой матрицы. Для точных результатов создайте Hd при помощи freqspace функция.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

2D окно в виде числовой матрицы.

Типы данных: single | double

Желаемая частота вдоль оси X. Вектор частоты должен быть в области значений [-1, 1], где 1.0 соответствует половине частоты дискретизации или π радианов.

Типы данных: single | double

Желаемая частота вдоль оси Y. Вектор частоты должен быть в области значений [-1, 1], где 1.0 соответствует половине частоты дискретизации или π радианов.

Типы данных: single | double

Выходные аргументы

свернуть все

2D КИХ-фильтр, возвращенный как числовая матрица одного размера с win.

Типы данных: double

Алгоритмы

fwind2 вычисляет h использование обратного преобразования Фурье и умножения двумерным окном win.

hd(n1,n2)=1(2π)2ππππHd(ω1,ω2)ejω1n1ejω2n2dω1dω2

h(n1,n2)=hd(n1,n2)w(n1,n2)

Ссылки

[1] Лим, Джэ С., Двумерная Обработка сигналов и Обработка изображений, Englewood Cliffs, NJ, Prentice Hall, 1990, стр 202-213.

Смотрите также

| | | | |

Представлено до R2006a