Image Processing Toolbox | ![]() ![]() |
Discrete Fourier Transform
Working with the Fourier transform on a computer usually involves a form of the transform known as the discrete Fourier transform (DFT). There are two principal reasons for using this form:
The DFT is usually defined for a discrete function that is nonzero only over the finite region
and
. The two-dimensional M-by-N DFT and inverse M-by-N DFT relationships are given by
The values are the DFT coefficients of
. The zero-frequency coefficient,
is often called the "DC component." DC is an electrical engineering term that stands for direct current. (Note that matrix indices in MATLAB always start at 1 rather than 0; therefore, the matrix elements
f(1,1)
and F(1,1)
correspond to the mathematical quantities and
, respectively.)
The MATLAB functions fft
, fft2
, and fftn
implement the fast Fourier transform algorithm for computing the one-dimensional DFT, two-dimensional DFT, and N-dimensional DFT, respectively. The functions ifft
, ifft2
, and ifftn
compute the inverse DFT.
Relationship to the Fourier Transform
The DFT coefficients are samples of the Fourier transform
.
Example
Let's construct a matrix f
that is similar to the function f(m,n) in the example in "Definition of Fourier Transform" on page 8-4. Remember that f(m,n) is equal to 1 within the rectangular region and 0 elsewhere. We use a binary image to represent f(m,n).
Compute and visualize the 30-by-30 DFT of f
with these commands.
Figure 8-5: A Discrete Fourier Transform Computed Without Padding
This plot differs from the Fourier transform displayed on Figure 8-3. First, the sampling of the Fourier transform is much coarser. Second, the zero-frequency coefficient is displayed in the upper-left corner instead of the traditional location in the center.
We can obtain a finer sampling of the Fourier transform by zero-padding f
when computing its DFT. The zero-padding and DFT computation can be performed in a single step with this command.
This command zero-pads f
to be 256-by-256 before computing the DFT.
Figure 8-6: A Discrete Fourier Transform Computed with Padding
The zero-frequency coefficient, however, is still displayed in the upper-left corner rather than the center. You can fix this problem by using the function fftshift
, which swaps the quadrants of F
so that the zero-frequency coefficient is in the center.
The resulting plot is identical to the one on Figure 8-3.
![]() | Fourier Transform | Applications | ![]() |