The signal processing functions present in
VEGA rely on the Frv analysis library developped in VIRGO. A default version of
the library is provided with the VEGA sources but may be upgraded at any
time.
The API of this library are not yet
finalized but come very close to this point.
This library uses the FFTW
(http://www.fftw.org) library
for computing fft’s. The installation of FFTW is not difficult and
described in the installation documents, i.e. INSTALL file in the distribution
or
"Installation of ROOT"
The sources and documentation of Frv may be
found http://wwwlapp.in2p3.fr/virgo/FrameL/. We
will just give an example to demonstrate the use of the library to make an FFT
of a vector.
A structure FrvRFFT that holds the result of
an fft transform of a frame vector FrVect is defined. The algorithm itself is
build and called with FrvRFFTFor (0,frvect) as for example in (suppose vect is
an FrVect) :
vega[]
fft = FrvRFFTFor (0,vect)
This will create a standard fft and apply it
to the vector vect. On output, the fft structure contains the result of the
processing in the form of FrVect’s that one can plot as usual
:
vega[]
gVM->Draw(fft->amplitude)
For the amplitude part of the fft. Once the
fft object is not needed anymore, the user should delete it
with
vega[]
FrvRFFTFree(fft)
Look at the example scrollspectrum.C in the
tutorials.
More information will be added as soon as
the Frv library gets a standard shape.