<< Chapter < Page
  Digital signal processing - dsp     Page 7 / 24
Chapter >> Page >

Doesn't know and doesn't care

The plotting program doesn't know, and doesn't care how the interface method decides on the value to return for each value that it receives as an incomingparameter. The plotting program simply calls the methods to get the data, and then plots the returned values.

Computed "on the fly"

For example, the returned values could be computed and returned "on the fly," as was the case in the example program named Graph01Demo , which I explained in the module titled Plotting Engineering and Scientific Data using Java .

Returned from an array

On the other hand, the values could have been computed earlier and saved in an array. That is the case with all the programs that I will explain in thismodule.

From a disk file, a database, the internet, etc.

The returned values could be read from a disk file, obtained from a databaseon another computer, or obtained from any other source such as another computer on the Internet.

All that matters is that when the plotting program calls one of the five methods named f1 through f5 , passing a double value as a parameter, it expects to receive a double value in return, and it will plot the value that it receives.

The getNmbr method

The getNmbr method for the class named Dsp029 is shown in Listing 6 .

Listing 6. The getNmbr method.
public int getNmbr(){ //Return number of functions to// process. Must not exceed 5. return numberSinusoids;}//end getNmbr

This is a very simple method. It returns the value stored in the variable named numberSinusoids . This variable may contain the default value established by Listing 1 , or may contain the value read from the file named Dsp029.txt by the method named getParameters .

The method named f1

The code for the method named f1 is shown in Listing 7 .

Listing 7. The method named f1.
public double f1(double x){ int index = (int)Math.round(x);if(index<0 || index>data1.length-1){ return 0;}else{ return data1[index]; }//end else}//end function

Note that there is not a one-to-one correspondence between horizontal coordinate values and pixels on the screen. For example, it may sometimes benecessary to plot 90 values across an area of the screen containing 110 pixels. The plotting program must interpolate properly to deal with that issue.Therefore, the plotting program deals with horizontal coordinates as type double and then converts those coordinate values to integer pixel values when the timecomes to actually draw the material on the screen.

Round from double to int

The method named f1 receives an incoming horizontal coordinate value as type double . It rounds that value to the nearest value of type long and casts it to type int to determine the index value to use when retrieving the corresponding verticalvalue from the array object.

If the index value is outside the bounds of the array, the method simply returns a value of zero. Otherwise, it uses the index value to return the valuestored in the array object at that index.

The remaining interface methods

The remaining four interface methods are identical to the method named f1 , except that each method returns data values stored in a different array object. Therefore, I won't discuss those methods.

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