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

This program performs each of the processes listed above. However, it does not perform those processes in the special order used by an FFT algorithm thatcauses the FFT algorithm to be able to perform those processes at very high speed.

How the processes are implemented

The decomposition process in this program takes the complex samples in the order that they appear in the input complex series. The transform of eachcomplex sample is simply the sample itself. This is the result that would be obtained by actually computing the transform of the complex sample if the samplewere the first sample in the series.

The transform result for each complex sample (the sample itself) is then corrected for position by applying sine and cosine curves to reflect the actual position of the complex sample within the original complex series.

In order to accomplish the recombination of the corrected transform results, the real and imaginary parts of the correctedtransform are added to accumulators. These accumulators are used to accumulate the corrected real and imaginary parts from the corrected transforms for all ofthe individual complex samples.

Once the real and imaginary parts have been accumulated for all of the complex samples, the real part of the accumulatorrepresents the real part of the transform of the original complex series. The imaginary part of the accumulator represents the imaginary part of the transformof the original complex series. However, an actual transform was never performed on the original complex series.

Three cases are examined

This program creates three separate complex series, applies the processes listed above to each of those series, and displaysthe results on the screen.

No attempt is made to manage the decomposition and the subsequent recombination in the manner of a true FFT algorithm. Therefore, this program isdesigned to illustrate the processes involved, and is not designed to provide the speed of a true FFT algorithm.

This program was tested using JDK 1.8 under Windows 7.

Will discuss in fragments

As is my usual approach, I will discuss and explain this program in fragments. A complete listing of the program is provided in Listing 9 near the end of the module.

The program named Fft02

The program begins in Listing 1 , which shows the beginning of the controlling class named Fft02 and the beginning of the main method.

Listing 1. Beginning of the program named Fft02?
class Fft02{ public static void main(String[]args){ Transform transform = new Transform();

Instantiate a Transform object

The first statement in the main method instantiates an object of the Transform class. This object implements the processes used in an FFT, but does not implement those processes in the special order required by an FFT algorithm.

The purpose of an object of the Transform class is to illustrate the processes commonly used in an FFT in a manner that is more easily understoodthan is often the case with an actual FFT algorithm.

I will put the main method on the back burner for the moment and explain the class named Transform .

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