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

The program named Dsp036

The program named Dsp036 replicates the behavior of the program named Dsp035 , except that it uses an FFT algorithm to perform the inverse Fourier transform instead of using a DFT algorithm as in Dsp035 .

The output from Dsp036

The output produced by running the program named Dsp036 and plotting the output using the program named Graph03 is shown in Figure 2 .

Figure 2. Forward and inverse transform of a time series using FFT algorithm.
missing image

Compare Figure 2 with Figure 1 . The two should be identical. The program named Dsp036 was designed to use an FFT algorithm for the inverse Fourier transform and to replicate the behavior of the program named Dsp035 , which uses a DFT algorithm for the inverse Fourier transform. In addition, the same plotting parameters were used for both figures.

Some code from Dsp036

I'm only going to show you one short code fragment from the program named Dsp036 . Listing 7 shows the code that calls the methods to perform the forward and inverse Fourier transforms using the FFT algorithm. A complete listing ofthe program named Dsp036 is shown in Listing 16 near the end of the module.

Listing 7. Some code from Dsp036.
//Compute FFT of the time data and save it in // the output arrays.ForwardRealToComplexFFT01.transform( timeDataIn,realSpect, imagSpect,angle, magnitude);//Compute inverse FFT of the spectral data InverseComplexToRealFFT01.inverseTransform( realSpect,imagSpect, timeOut);

The forward fourier transform

The transform method used to perform the forward Fourier transform in Listing 7 was discussed in an earlier module, so I won't discuss it further here.

The inverse fourier transform

The static inverseTransform method of the InverseComplexToRealFFT01 class was used to perform the inverse Fourier transform in Listing 7 . You can view this method in Listing 17 near the end of the module.

I'm not going to discuss this method in detail either, because it is very similar to the method named InverseComplexToReal01 discussed earlier in conjunction with Listing 4 and the listings following that one.

A couple of things to note

There are a couple of things, however, that I do want to point out.

The transform method and the inverseTransform method each call a method named complexToComplex to actually perform the Fourier transform. This method implements a classical FFT algorithm accepting complex input data and producingcomplex output data. The restriction of real-to-complex and complex-to-real is imposed in this program by the methods named transform and inverseTransform .

(The method named complexToComplex is also suitable for use if you have a need to perform complex-to-complex Fourier transforms.)

The signature of the complexToComplex method

The signature for the complexToComplex method is shown in Figure 3 .

Figure 3. The signature of the complexToComplex method.
public static void complexToComplex( int sign,int len, double real[], double imag[]){

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