fwind1

2-D конечная импульсная характеристика с 1-D оконного метода

Описание

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

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

пример

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

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

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

Примеры

свернуть все

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

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

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

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

Постройте график 1-D окна.

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

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

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

h = fwind1(Hd,win);

Отображение фактической частотной характеристики этого фильтра.

freqz2(h)

Figure contains an axes. The axes 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

1-D окно, заданное как числовая матрица. Если у вас есть программное обеспечение 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

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

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

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

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

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

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

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

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

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

свернуть все

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

  • Если вы задаете одно окно win длины n, затем размер h является n-by- n.

  • Если вы задаете два окна win1 и win2 длины n и m соответственно, тогда размер h является m-by- 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] Lim, Jae S., Двумерная обработка сигналов и изображений, Englewood Cliffs, NJ, Prentice Hall, 1990.

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