<< Chapter < Page
  Digital signal processing - dsp     Page 9 / 21
Chapter >> Page >
Listing 6. Create and save the test surface.
int rows = 41; int cols = 41;double[][]spatialData = getSpatialData(switchCase,rows,cols);

I will discuss the method named getSpatialData in detail later. For now, just assume that the 2D array object referred to by spatialData contains the test surface when this method returns.

Display the test surface

Listing 7 instantiates an object of the class named ImgMod29 to display the test surface in the display format indicated by the value of displayType .

Listing 7. Display the test surface.
new ImgMod29(spatialData,3,false,displayType);

The value of false in the third parameter indicates that the axes should not be displayed.

(See the module titled Plotting 3D Surfaces using Java for an explanation of the second parameter. Basically, this parameter is used to control the overallsize of the plot on the screen.)

An example test surface plot

The top-left image in Figure 4 is an example of the output produced by the code in Listing 7 for a displayType value of 0.

( Figure 4 shows the grayscale format. See the module titled Plotting 3D Surfaces using Java for an explanation of the three available non-logarithmic display formats.)

Figure 4. An example test surface plot.
missing image

Figure 4 shows the results for a test surface switchCase value of 2. I will discuss the particulars of this case in detail later.

Perform the forward Fourier transform

Listing 8 performs the forward Fourier transform to transform the test surface into the wavenumber domain.

Listing 8. Perform the forward Fourier transform.
double[][]realSpect = //Real part new double[rows][cols];double[][]imagSpect = //Imaginary part new double[rows][cols];double[][]amplitudeSpect = //Amplitude new double[rows][cols];ImgMod30.xform2D(spatialData,realSpect, imagSpect,amplitudeSpect);

Prepare array objects to receive the transform results

Listing 8 begins by preparing some array objects to receive the transform results. The forward transform receives an incoming surface array and returnsthe real and imaginary parts of the complex wavenumber spectrum along with the amplitude spectrum by populating three array objects passed as parameters to themethod.

Perform the forward transform

Then Listing 8 calls the static xform2D method of the ImgMod30 class to perform the forward transform, returning the results by way of the parameters to the method.

Display unshifted amplitude spectrum

The top-right image in Figure 4 is an example of the type of display produced by the code in Listing 9 . This is a plot of the amplitude spectrum without the wavenumber origin being shifted to place it at the center.

(The wavenumber origin is in the top-left corner of the top-right image in Figure 4 .)

This image also shows the result of passing true as the third parameter causing the red axes to be plotted on top of the spectral data.

Listing 9. Display unshifted amplitude spectrum.
new ImgMod29(amplitudeSpect,3,true, displayType);

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