GCpp general purpose C++ library
version 1.0
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
GCppDocFFT.hh
Go to the documentation of this file.
1
//======================================================================
2
/*! \file GCppDocFFT.hh
3
*
4
* Include file containing documentation page for FFT classes.
5
*/
6
//======================================================================
7
8
#ifndef G_CPP_DOC_FFT_HH
9
#define G_CPP_DOC_FFT_HH
10
11
12
//======================================================================
13
/*! \page gcpp_fft_doc Documentation for GFTT classes and functions
14
*
15
* \author J. Giovinazzo (giovinaz@cenbg.in2p3.fr)
16
*
17
* This collection of classes and functions provide some base tools for
18
* samples processing using Fourier transforms for (de)convolution.
19
*
20
*
21
* \par The GFFT package
22
*
23
* - see \ref FFT_Dianelson_Lanczos for the FFT algorithm
24
*
25
* - GBaseSampleFFT is an abstract base class to handle the sampling of a
26
* signal (either real or complex) and it's FFT.
27
*
28
* - GRealSampleFFT is the class to use for samples with real samples values.
29
*
30
*
31
* \anchor GFFT_time_scale_mode
32
* \par Setting a time scale
33
*
34
* A time scale can be defined (instead of point number).
35
* This can be done specifying a time interval, that can be interpreted in
36
* 2 ways:
37
* - the limits correspond to the first and last points exactly (N-1 intervals)
38
* - the limits correspond to an equivalent binning of the samples, each point
39
* being the center of the bin (N intervals)
40
* This is specified in the functions setting the time scale (constructors or
41
* setting functions).
42
* By default (default argument or \b false), the first mode is set
43
* (not centered).
44
*
45
*
46
* \par Releases
47
*
48
* - version 1.2 (10/2017)
49
* - included in the GCpp (base classes) and GRootTools (ROOT classe)
50
* packages
51
* - version 1.1 (04/2016)
52
* - modified samples limits setting for bin mode / center point mode
53
* in GBaseSampleFFT::SetTimeRange function
54
* - added mean and RMS functions for real samples
55
*/
56
57
//======================================================================
58
/*! \page FFT_Dianelson_Lanczos Danielson-Lanczos algorithm for FFT
59
*
60
* \par Danielson-Lanczos algorithm
61
*
62
* The Danielson-Lanczos algorithm is a Fast Fourier Transform algorithm
63
* with a computing time for convolutions / deconvolution proportionnal
64
* to \b N*log2(N) (where N is the sample dimension), while a standard
65
* algorithm would need \b N*N.
66
*
67
* The sample dimension \b N must be a power of 2.
68
*
69
*
70
* \par Real values functions
71
*
72
* In the case of a real function sample, the discrete Fourier
73
* transform is complex.
74
* If there are \b N real samples, there can be only \b N data
75
* real data in the complex FT: the FT is defined by \b N/2+1
76
* complex numbers, but the first (low frequency) and the last
77
* (high frequency) terms of the FT are pure real.
78
* In order to fit in an array of \b N (real) data, the FFT algorithms
79
* stores the last element (real) in the imaginary part of the fist
80
* element.
81
*
82
* \note
83
* - the functions work with real number arrays; complex numbers are
84
* defined with 2 real values, and the complex types of C/C++ are
85
* note used.
86
*
87
*/
88
//======================================================================
89
90
//======================================================================
91
#endif
src
docs
GCppDocFFT.hh
Generated on Fri Mar 27 2020 19:06:45 for GCpp general purpose C++ library by
1.8.5