<< Chapter < Page | Chapter >> Page > |
Note that I deleted much of the code from Listing 2 for brevity. You can view the missing code in Listing 14 near the end of the module.
The code in Listing 3 calls the static transform method of the ForwardRealToComplex01 class to compute and save the complex spectrum of the time series shown in the top plot of Figure 1 .
Listing 3. Compute the complex spectrum. |
---|
ForwardRealToComplex01.transform(timeDataIn,
realSpect,imagSpect,
angle,magnitude,
zero,0.0,
1.0); |
I explained the transform method in the earlier module titled Spectrum Analysis using Java, Sampling Frequency, Folding Frequency, and the FFT Algorithm . The three middle plots in Figure 1 are plots of the data returned in the arrays referred to by realSpect , imagSpect , and magnitude by the transform method.
The angle results returned by the transform program are not used in this module.
One of the parameters (zero) establishes that the first sample in the time series array referred to by timeDataIn represents the zero time origin.
The parameters also specify that the complex spectrum is to be computed at a set of equally spaced frequencies ranging from zero (0.0) to the sampling frequency (1.0) .
The code in Listing 4 calls the static inverseTransform method of the InverseComplexToReal01 class to perform an inverse Fourier transform on the complex spectral data, producing the output time series shownin the bottom plot in Figure 1 .
Listing 4. Perform the inverse Fourier transform. |
---|
InverseComplexToReal01.inverseTransform(
realSpect,imagSpect,
timeDataOut);}//end constructor |
I will explain the inverseTransform method later.
Listing 4 also signals the end of the constructor. Once the constructor has completed executing, an object of the Dsp035 class exists. The array objects belonging to the object have been populated with the original timeseries, the complex spectrum of the original time series, and the output time series produced by performing an inverse Fourier transform on that complexspectrum. This data is ready for plotting.
All of the remaining code in Dsp035 consists of the six methods necessary to satisfy the interface named GraphIntfc01 . Those methods are required to provide data to the plotting program, as explainedin earlier modules in this series.
If you have studied the earlier modules in this series, you probably don't want to hear any more about those methods, so I won't discuss them further. Youcan view the six interface methods in Listing 14 near the end of the modules.
The static method named inverseTransform performs a complex-to-real inverse discrete Fourier transform returning a real result only.In other words, the method transforms a complex input to a real output.
Notification Switch
Would you like to follow the 'Digital signal processing - dsp' conversation and receive update notifications?