2.1.22.2.1.23 fft_fft_2d_real
Description
Calculates the 2 dimensional discrete Fourier transforms or inverse 2 dimensional discrete Fourier transforms.
Syntax
int fft_fft_2d_real( 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 part of the complex data in input data, and the real part of the complex data in output data.
- vSigImag
- [output] the imaginary part of the complex data in output data.
- iSign
- [input] the transformation to carry out
- = FFT_FORWARD: FFT (by default)
- = FFT_BACKWARD: IFFT.
Return
Returns 0 for success or error codes for failure.
Examples
EX1
#include <..\originlab\fft.h>
void fft_fft_2d_real_ex1()
{
int nRows = 5;
int nCols = 5;
matrix mReal(nRows, nCols), mImag(nRows, nCols);
//Create matrix pages
MatrixPage mPage1, mPage2,mPage3, mPage4, mPage5, mPage6;
mPage1.Create("Origin");
mPage2.Create("Origin");
mPage3.Create("Origin");
mPage4.Create("Origin");
Matrix mat1(mPage1.GetName()),mat2(mPage2.GetName()), mat3(mPage3.GetName()),
mat4(mPage4.GetName());
//Give the testing data into mReal and mImag
for(int ii=0; ii<mReal.GetNumCols(); ii++)
for(int jj = 0; jj<mReal.GetNumRows(); jj++)
{
mReal[jj][ii] = rnd();
}
mImag = 0;
//Forward FFT
fft_fft_2d_real(nRows, nCols, mReal, mImag, FFT_FORWARD);
mat1 = mReal;
mat2 = mImag;
//Backward FFT
fft_fft_2d_real(nRows, nCols, mReal, mImag, FFT_BACKWARD);
mat3 = mReal;
mat4 = mImag;
}
Remark
Calculates the 2 dimensional discrete Fourier transforms or inverse 2 dimensional
discrete Fourier transforms of a sequence of iSizeX*iSizeY real data values. Then
put the real part of result into vSigReal and put the imaginary part of result into
vSigImag.
See Also
fft_fft_2d_complex
Header to Include
fft.h
Reference
|