fwind2

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

Описание

пример

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

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

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

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

Примеры

свернуть все

В этом примере показано, как спроектировать приблизительно циркулярный симметричный двумерный полосовой фильтр с помощью 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)

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

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

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

mesh(win)

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

h = fwind2(Hd,win);

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

freqz2(h)

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

свернуть все

Желаемая частотная характеристика, в равномерно распределенных точках в Декартовой плоскости, заданной как числовая матрица. Входная матрица Hd может иметь класс double или любого целочисленного класса. Все другие входные параметры к fwind2 должен иметь класс double. Все выходные параметры имеют класс double.

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

2D окно, заданное как числовая матрица.

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

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

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

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

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

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

свернуть все

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

Алгоритмы

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