| 2.1.22.2.1.21 fft_fft_2d_complex
 Descriptioncomputes the two-dimensional discrete Fourier transform or inverse Fourier transform
of a bivariate sequence of complex data values.
 Syntaxint fft_fft_2d_complex( int iSizeX, int iSizeY, double * vSigReal, double * vSigImag, FFT_SIGN iSign = FFT_FORWARD ) Parameters iSizeX[input] the number of rows of the bivariate data sequence. iSizeY[input] the number of columns of the bivariate data sequence. vSigReal[modify] the real parts of the original signal to be transformed for input, and the real part of the corresponding elements of the computed transform for output. vSigImag[modify] the imaginary parts of the original signal to be transformed for input, and the imaginary part of the corresponding elements of the computed transform for output.  iSign[input] the transformation to carry out  = FFT_FORWARD: FFT (by default)   = FFT_BACKWARD: IFFT.
 ReturnReturns 0 for success or error codes for failure.
 ExamplesEX1
 //Assume the current Worksheet has 7 columns, the first two columns contain 7*8 data each.
//The first column is the real part of the original 2d complex data and the second column
//is the imaginary part. This piece of code reads in a sequence of these 7*8 complex
//data values and put the result of the two-dimensional discrete Fourier transform of
//the original data into the third and fourth columns. The third column is the real part
//and the fourth column is the imaginary part. Then inverse Fourier transform is performed,
//and the result is output into the fifth and the sixth columns.
#include <..\originlab\fft.h>    
void TEST_fft_fft_2d_complex()
{
    int n=7, m=8, k=n*m, success;
    //Attach two Datasets to these 2 columns
    Worksheet wks = Project.ActiveLayer();
    if(wks)
    {
        Dataset xx(wks, 0);
        Dataset yy(wks, 1);
        Dataset aa(wks, 2);
        aa.SetSize(k);
        Dataset bb(wks, 3);
        bb.SetSize(k);
        Dataset cc(wks, 4);
        cc.SetSize(k);    
        Dataset dd(wks, 5);
        dd.SetSize(k);            
    
        vector x = xx, y = yy;
        
        ///FT
        success = fft_fft_2d_complex(n, m, x, y);
        //put the result back to the current worksheet, the third and the fourth column.
        aa = x;
        bb = y;
        
        ///IFT
        success = fft_fft_2d_complex(n, m, x, y, FFT_BACKWARD);
        //put the result back to the current worksheet, the fifth and the sixth column.
        cc = x;
        dd = y;
    }
}RemarkSee Alsofft_fft_real, fft_fft_complex
 Header to Includefft.h
 Reference |