This section covers the use of SCPI commands and programming to automate the VSG software. A brief description of SCPI is provided, followed by a list and description of all available SCPI commands.
SCPI (Standard Commands for Programmable Instruments) is a standard which covers the set of commands used to program various instruments. The standard covers the syntax, form, behavior, etc. of these commands to reduce development time for the user.
For the purposes of Signal Hound and the VSG software, a user can send SCPI commands to the VSG software in an automatic manner. SCPI commands are sent to instruments over many interfaces, commonly GPIB, VXI, USB, Ethernet, etc. The VSG software accepts commands over a network socket. The VSG software will accept a single network connection in which it can receive SCPI commands and send responses.
For many users the VSG software will be running on the same PC as their SCPI program. In this scenario a network socket with a “localhost” IP address and port (which is specified in the VSG software preferences) can be used to communicate with the software.
This section contains a quick overview of the SCPI command syntax and usage to the extent that is relevant to the VSG software. The VSG does not utilize all functionality in the SCPI standard and as such said functionality will not be covered here.
A SCPI command is comprised of a series of keywords separated by colons. A command may be followed by a ‘?’ to represent a query, a series of parameters separated by spaces, or both.
:SENSE:FREQUENCY:CENTER 1GHz (Example command for setting the center frequency to 1GHz)
:sense:frequency:center? (Example command for querying the current center frequency)
Commands are case insensitive. Each keyword in a command can have a short and long form. Both can be used interchangeably.
:SENSe:FREQuency:CENTer is a command with three keywords. Each keyword has a short and long form. The short form is denoted by the uppercase characters and the long form is the full keyword including the upper and lower-case characters. For example, FREQ is the short form of FREQUENCY. When constructing a command, the short and long form can be interchanged. For example, you could construct the command as such, :SENS:FREQUENCY:CENT where SENSE and CENTER are sent as short form and FREQUENCY as longform.
Some commands are options and are denoted as such by the ‘[]’ characters.
[:SENSe]:FREQuency:CENTer is a command where the first keyword is optional. This command can be sent as FREQ:CENT and still be interpreted correctly.
Commands are terminated with a newline character. For example
:SENS:FREQ:CENT 1GHZ\n
Commands will be processed once a newline is reached. Additionally, a newline will reset the current keyword path.
Multiple commands can be sent to the device at once using the semi colon character separating each command.
:SENS:FREQ:CENT 1GHz; :SENS:FREQ:SPAN 10MHz\n
This is an example of sending two commands at once. Additionally, when sending multiple commands, you don’t need to repeat all keywords leading up to the final keyword for commands after the first.
:SENS:FREQ:CENT 1GHz; SPAN 10MHz\n
Here SPAN retains the :SENS:FREQ: keywords from the previous command. To prevent this from happening use the colon character leading the second command. For example
:SENS:FREQ:CENT 1GHz; :SPAN 10MHz\n
This is an invalid series of commands, since span is prefixed with a colon command which reset the previous keywords.
There are several types of parameters that can be sent in commands. The ‘|’ symbol represents “or”, indicating only one of the parameters should be sent.
| <bool> | ON | OFF | 0 | 1 |
|---|---|
| Keyword (Example) MINimize |MAXimize | Character specific strings for a given command. These keywords can also have short and long form. |
| Numeric <integer> <double> | Numeric parameters take either the form of integer or decimal values. Examples include 1 1.23 9 3.14 |
| Frequency <freq> | These are numeric parameters with a frequency suffix. Possible frequency suffixes include HZ | KHZ | MHZ | GHZ The suffixes are case insensitive. If a suffix is not present, Hz is the default unit. Examples include 1kHz 20MHz 12GHz Any function that returns a frequency will return the frequency in Hz with no suffix present. |
| Amplitude <amplitude> | These are numeric parameters with an amplitude suffix. Possible amplitude suffixes include DBM | DBMV | DBUV | MV The suffixes are case insensitive. A suffix must be present unless indicated otherwise. Examples include -20DBM 60dbuv If a function returns an amplitude, it will return the amplitude in the current software units without a suffix. |
| Time <time> | Possible time suffixes include S | MS | US | NS | PS The suffixes are case insensitive. Examples include 1ns 1 NS 3 0.1s If no suffix is provided, the software will interpret the value as seconds. |
| <filename> | File name parameters is a string of the absolute file path including the file name and recommended extension. The file name string should be enclosed in ascii quotations, which for many programming languages will require using an escape sequence to achieve. For example, in C++ the command for saving an image to a file name might look like, const char *saveFileCmd = “:SYSTEM:IMAGE:SAVE \”C:/Users/Me/Documents/My Pictures/Capture1.png\”” Note the escape sequenced quotation marks enclosing the file name. |
Values returned from the VSG software (as a result of sending a query command) are separated by a semi-colon if multiple query commands are sent in one string and are terminated by a newline. For example, sending
“CALC:MARK:MAX; X?; Y?\n”
results in a return string of
“1000000;-20\n”
The command sent performs a peak search and queries the X and Y positions of the marker. The return is the X and Y positions separated by a semicolon and terminated with a newline.
This section describes the numerous special characters that are present in the commands in this document.
| Character | Description | Example |
|---|---|---|
| | | Vertical stroke between parameters indicates multiple choices | FLATtop | GAUSsian The choices are between FLATTOP or GAUSSIAN. Provide one or the other. |
| [ ] | Square brackets indicate an optional keyword | :SYSTem:ERRor[:NEXT]? Next is an optional keyword and the command could also be composed as :SYSTem:ERRor? |
| <> | Angle brackets around a parameter indicate a type and angle brackets should not be included in the user command. | *RCL <int> <int> is the type of parameter and an example of using this command would be *RCL 1 Notice the angle brackets are not included. |
See the SCPI examples found in the SDK download on any of the Signal Hound product download pages. The examples use the C programming language and a common VISA library implementation.
Instrument control is performed by connecting to the software on TCP/IP port 5024. On this port, a user can send and receive raw SCPI commands. It is not necessary to use a I/O library like VISA to communicate with the software but it can simplify several operations. It is possible to communicate directly over the socket with socket programming. The computer that is communicating with the software does not have to be the same computer running the software and does not have to be a Windows platform.
It is recommended to use a VISA library if available. Several implementations of VISA exist. Commonly used ones include Keysight’s I/O libraries, and NI’s VISA libraries. You can also use VISA implementations that exist in other languages/environments such as MATLAB, LabVIEW, and Python.
Connecting to the socket interface using VISA looks like this
viOpen(rm, “TCPIP::localhost::5025:SOCKET”, VI_NULL, VI_NULL, &inst);
Additionally, when using a VISA library, it is necessary to set the VI_ATTR_TERMCHAR_EN attribute to true. This will terminate the read operation when the termination character is received. The termination character should be set to the newline (‘\n’) character if it is not set by default. The code for this is below.
viSetAttribute(inst, VI_ATTR_TERMCHAR_EN, VI_TRUE);
viSetAttribute(inst, VI_ATTR_TERMCHAR, '\n');
Only one connection to the software can be active at a time. The connection can be terminated by either closing the socket connection, either through the socket library you are using, the viClose function if you are using a VISA library, or by closing your application. The software will immediately begin waiting for another socket connection when the previous one is ended.
The table below details what functionality is covered under the current SCPI command set. Functionality will be added over time. If functionality you need it not available, please contact us at suppo.nosp@m.rt@s.nosp@m.ignal.nosp@m.houn.nosp@m.d.com to make requests.
| Functionality | Implemented |
|---|---|
| AM | Yes |
| FM | Yes |
| Pulse | Yes |
| Advanced Pulse | No |
| Multitone | Yes |
| Step Sweep | Yes |
| Ramp Sweep | Yes |
| AWGN | Yes |
| Digital Mod | Yes |
| OFDM | No |
| Bluetooth LE | No |
| IEEE 802.11 a/n/ac/ax/ah | Yes |
| SUN OFDM | Yes |
| LTE | No |
| Arb | Yes |
| Streaming | Yes |
SCPI examples are found in the SDK which can be downloaded from the Signal Hound website.
Returns a string containing the serial number and firmware version of the VNA device connected in the software. An example string might look like,
SignalHound,VSG60,24229010,3
If no device is connected, the returned string will look like,
SignalHound,,,
Load preset [1-9].
Save preset [1-9].
Triggers the device.
Tells the instrument that after all the commands are executed and finished to set the ESR bit 0 (OPC bit) to 1. This command in combination with the *ESR? command can be used for synchronization through polling. See the C++ SCPI examples in the SDK for an example of polling using these commands.
Performs an application preset. This will return the software to the default power on state. This has the same effect as pressing the Preset button on the control panel.
Returns the Event Status Register (ESR). Only bit 0 is used at this time. Bit 0 represents Operation Complete (OPC). Returns 0 if *OPC has been seen but there are still commands to be executed and finished. Sends a 1 when all commands have been finished and executed. This command in combination with the *ESR? command can be used for synchronization through polling. See the C++ SCPI examples in the SDK for an example of polling using these commands.
When set to true, hides the application. The application will be hidden in the taskbar but will continue to be visible in the task manager. The SCPI lockout dialog will continue to be visible but can be disabled in the preferences menu, prior to setting the application hidden.
Returns true when the application is not visible.
Puts the software in local mode.
Disconnect any active device and close the software. There is not a way to reopen the software using SCPI commands. This will also terminate the socket connection.
Presets the active device. This will power cycle the active device and return the software to the initial power on state. This process can take between 6-20 seconds depending on the device type.
Save a preset with the given file name. The file name should have extension “.ini”.
Load the preset given by the file name. If the preset does not exist, nothing occurs. The file name should have extension “.ini”.
Presets the active device. This will close and reopen the active device. This process can take between 6-20 seconds depending on the device type. Returns 0 or 1 depending on success. (1 for success)
Returns the software version number.
The functions below allow you to remotely manage the active device in the software. This is useful for error recovery in the event a device disconnect occurs due, or if one is managing multiple Signal Hound devices on one PC.
Connecting Signal Hound devices can take between 3-20 seconds depending on the type of device and the state of the device prior to interfacing it. If the VISA timeout is shorter than the time it takes to connect the device in the software, you will need to loop on timeout until you receive the connect status return.
Returns whether or not a device is currently connected and active in the software. Look at the *IDN? function to request information about the device.
Returns the number of devices connected to the PC. No device may be active when this function is called. IE, you must call DISConnect? before calling this function.
Returns all serial numbers available. The serial numbers are returned as ascii integers and are comma separated. To determine how many serial numbers are present, use the COUNt? function.
Connects a device. You need to provide the serial number of the device to connect. Returns 0 or 1 depending on if the device successfully opened.
Disconnects the active device. Returns 1 when finished.
The software maintains a list of system errors available to the user. Errors are stored with a unique ID, name, and description. The types of issues represented in the error list are settings conflicts, SCPI issues such as invalid parameter types or instructions, file I/O errors, etc.
It is recommended to frequently check for errors when utilizing SCPI in the software. Check the SCPI examples to see how to quickly poll for any present errors.
The errors are returned in the form
“ID,description;error information”
ID is a unique integer for the error. The description is an ascii text description for the error, and error information is any additional context information for the error generated. An example error message is below.
“-2,Invalid Parameter;Expected frequency parameter”
This error indicates the SCPI parser was expecting a frequency parameter and was either unable to find it or was unable to parse it as a frequency.
Once the error queue is empty, the software will return the ‘no error’ error when the next system error is requested. ‘No error’ has an ID of 0.
Returns the number of errors in the error queue.
Returns the next error in the queue, and removing it from the queue.
Removes all errors from the queue, returns nothing.
These commands control the reference oscillator settings of the spectrum analyzer.
Sets whether the generator should use the internal reference or use an external reference.
Returns the reference oscillator source
Sets the center frequency.
Returns the center frequency.
Set the step size for incrementing
Returns the step size when incrementing
Sets the output power level (dBm)
Returns the output power level (dBm)
Sets the step size for incrementing
Returns the step size when incrementing
Amplitude Modulation Controls
Enable/disable the AM output mode.
Returns the AM output mode state.
Sets the frequency of the modulated signal.
Returns the frequency of the modulated signal.
Sets the shape of the modulated signal.
Returns the shape of the modulated signal.
Sets the AM modulation depth as a percentage of the output amplitude.
Returns the AM modulation depth as a percentage of the output amplitude.
Frequency Modulation Controls
Enable/disable the FM output mode.
Returns the FM output mode state.
Sets the FM modulation frequency.
Returns the FM modulation frequency.
Sets the modulation shape of the FM waveform.
Returns the modulation shape of the FM waveform.
Sets the FM modulation deviation. This is the maximum frequency difference between the FM modulated wave and carrier frequency.
Returns the FM modulation deviation
Pulse Modulation Controls
Enable/disable the Pulse Modulation output mode.
Returns the Pulse Modulation output mode state.
Sets Trigger Mode. When set to single, a single pulse is emitted for each trigger. A minimum period is still observed equal to or greater than the configured period.
Returns Trigger Mode.
Sets the time the signal is high during one pulse cycle.
Returns the time the signal is high during one pulse cycle.
Sets the time between rising pulse edges.
Returns the time between rising pulse edges.
Multitone Controls. A Multitone waveform is defined by a table of individual tones, each with its own frequency, power, phase, and enabled state. The INIT command generates a new table from a small set of parameters. The TONe commands then let you inspect or update the individual tones parameters.
Enable/disable the Multitone output mode.
Returns the Multitone output mode state.
Generates a new tone table, replacing the table currently in use. The parameters, in order, are:
Notch center frequency takes precedence over notch width: the center frequency is clamped to its full [-20MHz, 20MHz] range independent of the requested width, and the notch width is then reduced, if necessary, to fit in the room remaining around that center frequency. A notch width of 0 (the default) disables the notch.
Returns the tone phase, seed, tone count, frequency spacing, notch width, and notch center frequency last used to generate the tone table.
Note: This is intended to validate the parameters passed to the last INIT command; it does not track the tone table afterward. If any tone has since been changed individually with the TONe commands below, these values no longer describe the current tone table.
Appends one tone to the end of the tone table. The new tone is enabled, with a frequency, power, and phase of 0.
Removes the tone at the given 0-based row index from the tone table. Has no effect if the index is out of range or if only one tone remains in the table; the table can never be emptied through this command.
Loads the tone table from a CSV file, replacing the table currently in use. Has no effect if the file does not exist.
Saves the current tone table to a CSV file.
Controls for an individual tone in the table. Every command below takes a 0-based row index into the tone table. For out-of-range index set commands are ignored and query commands return 0.
Enables or disables the tone at the given row index. A disabled tone is excluded from the generated waveform.
Returns whether the tone at the given row index is enabled.
Sets the frequency of the tone at the given row index. Clamped to [-20MHz, 20MHz].
Returns the frequency of the tone at the given row index.
Sets the power of the tone at the given row index, in dB relative to the other tones. Clamped to [-100, 100].
Returns the power of the tone at the given row index, in dB relative to the other tones.
Sets the phase of the tone at the given row index, in radians. Clamped to [-2PI, 2PI].
Returns the phase of the tone at the given row index, in radians.
Step Sweep Controls
Enable/disable the Step Sweep output mode.
Returns the Step Sweep output mode state.
Sets Trigger Mode. When set to single, a single pulse is emitted for each trigger.
Returns Trigger Mode.
Sets Sweep Type. When set to FREQ, the application level is used for each output step. When FREQAMPL is selected, the Start Level and Stop Level are used to create an amplitude ramp across all output steps.
Returns Sweep Type.
Sets the start frequency of the stepped sweep signal. When start frequency exceeds stop frequency, the frequency step is negative.
Returns the start frequency of the stepped sweep signal.
Sets the stop frequency of the stepped sweep signal. This is the frequency of the final output step. When stop frequency is less than start frequency, the frequency step is negative.
Returns the stop frequency of the stepped sweep signal.
Sets the number of output steps. The first step occurs at the start frequency and the final step at the stop frequency.
Returns the number of output steps.
Sets the amplitude of the first step. This is used when the Freq & Ampl sweep type is selected.
Returns the amplitude of the first step.
Sets the amplitude of the last step. This is used when the Freq & Ampl sweep type is selected.
Returns the amplitude of the last step.
Sets how long the signal dwells at each frequency. A CW is output at each output step.
Returns how long the signal dwells at each frequency.
Ramps Sweep Controls
Enable/disable the Ramp Sweep output mode.
Returns the Ramp Sweep output mode state.
Sets Trigger Mode. When set to single, a single pulse is emitted for each trigger. The period isstill observed.
Returns Trigger Mode.
Sets the frequency span of the frequency ramp. Cannot exceed the instantaneous bandwidth of the transmitter.
Returns the frequency span of the frequency ramp.
Sets the time it takes the transmitter to sweep through the selected span.
Returns the time it takes the transmitter to sweep through the selected span.
Sets the time between the beginning of two sweeps. Must be greater than or equal to Sweep Time.
Returns the time between the beginning of two sweeps.
Additive White Gaussian Noise Controls.
Enable/disable the AWGN output mode.
Returns the AWGN output mode state.
Sets the 3dB bandwidth of the noise signal. This value cannot exceed the instantaneous bandwidth of the transmitter.
Returns the 3dB bandwidth of the noise signal.
Sets the length of the noise signal buffer. This buffer is cycled through.
Returns the length of the noise signal buffer.
Sets the seed used by the random number generator. Enables the generation repeatable noise vectors.
Returns the seed used by the random number generator.
Custom Digital Modulation Controls. The string for the data sequence must contain only ascii ‘0’s and ‘1’s. If any other character is present, including whitespace, a system error will be thrown and the custom bit sequence will not be set.
Enable/disable the Custom Digital Modulation output mode.
Returns the Custom Digital Modulation output mode state.
Sets Trigger Mode. When set to single, the full waveform (all data) including off period is transmitted on each trigger event.
Returns Trigger Mode.
Sets an off duration after the full waveform is transmitted.
Returns an off duration after the full waveform is transmitted.
Sets the symbol (chip) rate of the signal. The symbol rate is limited by the device’s maximum sample rate and the oversample amount. For example, the maximum symbol rate with an oversample of 2 is 50MS/s / 2 = 25 MSym/s. The minimum symbol rate is the device’s minimum symbol rate with an oversample of 16 = 12.5kS/s / 16 = 781.25 Sym/s.
Returns the symbol (chip) rate of the signal.
Sets the modulation type.
Returns the modulation type.
Defines a custom constellation.
Returns a custom constellation.
Returns the custom constellation length.
Returns true/false if custom constellation is valid/invalid.
Sets the pulse shaping filter to be applied to the oversampled waveform.
Returns the pulse shaping filter to be applied to the oversampled waveform.
Sets the filter roll-off factor. Does not apply to custom filters.
Returns the filter roll-off factor. Does not apply to custom filters.
Sets the length in symbols, of the pulse shaping filter. This only applied to non-custom filter selections.
Returns the length in symbols, of the pulse shaping filter.
Sets the data sequence to be modulated.
Returns the data sequence to be modulated.
Sets the seed of the random number generator for the PN sequences.
Returns the seed of the random number generator for the PN sequences.
Sets a custom data sequence to be modulated.
Returns the custom data sequence to be modulated.
Sets the maximum deviation from 0Hz for FSK.
Returns the maximum deviation from 0Hz for FSK.
Sets the oversample amount.
Returns the oversample amount.
WLAN controls.
802.11a Controls
MCS values should be between [0,7]
Only sample rate can be specified, subcarrier spacing is controlled through the UI only. These settings are linked and can be controlled through just the sample rate control.
Data length controls the number of bytes to use from the source. If the source is shorter than the length, the data is repeated until the length is met.
The string for the data sequence must contain only ascii ‘0’s and ‘1’s. If any other character is present, including whitespace, a system error will be thrown and the custom bit sequence will not be set.
Enable/disable the 802.11a output mode.
Returns the 802.11a output mode state.
Sets Trigger Mode. When set to single, the full waveform including idle period is transmitted on each trigger event.
Returns Trigger Mode.
Sets the duration after the waveform is output in which the transmitter output is off.
Returns the duration after the waveform is output in which the transmitter output is off.
Sets the modulation and code rate for the given standard.
Returns the modulation and code rate for the given standard.
Sets the device sample rate. This setting is coupled to subcarrier spacing.
Returns the device sample rate.
Enable/disable the interleave state.
Returns the interleave state.
Enable/disable the scramble state.
Returns the scramble state.
Sets the scrambler initialization.
Returns the scrambler initialization.
Sets the raised cosine window length.
Returns the raised cosine window length.
Sets the data source. When CUSTom is selected, the bits configured by the :SEQuence command are used.
Returns the data source.
Sets the seed of the random number generator for the PN sequences.
Returns the seed of the random number generator for the PN sequences.
Sets the number of bytes from the data to be sent.
Returns the number of bytes from the data to be sent.
Sets a custom data sequence to be modulated.
Returns the custom data sequence to be modulated.
802.11n Controls
MCS values should be between [0,7]
Only sample rate can be specified, subcarrier spacing is controlled through the UI only. These settings are linked and can be controlled through just the sample rate control.
Data length controls the number of bytes to use from the source. If the source is shorter than the length, the data is repeated until the length is met.
The string for the data sequence must contain only ascii ‘0’s and ‘1’s. If any other character is present, including whitespace, a system error will be thrown and the custom bit sequence will not be set.
Enable/disable the 802.11n output mode.
Returns the 802.11n output mode state.
Sets Trigger Mode. When set to single, the full waveform including idle period is transmitted on each trigger event.
Returns Trigger Mode.
Sets the duration after the waveform is output in which the transmitter output is off.
Returns the duration after the waveform is output in which the transmitter output is off.
Sets the modulation and code rate for the given standard.
Returns the modulation and code rate for the given standard.
Sets Guard Interval.
Returns Guard Interval.
Sets the device sample rate. This setting is coupled to subcarrier spacing.
Returns the device sample rate.
Enable/disable the interleave state.
Returns the interleave state.
Enable/disable the scramble state.
Returns the scramble state.
Sets the scrambler initialization.
Returns the scrambler initialization.
Sets the raised cosine window length.
Returns the raised cosine window length.
Sets the data source. When CUSTom is selected, the bits configured by the :SEQuence command are used.
Returns the data source.
Sets the seed of the random number generator for the PN sequences.
Returns the seed of the random number generator for the PN sequences.
Sets the number of bytes from the data to be sent.
Returns the number of bytes from the data to be sent.
Sets a custom data sequence to be modulated.
Returns the custom data sequence to be modulated.
802.11ac Controls
MCS values should be between [0,8]
Only sample rate can be specified, subcarrier spacing is controlled through the UI only. These settings are linked and can be controlled through just the sample rate control.
Data length controls the number of bytes to use from the source. If the source is shorter than the length, the data is repeated until the length is met.
The string for the data sequence must contain only ascii ‘0’s and ‘1’s. If any other character is present, including whitespace, a system error will be thrown and the custom bit sequence will not be set.
Enable/disable the 802.11ac output mode.
Returns the 802.11ac output mode state.
Sets Trigger Mode. When set to single, the full waveform including idle period is transmitted on each trigger event.
Return Trigger Mode.
Sets the duration after the waveform is output in which the transmitter output is off.
Returns the duration after the waveform is output in which the transmitter output is off.
Sets the modulation and code rate for the given standard.
Returns the modulation and code rate for the given standard.
Sets Guard Interval.
Returns Guard Interval.
Sets the device sample rate. This setting is coupled to subcarrier spacing.
Returns the device sample rate.
Enable/disable the interleave state.
Returns the scramble state.
Enable/disable the scramble state.
Returns the scramble state.
Sets the scrambler initialization.
Returns the scrambler initialization.
Sets Group ID.
Returns Group ID.
Sets Partial AID.
Returns Partial AID.
Sets the raised cosine window length.
Returns the raised cosine window length.
Sets the data source. When CUSTom is selected, the bits configured by the :SEQuence command are used.
Returns the data source.
Sets the seed of the random number generator for the PN sequences.
Returns the seed of the random number generator for the PN sequences.
Sets the number of bytes from the data to be sent.
Returns the number of bytes from the data to be sent.
Sets a custom data sequence to be modulated.
Returns the custom data sequence to be modulated.
802.11ax Controlls
MCS values should be between [0,11]
GI values should be between [0,3] and represent the 4 choices in the guard interval combo box.
Only sample rate can be specified, subcarrier spacing is controlled through the UI only. These settings are linked and can be controlled through just the sample rate control.
Data length controls the number of bytes to use from the source. If the source is shorter than the length, the data is repeated until the length is met.
The string for the data sequence must contain only ascii ‘0’s and ‘1’s. If any other character is present, including whitespace, a system error will be thrown and the custom bit sequence will not be set.
Enable/disable the 802.11ax output mode.
Returns the 802.11ax output mode state.
Sets Trigger Mode. When set to single, the full waveform including idle period is transmitted on each trigger event.
Returns Trigger Mode.
Sets the duration after the waveform is output in which the transmitter output is off.
Returns the duration after the waveform is output in which the transmitter output is off.
Sets the bandwidth.
Returns the bandwidth.
Sets the coding type.
Returns the coding type.
Sets the modulation and code rate for the given standard.
Returns the modulation and code rate for the given standard.
Sets the Guard Interval.
Returns the Guard Interval.
Sets the device sample rate. This setting is coupled to subcarrier spacing.
Returns the device sample rate.
Enable/disable the scramble state.
Returns the scramble state.
Sets the raised cosine window length.
Returns the raised cosine window length.
Sets the data source. When CUSTom is selected, the bits configured by the :SEQuence command are used.
Returns the data source.
Sets the seed of the random number generator for the PN sequences.
Returns the seed of the random number generator for the PN sequences.
Sets the number of bytes from the data to be sent.
Returns the number of bytes from the data to be sent.
Sets a custom data sequence to be modulated.
Returns the custom data sequence to be modulated.
802.11ax Controlls
MCS values should be between [0,11]
GI values should be between [0,3] and represent the 4 choices in the guard interval combo box.
Only sample rate can be specified, subcarrier spacing is controlled through the UI only. These settings are linked and can be controlled through just the sample rate control.
Data length controls the number of bytes to use from the source. If the source is shorter than the length, the data is repeated until the length is met.
The string for the data sequence must contain only ascii ‘0’s and ‘1’s. If any other character is present, including whitespace, a system error will be thrown and the custom bit sequence will not be set.
Enable/disable the 802.11ah output mode.
Returns the 802.11ah output mode state.
Sets Trigger Mode. When set to single, the full waveform including idle period is transmitted on each trigger event.
Returns Trigger Mode.
Sets the duration after the waveform is output in which the transmitter output is off.
Returns the duration after the waveform is output in which the transmitter output is off.
Sets the bandwidth.
Returns the bandwidth.
Sets the modulation and code rate for the given standard.
Returns the modulation and code rate for the given standard.
Sets the Guard Interval. 0 for short, 1 for long.
Returns the Guard Interval.
Enable/disable the interleave state.
Returns the scramble state.
Enable/disable the scramble state.
Returns the scramble state.
Enable/disable the scramble state.
Returns the scramble state.
Set the SIG smoothing bit.
Return whether the SIG smoothing bit is set.
Set the SIG uplink indicator bit.
Return whether the SIG uplink indicator bit is set.
Sets the ID field in the SIG-1.
Returns the ID field in the SIG-1.
Sets the response indicator field.
Returns the response indicator field.
Sets the raised cosine window length as a percentage.
Returns the raised cosine window length.
Sets the data source. When CUSTom is selected, the bits configured by the :SEQuence command are used.
Returns the data source.
Sets the seed of the random number generator for the PN sequences.
Returns the seed of the random number generator for the PN sequences.
Set the SIG aggregation bit.
Return whether the SIG aggregation bit is set.
Sets the number of bytes from the data to be sent.
Returns the number of bytes from the data to be sent.
Sets a custom data sequence to be modulated.
Returns the custom data sequence to be modulated.
Set to 1 or 2. Amount of oversample to apply to the final waveform.
Returns the oversampling amount.
Configure the SUN OFDM output mode.
Enable/disable the SUN OFDM output.
Return whether the SUN OFDM output is enabled.
Sets the trigger mode for SUN OFDM output.
Returns the trigger mode.
Sets the duration after the waveform is output in which the transmitter output is off.
Returns the configured idle time.
Set the SUN OFDM option. Values should be between [1-4]. Values outside this range will be clamped.
Returns the SUN OFDM option.
Set the SUN OFDM MCS. Should be values between [0-6]. Values outside this range will be clamped.
Returns the SUN OFDM MCS.
Set the SUN OFDM seed. Should be values between [0-3]. Values outside this range will be clamped.
Returns the SUN OFDM seed.
Sets the raised cosine window length as a percentage.
Return the window length.
Sets the data source. When CUSTom is selected, the bits configured by the :SEQuence command are used.
Returns the data source.
Sets the seed of the random number generator for the PN sequences.
Return the PN random number generator seed.
Sets the PSDU octet length.
Returns the PSDU octet length.
Sets a custom data sequence. The sequence should be a string of ‘0’s and ‘1’.
Returns the customer data sequence.
Arbitrary waveform controls
Enable/disable the Arb output mode.
Returns Arb output mode state.
Sets the trigger mode for Arb output.
Returns trigger mode for Arb output.
Sets the Arb output sample rate.
Returns Arb output sample rate.
Enable/disable auto I/Q scaling.
Returns auto I/Q scaling state
Sets the I/Q scale to be used when auto scaling is disabled.
Returns the I/Q scale to be used when auto scaling is disabled.
Sets the I/Q scale to be used when auto scaling is disabled.
Returns the I/Q scale to be used when auto scaling is disabled.
Sets the waveform period in samples. Period is calculated after accounting for the offset and count.
Returns the waveform period in samples.
Sets the waveform offset in samples. Specifies how many samples into the loaded waveform to start playback. Between offset and count, this allows users to only play a portion of the loaded waveform.
Returns the waveform offset in samples.
Sets the number of samples after the offset to output. Between offset and count, this allows users to only play a portion of the loaded waveform.
Returns the number of samples after the offset to be output.
Queries the name of the loaded waveform. Returns an empty string is no file is loaded.
Returns the total number of samples in the loaded waveform. The number returned does not include the offset and count values specified above. If no file is loaded, this returns 0.
Loads 32-bit complex float csv file with provided filename.
Loads 16-bit complex integer binary file with provided filename.
Loads 32-bit complex float binary file with provided filename.
Loads midas file with provided filename.
Loads wav file with provided filename.
Loads a custom sequence file (created with the sequence editor) with the provided filename.
Load an I/Q waveform sent over SCPI. The I/Q values should be provided as alternating I/Q complex values, each I and Q value sent as a separate SCPI parameter, as ascii. A comma should separate all I/Q values. A comma should not be placed after the last Q value. An error will be thrown if an odd number of parameters is provided.
Returns 1 if a waveform is loaded.
Unloads any loaded waveform.
Enable/disable the streaming output mode.
Returns the streaming output mode.
Sets the output sample rate.
Sets the output sample rate.
Sets the I/Q scale as a percentage.
Returns I/Q scale as a percentage.
Loads 16-bit complex integer binary file with provided filename.
Loads 32-bit complex float binary file with provided filename.
Loads .wav file with provided filename.
Returns the number of loaded files
Unloads all waveform files.
Output controls.
Enable/Disable RF output.
Returns RF output state.
Enable/Disable modulation.
Returns modulation state.
Sets imbalance corrections to full or partial.
Returns imbalance corrections configuration.
Impairment controls
Sets a power level offset.
Returns power level offset.
Enable/Disable user flatness corrections.
Returns user flatness corrections state.
Sets frequency offset.
Returns frequency offset.
Enable/disable invert spectrum.
Return invert spectrum state.
Enable/disable low spur mode.
Returns low spur state.
Sets I channel offset in counts.
Returns I channel offset in counts.
Sets Q channel offset in counts.
Returns Q channel offset in counts.
Sets an I/Q amplitude imbalance in dB.
Return an I/Q amplitude imbalance in dB.
Sets an I/Q phase imbalance in degrees.
Returns an I/Q phase imbalance in degrees.
Sets a sample rate multiplier in ppm.
Returns a sample rate multiplier in ppm.
Enable/Disable AWGN.
Returns AWGN state.
Sets the desired Signal to Noise ratio (SNR) when AWGN impairments are enabled.
Returns the desired Signal to Noise ratio (SNR) when AWGN impairments are enabled.
Sets the AWGN impairment noise width.
Returns the AWGN impairment noise width.
Enable/Disable channel filter.
Returns channel filter state.
Returns channel filter length.
Sets the user defined channel filter.
Returns the user defined channel filter.
Enable/Disable phase noise.
Returns phase noise state.