Overload List
| # | Signature | Description |
|---|---|---|
| 1 | TMtxVec *FFTFromReal(TMtxVec *Vec, int VecIndex, int Index, int Len) const; | The forward Fast Fourier Transformation (FFT) from real to complex. |
| 2 | TVec *FFTFromReal() const; | The forward Fast Fourier Transformation (FFT) from real to complex. |
| 3 | TVec *FFTFromReal(TVec *Vec) const; | Calculate the FFT from all Vec elements and store the result in the calling vector. |
Overload 1: TMtxVec *FFTFromReal(TMtxVec *Vec, int VecIndex, int Index, int Len) const;
The forward Fast Fourier Transformation (FFT) from real to complex.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Vec | TMtxVec * | |
| 2 | VecIndex | int | |
| 3 | Index | int | |
| 4 | Len | int |
Calculate the FFT from real Vec elements [VecIndex]..[VecIndex+Len-1] and store the results in the calling object elements [Index]..[Index+Len-1]. The Len parameter must not be a power of two. Size and Vector::Complex properties of the calling object must be set explicitly. An exception is raised if Vector::ConditionCheck is True and Vec is not complex or if array borders are overrun.
Note
This is the indexed version of the FFT routine . Look there for more information on FFT parameters and storage requirements.
Overload 2: TVec *FFTFromReal() const;
The forward Fast Fourier Transformation (FFT) from real to complex.
Calculates the forward Fast Fourier Transformation (FFT) from real to complex for the calling vector in-place. The transform should be used, when the conjugate symmetric part of the frequency spectrum is not desired. If the calling vector is complex an exception will be raised. The operation implicitly sets the calling vector Complex property to True. The highest performance will be achieved if the transform length will be a power of two. The transform length is equal to Vector::Length, when the Vector::FFTStorageFormat is fsfPack or fsfPerm. The default storage format is fsfCCS.
In-place fsfCCS complication
The transform length in case of fsfCCS will be equal to Length-2, because the result is bigger than the source data by 2 real samples, if the source data is even. If the source data length is odd, then Vector::FFTOddLength must be set to True and only Length-1 samples will be used, but Length must of course in that case be even, or Length-1 will not be odd. The last two (one) samples in the vector will be ignored and will be overwritten with the result.
Overload 3: TVec *FFTFromReal(TVec *Vec) const;
Calculate the FFT from all Vec elements and store the result in the calling vector.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Vec | TVec * |
Vector::Length of the calling vector is set to match the length of the result.