2-D FIR filter using 2-D window method
h = fwind2(Hd, win)
h = fwind2(f1, f2, Hd, win)
fwind2 to design two-dimensional FIR
filters using the window method.
fwind2 uses a
two-dimensional window specification to design a two-dimensional FIR
filter based on the desired frequency response
with two-dimensional windows; use
fwind1 to work
with one-dimensional windows.
h = fwind2(Hd, win) produces
the two-dimensional FIR filter
h using an inverse
Fourier transform of the desired frequency response
multiplication by the window
a matrix containing the desired frequency response at equally spaced
points in the Cartesian plane.
a computational molecule, which is the appropriate form to use with
the same size as
For accurate results, use frequency points returned by
Hd. (See the entry for
h = fwind2(f1, f2, Hd, win) lets
you specify the desired frequency response
arbitrary frequencies (
along the x- and y-axes.
The frequency vectors
be in the range -1.0 to 1.0, where 1.0 corresponds to half the sampling
frequency, or π radians.
h is the same size
The input matrix
Hd can be of class
of any integer class. All other inputs to
be of class
double. All outputs are of class
fwind2 to design an approximately circularly
symmetric two-dimensional bandpass filter with passband between 0.1
and 0.5 (normalized frequency, where 1.0 corresponds to half the sampling
frequency, or π radians):
Create a matrix
Hd that contains
the desired bandpass response. Use
create the frequency range vectors
[f1,f2] = freqspace(21,'meshgrid'); Hd = ones(21); r = sqrt(f1.^2 + f2.^2); Hd((r<0.1)|(r>0.5)) = 0; colormap(jet(64)) mesh(f1,f2,Hd)
Create a two-dimensional Gaussian window using
win = fspecial('gaussian',21,2); win = win ./ max(win(:)); % Make the maximum window value be 1. mesh(win)
Design the filter using the window from step 2.
h = fwind2(Hd,win); freqz2(h)
an inverse Fourier transform and multiplication by the two-dimensional
 Lim, Jae S., Two-Dimensional Signal and Image Processing, Englewood Cliffs, NJ, Prentice Hall, 1990, pp. 202-213.