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

Perform the spectral analysis

The code in Listing 12 creates array objects to receive the results and calls the static transform method of the forwardRealToComplex01 class five times in succession to perform the spectral analysis on each of the five sinusoids.

(I will explain the transform method that performs the spectral analysis shortly.)

Only the magnitude data is displayed by this program. Therefore, the arrays that receive the other spectral analysis results from the transform method arediscarded each time a new spectral analysis is performed.

Listing 12. Perform the spectral analysis.
magnitude1 = new double[len];real = new double[len];imag = new double[len];angle = new double[len];ForwardRealToComplex01.transform(data1,real, imag,angle,magnitude1,zeroTime,lowF,highF);magnitude2 = new double[len];real = new double[len];imag = new double[len];angle = new double[len];ForwardRealToComplex01.transform(data2,real, imag,angle,magnitude2,zeroTime,lowF,highF);magnitude3 = new double[len];real = new double[len];imag = new double[len];angle = new double[len];ForwardRealToComplex01.transform(data3,real, imag,angle,magnitude3,zeroTime,lowF,highF);magnitude4 = new double[len];real = new double[len];imag = new double[len];angle = new double[len];ForwardRealToComplex01.transform(data4,real, imag,angle,magnitude4,zeroTime,lowF,highF);magnitude5 = new double[len];real = new double[len];imag = new double[len];angle = new double[len];ForwardRealToComplex01.transform(data5,real, imag,angle,magnitude5,zeroTime,lowF,highF);}//end constructor

The spectral magnitude results

Note that the magnitude results are saved in the array objects referred to by magnitude1 , magnitude2 , etc. This will be important later when I discuss the interface methods defined by Dsp028 .

The end of the constructor

Listing 12 also signals the end of the constructor. When the constructor terminates, the object has been instantiated and populated with spectralanalysis results for five sinusoids using the parameters specified by the file named Dsp028.tx t.

The getparameters method

The getParameters method used in this program is the same as that used in Dsp029 , so I won't discuss it further.

The interface methods

The Dsp028 class must define the same six interface methods as the Dsp029 class, which I discussed earlier. The only difference in the interface methods is the identification of the array objectsfrom which the methods return data when the methods are called.

The code in Listing 13 is typical of the code for methods f1 through f5 . As you can see, these methods return the data stored in the magnitude arrays. These are the spectral analysis results that areplotted in Figure 9 , Figure 11 , and later in Figure 14 .

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

The program named Graph03

The plots in Figure 9 and Figure 11 were produced by entering the following at the command line prompt:

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