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

Defining data-generator classes

This class named Graph01Demo is used to demonstrate how to write data-generator classes that will operate successfully with the program named Graph01 .

( Figure 1 shows the display of the data produced by this class. You might want to refer to that figure while examining the code in this class.)

Listing 2 shows the beginning of the class definition, which names the class Graph01Demo , and specifies that the class implements the interface named GraphIntfc01 .

Listing 2. Beginning of the class named Graph01Demo.
class Graph01Demo implements GraphIntfc01{

The number of functions to plot

Listing 3 shows the entire listing of the method named getNmbr .

Listing 3. The method named getNmbr.
public int getNmbr(){ return 5;}//end getNmbr

Recall from the earlier discussion that the method named getNmbr must return an integer value between 1 and 5, which tells the plotting programnamed Graph01 how many functions to plot.

This demonstration plots all five functions, as shown in Figure 1 , so this method returns the value 5.

The method named f1

Listing 4 shows the entire method named f1 . The output from this method is plotted in the topmost plotting area of the display in Figure 1 . (This is the area at the top with the white background.)

Listing 4. The method named f1.
public double f1(double x){ return -(x*x)/200.0;}//end f1

This method receives an incoming parameter known locally as x . (Computations are performed on the fly by all five data-generator methods defined in this class.) The method computes and returns the negative square of the incoming parameter (divided by 200) . This produces the inverted bowl shape at the top of Figure 1 .

The method named f2

The curve plotted in the top-most plotting area with the gray background in Figure 1 is produced by the method named f2 , which is shown in its entirety in Listing 5 .

Listing 5. The method named f2.
public double f2(double x){ return -(x*x*x)/200.0;}//end f2

As before, this function receives an incoming parameter known locally as x . The function computes and returns the negative cube of the incoming parameter (divided by 200) . This produces the curve shown in the top-most gray area of Figure 1 .

The method named f3

The method named f3 , shown in Listing 6 , produces the curve shown in the center plotting area with the white background in Figure 1 .

Listing 6. The method named f3.
public double f3(double x){ return 100*Math.cos(x/10.0);}//end f3

This is a simple cosine curve, which is computed on the fly. Each time the method is called, the incoming parameter named x is used to calculate the cosine of an angle in radians given by one-tenth the value of x . The cosine of that angle is multiplied by 100 and returned.

(Note that the cosine of the angle is computed using a static method of the standard Java class named Math . This is the class that contains the Java math library.)

The method named f4

The curve shown in the bottom-most gray plotting area of Figure 1 is produced by the method named f4 , shown in Listing 7 .

Listing 7. The method named f4.
public double f4(double x){ return 100*Math.sin(x/20.0);}//end f4

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