【お知らせ】この部分は英語原文のみでの提供となります。何卒ご了承ください。
2.1.22.2.1.21 fft_fft_2d_complex
Contents
Description
computes the two-dimensional discrete Fourier transform or inverse Fourier transform of a bivariate sequence of complex data values.
Syntax
int 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.
Return
Returns 0 for success or error codes for failure.
Examples
EX1
//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; } }
Remark
See Also
Header to Include
fft.h