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 |
EXTERN int rf_setup | ( | int | nsamples, | |
double | sfreq | |||
) |
Sets up the sampling of internal RF waveform representation
nsamples | the number of samples | |
sfreq | the internal sampling frequency |
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
D | the rectified signal | |
RF | the complex waveform to rectify |
Definition at line 15 of file rf_rectify.c.
References bpm_error(), complexwf_getreal(), doublewf_t::ns, and doublewf_t::wf.
Referenced by generate_diode().
EXTERN int rf_addLO | ( | double | amp, | |
double | lofreq, | |||
enum bpmphase_t | type, | |||
double | phase, | |||
double | phasenoise, | |||
doublewf_t * | LO | |||
) |
Generates an LO waveform
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 |
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
RF | signal to mix | |
LO | local oscillator signal to mix with | |
IF | resulting signal containing the up and down converted terms |
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:
RF | waveform to be processed | |
dB | gain (or attenuation) in dB |
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:
RF | waveform to be processed | |
dB | gain (or attenuation) in dB |
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
RF | waveform to be processed | |
rotation | phase rotation in degrees |
Definition at line 16 of file rf_phase_shifter.c.
References bpm_error(), complexwf_scale(), complex_t::im, and complex_t::re.
EXTERN int rf_nsamples |
Numer of samples in the rf waveform representations, default value is 2^16 = 65536 - obsolete
Definition at line 63 of file bpm_rf.h.
Referenced by generate_diode(), generate_dipole(), generate_monopole(), and rf_setup().
EXTERN double rf_samplefreq |
Effective sampling frequency for the rf waveform representations, default value is 20 GHz - obsolete
Definition at line 69 of file bpm_rf.h.
Referenced by rf_setup().