bpmrf/bpm_rf.h

Go to the documentation of this file.
00001 /*
00002   libbpm - BPM signal processing/simulation library
00003   Copyright (C) 2006-07 Bino Maiheu (bino@hep.ucl.ac.uk)
00004   
00005   This program is free software; you can redistribute it and/or modify
00006   it under the terms of the GNU General Public License as published by
00007   the Free Software Foundation; either version 2 of the License, or
00008   (at your option) any later version.
00009   
00010   This program is distributed in the hope that it will be useful,
00011   but WITHOUT ANY WARRANTY; without even the implied warranty of
00012   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013   GNU General Public License for more details.
00014   
00015   You should have received a copy of the GNU General Public License
00016   along with this program; if not, write to the Free Software
00017   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA 
00018 */
00019 
00034 #ifndef BPMRF_H__
00035 #define BPMRF_H__
00036 
00037 /* -----------------------------------------------------------------------------
00038    includes
00039    -------------------------------------------------------------------------- */
00040 #include <math.h>
00041 #include <bpm/bpm_defs.h>
00042 #include <bpm/bpm_interface.h>
00043 #include <bpm/bpm_wf.h>
00044 
00045 /* -----------------------------------------------------------------------------
00046    macro definitions
00047    -------------------------------------------------------------------------- */
00048 
00049 /* -----------------------------------------------------------------------------
00050    typedefs, enums and other declarations
00051    -------------------------------------------------------------------------- */
00052 #ifdef __cplusplus
00053 extern "C" {
00054 #endif
00055 
00056 /* -----------------------------------------------------------------------------
00057    function prototypes and declarations
00058    -------------------------------------------------------------------------- */
00063   EXTERN int      rf_nsamples; 
00064 
00069   EXTERN double   rf_samplefreq; 
00070 
00071   EXTERN int      rf_setup( int nsamples, double sfreq ); // obsolete
00072 
00079   EXTERN int rf_rectify( doublewf_t *D, complexwf_t *RF );
00080   
00091   EXTERN int rf_addLO( double amp, double lofreq, enum bpmphase_t type,
00092                        double phase, double phasenoise, doublewf_t *LO );
00093 
00102   EXTERN int rf_mixer( doublewf_t *RF_Re, doublewf_t *LO, doublewf_t *IF );
00103 
00111   EXTERN int rf_amplify( doublewf_t *RF, double dB );
00112 
00120   EXTERN int rf_amplify_complex( complexwf_t *RF, double dB );
00121 
00128   EXTERN int rf_phase_shifter( complexwf_t *RF, double rotation );
00129 
00130 #ifdef __cplusplus
00131 }
00132 #endif
00133 
00134 #endif /* #ifndef BPMRF_H__ */
00135 
00136 /* ================================ end of file ============================= */

Generated on Thu Jan 10 10:18:04 2008 for libbpm by  doxygen 1.5.1