RF simulation routines


Detailed Description


Files

file  bpm_rf.h
 libbpm rf simulation routines
file  rf_addLO.c
file  rf_amplify.c
file  rf_amplify_complex.c
file  rf_mixer.c
file  rf_phase_shifter.c
file  rf_rectify.c
file  rf_setup.c

Functions

EXTERN int rf_setup (int nsamples, double sfreq)
EXTERN int rf_rectify (doublewf_t *D, complexwf_t *RF)
EXTERN int rf_addLO (double amp, double lofreq, enum bpmphase_t type, double phase, double phasenoise, doublewf_t *LO)
EXTERN int rf_mixer (doublewf_t *RF_Re, doublewf_t *LO, doublewf_t *IF)
EXTERN int rf_amplify (doublewf_t *RF, double dB)
EXTERN int rf_amplify_complex (complexwf_t *RF, double dB)
EXTERN int rf_phase_shifter (complexwf_t *RF, double rotation)

Variables

EXTERN int rf_nsamples
EXTERN double rf_samplefreq


Function Documentation

EXTERN int rf_setup ( int  nsamples,
double  sfreq 
)

Sets up the sampling of internal RF waveform representation

Parameters:
nsamples the number of samples
sfreq the internal sampling frequency
Returns:
BPM_SUCCESS

Definition at line 19 of file rf_setup.c.

References rf_nsamples, and rf_samplefreq.

EXTERN int rf_rectify ( doublewf_t D,
complexwf_t RF 
)

Rectifies the given waveform assuming a single diode

Parameters:
D the rectified signal
RF the complex waveform to rectify
Returns:
BPM_SUCCESS upon success, BPM_FAILURE upon failure
Rectifies the given waveform assuming a single diode
Parameters:
D the rectified signal
RF the complex waveform to rectify
Returns:
BPM_SUCCESS upon success, BPM_FAILURE upon failure

Definition at line 15 of file rf_rectify.c.

References bpm_error(), complexwf_getreal(), doublewf_t::ns, and doublewf_t::wf.

EXTERN int rf_addLO ( double  amp,
double  lofreq,
enum bpmphase_t  type,
double  phase,
double  phasenoise,
doublewf_t LO 
)

Generates an LO waveform

Parameters:
amp amplitude of the LO signal in Volts
lofreq LO frequency locked or freerunning oscillator phase of the signal, ignored if type is not "locked" phase noise to be added to the waveform
LO generated waveform
Returns:
BPM_SUCCESS upon success, BPM_FAILURE upon failure
Generates an LO waveform
Parameters:
amp amplitude of the LO signal in Volts
lofreq LO frequency locked or freerunning oscillator phase of the signal, ignored if type is not "locked" phase noise to be added to the waveform
LO generated waveform
Returns:
BPM_SUCCESS upon success, BPM_FAILURE upon failure

Definition at line 21 of file rf_addLO.c.

References bpm_error(), doublewf_add_cwtone(), locked, and nr_ranuniform().

EXTERN int rf_mixer ( doublewf_t RF,
doublewf_t LO,
doublewf_t IF 
)

Simulates an ideal mixer

Parameters:
RF signal to mix
LO local oscillator signal to mix with
IF resulting signal containing the up and down converted terms
Returns:
BPM_SUCCESS upon success, BPM_FAILURE upon failure
Simulates an ideal mixer
Parameters:
RF signal to mix
LO local oscillator signal to mix with
IF resulting signal containing the up and down converted terms
Returns:
BPM_SUCCESS upon success, BPM_FAILURE upon failure

Definition at line 17 of file rf_mixer.c.

References bpm_error(), doublewf_copy(), and doublewf_multiply().

EXTERN int rf_amplify ( doublewf_t RF,
double  dB 
)

Amplifies the signal by the level dB. The voltage gain is calculated:

\[ gain = \sqrt{ 10^{ \frac{db}{20} } } \]

Parameters:
RF waveform to be processed
dB gain (or attenuation) in dB
Returns:
BPM_SUCCESS upon success, BPM_FAILURE upon failure
Amplifies the signal by the level dB. The voltage gain is calculated:

\[ gain = \sqrt{ 10^{ \frac{db}{20} } } \]

Parameters:
RF waveform to be processed
dB gain (or attenuation) in dB
Returns:
BPM_SUCCESS upon success, BPM_FAILURE upon failure

Definition at line 17 of file rf_amplify.c.

References bpm_error(), and doublewf_scale().

EXTERN int rf_amplify_complex ( complexwf_t RF,
double  dB 
)

Amplifies the signal by the level dB. The voltage gain is calculated:

\[ gain = \sqrt{ 10^{ \frac{db}{20} } } \]

Parameters:
RF waveform to be processed
dB gain (or attenuation) in dB
Returns:
BPM_SUCCESS upon success, BPM_FAILURE upon failure
Amplifies the signal by the level dB. The voltage gain is calculated:

\[ gain = \sqrt{ 10^{ \frac{db}{20} } } \]

Parameters:
RF waveform to be processed
dB gain (or attenuation) in dB
Returns:
BPM_SUCCESS upon success, BPM_FAILURE upon failure

Definition at line 17 of file rf_amplify_complex.c.

References bpm_error(), complexwf_scale(), complex_t::im, and complex_t::re.

EXTERN int rf_phase_shifter ( complexwf_t RF,
double  rotation 
)

Rotates the phase of the signal by the amount specified

Parameters:
RF waveform to be processed
rotation phase rotation in degrees
Returns:
BPM_SUCCESS upon success, BPM_FAILURE upon failure
Rotates the phase of the signal by the amount specified
Parameters:
RF waveform to be processed
rotation phase rotation in degrees
Returns:
BPM_SUCCESS upon success, BPM_FAILURE upon failure

Definition at line 16 of file rf_phase_shifter.c.

References bpm_error(), complexwf_scale(), complex_t::im, and complex_t::re.


Variable Documentation

EXTERN int rf_nsamples

Numer of samples in the rf waveform representations, default value is 2^16 = 65536

Definition at line 63 of file bpm_rf.h.

Referenced by rf_setup().

EXTERN double rf_samplefreq

Effective sampling frequency for the rf waveform representations, default value is 20 GHz

Definition at line 69 of file bpm_rf.h.

Referenced by rf_setup().


Generated on Wed Jun 25 17:32:49 2008 for libbpm by  doxygen 1.5.6