<< Chapter < Page
  Digital signal processing - dsp     Page 22 / 27
Chapter >> Page >

The code in Listing 32 draws the red traces shown in Figure 2 .

End of class plotalot02

Listing 32 signals the end of the overridden paint method, the MyCanvas class, the Page class, and the PlotALot02 class.

The class named PlotALot03

I will discuss the class named PlotALot03 in fragments. A complete listing of the class is provided in Listing 37 near the end of the module.

Much of the code in the class named PlotALot03 is very similar to the code in PlotALot02 . Therefore, this discussion will be brief, simply highlighting the differences between the two classes.

Two-channel data on alternating axes

This class is an update to the class named PlotALot02 . This class is designed to plot large amounts of data for two channels on alternatinghorizontal axes. One set of data is plotted using the color black. The other set of data is plotted using the color red.

Three steps for using the class

As before, there are three steps involved in the use of this class for plotting two-channel data:

  1. Instantiate a plotting object of type PlotALot03 .
  2. Feed pairs of data values to the plotting object by calling the feedData method once for each pair of data values. The first value in the pair will be plotted in black on one axis. The second value in thepair will be plotted in red on an axis below that one.
  3. Call the plotData method on the plotting object when all of the data has been fed to the object. This causes all of the data tobe plotted and also causes the Page objects to be rearranged so that page 0 is on the top of the stack.

A stack of page objects

The class produces a graphic output consisting of a stack of Page objects on the screen, with the data plotted on a Canvas object contained in the Page object.

Each Page object contains two or more horizontal axes on which the data is plotted. The class will terminate if the number of axes on thepage is an odd number.

Alternating axes

The two data sets are plotted on alternating axes as shown in Figure 3 with the data from one data set being plotted in black on one axis and the data fromthe other data set being plotted in red on the axis below that axis.

The earliest data is plotted on the pair of axes nearest the top of the page moving from left to right across the page. Positive data values are plottedabove the axis and negative values are plotted below the axis.

When the right end of an axis is reached, the next data value is plotted on the left end of the second axis below it skipping one axis in the process. Whenthe right end of the last pair of axes on the page is reached, a new Page object is created and the next pair of data values are plotted at the left end of the top pair of axes on that new page.

Testing with the main method

For self-test purposes, the main method instantiates a single plotting object and feeds two data sets to that plotting object. The datathat is fed to the plotting object is white random noise. One of the data sets is the sequence of values obtained from a random number generator. The otherdata set is the same as the first. Thus, the pairs of black and red data sets that are plotted should have the same shape making it easy to confirm that theprocess of plotting the two data sets is behaving the same in both cases.

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