Home

BB60A API Manual - SignalHound USB Spectrum Analyzer & USB

image

Contents

1. flag The default value is zero If mode equals BB_ZERO_SPAN flag can be used to denote the type of modulation performed on the incoming signal BB_DEMOD_AM and BB_DEMOD_FM are the two options If mode equals BB_RAW_PIPE flag is used to denote the retreived bandwidth BB_SEVEN_MHZ or BB_TWENTY_MHZ is used to change the desired capture bandwidth flag can be used to inform the API to time stamp data using an external GPS reciever Mask the bandwidth flag in C with BB_TIME_STAMP to achieve this See Appendix Using a GPS Receiver to Time Stamp Data for information on how to set this up Description bbinitiate configures the device into a state determined by the mode parameter For more information regarding operating states refer to the Theory of Operation and Modes of Operation sections This function calls bbAbort before attempting to reconfigure It should be noted if an error is returned any past operating state will no longer be active API Functions Test Equipment Plus Pay special attention to the bbInvalidParameterErr description below Return Values bbNoError bbDeviceNotOpenErr bbInvalidParameterErr bbAllocationLimitError Device successfully configured The device handle provided does not point to an open device The value for mode did not match any known value In real time mode this value may be returned if the span limits defined in the API header are broken Also in real time mode this error wil
2. Possible values are BB_NO_TRIGGER BB_VIDEO_ TRIGGER BB_EXTERNAL_TRIGGER and BB_GPS_PPS_TRIGGER If an external signal is desired BNC port 2 must be configured to accept a trigger see bbConfigurelO edge Specifies the edge type of a video trigger Possible values are BB_TRIGGER_RISING and BB_TRIGGER_FALLING If you are using a trigger type other than a video trigger this value is ignored but must be specified level Level of the trigger The units of this value are determined by the demodulation type used when initiating the device If demodulating AM level is in dBm units if demodulating FM level is in Hz timeout The amount of time you are willing to wait for a trigger in seconds If that time is reached a sweep over the last set of data is returned Description Allows you to configure all zero span trigger related variables As with all configure routines the changes made here are not reflected until the next initiate When a trigger is specified the sweep returned will start approximately 200 microseconds before the trigger event This provide a slight view of occurances directly before the event If no trigger event is found the data returned at the end of the timeout period is returned Return Values bbNoError Configured successfully bbDeviceNotOpenErr The device specified is not open bbinvalidParameterErr A parameter specified is not valid bbConfigureTimeGate Configure Time Gate mode values bbStatus bbConfigu
3. The flow of any program interfacing a broadband device will be as follows 1 Open a USB 3 0 connected device 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 SCPI s 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 Once the device is connected it can be opened The function bbOpenDevice provides this functionality This function returns an integer ID to the device which was opened Up to eight devices may be connected and interfaced through our API using the ID s The integer ID 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 device has a number of configuration routines and many operating states Most of this manual discus
4. s of Operatiomsisiss cisstecssedicsssccdecccsdeissseccsenscessscesssscesscsansedeetes cteescassedess sackseceussedesseactevetesesdessaneees 5 SWEDE AMALVSIS ccciccsiscacesaxcavecsvansudecacanscscteswdesuaneiee veavasteunceaves stawoxdevescaeveodseands teasers wsnvondecencoPeeutabeeasces Colvandeeenccdeaeedvanests 5 RealTime E O coteestodsaxesterian 6 Mc E O RCA 7 LU Ns 7 RaWwiDatanias iii E saan candela len bee tsie ves teem E E haved E ete lacie 8 RAW SWEEP esanen i dilata 9 Raw Sweep LOOD ions ON 10 A dio Demod latiO NA 10 Sweeping Versus Streaming 2iciccsseccescscsosscecsecsesccedeesccesonsessiecodsceseendesesconsstdevocsersescodecessossesscncnersdssoosess 10 API FUNCUONS sicsscnisicsnccdssssccesscesnescasvsncesscosesosasveneesschssscsassewesscesecedassansscceosvoodsssonsedssosvendsssansscasssaesesss 11 US O ven vantenctendeadeasanchacesvesadens A 11 DD GIOSEDEVIC ES acacia vesenccsu nde veas cusexcaneseit us seeencasn des ussiec A EA A das 11 DDCONTISUFEACQUISI IO iii A E E EE E EE AEE ati 12 BbContigureCenter passessin ea aE Ea aR a a aea EEEE E ERa aa aaa 12 SS irse a a a E E a a aa E aa i aa i 13 bbConfieureGai hi erun A O EE E a A E E R ea 14 bbConfigureSweepCoupling ccceessscccccecsessseseeececseseseesecececeeseeeesesececeeeeseesesececesseaeesesececeeeaeeseseescesseseaaeseeseeeees 14 SN A E E E PEE ee 16 bbCo nfieureProcUNItS sesek n E a a E aE a E EEEE 17 DO CONTFIBUFEMNISS OK airada a iaa 17 DbConfigureTiMeGate c
5. Device successfully configured bbDeviceNotOpen The device handle provided points to a device that is not open bbInvalidWindowErr The value for window did not match any known value bbConfigureProcUnits Configure video processing unit type bbStatus bbConfigureProcUnits int device unsigned int units Parameters device Handle to the device being configured units The possible values are BB_LOG BB_VOLTAGE BB_POWER and BB_BYPASS Description The units provided determines what unit type video processing occurs in The chart below shows which unit types are used for each units selection For average power measurements BB_POWER should be selected For cleaning up an amplitude modulated signal BB_VOLTAGE would be a good choice To emulate a traditional spectrum analyzer select BB_LOG To minimize processing power select BB_ BYPASS BB_LOG dBm BB_VOLTAGE mV BB_POWER mW BB_BYPASS No video processing Return Values bbNoError Device successfully configured bbDeviceNotOpen The device handle provided points to a device that is not open bbInvalidVideoUnitsErr The value for units did not match any known value bbConfigureTrigger Configure the Zero Span trigger bbStatus bbConfigureTrigger int device unsigned int type unsigned int edge double Level double timeout Parameters Test Equipment Plus device Handle to the device being configured type Specifies the type of trigger to use
6. Sweeping versus Streaming Test Equipment Plus API Functions bbOpenDevice Open one Signal Hound broadband device bbStatus bbOpenDevice int device Parameters device If successful a device number is returned This number is used for all successive API function calls Description This function attempts to find the first unopened broadband device and initalize it for use This function when successful takes about 3 seconds to perform The API maintains a list of opened devices by serial number Therefore calling bbOpenDevice a second time will do nothing assuming only one device is connected The only way to remove a serial number from the open device list is to call bbCloseDevice with the proper device ID or end the program execution This function must be called before any other calls are made to the device Attempting to interface a device that is not open will return bbDeviceNotOpenErr errors This function at most opens a single device The device parameter returned will always be a value between 0 7 This value must be saved as it is used to for all subsequent API calls Return Values bbNoError No error device number opeened and returned successfully bbNullPtrErr The parameter device is null The device is not opened bbDeviceNotOpenErr The device was unable to open This can be returned for many reasons such as the device is not physically connected eight devices are already open or there is an issue with the U
7. bbinitiate The correction arrays and returned values differ slightly depending on the 7 or 20 MHz bandwidth chosen Each one is described in depth below 20 MHz The correction array represents 40 MHz of bandwidth where frequencies outside the requested 20 MHz are zeroed out The first non zero sample begins at corrections index The frequency at this index is startFreq The bin size of each index is implied through 40 MHz divided by the length of the array 40 0e6 2048 19531 25 Hz If an Fourier transform is applied on the IF data the correction values will line up with the usable 20 MHz bandwdith 7MHz The correction array represents 10 Mhz of bandwdith where the usable 7 MHz is centered and all values outside the usable 7 MHz is zeroed The index returned is the first non zero sample in the array The startFreq returned is the frequency of the first sample in the array corrections 0 Every other sample s API Functions Test Equipment Plus frequency can be determined with the bin size The bin size for this array is 10 0e6 2048 4882 8125 Hz If a complex Fourier Transform is applied to the IQ data the correction values will line up with the usable 7 MHz bandwidth Tips Time domain corrections of the signal s amplitude require two steps First an inverse Fourier Transform must be performed on the entire correction array including zero ed portions This results in a 4096 sample kernel Second the kernel is u
8. eliminates the software setup time at the beginning of each sweep and can drastically improve sweep speed for sweeps under 50 ms The device is configured similarly to raw sweep mode The gain and attenuation must be chosen Gain cannot be auto The device must be initated using BB_RAW_SWEEP_LOOP as the mode After configuration the device is still idling until bbStartRawSweepLoop is called Read the entry on bbStartRawSweepLoop to understand how data is collected in this mode Requesting the smallest dwell time at each step this mode is capable of sweeping 25 GHz per second Despite the name this mode is in fact streaming data continuously and incurs the second abort time as described in the section Sweeping versus Streaming Audio Demodulation Audio demodulation can be achieved using bbConfigureDemod bbFetchAudio and bbInitiate See bbConfigureDemod to see which types of demodulation can be performed Settings such as gain attenuation reference level and center frequency affect the underlying signal to be demodulated bbConfigureDemod is used to specify the type of demodulation and the characteristics of the filters Once desired settings are chosen use bbinitiate to begin streaming data Once the device is streaming it is possible to continue to change the audio settings via bbConfigureDemod as long as the updated center frequency is not 8 MHz of the value specified when bbinitiate was called The center frequency is specified
9. in bbConfigureDemod Once the device is streaming use bbFetchAudio to retrieve 4096 audio samples for an audio sample rate of 32k Sweeping versus Streaming All modes of operation fall within two categories sweeping and streaming In any sweeping mode the device operates only when requested Usually requesting a trace triggers a single trace acquisition otherwise the device and API are idle Sweeping is very responsive and switching between difference types of sweep modes is very quick Streaming modes are modes in which the API is continually receiving a stream of spectrum 20MHz from the device The characterization of the data is a result of the initial configuration The device is never idle in these modes Once this process is started it takes about second to abort any streaming operation to ensure all channels pipes have been cleared and the device is ready for its next command Note Entering a stream mode is instantaneous if the device is coming from an idle or sweep mode Depending on your application this second abort time may not be acceptable switching bands quickly changing settings quickly If you are interested in utilizing a streaming mode to fully characterize a signal of interest a good approach might be to start in the standard sweep mode or the raw sweep mode From these modes you can simply detect the location of a signal of interest and quickly react by switching into a stream mode with appropriate settings
10. issues If this error is returned the data returned is undefined The device should be power cycled manually or with the bbPreset routine bbADCOverflow This warning is returned when the ADC detects clipping of the input signal This occurs when the maximum voltage has been reached Signal analysis and reconstruction become issues on clipped signals To prevent this try a combination of increasing attenuation and decreasing gain API Functions Test Equipment Plus bbFetchRawSweep Retrieve a single sweep in the raw sweep mode bbStatus bbFetchRawSweep int device short buffer Parameters device Handle of an initialized device buffer Pointer to an array of signed short integers Description This function is used to collect a single sweep for a device configured in raw sweep mode The length of the buffer provided is determined by the settings used to configure the device for raw sweep mode This length can be determined using the equation Buf fer Length 18688 ppf steps If the function returns successfully the array will contain a full sweep The shorts will Return Values bbNoError Function returned successfully Buffer contains the entire sweep bbNullPtrErr buffer is null bbDeviceNotOpenErr Device specified is not open bbDeviceNotConfiguredErr Device specified is not configured and initiated for raw sweeps bbPacketFramingErr This error occurs when data loss or miscommunication has occurred between the device
11. nanoseconds 34 char timeString 35 36 If we wanted we could collect the 1PPS triggers here 37 bbFetchRaw Test Equipment Plus 38 id 39 data Collect one raw packet 40 NULL Not interested in the triggers 41 42 43 Return the seconds and nanoseconds of the first sample in the last packet 44 retrieved 45 bbQueryTimestamp id amp seconds amp nanoseconds 47 Function in lt ctime gt which returns a human readable string of the date time 48 timeString ctime time_t amp seconds 50 doSomething 51 Additionally it may be helpful to write a function which determines the time of a single sample using the returned times from bbQueryTimestamp Le Ye Di Retrieve the time of any sample in a packet 3 To do this we need to know the starting time of the packet and 4 the sample we are interested in 5s 6 void GetSampleTime re unsigned int startSeconds In Seconds returned from QueryTimestamp 8 unsigned int startNanos In Nanoseconds returned from QueryTimestamp g unsigned int sample In Sample we are interested in zero based 10 unsigned int sampleSeconds Out Seconds for interested sample 11 unsigned int sampleNanos Out Nanoseconds for interested sample T 13 Amount of time between any two samples 14 double delTime 1 0 80000000 15 16 Assuming zero based sample get output nanos 17 unsigned int outs s
12. opened If the device ever deviates from its temperature we suggest calling bbSelfCal Calling bbSelfCal requires the device be open and idle After a self calibration occurs the global device state is undefined It is necessary to reconfigure the device before continuing operation One self calibration is performed upon opening the device Modes of Operation Now that we have seen how a typical application interfaces with the device let s examine the different modes of operation a Signal Hound spectrum analyzer provides Each mode will accept different configurations and have different boundary conditions Each mode will also provide data formatted to match the mode selected In the next sections you will see how to interact with each mode For a more in depth examination of each mode of operation read theory refer to the Signal Hound broadband spectrum analyzer user manual Swept Analysis Swept analysis represents the most traditional form of spectrum analysis This mode offers the largest amount of configuration options and returns frequency domain sweeps A frequency domain sweep displays amplitude on the vertical axis and frequency on the horizontal axis The configuration routines which affect the sweep results are bbConfigureAcquisition bbConfigureCenterSpan bbConfigureLevel bbConfigureGain bbConfigureSweepCoupling bbConfigureWindow bbConfigureProcUnits Once you have configured the device you will initiate it u
13. port2 Port 2 is capable of accepting an external trigger or generating a logic output Port 2 is always DC coupled All possible values for this port are found in the header file and are prefixed with BB_PORT2 Description NOTE This function can only be called when the device is idle not operating in any mode To ensure the device is idle call bbAbort There are two configurable BNC connector ports available on the device Both ports functionality are changed with this function For both ports 0 is the default and can be supplied through this function to return the ports to their default values Specifying a 0 on port 1 returns the device to an internal time base and outputs the time base AC coupled Specifying O on port 2 emits a DC coupled logic low For external 10 MHz timebases best phase noise is achieved by using a low jitter 3 3V CMOS input Configure combinations Port 1 10 For port 1 only a coupled value must be OR ed together with a port type Use the operator to combine a coupled type and a port type BB PORT1_AC_ COUPLED Denotes an AC coupled port BB PORT1_DC COUPLED Denotes a DC coupled port BB PORT1_INT_REF_OUT Output the internal 10 MHz timebase BB_PORT1_EXT_REF_IN Accept an external 10MHz time base BB_PORT1_OUT_LOGIC_LOW BB_PORT1_OUT_LOGIC_HIGH Port 2 IO BB_PORT2_OUT_LOGIC_LOW BB_PORT2_OUT_LOGIC_HIGH API Functions Test
14. you how to use the device in each of its operation modes from the required functions to understanding the data the device returns The API Functions section details every function in depth The knowledge learned in the Theory and Modes of operation sections will help you navigate the API functions The Appendix provides various code examples and tips Legend broadband device A signal hound bb series spectrum analyzer device Shortened for broadband device for brevity Contact Information We are interested in your feedback and questions Please report any issues bugs as soon as possible We will maintain the most up to date API on our website We encourage any and all criticisms or ideas We would love to hear how you might improve the API Overview Test Equipment Plus All programming and API related questions should be directed to aj teplus com All hardware specification related questions should be directed to justin teplus com You can also contact us via phone 1 800 260 8378 Listen for the extensions for AJ or Justin Requirements Below is a list of requirements needed to begin 1 Windows 7 The API is untested outside Windows 7 2 Windows C C development tools environment Preferably Visual Studio 2008 or later 3 The bb_api h API header file 4 The API library lib and dynamic library dll files 5 Abasic understanding of RF Spectrum Analysis 6 A Signal Hound broadband spectrum analyzer Theory of Operation
15. 0ms for optimal viewing and use In zero span mode this is the amount of time in seconds you wish to display on the x axis rbwType The possible values for reowType are BB_NATIVE_RBW and BB _NON_NATIVE_RBW This choice determines which bandwidth table is used and how the data is processed BB_NATIVE_RBW is default and unchangeable for real time operation rejection The possible values for rejection are BB_NO_SPUR_REJECT BB_SPUR_REJECT and BB_BYPASS_RF Description The resolution bandwidth or RBW represents the bandwidth of spectral energy represented in each frequency bin For example with an RBW of 10 kHz the amplitude value for each bin would represent the total energy from 5 kHz below to 5 kHz above the bin s center For standard bandwidths the API uses the 3 dB points to define the RBW The video bandwidth or VBW is applied after the signal has been converted to frequency domain as power voltage or log units It is implemented as a simple rectangular window averaging the amplitude readings for each frequency bin over several overlapping FFTs A signal whose amplitude is modulated at a much higher frequency than the VBW will be shown as an average whereas amplitude modulation at a lower frequency will be shown as a minimum and maximum value Native RBWs represent the bandwidths from a single power of 2 FFT using our sample rate of 80 MSPS and a high dynamic range window function Each RBW is half of the previous Using nativ
16. Equipment Plus BB PORT2_IN_TRIGGER_RISING EDGE When set the device is notified of a rising edge BB_PORT_IN_TRIGGER_FALLING_EDGE When set the device is notified of a falling edge Return Values bbNoError Device configured successfully bbDeviceNotOpenErr Device specified is not open bbDeviceNotldleErr This is returned if the device is currently operating in a mode The device must be idle to configure ports bbinvalidParameterErr A parameter supplied is unknown Example This example shows how to configure an AC external reference input into port 1 and a emit a logic high on port 2 Note the operation is used to specify the AC couple 1 bbConfigurelo0 2 myDeviceNumber 3 BB_PORT1_AC_COUPLED BB_PORT1_EXT_REF_IN Catch AC external reference 4 BB_PORT2_OUT_LOGIC_HIGH Output DC logic high 5 bbConfigureDemod Configure audio demodulation operation bbStatus bbConfigureDemod int device int modulationType double freq float IFBW float audioLowPassFreq float audioHighPassFreq float FMDeemphasis Parameters device Handle to the device being configured modulationType Specifies the demodulation scheme possible values are BB_DEMOD_AM FM Upper sideband USB Lower Sideband LSB CW freq Center frequency For best results re initiate the device if the center frequency changes 8MHz from the initial value IFBW Intermediate frequency bandwidth centered on freq Filter takes place b
17. List Save process display 57 58 while streaming Zero Span Triggering This code snippet shows you how to initialize and configure the device for zero span mode with an external trigger For brevity error handling and unrelated configuration API calls are left out Configure Zero Span and an external trigger 1 25 3 int devID 4 Test Equipment Plus 5 bbOpenDevice amp devID e 7 1 8 Other configurations here 9 10 bbConfigureAcquisition 11 bbConfigureCenterSpan 12 bbConfigureLevel 13 bbConfigureSweepCoupling VA 16 Configure our trigger tell the device to use an external trigger 17 bbConfigureTrigger 18 devID 19 BB_EXTERNAL_TRIGGER 20 0 n a for external trigger 21 0 n a for external trigger 22 0 032 wait up to 32 ms for trigger 23 24 25 The device now expects an external trigger we configure port 2 for a trigger 26 bbConfigurel0o 27 devID 28 0 Not using port1 0 is default 29 BB_PORT2_IN_TRIGGER_RISING_EDGE trigger on rising edge 30 31 32 bbInitiate 33 devID 34 BB_ZERO_SPAN Zero Span mode 35 BB_DEMOD_FM FM demodulation 36m 5 3 39 The device is now ready for an external trigger 40 From here we would get our trace information and 41 begin getting sweeps ADA Using a GPS Receiver to Time Stamp Data With minimal effort it is possible to determine the absolute ti
18. NotConfiguredErr The device is already idle bbPreset Trigger a device reset bbStatus bbPreset int device Parameters device Handle of an open device Description This function exists to invoke a hard reset of the device This will function similarly to a power cycle unplug re plug the device This might be useful if the device has entered an undesirable or unrecoverable state Often the device might become unrecoverable if a program closed unexpectedly not allowing the device to close properly This function might allow the software to perform the reset rather than ask the user perform a power cycle Viewing the traces returned is often the best way to determine if the device is operating normally To utilize this function the device must be open Calling this function will trigger a reset which happens after 2 seconds Within this time you must call bbCloseDevice to free any remaining resources and release the device serial number from the open device list From the time of the bbPreset call we suggest 3 to more seconds of wait time before attempting to re open the device Return Values bbNoError Function completed successfully the device will be reset bbDeviceNotOpen The device specified is not currently open Example 1 Notes Invoking a sleep in the main thread of execution may be undesirable 2 in a GUI application This function is best performed in a separate thread 3 The amount of time to Sleep is depende
19. SB 3 0 connection bbCloseDevice Close one Signal Hound broadband device bbStatus bbCloseDevice int device Parameters device Handle to the device being closed Description This function is called when you wish to terminate a connection with a device Any resources the device has allocated will be freed and the USB 3 0 connection to the device is terminated The device closed will be released and will become available to be opened again Return Values Test Equipment Plus bbNoError The device closed successfully bbDeviceNotOpenErr The device specified is not open bbConfigureAcquisition Change the detector type and choose between linear or log scaled returned sweeps bbStatus bbConfigureAcquisition int device unsigned int detectorType unsigned int verticalScaLe Parameters device Handle to the device being configured detectorType Specifies the video detector The two possible values for detector type are BB_AVERAGE and BB_MIN_AND_MAX verticalScale Specifies the scale in which sweep results are returned int The four possible values for verticalScale are BB_LOG_SCALE BB_LIN_SCALE BB_LOG_FULL_SCALE and BB_LIN_FULL_SCALE Description The verticalScale parameter will change the units of returned sweeps If BB_LOG_SCALE is provided sweeps will be returned in amplitude unit dBm If BB_LIN_SCALE is return the returned units will be in millivolts If the full scale units are specified no corrections are applie
20. TEST EQUIPMENT PLUS Signal Hound Broadband Spectrum Analyzer Application Programming Interface API Programmers Reference Manual Version 1 1 1 Justin Crooks amp Andrew Montgomery 8 28 2013 Requirements Operation Function Definitions Examples Table of Contents OVEN VI CW OA 2 A E ues AA NA EET ANN 2 Contact IMPONMATION secivsscivcsessccsessentucsds oecedyl velenensscivessevedvshdapuselleinsluessassuvestanedecsdsansecdsivaduesvancevesvapeiwesdanetvadadewtias tase 2 REQUIFOCMEONTS iiscceccceiscescsscsssccdvecossctsssseccdvcsendsscsedocsstccnadsedsossetecsendssssssnsssescasccossssadevecossscoosssessscessseseess 3 Theory of OPCratiOncsccciiscsesccicicsesisccsecessccssesisccsescsiscsestiacsassssccsscstsccsessssccssesssccaesesasaseestastaesssscbasestoases 3 Openine a DIEN S cores nc cccencsaseestecd coducta cece vest E E cave denssebeensseccccedncedecta rece dest nadeodnscecesicns neddeicta rene cava nedensanevess 3 Configuring the DEVI COs cssscecsecexnecsscaeacesssasbecnce canes ducusviean cash Savsedeencdatasubaadedatacanessaddesuaadeeantanuasabeds degeossuaadaseasensavessstacteds 3 Initiate the DEVICE icin a nin el abn ARORA Ail i hi Redon tii io canes EENE EEEa 4 Retrieve Data from the DEVICES wa cssncssctecvcsscessaseczaiavsebeeasensncdeeveleccsasesicedawatncesaueesediceesasusciceddibectndsotaaseactiavsdeeeaersnhecteed 4 Abort the Current ModE issiran ee ainia arce 4 Close DIC io aa A Aa EEEE REEE S ERE EEE E EEEa 5 NA 5 Mod
21. The device has not be configured and initiated for raw sweep loop mode bbDeviceAlreadyStreamingErr The device is already sweeping indicating this function has already been called bbQueryTimestamp Retrieve an absolute time of a data packet bbStatus bbQueryTimestamp int device unsigned int seconds unsigned int nanoseconds Parameters device Handle of an initialized device API Functions Test Equipment Plus seconds Seconds since midnight 00 00 00 January 1 1970 coordinated universal time UTC nanoseconds nanoseconds between seconds and seconds 1 Description This function is used in conjunction with bbSyncCPUtoGPS and a GPS device to retrieve an absolute time for a data packet in raw pipe mode This function returns an absolute time for the last packet retrieved from bbFetchRaw See the Appendix Code Examples for information on how to setup and interpret the time information Return Values bbNoError Successful bbNullPtrErr seconds or nanoseconds parameters are null bbDeviceNotOpenErr device is not a handle to an open device bbDeviceNotConfiguredErr The device is not configured and running in RAW_PIPE mode bbSyncCPUtoGPS Synchronize a GPS reciever with the API bbStatus bbSyncCPUtoGPS int comPort int baudRate Parameters comPort Com port number for the NMEA data output from the GPS reciever baudRate Baud Rate of the Com port Description The connection to the COM port is only establi
22. ain aeaa a AEE EASE TRO E EEES SR E 35 DDG ETEFOPStIN RT 35 Error HANNA a 36 A sessseccselovedesscussedenwstvedoucuseedcecuvessowaussecwewuses lt osuusvecseluseecoscussedesusvesdoususeee 36 COE Example Saeaon A AAA Ei 36 COMMON E T AE cea eE Re TT 36 SS O casted dan tcsneasavedulaatcetnets seeaulagesheasuamtuatecret nee sute 36 Raw Data Pipe Example iii cd dansa 38 NS ES RO 39 Using a GPS Receiver to Time Stamp Data cccccccccecececececececececeeeceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeceeeeeeese ees ceeeeeeeeeseeeeeeeeeeess 40 COJE Example vcs ccitisssesneis id scosrezs caneaasieunans a EE E ecnss bas ounaen Sensnes a EE EEEE 41 Bandwidth Tables z esictsscccecsdeesshecsstuchessssesved iienaa aaeeei EAE ERA EEA EE E EAE A E EE EE EAA E ENEE EA EE ESERE 42 Overview This manual is a programmer s reference for the Signal Hound Broadband API The API is a C based set of routines used to control the Signal Hound broadband devices This manual will describe the requirements and skills needed to program to the API If you are new to the API you should read the sections in order Requirements Theory of Operation and Modes of Operation The Requirements section details the physical and operational needs to use the API The Theory of Operation section details how to interface this device and covers every major component a program will implement when interfacing a Signal Hound broadband device The Modes of Operation section attempts to teach
23. ain and bypassed for low or no gain Additionally the IF has an amplifier which is bypassed only for a gain of zero For the highest gain settings additional amplification in the ADC stage is used Return Values bbNoError Device successfully configured bbDeviceNotOpenErr The device handle provided does not point to an open device bbiInvalidGainErr This is returned if the gain value is outside the range of possible inputs bbConfigureSweepCoupling Change the sweep coupling values API Functions Test Equipment Plus bbStatus bbConfigureSweepCoupling int device double rbw double vbw double sweepTime unsigned int rbwType unsigned int rejection Parameters device Handle to the device being configured rbw Resolution bandwidth in Hz Use the bandwidth table in the appendix to determine good values to choose As of 1 07 in non native mode RBW can be arbitrary Therefore you may choose values not in the table and they will not clamp vbw Video bandwidth VBW in Hz VBW must be less than or equal to RBW VBW can be arbitrary For best performance use RBW as the VBW sw