# InvFFTEx

Advanced Analysis Library Only

AnalysisLibErrType InvFFTEx (NIComplexNumber fft[], int numberOfElements, PFFTTable fftTable, int shifted, double timeDomainSignal[]);

## Purpose

Computes the real inverse Fast Fourier Transform (FFT) of an input sequence.
National Instruments recommends you use this function instead of ReInvFFT. With InvFFTEx, you can use an FFT table. You also can compute a DC-centered inverse FFT.
To perform the same size FFT repeatedly, first use CreateFFTTable to create the FFT table and then pass the table to InvFFTEx to speed the computation. If you pass NULL for fftTable, the function creates the table internally and frees the table on exit.
The following code is the pseudocode for calling FFT routines:

                N=1024; //Set length of signal
                tbl=CreateFFTTable(N);  //Create N-point table
                for(;;){
                    Acquire_N_Point_Signal(signal); //Acquire N points
                    FFT(signal,..., tbl,...);       //Perform FFT or IFFT
                }
                DestroyFFTTable(tbl);       //End, release FFT table resources

## Parameters

Input
Name | Type | Description
fft | complex number array | The input frequency-domain sequence.
numberOfElements | integer | The number of elements in fft.
fftTable | PFFTTable | The FFT table created with CreateFFTTable. You can pass NULL for this parameter if you do not have a reusable FFT table.
shifted | integer | Specifies whether fft is DC-centered. shifted must be one of the following values: FALSE (0): Not centered. The DC component is the first element of fft. TRUE (1): Centered.
Output
Name | Type | Description
timeDomainSignal | double-precision array | The real time-domain signal.

## Return Value

Name | Type | Description
status | AnalysisLibErrType | A value that specifies the type of error that occurred. Refer to analysis.h for definitions of these constants.