fsamp2() - Image Processing
h = fsamp2(Hd) designs a
two-dimensional FIR filter with frequency response Hd,
and returns the filter coefficients in matrix h.
(fsamp2 returns h as a computational
molecule, which is the appropriate form to use with filter2.)
The filter h has a frequency response that passes
through points in Hd. If Hd is m-by-n,
then h is also m-by-n.fsamp2 designs two-dimensional FIR filters
based on a desired two-dimensional frequency response sampled at points
on the Cartesian plane. Hd is a matrix containing
the desired frequency response sampled at equally spaced points between
-1.0 and 1.0 along the x and y frequency
axes, where 1.0 corresponds to half the sampling frequency, or π
radians. Hd(f1,f2)=Hd(ω1,ω2)|ω1=πf1,ω2=πf1For accurate results, use frequency points returned by freqspace to create Hd.h = fsamp2(f1, f2, Hd,[m n]) produces
an m-by-n FIR filter by matching
the filter response at the points in the vectors f1 and f2.
The frequency vectors f1 and f2 are
in normalized frequency, where 1.0 corresponds to half the sampling
frequency, or π radians. The resulting filter fits the desired
response as closely as possible in the least squares sense. For best
results, there must be at least m*n desired frequency
points. fsamp2 issues a warning if you specify
fewer than m*n points.
Syntax
h = fsamp2(Hd)h = fsamp2(f1, f2, Hd,[m n])
Example
[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)
Output / Return Value
Limitations
Alternatives / See Also
Reference