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)

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

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

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

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

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

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

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

h = fwind1(Hd,win);

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

freqz2(h)

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

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

свернуть все

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

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

1D окно в виде числовой матрицы. Если у вас есть программное обеспечение Signal Processing Toolbox™, то можно задать win использование окон такой как 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(n1,n2)

Ссылки

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

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