Theory of Operation | Signal Hound
other than real-time analysis will perform as expected with no issues on the suggested
hardware.
Theory of Operation
The flow of any program interfacing a broadband device will be as follows.
1) Open a USB 3.0 connected BB60A/BB60C.
2) Configure the device.
3) Initiate a device mode of operation
4) Retrieve data from the device
5) Abort the current mode of operation
6) Close the device
- Calibration
The API provides functions for each step in this process. We have strived to mimic the functionality and
naming conventions of SCPIs IviSpecAn Class Specification where possible. It is not necessary to be
familiar with this specification but those who are should feel comfortable with our API immediately.
Let’s look at each step in detail of a typical program interfacing a Signal Hound spectrum analyzer.
Opening a Device
Before attempting to open a device programmatically, it must be physically connected to a USB 3.0 port
with the provided cable. Ensure the power light is lit on the device and is solid green. Once the device is
connected it can be opened. The function bbOpenDevice provides this functionality. This function
returns an integer handle to the device which was opened. Up to eight devices may be connected and
interfaced through our API using the handle. The integer handle returned is required for every function
call in the API, as it uniquely identifies which broadband device you are interfacing.
Configuring the Device
Once the device is opened, it must be configured. The API provides a number of configuration routines
and many operating states. Most of this manual discusses configuring the device. In the Modes of
Operation section, each operating mode and its relevant configuration routines are discussed. All
configuration functions will modify a devices’ global state. Device state is discussed more in the next
section (Initiating the Device). The API provides configurations routines for groupings of related
variables. Each configuration function is described in depth in the API functions section. All relevant
configuration routines should be invoked prior to initialization to ensure a proper device state. Certain
functions will enforce boundary conditions, and will note when either a parameter is invalid or has been
clamped to the min/max possible value. Ensuring each routine configures successfully is required to
ensure proper device operation. Different modes of operation will necessitate different boundary
conditions. Each function description will detail these boundaries. We have also provided helpful macros
in the header file to help check against these boundaries.
Initiating the Device
Each device has two states.
1) A global state set through the API configuration routines.
2) An operational/running state.