6.9 RF Synthesizer Functions
Modules for the following RF synthesizers exist:
-
hp8647a
Hewlett-Packard HP8647A
-
hp8648b
Hewlett-Packard HP8648B
-
hp8672a
Hewlett-Packard HP8672A
-
rs_sml01
Rohde&Schwarz SML01
-
rs_smb100a
Rohde&Schwarz SMB100A (models SMB-B101, SMB-B102, SMB-B103, SMB-B106, SMB-B112, SMB-B112L, SMB-B120, SMB-B120L, SMB-B140 and SMB-B140K)
To use a module in an experiment put its name into the DEVICES
section of the EDL
script.
List of RF synthesizer functions:
- `synthesizer_name()'
- `synthesizer_state()'
- `synthesizer_frequency()'
- `synthesizer_set_freq_delay()'
- `synthesizer_attenuation()'
- `synthesizer_automatic_level_control()'
- `synthesizer_user_level_correction()'
- `synthesizer_minimum_attenuation()'
- `synthesizer_min_attenuation()'
- `synthesizer_max_attenuation()'
- `synthesizer_step_frequency()'
- `synthesizer_sweep_up()'
- `synthesizer_sweep_down()'
- `synthesizer_reset_frequency()'
- `synthesizer_use_table()'
- `synthesizer_att_ref_freq()'
- `synthesizer_attenuation_offset()'
- `synthesizer_modulation()'
- `synthesizer_mod_state()'
- `synthesizer_mod_type()'
- `synthesizer_mod_source()'
- `synthesizer_mod_freq()'
- `synthesizer_mod_ampl()'
- `synthesizer_mod_mode()'
- `synthesizer_pulse_state()'
- `synthesizer_pulse_trigger_slope()'
- `synthesizer_pulse_width()'
- `synthesizer_pulse_delay()'
- `synthesizer_double_pulse_mode()'
- `synthesizer_double_pulse_delay()'
- `synthesizer_setup_list()'
- `synthesizer_selected_list()'
- `synthesizer_start_list()'
- `synthesizer_stop_list()'
- `synthesizer_delete_list()'
- `synthesizer_show_lists()'
- `synthesizer_list_length()'
- `synthesizer_list_index()'
- `synthesizer_list_frequencies()'
- `synthesizer_list_powers()'
- `synthesizer_output_impedance()'
- `synthesizer_protection_tripped()'
- `synthesizer_reset_protection()'
- `synthesizer_rf_mode()'
- `synthesizer_rf_off_mode()'
- `synthesizer_mod_output_impedance()'
- `synthesizer_mod_output_voltage()'
Descriptions of synthesizer functions:
- `synthesizer_name()'
Returns a string with the name of the synthesizer being used.
- `synthesizer_state()'
The function queries or sets the output state of the synthesizer, i.e. if output of RF is on or off. If called with no arguments it returns
0
or1
, depending on the output being switched off or on. If called with a boolean argument output is switched on or off: if called with0
or the string"OFF"
output is switched off and if called with a non-zero value or the string"ON"
output is switched on.Before the
EXPERIMENT
section this function can't be called in query mode, i.e. without an argument (unless the state has already been set by calling the function with an argument).- `synthesizer_frequency()'
The function queries or sets the RF output frequency. If called to set the frequency it accepts a frequency as the only argument. For the HP8647A the frequency must be in the range between 250 kHz and 1000 MHz, for the HP8648B between 10 kHz and 2 GHz and for the HP8672A between 2 GHz and 18 GHz. For the Rohde&Schwarz SML01 the frequency range is 9 KHz to 1.1 GHz. For the Rohde&Schwarz SMB100A the frequency range depends on the model, see the data shhet.
If an attenuation table is used (synthesizer_use_table() then on setting a frequency also the attenuation is corrected according to the setting in the attenuation table for the frequency.
The frequency set by the very first call of this function is also the frequency that is set automatically by a call of the function synthesizer_reset_frequency().
Before the
EXPERIMENT
section this function can't be called in query mode, i.e. without an argument (unless the frequency has already been set by calling the function with an argument). For the HP8672A the function can be called in query mode only when the frequency has been set previously.- `synthesizer_set_freq_delay()'
This function is currently only implemented for the HP8672A. It allows to set or query the time the program waits after setting a new frequency (the default is 10 ms). If called without an argument it returns the delay (in seconds), if called with a non-negative number the delay is changed to that value (taken to be the number of seconds to wait).
The function can be called from all sections of an
EDL
script.- `synthesizer_attenuation()'
The function queries or sets the output attenuation. The function always sets the attenuation as given in the argument or returns the value that currently is set, independent of the use of an attenuation table.
If called without an argument the currently set attenuation is returned. To set the attenuation the function must be called with one argument, the attenuation.
For the HP8647A the attenuation must be in the range between +10 dB and -136 dB with a resolution of 0.1 dB, for the HP8648B between +14.5 dB and -136 dB (with the same resolution) and for the HP8672A between +3 dB and -120 dB with a resolution of 1 dB.
For the Rohde&Schwarz SML01 the range of attenuations is from +13 dBm to - 140 dBm with a resolution of 0.1 dBm.
For the Rohde&Schwarz SMB100A the range of attenuations is depends on both the current RF frequency and the model. Use the functions
synthesizer_min_attenuation()
andsynthesizer_max_attenuation()
to find out the limits.Currently for the HP8647A the minimum attenuation that can be set from an
EDL
script is limited to -5 dB, should you need lower attenuations change the definition ofMIN_ATTEN
in the configuration file for the device.Before the
EXPERIMENT
section this function can't be called in query mode, i.e. without an argument (unless the attenuation has already been set by calling the function with an argument). For the HP8672A the function can be called in query mode only when the attenuation has been set previously.- `synthesizer_minimum_attenuation()'
The function can be used to frther restrict the minimum output attenuation to avoid inadvertently setting too high an output power level. It can be called to query the current setting (if called with no arguments) and to set a new minimum output attenuation. If called to set the attenuation it accepts one argument, the attenuation within the allowed range of attenuations of the device. Calling the function disables setting the attenuation by calls of synthesizer_attenuation() to ranges below the value set by this function.
- `synthesizer_min_attenuation()'
This function only exists for the Rohde&Schwarz SMB100A where the minimum attenuation depends on the currently set RF frequency and the model. If called with no argument it returns the minimum possible attenuation (not limited by the software limit set by
synthesizer_minimum_attenuation()
) the device allows for the currently set RF frequency. If called with an frequency argument it returns the minimum attenuation for that frequency.- `synthesizer_max_attenuation()'
This function only exists for the Rohde&Schwarz SMB100A and returns the maximum possible RF attenuation (which, in contrast to the minimum attenuation, does not depend on the RF frequency but still on the mode).
- `synthesizer_automatic_level_control()'
The function is currently only implemented for the Rohde&Schwarz SML01 and the Rohde&Schwarz SMB100A.
For the Rohde&Schwarz SML01 It allows to query or set if automatic control of the RF power level is used. If called without an argument
1
is returned when automatic level control is switched on, otherwise0
. If called with a boolean argument, either the string"OFF"
or the integer0
, automatic level control is switched off, if called with"ON"
or a non-zero value it's switched on.The Rohde&Schwarz SMB100A has three possible settings:
"OFF"
or0
(in which case sample&hold level adjustment is done),"ON"
or1
, and"AUTO"
or2
.Before the the function has been called with an argument the query form of the function (i.e. calling it without an argument) can't be used in the PREPARATIONS section.
- `synthesizer_user_level_correction()'
The function is currently only implemented for the Rohde&Schwarz SML01. It allows to query or set if RF level corrections are done using a user created table stored in the synthesizer. If called with no argument
1
is returned when a user created table is used, otherwise0
. If called with an empty string (""
) as the argument use of a user table is switched off. When called with a non-empty string (which may contain no more than 7 characters and must be the name of a table stored in the synthesizers memory) user level corrections are switched on, using that table.Before the step frequency has been set by calling the function with an argument the query form of the function (i.e. calling it without an argument) can't be used in the PREPARATIONS section.
- `synthesizer_step_frequency()'
The function queries or sets the RF step frequency to be used in calls of the functions synthesizer_sweep_up() and synthesizer_sweep_down() (see below). In order to set the step frequency it expects one argument, the step frequency in Hz. The step frequency can be set in the
PREPARATIONS
section only once, but it can be changed later in theEXPERIMENT
section.Before the step frequency has been set by calling the function with an argument the query form of the function (i.e. calling it without an argument) can't be used in the PREPARATIONS section.
This function does not exist for the Rhode&Schwarz SMB100A.
- `synthesizer_sweep_up()'
If both a frequency and a step frequency has been set the function increments the synthesizers frequency by the previously set step frequency. It returns the newly set frequency. The function can only be called in the
EXPERIMENT
section.This function does not exist for the Rhode&Schwarz SMB100A.
- `synthesizer_sweep_down()'
If both a frequency and a step frequency has been set the function decrements the synthesizers frequency by the previously set step frequency. It returns the newly set frequency. The function can only be called in the
EXPERIMENT
section.This function does not exist for the Rhode&Schwarz SMB100A.
- `synthesizer_reset_frequency()'
This function sets the frequency of the synthesizer to first first frequency it was set to since the currently run
EDL
script was started (if none was set it has no effect). The function can only be called in theEXPERIMENT
section.This function does not exist for the Rhode&Schwarz SMB100A.
- `synthesizer_use_table()'
This function tells the program how to adjust the attenuator when a new frequency is set. To find out which attenuation has to be set for a new frequency a table file is used. The name of this table file can be passed to the function as a (string) argument. If no argument is given a default table file is used (typically this is `/usr/local/lib/fsc2/hp8647a.table' for the hp8647a, `/usr/local/lib/fsc2/hp8648b.table' for the hp8648b, `/usr/local/lib/fsc2/hp8672a.table' for the hp8672a, `/usr/local/lib/fsc2/rs_sml01.table' for the rs_sml01 and `/usr/local/lib/fsc2/rs_smb100a.table' for the rs_smb100a, but this may depend on the configuration of the module).
The table file must consist of pairs of entries, a frequency and a corresponding attenuation in db. The attenuation is being added to the 'raw' attenuation, i.e. to achieve an higher attenuation and a lower output power a negative attenuation has to be specified. If no unit are given in the table file (i.e.
MHz
anddB
) the first member of an entry must be the frequency, the second the attenuation. The entries in the file don't have to be sorted in any way, and the frequencies don't have to spaced equally.The items in the table file can be separated by spaces, commas, semicolons, colons, tabs or newlines or any combination of these characters (a unit will also work as a separator) and the entries don't have to be separated by a newline. Thus all the following entries would be valid:
7.90000000 MHz, -1.90000000 db -2.10000000 db 8.00000000 MHz 8.1E6 -2.2 8.20000000 MHz : -2.30000000 db 8300 kHz -2.4 db 8.70000000MHz-2.40000000db
As you see also empty lines don't matter. Finally, all lines starting with a hash character, `
#
', are treated as comments.If a frequency is used that isn't in the table the attenuation to be used is linearely interpolated from the neighboring frequencies. If the frequency isn't within the range of frequencies covered by the table a warning is printed and the attenuation for the nearest frequency is used.
- `synthesizer_att_ref_freq()'
When a table file is used there remains the question for which frequency to use exactly the attenuation that been set by a call of synthesizer_attenuation(). To set this reference frequency this function is to be used. If the function isn't called a frequency of 14 MHz is used for the HP8647A, HP8648B, R&S SML01 and R&S SMB100A, and 2 GHz for the HP8672A (but this is a compile time constant that can be adjusted in the configuration file for the device by changing the definition of
DEF_ATT_REF_FREQ
).For the R&S SMB100A this function can also be used to switch off the use of a loaded table. For this call the function with a zero or negative argument. If later called again with a frequency within the range of the synthesizer, use of the table is re-enabled.
- `synthesizer_attenuation_offset()'
This function only exists for the Rohde&Schwarz SMB100A. It allows to determine tha additional attenuation added when setting a new frequency while using a table is enabled. It takes a single argument, the RF frequency and returns the additional attenuation applied for this frequency. If no table has been loaded or its use is disabled the function returns 0.
- `synthesizer_modulation()'
Using this function for the HP8647A, HP8648B and Rohde&Schwarz SML01 the type, source and amplitude of the modulation can be set, for the HP8672A both type and amplitude. It can set all of these parameters at once or only a subset of them.
For the HP8647A, HP8648B and Rohde&Schwarz SML01 there are four possible types of modulation: FM, AM and phase modulation. The modulation type is specified by a string, either
"FM"
,"AM"
,"PHASE"
or, finally,"OFF"
to switch off modulation. For the hp8672a"FM"
,"AM"
and"OFF"
can be used.Please note that setting a modulation source or amplitude while the modulation is off (i.e. when
"OFF"
has been specified as the modulation type) is not possible and trying to do so will make the program abort.For the HP8647A and HP8648B the possible modulation sources are either external AC coupled, external DC coupled, internal 1 kHz or internal 400 Hz. For external AC or DC coupled modulation specify one the strings
"EXT AC"
,"AC"
,"EXT DC"
or"DC"
. For internally generated modulation with 1 kHz or 400 Hz use a string argument from the following list:"INT 1kHz"
,"INT 1 kHz"
,"INT 1"
,"1kHz"
,"1 kHz"
,"1"
,"INT 400Hz"
,"INT 400 Hz"
,"INT 400"
,"400Hz"
,"400 Hz"
or"400"
. But please note: external DC coupled modulation source does not work with amplitude and phase modulation!For the HP8672A no modulation source can be specified.
For the Rohde&Schwarz SML01 the possible modulation sources are also either external AC coupled (specified by either,
"EXT AC"
or"AC"
), external DC coupled (use"EXT DC"
or just"DC"
) and internal (specified by the string"INT
). For internal modulation the function expects another argument, directly following the argument specifying the internal modulation source, the frequency of the internal modulation, which can be in the range between 0.1 Hz and1 MHz
.Finally you may specify the modulation amplitude, which has to be a number (preferably a floating point number). For the HP8647A FM and HP8648B modulation amplitudes have to be in the range between 0 Hz and 100 kHz, AM modulation amplitudes between 0% and 100% and phase modulation amplitudes between 0 degree and 10 degree.
For the HP8672A FM modulation can be set to either 30 kHz, 100 kHz, 300 kHz, 1 MHz, 3 MHz or 10 MHz. AM modulation can only be set to either 30% or 100%.
For the Rohde&Schwarz SML01q AM modulations between 0% and 100% can be used. Both the ranges of FM and phase modulation depend on the RF frequency. For frequencies below 76 MHz and above 605.25 MHz FM modulation amplitudes between 0 Hz and 1 MHz and phase modulation amplitutes between 0 rad and 10 rad can be used. In the frequency range above 76 MHz and up to 151.3125 MHz the upper limits for the modulation amplitude levels are 125 kHz and 1.25 rad, respectively. In the frequency range above 151.3125 MHz and up to 302.625 MHz the upper limits are 250 MHz and 2.5 rad. Finally, between 302.625 MHz and 605.25 MHz the upper limits for FM and phase modulation are 500 kHz and 5 rad. Because the allowed ranges (at least for FM and phase modulation) depend on the RF frequency it is required that a RF frequency must be known before the modulation amplitide can be set.
Only in the first call of the function all two or three arguments, i.e. the modulation type, amplitude and source (if applicable) should be passed to the function. In further calls not all of the arguments must be specified again. Instead, in further calls it is sufficient to specify only for example a new amplitude. The same, of course, holds for the modulation source.
If the modulation type becomes changed, the source and amplitude reverts to the settings that were specified in previous calls of the function when this modulation type was still active. I.e. if e.g. for the HP8647A at first AM modulation using an external AC coupled source and an amplitude of 50% was set and then the modulation was changed to FM with different settings for source and amplitude, another call switching back to AM modulation will also restore the settings of external AC coupled source and 50% amplitude.
- `synthesizer_mod_state()'
This function exists only for the Rohde&Schwarz SMB100A. It allows to query or set if the selected type of modulation (via a call of
synthesizer_mod_type()
is switched on or off. If called without an argument it returns1
or0
, indicating if modulation is on or off. If called with a boolean argument (either the string"ON"
or a non-zero integer or the string"OFF"
or0
) nodulation switched on or off. This requires the a modulation type has been selected before.- `synthesizer_mod_type()'
For all except the Rohde&Schwarz SMB100A this function can be used as an alternative to set the type of modulation via
synthesizer_modulation()
. For these yt accepts a string argument, either"FM"
for frequency modulation,"AM"
for amplitude modulation or"OFF"
to switch off modulation. The HP8647A, HP8648B and Rohde&Sschwarz SML01 also allow another argument,"PHASE"
for phase modulation.For the Rohde&Schwarz SMB100A a call of this function is required before modulation parameters can be set and modulation can be switched on. It accepts teh string arguments
"AM"
or"AMPLITUDE"
for amplitude modulation,"FM"
or"FREQUENCY"
for frequency modulation,"PM"
or"PHASE"
for phase modulation and"PULM"
or"PULSE"
for pulse modulation. There's no argument for "modulation off", use the functionsynthesizer_mod_state()
for enabling or disabling the selected type of modulation. If called with no argument it returns0
for AM,1
for FM,2
for phase modulation and4
for pulse modulation. If no modulation type has been selected it throws an exception, ending the script.- `synthesizer_mod_source()'
This function is only available for the HP 8647A, HP 8648B, Rohde&Schwarz SML01 and Rohde&Schwarz SMB100A. If the modulation type has been set before the modulation source can be set via this function.
For the frist three type of synthesizers the function accepts the strings
"OFF"
to switch off modulation,"EXT AC
(or just simply"AC"
) to use an external AC coupled modulation source and"EXT DC
(or"DC"
) for an external DC coupled modulation source.For both the hp8647a and the hp8648b it also accepts one of the following strings for the internal modulation settings that are available for these devices:
"INT 1kHz"
,"INT 1 kHz"
,"INT 1"
,"1kHz"
,"1 kHz"
,"1"
,"INT 400Hz"
,"INT 400 Hz"
,"INT 400"
,"400Hz"
,"400 Hz"
or"400"
.To set up use of the internal modulation source of the rs_sml01 pass the function either two arguments, first the string
"INT"
and second the modulation frequency (between 0.1 Hz and 1 MHz), or just a single argument, the modulation frequency.If the function is called with no argument it will return the modulation source setting for the currently active modulation type as an integer number. It returns
0
for an external, AC coupled modulation source and1
for an external, DC coupled source. For the hp8647a and the hp8648b3
is returned for intenal modulation with 400 Hz and4
for 1 kHz. For the rs_sml01 a return value of3
indicates internal modulation. To find out the frequency of the modulation for this device use the function synthesizer_mod_freq().You can neither set nor obtain the modulation source as long as the modulation is switched off, trying to do so will result in aborting the program.
For the Rohde&Schwarz SB100A the type of modulation has to be selected before a call of this function. It can't be called with an argument if pulse modulation is selected since only an external (DC) source is supported in this case. For the three other types of modulation
"AC"
or"EXT_AC"
(or0
) for an external, AC coupled source,"DC"
or"EXT_DC"
(or1
) for an external, DC coupled source or"INT"
(or2
) for the internal source. If called without an argument (and the source has already been determined) the number associated with the modulation source is returned.- `synthesizer_mod_freq()'
This function only exists for the Rohde&Schwarz SML01 and the Rohde&Schwarz SMB100A synthesizer. For the Rohde&Schwarz SML01 its can be used to change the modulation frequency if modulation is switched on and the synthesizer has been set up to use the internal oszillator as the modulation source (otherwise the function will print out a warning message and do nothing else). It expects a single argument, the modulation frequency, which must be between 0.1 Hz and 1 MHz.
If called without an argument the function returns the currently set modulation frequency - for the Rohde&Schwarz SML01 this only works when the device is set up to use internal modulation, if this isn't the case the function will print an error message and abort the experiment.
Note that the Rohde&Schwarz SMB100A has only a single internal modulation source. Changing its frequency effects all modulation types that allow use of internal modulation (AM, FM and phase modulation).
- `synthesizer_mod_ampl()'
This function is for querying or setting the amplidtude of the (internal) modulation.
If the modulation type has been set this function can be used to set the modulation for the HP 8647A and HP 8648B the allowed range of FM frequencies is from 0 Hz to 100 kHz, for AM amplitudes between 0% and 100% are acceptable and for phase modulation values between 0 degree and 10 degree are valid.
For the HP8672A FM modulation can be set to either 30 kHz, 100 kHz, 300 kHz, 1 MHz, 3 MHz or 10 MHz. AM modulation can only be set to either 30% or 100%.
For the Rohde&Schwarz SML01 AM modulations between 0% and 100% can be used. Both the ranges of FM and phase modulation depend on the RF frequency. For frequencies below 76 MHz and above 605.25 MHz FM modulation amplitudes between 0 Hz and 1 MHz and phase modulation amplitutes between 0 rad and 10 rad can be used. In the frequency range above 76 MHz and up to 151.3125 MHz the upper limits for the modulation amplitude levels are 125 kHz and 1.25 rad, respectively. In the frequency range above 151.3125 MHz and up to 302.625 MHz the upper limits are 250 MHz and 2.5 rad. Finally, between 302.625 MHz and 605.25 MHz the upper limits for FM and phase modulation are 500 kHz and 5 rad.
For the Rohde&Schwarz SMB100A for amplitude modulation values between -100% and 100% are possible. For FM and phase modulation the ranges depend on the modulation frequency as well as on the modulation mode (set via the function
synthesizer_mod_mode()
. Please see the data sheet of the device for the possible ranges. For pulse modulation no modulation amplitude can be set.If called with no argument, the function will return the amplitude setting for the currently active modulation type. You can neither set nor obtain the modulation amplitude as long as the modulation is switched off, trying to do so will result in aborting the program.
- `synthesizer_mod_mode()'
This function exists only for the Rohde&Schwarz SMB100A. This device allows three different "quality" settings for the internally generated FM and phase modulation, which can be queried or set via this function. Please note that the range of possible modulation amplitides is influenced by this setting.
The available settings are
"NORMAL"
(or"NORM"
or0
),"LOW_NOISE"
(or"LOWN"
or1
) or, finally,"HIGH_DEVIATION"
(or"HDEV"
or2
). To set the mode call the function (after either FM or phase modulation has been selected via a call ofsynthesizer_mod_type()
) with on of these arguments. If the modulation type has been selected and the modulation tyoe has been determined the function can also be called without an argument in which case the modulation mode is returned as one of the above listed integer values.- `synthesizer_pulse_state()'
This function is only available for the Rohde&Schwarz SML01 synthesizer with SML-B3 option. These devices have a pulse modulation mode that allows th creation of RF pulses of user defined length and position. The function allows to query or switch on or off this pulse mode. If called without an argument it returns
1
or0
if pulse modulation mode is on or off. If called with an argument of"ON"
or1
pulse modulation mode is switched on, if called with an argument of"OFF"
or1
pulse modulation mode is switched off.- `synthesizer_pulse_trigger_slope()'
This function is only available for the Rohde&Schwarz SML01 synthesizer with SML-B3 option. This function can be used to query or set if the trigger leading to the creation of a RF pulse is detected on the raising or falling edge of an external trigger input. If called with no argument the function returns
1
when the trigger is detected on the positive (raising) edge, and0
when it's detected on the falling edge. When called with the string argument"POSITIVE"
or"POS"
the device is set up to detect triggers on the raising edge of the trigger input, when called with the argument"NEGATIVE"
or"NEG"
triggers are detected on the falling edge.- `synthesizer_pulse_width()'
This function is only available for the Rohde&Schwarz SML01 synthesizer with SML-B3 option. It allows to query or set the length of the RF pulse generated by the synthseizer in pulse modulation mode. If called with no argument the length of the RF pulse is returned. If called with a (floating point) argument the pulse length is set accordingly. The pulse length must be between 20 ns and 1.3 s.
- `synthesizer_pulse_delay()'
This function is only available for the Rohde&Schwarz SML01 synthesizer with SML-B3 option. It allows to query or set the delay between receiving an external trigger and the creation of the RF pulse. If called with no argument the value of this delay is returned. If called wih a (floating point) argument the delay is set accordingly. The delay must be between 20 ns and 1.3 s. Please note that the device will always add another intrinsic delay of about 50 ns to this value.
- `synthesizer_double_pulse_mode()'
This function is only available for the Rohde&Schwarz SML01 synthesizer with SML-B3 option. The synthesizer can generate either one or two pulses (of the same length. This function allows to query or set in which mode the synthesizer is working. If called with no argument the function returns
0
ifonly a single pulse gets generated and1
if two are created. If called with a boolean argument, either the string"OFF"
or the integer0
generation of two pulses is switched off, if called with"ON"
or1
two pulses will be created.Please note that creation of two pulses will per default be switched off unless it's explicitely requested.
- `synthesizer_double_pulse_delay()'
This function is only available for the Rohde&Schwarz SML01 synthesizer with SML-B3 option. If the synthesizer is requested to henerate two pulses this function can be used to query or set the delay between the starts of both pulses. If called without an argument the function returns this time (in seconds). If called with an argument the delay between the starts of the two pulses will be set. The delay must be at least 60 ns and must be at least 20 ns larger then the widths of the pulses (i.e. the pulses must be at least 20 ns apart).
- `synthesizer_output_impedance()'
This function only exists for the Rohde&Schwarz SMB100A and allows to query its RF output impedance. It returns the impedance in Ohm, either
50
,1000
or10000
. The function can only be called in theEXPERIMENT
section of anEDL
script.- `synthesizer_protection_tripped()'
- `synthesizer_reset_protection()'
This function only exists for the Rohde&Schwarz SMB100A. Models SMB-B101, SMB-B102, SMB-B103 and SMB-B106 as well as SMB-B112 and SMB-112L with option SMB-B30 installed are equiped with a reverse power protection, which disconnects the RF output when too large an external signal is applied to it. This function, which takes no argument, can be used to test if this has happened. For devices without reverse power protection the function always returns
0
.The function can only be used in the
EXPERIMENT
section of anEDL
script.- `synthesizer_rf_mode()'
This function only exists for the Rohde&Schwarz SMB100A. It takes no arguments and allows to reconnect the RF output if it was disconnected because the reverse power protection circuitry was tripped. For devices without reverse power protection the function has no effect.
The function can only be used in the
EXPERIMENT
section of anEDL
script.- `synthesizer_rf_off_mode()'
This function only exists for the Rohde&Schwarz SMB100A. When switching RF off the attenuator can be either left in its current state (for better VSWR) or swichted to full attenuation (for high level of noise suppression). The function can be used to switch between the two alternatives by calling if with either
"UNCHANGED"
,"UNCH"
or0
for leaving the attenuator unchanged, or with"FULL_ATTENUATION"
,"FATT"
or1
for full attenuation on switching RF off. If called with no argument0
or1
is returned, indicating if switching to full attenuation is off or on.- `synthesizer_mod_output_impedance()'
This function only exists for the Rohde&Schwarz SMB100A. It allows to query or set the impedance of the internal modulation source monitoring output, which can be set to either
50
Ohm ("G50"
) or , nominally,10
Ohm ("LOW
). Use on off these number or strings as the argument to the function to set the impedance. If called without an argument the impedance in Ohm is returned.- `synthesizer_mod_output_voltage()'
This function only exists for the Rohde&Schwarz SMB100A. It allows to query or set the maximum voltage at the internal modulation source monitoring output. If called with no argument the current setting is returned, if called with an argument of up to 4 V the voltage is set accordingly.
- `synthesizer_setup_list()'
This function only exists for the Rohde&Schwarz SMB100A. The device allows processing of lists of frequencies and associated attenuations, with a new frequency and attenuation selected from the list on each external trigger input. This function allows to set up such a list for subsequent execution.
If called with only a single argument, an array of at least two frequencies, a list will be created with these frequencies, all at attenuations given by the last call of
synthesizer_attenuation()
- if the use of a table is enabled, adjusted with the attenuation offsets from the table. The name of the list (under which it will be stored on the internal persistent memory of the device is a default name, that can be set in configuration file for the device (the typical setting is `fsc2_def_list').As another, optional argument either an attenuation or an array of attenuations can be passed to the function. If it's not an array this is the attenuation used for all frequencies (again modulated with the settings from the attenuation table if enabled). If it's an array it must have the exact same length as the array of frequencies and then is tekenb to contain the attenation for each of the corrsponding frequencies in the frequency array (also adjusted with the attenuation offsets from the table).
A further, also optional argument, is the name to be used for the table. It is supposed to consist only of letters, numbers and under-\ scores ('
_
'), with the first character being a letter or an underscore, but not a number. This name is used to store the list in the persistent memory of the device and can then be used in later runs of other scripts using thesynthesizer_selected_list()
function.- `synthesizer_selected_list()'
This function only exists for the Rohde&Schwarz SMB100A. It can be used to query (if called without an arument) or to set the name of the select list of frequencies and attenuations (previously stored in the persistent memory of the device by use of the
synthesizer_setup_list()
command). If with an empty string the function will attempt to use the list with the default name (if it exists), otherwise the list with the name given.If a list to be selected does not exist the
EDL
script will be aborted.- `synthesizer_start_list()'
This function only exists for the Rohde&Schwarz SMB100A. It switches the synthesizer to list processing mode. In this mode on each external trigger a new pair of frequencies and attenuations from a previously created or selected list (with the functions
synthesizer_setup_list()
orsynthesizer_selected_list()
) is set.Since list mode only can be switched on when the RF output is on this function internally also calls
synthesizer_state()
with a true argument.PLease note that when using a newly created list the list must be "learned" by the device: it determines the hardware settings for all points of the list. This can take up to about 7 seconds with lists of the maximum length and is done automatically. The determined settings are stored with the list in the device's internal memory, so the next time the list is used the learning step can be omitted. When environmental conditions change greatly these settings may become inaccurate. For that case you can pass a boolean argument to the function that if it is true (
"ON"
or a non-zero integer) forces the device to re-evaluate the list.Note also that during list processing most functions may not have the expected effect, e.g.
synthesizer_frequency()
orsynthesizer_attenuation()
neither report nor set the frequency or attenuation. It's recommended not to use any synthesizer-related function beforesynthesizer_stop_list()
has been called - the only exception being thesynthesizer_list_index()
function.If called with no list having been created or selected via a call of
synthesizer_setup_list()
orsynthesizer_selected_list()
theEDL
script will be aborted.- `synthesizer_start_list()'
This function only exists for the Rohde&Schwarz SMB100A. The function switches the synthesizer back from list processing to "normal" mode.
As
synthesizer_start_list()
swichted on the RF automatically, this function per default switches it off again. If the RF output is to be left on when switching back to "normal" mode call it with a single true boolean argument (i.e. either the string"ON"
or a non-zero positie number).- `synthesizer_delete_list()'
This function only exists for the Rohde&Schwarz SMB100A. It can be used to delete a specific or all lists from the devices persistent memory. If called with no argument (or the empty string) all lists stored are deleted. If called with the name of an existing list only that list gets deleted. The function returns
1
if the requested list could be deleted, otherwise0
.- `synthesizer_show_lists()'
This function only exists for the Rohde&Schwarz SMB100A. It takes no arguments and returns a comma separated list of the names of all lists stored on the synthesizer. If that list contains more than 10000 characters it is truncated to that length and a warning is printed out.
- `synthesizer_list_length()'
This function only exists for the Rohde&Schwarz SMB100A. It accepts no arguments and returns the length of the currently selected list, or
0
if no list is selected.- `synthesizer_list_index()'
This function only exists for the Rohde&Schwarz SMB100A. It accepts no argument and returns the current position in the list during list processing (or
0
if no list is currently being processed). This is the only function that can be safely called during list processing.- `synthesizer_list_frequencies()'
This function only exists for the Rohde&Schwarz SMB100A. It accepts no argument and returns an array with the frequencies of the currently selected list. If called with no list being selected the
EDL
script will be aborted.- `synthesizer_list_powers()'
This function only exists for the Rohde&Schwarz SMB100A. It accepts no argument and returns an array with the powers of the currently selected list. If called with no list being selected the
EDL
script will be aborted.
This document was generated by Jens Thoms Toerring on September 6, 2017 using texi2html 1.82.