Class
TVec
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 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.
| See Also |
|---|
| FFT |
| TDenseMtxVec.FFT |
| IFFT |
| TDenseMtxVec.IFFT |
var a,b: TVec; begin CreateIt(a,b); try //Even a.SetIt(false,[1,2,3,4]); b.FFTFromReal(a); // b = [(10, 0),( -2,2), (-2, 0)] a.SetIt(false,[1,2,3,4, 0, 0]); //result requires 3 complex (or 6 real values) a.FFTFromReal; // b = [(10, 0),( -2,2), (-2, 0)] //Odd length a.SetIt(false,[1,2,3]); b.FFTOddLength := True; //use only Length-1 samples b.FFTFromReal(a); // b = [(6,0),( -1.5,0.8660)] //result requires 2 complex (= 4 real numbers) a.SetIt(false,[1,2,3,0]); a.FFTOddLength := True; //use only Length-1 samples a.FFTFromReal; // b = [(6,0),( -1.5,0.8660)] //result requires 2 complex (= 4 real numbers) finally FreeIt(a,b); end; end;
| Copyright 2008 Dew Research |