fwind1

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

Описание

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

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

пример

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

h = fwind1(Hd,win1,win2) использование два 1D окна, win1 и win2, создать отделимое 2D окно.

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

Примеры

свернуть все

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

Создайте векторы частотного диапазона 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)

Спроектируйте 1D окно. Этот пример использует Окно Хэмминга длины 21.

win = 0.54 - 0.46*cos(2*pi*(0:20)/20);

Постройте 1D окно.

figure
plot(linspace(-1,1,21),win);

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

h = fwind1(Hd,win);

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

freqz2(h)

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

свернуть все

Желаемая частотная характеристика в виде числовой матрицы. Hd производится в равномерно распределенных точках между-1.0 и 1.0 (в нормированной частоте, где 1.0 соответствует половине частоты дискретизации или π радианов) вдоль осей частоты X и Y. Для точных результатов создайте Hd при помощи freqspace функция.

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

1D окно в виде числовой матрицы. Можно задать win с помощью окон из программного обеспечения Signal Processing Toolbox™, такой как hamming (Signal Processing Toolbox), hann (Signal Processing Toolbox), bartlett (Signal Processing Toolbox), blackman (Signal Processing Toolbox), kaiser (Signal Processing Toolbox), или chebwin (Signal Processing Toolbox).

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

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

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

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

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

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

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

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

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

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

свернуть все

2D КИХ-фильтр, возвращенный как числовая матрица. Длина окна управляет размером получившегося фильтра. Если вы задаете одно окно win из длины n, затем размер h n- n. Если вы задаете два окна win1 и win2 из длины n и m соответственно, затем размер h m- n.

Если Hd имеет класс single, затем h имеет класс single. В противном случае, h имеет класс double.

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

Алгоритмы

fwind1 берет одномерную спецификацию окна и формирует приблизительно циркулярное симметричное двумерное окно с помощью метода Хуана,

w(n1,n2)=w(t)|t=n12+n22,

где w (t) является одномерным окном, и w (n1, n2) является получившимся двумерным окном.

Учитывая два окна, fwind1 формирует отделимое двумерное окно:

w(n1,n2)=w1(n1)w2(n2).

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

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

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

Ссылки

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

Представлено до R2006a
Для просмотра документации необходимо авторизоваться на сайте