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

Call the inverseXform2D method

Then Listing 11 calls the inverseXform2D method to transform the complex wavenumber spectrum into a real space function. The inverseXform2D method requires the real and imaginary parts of the complex wavenumber spectrum as input parameters.

(Note that these are the original real and imaginary parts of the complex wavenumber spectrum. They are not the versions for which the originhas been shifted for display purposes.)

The inverseXform2D method also receives an incoming array object in which to store the real result of the transform process.

Display the result of the inverse transform

Finally, Listing 12 displays the result of the inverse transform as a surface in the space domain. This surface should compare favorably with the original surface that was transformed into the wavenumber domain in Listing 8

Listing 12. Display the result of the inverse transform.
new ImgMod29(recoveredSpatialData,3,false, displayType);

The output produced by Listing 12 is shown in the lower-left image in Figure 4 . Compare this with the input surface shown in the top-left image in Figure 4 . As you can see, they do compare favorably. In fact, they appear to be identicalin this grayscale plotting format. We will see later that when a more sensitive plotting format is used, small differences in the two may become apparent.

Display some numeric results

As discussed earlier, the code in Listing 13 samples and displays a few corresponding points on the original surface and the surface produced by theinverse transform process. The results can be used to evaluate the overall quality of the process as well as the correctness of the overall scaling.

Listing 13. Display some numeric results.
for(int row = 0;row<3;row++){ for(int col = 0;col<3;col++){ System.out.println(spatialData[row][col]+ " " + recoveredSpatialData[row][col] + " ");}//col }//row}//end main

Each line of output text contains two values, and ideally the two values should be exactly the same. Realistically, because of small computational errorsin the transform and inverse transform process, it is unlikely that the two values will be exactly the same except in computationally trivial cases. Unlessthe two values are very close, however, something probably went wrong in the transform process and the results should not be trusted.

Listing 13 also signals the end of the main method.

What do we know so far?

Now we know how to use the ImgMod30 class and the ImgMod29 class to:

  • Transform a purely real 3D surface from the space domain into the wavenumber domain
  • Transform a complex wavenumber spectrum into a purely real surface in the space domain
  • Shift the origin of the real, imaginary, and amplitude wavenumber spectral parts to convert the data into a format that is more suitable forplotting
  • Plot 3D surfaces in both domains

It is time to for us to take a look at the method named getSpatialData that can be used to create any of fourteen standard surfaces in the space domain.

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