<< Chapter < Page
  Digital signal processing - dsp     Page 3 / 21
Chapter >> Page >

General discussion

The space domain

In Part 1 of this series, I extended the concept of the Fourier transform from the time domain into the space domain. I pointed out that while the time domainis one-dimensional, the space domain is thee-dimensional. However, in order to keep the complexity of this module in check, we will assume that space is onlytwo-dimensional. This will serve us well later for such tasks as image processing.

(Three-dimensional Fourier transforms are beyond the scope of this module. I will write a module on using Fourier transforms inthree-dimensional space later if I have the time.)

A purely real space domain

Although the space domain can be (and often is) complex, many interesting problems, (such as photographic image processing) can be dealt with under the assumption that the space domain is purely real. We willmake that assumption in this module. This assumption will allow us to simplify our computations when performing the 2D Fourier transform to transform our datafrom the space domain into the wavenumber domain.

Preview

I will present and explain two complete Java programs in this module. The first program is a single class named ImgMod30 , which provides the capability to perform forward and inverse Fourier transforms onthree-dimensional surfaces. In addition, the class provides a method that can be used to reformat the wavenumber spectrum to make it more suitable for display.

The second program is named ImgMod31 . This is an executable program whose purpose is to exercise and to test the ImgMod30 class using several examples for which the results should already be known.

Sample programs

The class named ImgMod30

This class provides 2D Fourier transform capability that can be used for image processing and other purposes. The class provides three static methods:

  • xform2D : Performs a forward 2D Fourier transform on a purely real surface described by a 2D array of double values in the space domain to produce a complex spectrum in the wavenumberdomain. The method returns the real part, the imaginary part, and the amplitude spectrum, each in its own 2D array of double values.
  • inverseXform2D : Performs an inverse 2D Fourier transform from the complex wavenumber domain into the real space domainusing the real and imaginary parts of the wavenumber spectrum as input. Returns the surface in the space domain as a 2D array of double values. Assumes that the real and imaginary parts in the wavenumber domainare consistent with a purely real surface in the space domain, and does not return an imaginary surface for the space domain
  • shiftOrigin : The wavenumber spectrum produced by xform2D has its origin in the top-left corner with the Nyquist folding wave numbers near the center. This is not a very suitableformat for visual analysis. This method rearranges the data to place the origin at the center with the Nyquist folding wave numbers along the edges.

The class was tested using JDK 1.8 and Windows 7. The class uses the static import capability that was introduced in J2SE 5.0. Therefore, it should notcompile using earlier versions of the compiler.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Digital signal processing - dsp. OpenStax CNX. Jan 06, 2016 Download for free at https://legacy.cnx.org/content/col11642/1.38
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Digital signal processing - dsp' conversation and receive update notifications?

Ask