ThinkRF WSA5000-3, WSA5000-XXX-HIF, WSA5000-4XX-WBIQ, WSA5000-4XX-P, WSA5000-408P Programmer's Manual

...
ThinkRF WSA5000
Wireless Signal Analyzer
Version 3.6.3
Programmer's Guide
December 01, 2016 Document no. 75-0014-150216 Copyright © 2013, 2014, 2015, 2016 ThinkRF Corporation, All rights reserved. All product names are trademarks of their respective companies. This document contains information that is proprietary to ThinkRF Corporation.
Important notice
The information in this guide is furnished for informational use only and is subject to change without notice. ThinkRF Corporation assumes no responsibility or liability for any errors or inaccuracies that may appear in this document.
No part of this publication may be reproduced, published, stored in an electronic database, or transmitted, in any form or by any means, electronic, mechanical, recording, or otherwise, for any purpose, without the prior written permission of ThinkRF Corporation.
Trademarks
ThinkRF, the ThinkRF logo and WSA5000 are trademarks of ThinkRF Corporation.
The following are trademarks or registered trademarks of their respective companies or owners:
Windows, Windows XP / Microsoft Corporation
All other brand or product names are trademarks or registered trademarks of their respective companies or owners.
ThinkRF Corp
390 March Road Kanata, ON K2K 0G7 (613) 369-5104
HARDWARE WARRANTY AND LIMITATION OF LIABILITY
Read this warranty carefully before you use the product.
WSA5000 Wireless Signal Analyzers are warranted for workmanship and materials for a period of one (1) year from the date of shipment as identified by the Customer’s packing slip or carrier waybill. ThinkRF reserves the right to void the warranty on any equipment that has been altered or damaged due to Customer negligence, unauthorized repair, misuse of equipment, evidence of physical or environmental damage, transportation abuse or removal of any ThinkRF identification labels or serial numbers.
It will remain the responsibility of the Customer, having obtained a Return Material Authorization (RMA) and shipping instructions from ThinkRF, to return, at the Customer's expense, the defective unit to ThinkRF’s repair facilities. ThinkRF will incur shipping charges for the return of warranty repaired equipment. The RMA number can be secured by calling ThinkRF Customer Service and Support (1-613­369-5104). If the product does not fall within ThinkRF’s warranty period or the product is found to be functioning as designed, then under the terms of ThinkRF’s warranty policy, all costs of repairs and shipping will be charged directly to the Customer. ThinkRF will warrant repaired units for a period of 90 days from date of shipment from ThinkRF to the Customer. If the remaining period on the original hardware warranty is greater than 30 days, then ThinkRF will honor this remaining warranty period.
THINKRF EXPRESSLY DISCLAIMS ALL OTHER WARRANTIES AND CONDITIONS, WHETHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, WARRANTIES, CONDITIONS OR REPRESENTATIONS OF WORKMANSHIP, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, DURABILITY, OR THAT THE OPERATION OF THE HARDWARE OR LICENSED SOFTWARE WILL BE ERROR FREE. IN NO EVENT WILL THINKRF BE LIABLE FOR INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES.
USE OF PRODUCTS IN HIGH RISK ACTIVITIES
THINKRF PRODUCTS ARE INTENDED FOR STANDARD INDOOR COMMERCIAL USE. WITHOUT THE APPROPRIATE NETWORK DESIGN ENGINEERING, THEY MUST NOT BE USED FOR ANY “HIGH RISK ACTIVITY”, as described in this paragraph. Customer acknowledges and agrees that the products supplied hereunder are not fault-tolerant and are not designed, manufactured or intended for use or resale as on-line control equipment in hazardous environments requiring fail safe performance including but not limited to the operation of nuclear facilities, aircraft navigation or communication systems, air traffic control, direct life support machines, or weapons systems, in which the failure of products could lead directly to death, personal injury, or severe physical or environmental damage, all of which are examples of “High Risk Activity”. THINKRF AND ITS SUPPLIERS EXPRESSLY DISCLAIM ANY EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
GNU General Public License
This device contains free firmware: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. GNU General Public License is available at http://www.gnu.org/licenses.
Table of Contents
Abbreviations ................................................................................................................................... 7
List of Figures .................................................................................................................................. 8
List of Tables .................................................................................................................................... 9
Preface ............................................................................................................................................... 10
Audience .................................................................................................................................... 10
Conventions .............................................................................................................................. 10
Obtaining Documentation and Releases ........................................................................... 10
Document Feedback ............................................................................................................... 11
Obtaining Technical Assistance .......................................................................................... 11
WSA5000 Functional Overview ............................................................................................ 12
System Overview ..................................................................................................................... 12
The Architecture ...................................................................................................................... 15
RF Receiver Front-End ........................................................................................................... 17
Direct-Conversion Receiver Technology .............................................................................. 18
DC Offset Correction ...................................................................................................... 18
IQ Offset Correction ........................................................................................................ 19
Digital Signal Processing ...................................................................................................... 20
Digital Down Converter ......................................................................................................... 21
Triggers ...................................................................................................................................... 21
Frequency Domain Triggering .............................................................................................. 22
Periodic Triggering ................................................................................................................ 23
External Triggering ............................................................................................................... 23
Capture Controller ................................................................................................................... 23
Trace Capture Control .......................................................................................................... 24
Sweep Capture Control ........................................................................................................ 24
Synchronized Sweep ............................................................................................................ 26
VITA-49 Radio Transport Protocol ...................................................................................... 28
Purpose ...................................................................................................................................... 28
WSA5000's VRT Overview ..................................................................................................... 28
Packet Classes and Streams ................................................................................................ 29
Receiver Context Packet Class ............................................................................................ 29
Context Field Change Indicator ...................................................................................... 31
RF Reference Frequency ............................................................................................... 31
Gain ................................................................................................................................ 31
Temperature ................................................................................................................... 31
Digitizer Context Packet Class ............................................................................................. 32
Context Field Change Indicator ...................................................................................... 33
Bandwidth ....................................................................................................................... 33
Reference Level ............................................................................................................. 33
RF Frequency Offset ...................................................................................................... 34
Extension Context Packet Class ........................................................................................... 34
Context Field Change Indicator ...................................................................................... 36
IQ Swapped Indicator ..................................................................................................... 36
New Stream Start ID ....................................................................................................... 36
New Sweep Start ID ....................................................................................................... 36
IF Data Packet Class ............................................................................................................ 37
Picosecond Timestamp Words Format ........................................................................... 38
Data Payload Format ...................................................................................................... 38
Trailer Word Format ....................................................................................................... 40
SCPI Command Set ..................................................................................................................... 42
SCPI Language Overview ...................................................................................................... 42
IEEE Mandated SCPI Commands ........................................................................................ 43
*CLS ..................................................................................................................................... 43
*ESE/*ESE? ......................................................................................................................... 43
*ESR? ................................................................................................................................... 44
*IDN? .................................................................................................................................... 44
*OPC/*OPC? ........................................................................................................................ 44
*RST ..................................................................................................................................... 44
*SRE/*SRE? ......................................................................................................................... 45
*STB? ................................................................................................................................... 45
*TST? ................................................................................................................................... 45
*WAI ..................................................................................................................................... 46
SYSTem Commands ............................................................................................................... 46
:SYSTem:ABORt .................................................................................................................. 46
:SYSTem:CAPability? ........................................................................................................... 46
:SYSTem:CAPTure:MODE? ................................................................................................. 46
:SYSTem:COMMunicate:LAN:APPLy ................................................................................... 47
:SYSTem:COMMunicate:LAN:CONFigure ........................................................................... 47
:SYSTem:COMMunicate:LAN:DNS ...................................................................................... 48
:SYSTem:COMMunicate:LAN:GATEway ............................................................................. 48
:SYSTem:COMMunicate:LAN:IP .......................................................................................... 48
:SYSTem:COMMunicate:LAN:NETMask .............................................................................. 49
:SYSTem:ERRor[:NEXT]? .................................................................................................... 49
:SYSTem:ERRor:ALL? ......................................................................................................... 50
:SYSTem:FLUSh .................................................................................................................. 50
:SYSTem:LOCK:HAVE? ....................................................................................................... 51
:SYSTem:LOCK:REQuest? .................................................................................................. 51
:SYSTem:OPTions? ............................................................................................................. 52
:SYSTem:SYNC:MASTer ..................................................................................................... 52
:SYSTem:SYNC:WAIT ......................................................................................................... 53
:SYSTem:VERSion? ............................................................................................................. 53
:SYSTem:DATE .................................................................................................................... 53
:SYSTem:TIME ..................................................................................................................... 54
:SYSTem:TIME:ADJust ........................................................................................................ 54
:SYSTem:TIME:SYNC .......................................................................................................... 54
:SYSTem:TIME:SYNC:STATus? .......................................................................................... 55
STATus Commands ................................................................................................................ 56
:STATus:OPERation[:EVENt]? ............................................................................................. 57
:STATus:OPERation:CONDition? ......................................................................................... 57
:STATus:OPERation:ENABle ............................................................................................... 58
:STATus:PRESET ................................................................................................................ 58
:STATus:QUEStionable[:EVENt]? ........................................................................................ 58
:STATus:QUEStionable:CONDition? .................................................................................... 58
:STATus:QUEStionable:ENABle .......................................................................................... 59
:STATus:TEMPerature? ....................................................................................................... 59
INPut Commands ..................................................................................................................... 60
:INPut:ATTenuator ................................................................................................................ 60
:INPut:ATTenuator:VARiable ................................................................................................ 60
:INPut:FILTer:PRESelect ...................................................................................................... 60
:INPut:GAIN .......................................................................................................................... 61
:INPut:GAIN:IF ...................................................................................................................... 61
:INPut:GAIN:HDR ................................................................................................................. 62
:INPut:MODE ........................................................................................................................ 62
SOURce Commands ............................................................................................................... 63
:SOURce:REFerence:PLL .................................................................................................... 63
:SOURce:REFerence:PLL:RESET ....................................................................................... 63
SENSe Commands .................................................................................................................. 64
[:SENSe]:CORRection:DCOFfset ......................................................................................... 64
[:SENSe]:DECimation ........................................................................................................... 64
[:SENSe]:FREQuency:CENTer ............................................................................................ 65
[:SENSe]:FREQuency:IF? .................................................................................................... 66
[:SENSe]:FREQuency:LOSCillator? ..................................................................................... 66
[:SENSe]:FREQuency:SHIFt ................................................................................................ 67
[:SENSe]:FREQuency:RESolution? ...................................................................................... 67
[:SENSe]:LOCK:REFerence? ............................................................................................... 67
[:SENSe]:LOCK:RF? ............................................................................................................ 68
OUTput Commands ................................................................................................................ 68
:OUTput:IQ:MODE ................................................................................................................ 68
:OUTput:IQ:CONNector:INVersion? ..................................................................................... 69
TRIGger Commands ............................................................................................................... 69
:TRIGger:TYPE .................................................................................................................... 69
:TRIGger:LEVel .................................................................................................................... 70
:TRIGger:PERiodic ............................................................................................................... 70
:TRIGger:STATus? ............................................................................................................... 70
TRACe Commands .................................................................................................................. 71
:TRACe:BLOCk:DATA? ........................................................................................................ 71
:TRACe:BLOCk:PACKets ..................................................................................................... 72
:TRACe:SPPacket ................................................................................................................ 73
:TRACe:STReam:STARt ...................................................................................................... 73
:TRACe:STReam:STOP ....................................................................................................... 74
SWEep Commands ................................................................................................................. 74
:SWEep:LIST:ITERations ..................................................................................................... 75
:SWEep:LIST:STARt ............................................................................................................ 76
:SWEep:LIST:STATus? ........................................................................................................ 76
:SWEep:LIST:STOP ............................................................................................................. 77
:SWEep:ENTRy:COPY ......................................................................................................... 77
:SWEep:ENTRy:COUNt? ..................................................................................................... 77
:SWEep:ENTRy:DELETE ..................................................................................................... 78
:SWEep:ENTRy:NEW ........................................................................................................... 78
:SWEep:ENTRy:READ? ....................................................................................................... 78
:SWEep:ENTRy:SAVE ......................................................................................................... 78
:SWEep:ENTRy:ATTenuator ................................................................................................ 79
:SWEep:ENTRy:DECimation ................................................................................................ 79
:SWEep:ENTRy:FILTer:PRESelect ...................................................................................... 79
:SWEep:ENTRy:FREQuency:CENTer .................................................................................. 79
:SWEep:ENTRy:FREQuency:STEP ..................................................................................... 80
:SWEep:ENTRy:FREQuency:SHIFt ..................................................................................... 80
:SWEep:ENTRy:GAIN:HDR ................................................................................................. 80
:SWEep:ENTRy:GAIN:IF ...................................................................................................... 81
:SWEep:ENTRy:MODE ........................................................................................................ 81
:SWEep:ENTRy:DWELl ........................................................................................................ 81
:SWEep:ENTRy:PPBlock ..................................................................................................... 81
:SWEep:ENTRy:SPPacket ................................................................................................... 82
:SWEep:ENTRy:TRIGger:LEVel ........................................................................................... 82
:SWEep:ENTRy:TRIGger:TYPE ........................................................................................... 82
Appendix : Connecting to WSA .......................................................................................... 82
Appendix : Protocol for Discovering WSA ................................................................... 84
Appendix : SCPI Command Syntax .................................................................................. 85
Entering Commands ............................................................................................................... 85
Notation ..................................................................................................................................... 86
Parameter types ....................................................................................................................... 86
Default Units ............................................................................................................................. 87
Appendix : SCPI Status and Event Registers ............................................................. 88
Status Byte Register (SBR) ................................................................................................... 88
Standard Event Status Register (ESR) ............................................................................... 88
Operational Status (OSR) Register ..................................................................................... 89
Output Queue ........................................................................................................................... 89
Error and Event Queue ........................................................................................................... 89
Appendix : SCPI Error Codes Used .................................................................................. 90
Appendix : SCPI Commands Quick Reference .......................................................... 91
References ....................................................................................................................................... 97
Document Revision History ................................................................................................... 98

Abbreviations

ADC Analog-to-Digital Converter
API Application Programming Interface
CIC Cascaded Integrator-Comb
DC Direct Current
DD Direct Digitizer
DDC Digital Down Converter
DDS Direct Digital Synthesizer
DSP Digital Signal Processing
ELO External Local Oscillator
FFT Fast Fourier Transform
FIR Finite Impulse Response
FPGA Field-Programmable Gate Array
GPIO General Purpose Input/Output
HDR High Dynamic Range
HIF High Intermediate Frequency
IBW Instantaneous Bandwidth
IEEE Institute of Electrical and Electronics Engineers
IF Intermediate Frequency
IQ In-phase and Quadrature
IQIN External I and Q Input
LAN Local Area Network
MB Mega-Bytes
MSB Most Significant Byte
NB Narrowband
NCO Numerically Controlled Oscillator
PLL Phase-Locked Loop
RF Radio Frequency
RFE Receiver Front-End
Sa/s Samples-per-Second
SCPI Standard Commands for Programmable Instruments
SH Super-Heterodyne
SHN Super-Heterodyne with narrower bandwidth
TCP/IP Transmission Control Protocol/Internet Protocol
TD Time Domain
TSF TimeStamp-Fractional
TSI TimeStamp-Integer
TSM TimeStamp Mode
UTC Coordinated Universal Time
VCO Voltage Control Oscillator
VRT VITA-49 Radio Transport
WB Wideband
WSA Wireless Signal Analyzer
ZIF Zero Intermediate Frequency
List of Figures
Figure 1: WSA5000 Functional Block Diagram ....................................................................................... 13
Figure 2: RF Receiver Front-end and Capture Controller Functional Block Diagram .............................. 16
Figure 3: DC Offset with Amplitude Roll-Off at +50MHz ......................................................................... 18
Figure 4: IQ Offset Correction ................................................................................................................. 20
Figure 5: DDC Functional Block Diagram ............................................................................................... 21
Figure 6: Association between Time and Frequency Domain ................................................................. 22
Figure 7: Synchronized Sweep using Sync-Word ................................................................................... 27
Figure 8: Synchronized Sweep with a Missed Capture ........................................................................... 27
Figure 9: Connectivity and 4 Different Packet Streams Supported by WSA5000 ................................... 28
Figure 10: An Example Illustrating Uninverted and Inverted Spectrums ................................................. 41
Figure 11: SCPI Language Hierarchical or Tree Structure Example ....................................................... 42
Figure 12: SCPI Measurement Function Block ....................................................................................... 43
Figure 13: Status Reporting Structure with Status & Enable Registers ................................................... 56
List of Tables
Table 1: System Level Control/Status Commands .................................................................................. 14
Table 2: Radio RFE Modes and DSP Data Output Formats ................................................................... 17
Table 3: RF Front-End Control/Status Commands ................................................................................. 20
Table 4: Trigger Control/Status Commands ............................................................................................ 23
Table 5: Trace Capture Control Commands ........................................................................................... 24
Table 6: Sweep Capture Control/Status Interface ................................................................................... 25
Table 7: The Categories of VRT Packet Streams Supported by ThinkRF's WSA5000 ........................... 28
Table 8: A List of Stream Identifiers As Used by ThinkRF for Different Packet Classes ......................... 29
Table 9: Receiver Context Packet Class Structure ................................................................................. 30
Table 10: Receiver Context Indicator Field Positions .............................................................................. 30
Table 11: Receiver Context Field Definition and Values ......................................................................... 30
Table 12: RF Reference Frequency Word Format .................................................................................. 31
Table 13: Gain Field Format ................................................................................................................... 31
Table 14: Temperature Field Format ...................................................................................................... 31
Table 15: Digitizer Context Packet Class Structure ................................................................................ 32
Table 16: Digitizer Context Indicator Field Bit Positions .......................................................................... 32
Table 17: Digitizer Context Field Values ................................................................................................. 33
Table 18: Bandwidth Word Format ......................................................................................................... 33
Table 19: Reference Level Field Format ................................................................................................. 34
Table 20: RF Frequency Offset Word Format ......................................................................................... 34
Table 21: Extension Context Packet Class Structure .............................................................................. 35
Table 22: Extension Context Indicator Field Positions ............................................................................ 35
Table 23: Receiver Context Field Definition and Values ......................................................................... 36
Table 24: New Stream Start ID Field Format .......................................................................................... 36
Table 25: New Sweep Start ID Field Format ........................................................................................... 37
Table 26: Output Data Width and Packing Method for Different Data Formats ....................................... 37
Table 27: IF Data Class Field Values ...................................................................................................... 37
Table 28: Stream Identifier Values for Different Data Output Formats .................................................... 38
Table 29: 64-bit or Two Words Picosecond Timestamp Format ............................................................. 38
Table 30: {I14Q14} Data Payload Arrangement with Upper 2-bit of Each Item Signed Extended to {I16
Q16} ........................................................................................................................................ 39
Table 31: {I14} Data Payload Arrangement with Upper 2-bit Signed Extended to {I16} .......................... 39
Table 32: {I24} Data Payload Arrangement with Upper 8-bit Signed Extended to {I32} .......................... 39
Table 33: Trailer Word Format ................................................................................................................ 40
Table 34: Trailer Indicator and Enable Bits ............................................................................................. 40
Table 35: Conditions Causing Abnormal Indicator State and Suggested Resolution .............................. 41
Table 36: WSA Option Codes and the Corresponding Description ......................................................... 52
Table 37: Max, Min, and Required Multiples for SPP and Samples-per-word for Different Data Output
Format .................................................................................................................................... 73

Preface

This preface describes the audience for, the organization of, and conventions used in this document. It also identifies related documentation and explains how to access electronic documentation.

Audience

This document is written for software developers wishing to develop and/or maintain a software interface to the WSA5000 and who have a basic understanding, familiarity and experience with network test and measurement equipment.

Conventions

This section describes the conventions used in this document.
Grayed-out Font
Indicates a command or a feature is not yet available in the current release.
Courier Font
Illustrates this is an example for a command or a concept.
Light Blue Font
Contains hyperlink to the referenced source that can be clicked on.
Normal Bold Font
When used within a sentence or a paragraph, it emphasizes an idea to be paid attention to particularly.
Red Font
Conveys special information of that section.
Note: This symbol means take note. Notes contain helpful suggestions or references to additional information and material.
Caution: This symbol means be careful. In this situation, you might do something that could result in equipment damage or loss of data.
Warning: This symbol means danger. You are in a situation that could cause bodily injury. Before you work on any equipment, be aware of the hazards involved with electrical circuitry and be familiar with the standard practices for preventing accidents.

Obtaining Documentation and Releases

You can access the most current ThinkRF documentation at http://www.thinkrf.com/resources and release bundles at http://www.thinkrf.com/releases.

Document Feedback

Please send your comments about this document or our other documentation to support@thinkrf.com.
Thank you, we appreciate your comments.

Obtaining Technical Assistance

The ThinkRF Support website provides online documents for resolving technical issues with ThinkRF products at this URL: http://thinkrf.com/documentation/.
For all customers who hold a valid end-user license, ThinkRF provides technical assistance 9 AM to 5 PM Eastern Time, Monday to Friday. Contact us at support@thinkrf.com or by calling +1.613.369.5104.
Before contacting Support, please have the following information available:
WSA5000's serial number. The serial number S/N is located on the identification
label on the WSA5000's underside;
version of ThinkRF firmware you are using, potentially including version of PyRF
and/or API libraries to third-party applications; and
the operating system you are using.

WSA5000 Functional Overview

This section overviews the WSA5000's functionality and protocols used, and summarizes the SCPI command sets for controlling the individual functions.
Note: This is a living and evolving document. We welcome your feedback.
The features and functionality described in this section may exist in the current product firmware release or are scheduled for a future product firmware release (grayed out commands and/or text). Please refer to Appendix F: SCPI Commands Quick Reference for the complete list of commands and the availability information. No hardware upgrade is required at each feature release (unless specified though unlikely).

System Overview

The WSA5000 Wireless Signal Analyzer is a high-performance software-defined RF receiver, digitizer and analyzer, as illustrated in Figure 1. With patent-pending software­defined RF receiver technology, the WSA provides industry leading combined sensitivity, tuning range, instantaneous bandwidth (IBW) and scan rate. Additionally, it provides real-time sophisticated triggering and capture control.
WSA5000 Functional Overview
The WSA5000 is designed for stand-alone, remote and/or distributed wireless signal analysis. It is ideal for monitoring, management and surveillance of transmitters, whether they are in-building or spread across a geographic area. Applications include, but are not limited to:
spectrum analysis, wireless network management and interference mitigation;
cognitive radio and white space spectrum sensing, enterprise wireless signal
intrusion detection (WSID);
government spectrum licensing monitoring and enforcement;
technical security counter measures (TSCM) and military communications and
signals intelligence (COMINT/SIGINT and CEW).
The WSA5000 hardware largely consists of:
a hybrid super-heterodyne and direct-conversion RF receiver front-end (RFE);
receiver front end inputs and outputs to support clock synchronization, direct
digitization input, and IF output for high-end digitization;
a 125 MSample/sec 12-bit (or 14-bit as a population variant) wideband (WB) ADC
with a dynamic range of about 70dB;
a 300 kSample/sec 24-bit narrowband (NB) ADC with a dynamic range in excess of
100dB;
a large Xilinx FPGA with embedded MicroBlaze microprocessor, Gigabit Ethernet
interface and custom embedded digital signal processing (DSP) logic;
128 or 256 MB of DDR3 for real-time caching of digitized data; and
a general purpose input/output (GPIO) port.
ThinkRF WSA5000 Wireless Signal Analyzer Programmer's Guide 12
WSA5000 Functional Overview
Figure 1: WSA5000 Functional Block Diagram
ThinkRF's products conform with standardized protocols for interoperability. ThinkRF provides application programming interfaces (APIs) designed for easy integration with third-party applications. Standard protocols include the Standard Commands for Programmable Instruments (SCPI) protocol for controlling and obtaining status from the WSA and the VITA-49 Radio Transport (VRT) protocol for digitized data and its associated context information.
In addition, API libraries, written in C/C++, Python and MATLAB, are provided for quick interfacing, data acquisition and as well as for spectral analysis with MATLAB® applications. The Python API is built within the PyRF development framework and is open-source under BSD licensing. PyRF handles the low-level details of real-time acquisition, signal processing and visualization, and provides feature rich libraries, example applications and source code, all specific to the requirements of signal analysis. Usage examples are provided through the available source codes of the Graphical User Interfaces (GUI) or any applications included in each release package.
Refer to Appendix A for how to connect to a WSA and Appendix B for the protocol on how to find any WSAs available on the local network. The source code provided for the aforementioned APIs and GUIs/applications would serve as examples.
The WSA5000 provides system level control and status commands as defined in Table 1.
13 ThinkRF WSA5000 Wireless Signal Analyzer Programmer's Guide
WSA5000 Functional Overview
Table 1: System Level Control/Status Commands
SCPI Command Description
:SYSTem Page 46
:ABORt Aborts the current data capturing process and puts the WSA system into
a normal manual mode (i.e. sweep, trigger, and streaming will be aborted)
:CAPability? Returns a list of the WSA5000's capabilities including firmware versions
and installed hardware options
:CAPTure
:MODE? Gets the current capture mode of the WSA (i.e. sweeping, streaming or
block mode)
:COMMunicate
:LAN<commands> Subset of commands for configuring/querying WSA's LAN settings
:ERRor Returns the error code and messages from the SCPI error/event queue
[:NEXT]?
:ALL?
:FLUSh Clears the WSA5000's internal data storage buffer of any remaining data
that has not transferred out of the WSA
:LOCK
:HAVE? Returns the current lock state of the task specified
:REQuest? Requests the WSA5000 to provide a lock on a specific task such that only
the application that has the lock can perform the task
:OPTions? Returns comma separated 3-digit values to represent the hardware
option(s) or features available with a particular WSA model
:SYNC
:MASTer[?] Sets a WSA unit to be the master or slave for a synchronization trigger
system with multiple units. Affects :TRIGger:TYPE PULSe or WORD.
:WAIT[?] Sets the delay time in nanoseconds that the system must wait after
receiving the trigger signal before performing data capture
:VERSion? Returns the SCPI version number that the instrument complies with
:DATE[?] Sets/reads date
:TIME[?] Sets/reads time
:ADJust Adjust the system time relative to it's current time
:MODE[?] Synchronize one time only or continuously
:SYNC[?] Sets/ gets the System time synchronization source via network or SCPI,
or disable
:STATus? Status of the time synchronization
:STATus Page 56
:OPERation Returns the standard Operation Status Register (OSR) for any event
[:EVENt]?
:CONDition?
:ENABle[?]
:PRESET Presets the WSA5000 (similar to *RST)
:QUEStionable Returns the standard Questionable Status Register (QSR) for any event
[:EVENt]?
ThinkRF WSA5000 Wireless Signal Analyzer Programmer's Guide 14
WSA5000 Functional Overview
SCPI Command Description
:CONDition?
:ENABle[?]
:TEMPerature? Returns the WSA5000's internal ambient temperature
See SCPI Command Set section (page 42 onward) for further details on the commands.
Caution pertaining to multi-user: The current firmware version of the WSA5000 allows multiple applications to connect to the unit simultaneously but it does not support independent sessions. Therefore, the actions of one user may over-write those of another. This could potentially damage the unit for instance if the front-end's gain were incorrectly set. If multiple applications are connecting to the unit, it is advised that only one of those is controlling the unit at any time.

The Architecture

The WSA5000 is an integrated wireless radio receiver and digitizer/analyzer. It has an embedded capture controller that enables users to:
define and execute real-time and sophisticated triggers, traces and sweeps;
configure the radio RFE and DSP in association with those traces or sweeps; and
time-stamping and data output for captures.
Traces and sweeps are controlled by the capture controller as illustrated in the lower portion of Figure 2. A trace and a sweep are defined as a single (block or continuously streamed) capture and a series of captures, respectively, each with their associated hardware configurations.
15 ThinkRF WSA5000 Wireless Signal Analyzer Programmer's Guide
WSA5000 Functional Overview
Figure 2: RF Receiver Front-end and Capture Controller Functional Block Diagram
The WSA5000 supports different RFE modes of operation and subsequent DSP capabilities as per Table 2 and as described in the following subsections.
ThinkRF WSA5000 Wireless Signal Analyzer Programmer's Guide 16
WSA5000 Functional Overview
Table 2: Radio RFE Modes and DSP Data Output Formats
0
Mode
ZIF
SH
SHN
HDR
DD
IQIN
HIF
0
The RFE Mode availability is product dependent.
1
The WSA5000 supports a 12-bit or 14-bit WB ADC as a manufacturing population variant. The
least significant bits of the 14-bit data representations are zeroed when the WSA is populated with the 12-bit WB ADC, hence, the subscript of 14 for IQ or I.
2
The 40MHz SH is only available in WSA5000 product version 1.3 (hardware revision 3) and
higher. Revision 2 hardware value varies between 30 or 35MHz, contact ThinkRF's Support for further details. See *IDN? to find out your hardware/product version (or the Administrative web­console to the box).
3
SHN mode is only available in WSA5000 product version 1.3 (hardware revision 3) and higher
See *IDN? to find out your hardware/product version (or the Administrative web-console to the box).
4
For SH and SHN modes, when the decimation is used, a frequency shift of 35MHz for non-WBIQ models and 55MHz for WBIQ models will be applied automatically to bring the WSA5000's center frequency back to the zero IF. Thus, the data output will be I and Q.
5
IQIN mode is not available in WSA5000 product version 2.2 and higher. See *IDN? to find out your product version (or the Administrative web-console to the box).
6
In DD and IQIN modes, there is no frequency tuning except for performing frequency shift. When decimation is applied, the decimation will be around the zero frequency.
7
The HIF mode is only available for WSA5000-XXX-HIF product model and is indicated by the
:SYSTem:OPTions? command's response code 002.
Description Freq Range
Zero-IF Receiver 50 - max 100 I14 Q
Super-Heterodyne Receiver
3
SH Receiver with narrower BW
High Dynamic Range Receiver
Direct Digitization Receiver
5
External IQ Input
7
High IF Receiver 50 - max --
IBW
(MHz)
50 - max
50 - max 10 I
50 - max 0.1 I
0.1 - 50
0.1 - 50
6
6
(MHz)
2
40
50 I
100 I14 Q
None CIC/Dec Frequency Shift
DSP Data Output Format
14I14 Q14
I
14
14
24
14
14I14 Q14
4
I14 Q
14
4
I14 Q
14
- -
I
14
I14 Q
I14 Q
I14 Q
I14 Q
I14 Q
1
14
14
14
14
14
WSA5000 complies to VRT protocol for sending digitized IF data packets and their associated context information depending on the capture mode. It is very important to follow the VRT's IF Data Packet Class section (page 37) for the exact VRT data output formats as well as packing method.

RF Receiver Front-End

The upper portion of Figure 2 shows a block diagram of the RFE within the WSA5000. The architecture consists of a super-heterodyne (SH) front-end with a back-end that utilizes an I/Q mixer similar to that in a direct-conversion (or zero-IF) receiver.
Depending on the frequency of the signals being analyzed, one of the three receiver signal processing paths is selected. Signals in the frequency range 100kHz to 50MHz are directly digitized, while all other signals are translated to the frequencies of the first IF block via one of the other two signal processing paths. The IF block consists of a bank of
17 ThinkRF WSA5000 Wireless Signal Analyzer Programmer's Guide
WSA5000 Functional Overview
DC Offset
Fc-50 MHz
Fc+50 MHz
125 MHz
Fc
Analog filter
multiple SAW filters. SAW filter selection depends on the frequency of the input signal. The output of the SAW filter feeds the I/Q mixer.
The three signal processing paths are further classified into different modes of operation for the capture engine as shown in Table 2. The radio modes ZIF, SH, SHN and HDR support tuning the center frequency from 50MHz to the maximum frequency supported by the particular product model (ex. 8GHz, 18GHz, 20GHz, and 27GHz for WSA5000-x08,
-x18, -x20, and -x27, respectively, where x is a model number variant).
The ZIF, SH and SHN radio modes support a tuning resolution of 10Hz. Digital frequency shifting can then be used to enhance the tuning resolution to the nearest 1Hz (±0.23Hz) The frequency shifting technology used is an embedded Numerically Controlled Oscillator (NCO) (a Direct Digital Synthesizer or DDS) as described in the
Digital Down Converter subsection (page 21).
The HDR radio mode supports a tuning resolution of 10Hz. No further fine tuning is available.
The remaining two radio modes, DD and IQIN, support 50MHz IBW direct digitization of the baseband from the external RF IN or I and Q IN ports, respectively. Hence, neither of these modes support frequency tuning of the radio although the DSP's frequency shift mode may be applied.

Direct-Conversion Receiver Technology

Direct-conversion (or ZIF) receivers are ideal for signal analysis of wideband waveforms, such as 4G/LTE, Wi-Fi and Bluetooth. With that benefit comes the drawback of both IQ and DC offsets which are inherent to direct-conversion technology.
DC Offset Correction
The WSA5000's WB ADC sampling rate is 125 MSa/s, intermediate frequency (IF) is 0 and the entire IF bandwidth is 125MHz. The analog filter results in an amplitude roll-off at approximately +50MHz around the center frequency Fc, as illustrated in Figure 3.
Direct-conversion receivers have a DC offset at the center of the band. The offset is primarily compensated for in real-time in the receiver hardware but there always is some residual offset that (depending on the application and bandwidth of interest) might need to be compensated for in software. Several options such as calibration or dynamic offset compensation in software have been described in the open literature.
Figure 3: DC Offset with Amplitude Roll-Off at +50MHz
ThinkRF WSA5000 Wireless Signal Analyzer Programmer's Guide 18
WSA5000 Functional Overview
Sign al
Image
XdB
Frequency
F
c
Frequency
F
c
Fc+F s
Fc -Fs
calibrateIQ
If the application only needs to utilize up to 50MHz of IBW, a simple alternative to DC offset compensation is to use the SH mode of operation.
IQ Offset Correction
Direct-conversion receivers have phase and/or amplitude offsets between in-phase (I) and quadrature (Q) components of the baseband signal. Due to this, when an FFT is performed on digitized baseband data where there is a signal tone present, there will be an ‘image’ at the same frequency offset from the center frequency as the tone itself. This is illustrated in Figure 4.
To compensate for this, the raw I and Q data must be processed according to the following “calibrateIQ” routine, illustrated using the following MATLAB® code. When an FFT is performed on the output of calibrateIQ, the image will disappear. This process has no impact on the accuracy or precision of the data.
%%%%% % MATLAB code for IQ Offset Correction %%%%%
function [calibratedQ] = calibrateIQ(iData, qData)
numberOfSamples = size(iData, 1); sumOfSquaresI = sum(iData.^2); sumOfSquaresQ = sum(qData.^2); amplitude = sqrt(sumOfSquaresI * 2 / numberOfSamples); ratio = sqrt(sumOfSquaresI / sumOfSquaresQ); p = (qData/amplitude) * ratio .* (iData/amplitude); sinphi = 2 * sum(p) / numberOfSamples; phi_est = -asin(sinphi);
calibratedQ = ((sin(phi_est) * iData) + (ratio * qData)) / cos(phi_est);
end
19 ThinkRF WSA5000 Wireless Signal Analyzer Programmer's Guide
WSA5000 Functional Overview
Figure 4: IQ Offset Correction
Table 3: RF Front-End Control/Status Commands
SCPI Command Description
:INPut Page 60
:ATTenuator[?]
:VARiable[?]
:FILTer
:PRESelect[?]
:GAIN
:IF[?]
:HDR[?]
:MODE[?]
Enables/disables the front-end's 20dB attenuation (on some models)
Sets the variable attenuation for WSA5000-418 and -427
Enables/disables the use of preselect filtering
Sets the variable IF gain
Sets gain level for the NB ADC of of the HDR signal path
Selects the receiver mode of operation
:SOURce Page 63
:REFerence
:PLL[?]
:RESET
Selects the 10MHz reference clock source
Resets the 10MHz reference selection to INTernal source
[:SENSe] Page 64
:DECimation[?] Sets the decimation rate as an exponent of 2 (i.e. rate = 2
0, 1, 2 - 10)
:FREQuency
:CENTer[?] Sets the center frequency of the RFE
:IF? Queries the IF frequencies that are used for the current input mode and
center frequency
:LOSCillator? Gets the frequency to be set for the external LO 1 or 2 in corresponding to
current the WSA's center frequency
:RESolution? Gets the Analog PLL tuning resolution
:SHIFt[?] Sets the frequency shift value (not available for HDR mode)
:LOCK
:REFerence? Queries the lock status of the PLL reference clock
:RF? Queries the lock status of the RFE's PLL
level
where level =
:OUTput Page 68
:IQ
:MODE[?] Selects the IQ output path to be from the external connector or the
digitizer
:CONNector
:INVersion? Queries if a spectral inversion is required at a given frequency
See SCPI Command Set section (page 42 onward) for further details on each set of commands.

Digital Signal Processing

The WSA5000 has embedded DSP blocks to provide further signal processing capabilities, such as DDC with up to 10 levels of decimation and FFT computation.
ThinkRF WSA5000 Wireless Signal Analyzer Programmer's Guide 20
WSA5000 Functional Overview

Digital Down Converter

The DDC block takes the frequency band of interest and shifts it down in frequency, then provides decimation of the sampling rate to one that is lower and consistent with the bandwidth of the signal of interest. This enables channelization of signals having bandwidth smaller than the IBW.
Referring to Figure 5, the DDC has two major elements, an NCO (DDS) and a down sampling with filtering. The NCO generates a complex sinusoid, which is mixed with the IQ input using a complex multiplier, to shift or offset the signal spectrum from the selected carrier frequency. This process provides the frequency fine-tuning (and shifting) feature as mentioned in the previous subsections.
I
Q
in
in
fs
fsfs
I
Q
out
out
NCO (DDS)
Figure 5: DDC Functional Block Diagram
The complex multiplication is then followed by either a finite impulse response (FIR) filter or cascaded integrator-comb (CIC) filters with a FIR filter combined. The CIC filter has a ‘droop’ associated with it in the passband. In order to compensate for this droop, the CIC filter is followed by a compensating FIR filter. Each filter type has its own decimator. This whole process effectively reduces the sample rate and filters the signal to remove adjacent channels, minimize aliasing, and maximize the received signal-to-noise ratio.
Note: The use of the NCO converts the in-phase signal (I data) input of the receiver's DD, SH and SHN processing paths to complex I and Q data output. See Table 2.

Triggers

Triggers provide a means of qualifying the storage of captured time domain IQ data based on an external, periodic or frequency domain event. Triggering can be considered a means of filtering signals of interest for the purposes of subsequent visualization and/or analysis.
The following describes the different types of triggers and their common controls. Selection of different types is mutually exclusive.
21 ThinkRF WSA5000 Wireless Signal Analyzer Programmer's Guide
WSA5000 Functional Overview
1024 samples
at 125 MSPs
IQ data associated with
the trigger is buffered
trigger
100 MHz IBW
real-time
FFT
real-time
FFT

Frequency Domain Triggering

Frequency domain triggering relies on the embedded real-time FFT mechanism to transform the sampled signal from the time domain to the frequency domain. The WSA5000 uses a 1024 point real-time FFT core embedded within the FPGA to transform 1024 time domain IQ samples to 1024 frequency domain FFT bins. Each bin is an average of the spectral activity over a range of 125MHz divided by the DDC decimation rate divided by the 1024 FFT points.
The frequency domain triggering supported by WSA5000 is a level trigger type, used to capture any signal above the noise floor within a specified frequency range. The user defines a single amplitude level within a frequency range. The frequency range encompasses all FFT bins with center frequencies within the range defined by START and STOP. If the sampled signal amplitude exceeds the defined trigger level at any single sample within the defined frequency range, the trigger will occur and the subsequent IQ data capture will proceed.
Figure 6 illustrates the association of the time domain and the frequency domain. The
internal frequency domain data lags the time domain data by 1024 samples at the rate of 125 MSa/s. After a trigger event is detected, the subsequent time domain IQ data is then stored to memory.
ThinkRF WSA5000 Wireless Signal Analyzer Programmer's Guide 22
Figure 6: Association between Time and Frequency Domain
The measurable range of the input signal, and the corresponding allowable trigger level range, varies depending on the selected center frequency, the calibrated reference level and the attenuation setting. When the attenuation is in the circuit (:INPut:ATTenuator ON), the maximum trigger level to use is -10dBm; and when the attenuation is out (:INPut:ATTenuator OFF), the maximum is -30dBm. The threshold error is approximately
-3dBm or less when the trigger level is 20dBm above the noisefloor. When the level is within 20dBm of the noisefloor, the threshold error increases as the signal gets closer to the noisefloor.
Note: The threshold error is relative to the measured input signal level, which is dependent on the calibrated reference level. The reference levels could be custom
WSA5000 Functional Overview
calibrated to best fit a user's application, see the “AppNote – How to calibrate WSA5000” document listed on the ThinkRF website for more information.
See TRIGger Commands section (page 69) or SWEep's trigger (page 82) for further details.

Periodic Triggering

Periodic triggering provides a means of capturing a defined amount of IQ data on a periodic basis. Periodic triggering is typically used for statistical analysis of the captured signal.

External Triggering

External triggering provides a means of synchronized triggering based on the receiving of a trigger signal provided via the WSA5000's GPIO. The trigger “signal” could be a single pulse or a sync-word. See Synchronized Sweep (page 26) for additional details.
Caution: Contact ThinkRF's Support for details on how to use the GPIO port prior to connecting anything to the port.
Table 4: Trigger Control/Status Commands
SCPI Command Description
:TRIGger Page 69
:TYPE[?] Sets or disable the trigger type including LEVel | PERiodic | PULSe |
:LEVel[?] Sets the frequency range and amplitude of a frequency domain level
:PERiodic[?] Sets the time period of a periodic trigger
:STATus? Returns the status of the active trigger as to whether it is pending or has
See TRIGger Commands section (page 69) or SWEep's trigger (page 82) for further details.

Capture Controller

The Capture Controller provides a means of defining and performing simple traces and complex sweeps. For example, it allows for:
the definition and execution of a complex sweep;
the interruption of that sweep;
the execution of a specific trace; and
the resumption of the previous sweep.
WORD | NONE
trigger
occurred
23 ThinkRF WSA5000 Wireless Signal Analyzer Programmer's Guide
WSA5000 Functional Overview
Caution: The configurations of the capture engine associated with :TRACe and :SWEep
commands are fully independent of each other. A :TRACe command uses the configurations of the capture engine based on the root :INPut, :SENSe and :TRIGger commands. It does not use the configurations based on the :SWEep command subset.

Trace Capture Control

The :TRACe capture control initiates the capture, storage and conditionally the sending of IQ data through triggering when used. It supports both streaming and block mode capture.
The :TRACe:BLOCk command initiates a block capture of continuous IQ data (available to be "pulled" from the WSA5000 per command issued). Once it is issued, data will be stored instantly (conditional on triggering), contiguously and reliably and are available to be read. The maximum size of a block is limited by the memory device in the WSA.
The :TRACe:STReam command initiates the streaming of IQ data (which is "pushed" from the WSA5000). Once it is issued, data packets will be sent instantly (conditional on triggering) and continuously on best effort basis (in other words, data might not be continuous from one packet to the next once the internal buffer is full).
The execution of the trace capture could be conditioned by the triggering. The triggering may be enabled or disabled via the :TRIGger:TYPE command, thereby, supporting free­run or triggered signal searches.
Table 5: Trace Capture Control Commands
SCPI Command Description
:TRACe Page 71
:BLOCk
:DATA? Initiates the sending of the IQ data captured
:PACKets[?] Sets the number of IQ data packets to be captured per block (a block =
:PACKets * SPP)
:SPPacket[?] Defines the number of samples per VRT packet
:STReam
:STARt Initiates the capture, storage and streaming of IQ data
:STOP Stops streaming
See TRACe Commands section (page 71) for further details.

Sweep Capture Control

The :SWEep capture control provides the ability to define and execute simple or complex sweeps. A sweep setup consists of defining a list or multiple lists and executing one of the defined lists, with each list consisting of one or more entries storing different capture engine configurations. A list may be edited, deleted and/or executed using the :SWEep:LIST command set.
ThinkRF WSA5000 Wireless Signal Analyzer Programmer's Guide 24
WSA5000 Functional Overview
The :SWEep:ENTRy commands provide the ability to define the capture engine configurations equivalent to most of :INPut, :SENSe, :TRACe and :TRIGger commands for each sweep entry. Sweep entries are identified by an index number and may be inserted, edited and/or deleted like rows in a table or spreadsheet.
There are slight differences between the configuration options for trace versus sweep captures. The sweep allows for definition of a range of center frequencies whereby the center frequency is incremented in frequency by a step value. Level triggers may be defined over the entire range of center frequencies. Sweeping does not support time delayed triggers.
In addition, sweep mode data packets, whether VRT context or digitized data, are “streamed” or “pushed” from the WSA (similar to :TRACe:STReam).
Table 6: Sweep Capture Control/Status Interface
SCPI Command Description
:SWEep Page 74
:LIST
:CREAte Creates a new list identified by a unique string identifier
:DELETE Deletes the current list
:EDIT[?] Sets the current list of which all subsequent :LIST commands pertain to
:ITERations[?] Defines the number of times the list is repeated during execution
:STARt Begins execution of the current sweep list from the first entry
:STATus? Get the current sweep status
:STOP Stops execution of the current sweep list
:ENTRy All entry commands operate on the current list
:COPY Copies the settings of an existing sweep entry into the current settings for
:COUNt? Gets the number of entries available in the list
:DELETE Deletes the specified entry or all entries
:NEW Sets the sweep entry settings to default values
:READ? Gets the settings of an existing sweep entry
:SAVE Saves the current editing entry to the end of the list or before the specified
quick editing
ID location in the list when the integer value is given
:ATTenuator
:DECimation[?] As defined in [:SENSe]:DECimation, page 64
:FILTer
:PRESelect[?] As defined in :INPut:FILTer:PRESelect, page 60
:FREQuency
:CENTer[?] Defines the center frequency of the RFE or a range of frequencies that
:STEP[?] Defines the amount of frequency that the center frequency is stepped by
:SHIFt[?] As defined in [:SENSe]:FREQuency:SHIFt, page 67
:GAIN
:IF[?] As defined in :INPut:GAIN:IF, page 61
:HDR[?] As defined in :INPut:GAIN:HDR, page 62
:MODE As defined in :INPut:MODE, page 62
Enables/disables the front-end's 20dB attenuation
are stepped by the value defined by the :FREQuency:STEP
25 ThinkRF WSA5000 Wireless Signal Analyzer Programmer's Guide
WSA5000 Functional Overview
SCPI Command Description
:DWELl[?] Sets the maximum amount of time waited for a trigger to occur after which
the trigger is aborted
:PPBlock[?] Same as :TRACe:BLOCk:PACKets, page 72
:SPPacket[?] As defined in :TRACe:SPPacket, page 73
:TRIGger
:TYPE[?] As defined in :TRIGger:TYPE, page 69
:LEVel[?] As defined in :TRIGger:LEVel, page 70
:PERiodic[?] As defined in :TRIGger:PERiodic, page 70
See SWEep Commands section (page 74) for further details.

Synchronized Sweep

The WSA5000 supports a synchronized sweep function for the purposes of comparing the same signal received via multiple WSA5000s.
Synchronized sweep is an extension of the external trigger capability. One of the WSA5000s in a network is configured to be the master (:SYSTem:SYNC:MASTer ON) and the other WSA5000s are configured as slaves (:SYSTem:SYNC:MASTer OFF). The master and slaves are configured with a sweep list, in which each sweep entry has a synchronization trigger type (:SWEep:ENTRy:TRIGger:TYPE PULSE | WORD). The synchronization trigger is generated and delivered from the master's GPIO to that of the slaves to indicate the beginning of a capture.
Figure 7 provides a synchronization trigger example using sync-word. The master sends
the sync-word when the setup of its front-end has been completed. Master and slaves are also individually configured with a delay variable (:SYSTem:SYNC:WAIT <nsec> with a resolution of 8 nsec). This delay wait time accounts for the typical worst-case front-end setup time and for differences in the synchronization cable length. Master and slaves then begin the capture upon the expiration of the wait (or delay).
ThinkRF WSA5000 Wireless Signal Analyzer Programmer's Guide 26
WSA5000 Functional Overview
front end setup
capture...........
syncpreamble
front end setup capture...........
sweep step
MAS TER
sent
syncword
received
syncword
delay
delay
setup
and
capture
setup
and
capture
SLAVE
syncpreamble
syncpreamble
front end setup
front end setup
capture...........
missed capture
sweep step
MASTER
sent
syncword
received
syncword
delay
delay
setup
and
capture
setup
and
capture
SLAVE
syncpreamble
The front-end setup time is typically of approximately 200 usec but is variable due to the embedded running processes. Referring to Figure 8, if the front-end setup time on one (or more) of the slaves is longer than the combined duration of the master's setup time plus the sync-word plus the slave's delay, then the slave will miss the beginning of the capture. The host-side application that is collating the capture data may recognize the missed capture by noting the timestamps and/or frequency of the capture data within the associated VRT Receiver Context packets. The rate of sweep versus the amount of missed captures may be balanced by adjusting the delay values.
Figure 7: Synchronized Sweep using Sync-Word
Figure 8: Synchronized Sweep with a Missed Capture
See SWEep Commands section (page 74) for further interface details.
27 ThinkRF WSA5000 Wireless Signal Analyzer Programmer's Guide

VITA-49 Radio Transport Protocol

VITA-49 Radio Transport Protocol
The section describes the WSA5000's VRT Information Class as per the "VITA Radio Transport (VRT) Draft Standard" Specification VITA-49.0 – 2007 Draft 0.21.

Purpose

Convey an arbitrary 100MHz of IF data and associated information from the WSA5000 to another equipment using an industrial standard.

WSA5000's VRT Overview

ThinkRF's VRT supports four different packet streams of information defined and organized as shown in Figure 9 and Table 7. The streams of packets are sent when the data capture is started. The context packets carry the WSA5000 settings information associated with the immediate following IF data packets.
Receiver Context Stream
Reference Point
Digitizer Context Stream
Extension Context Stream
RECEIVER DIGITIZER
IF Data Stream
Figure 9: Connectivity and 4 Different Packet Streams Supported by WSA5000
Table 7: The Categories of VRT Packet Streams Supported by ThinkRF's WSA5000
Standard Formats Custom Formats
Contents
Context
Data
IF Context Packet Stream
conveys metadata concerning IF Data
Packet Stream and the settings
- Digitizer Context Packet Class Stream
- Receiver Context Packet Class Stream
IF Data Packet Stream
conveys discrete time sampled signal
data
Extension Context Packet Stream
conveys additional Context concerning IF
or Extension Data Packet Stream
- Extension Context Packet Class Stream
Extension Data Packet Stream
conveys any signal or data derived from a
signal
- IF Data Packet Class Stream
- Currently not used
28 ThinkRF WSA5000 Wireless Signal Analyzer Programmer's Guide
VITA-49 Radio Transport Protocol
Receiver Context Packet Class Stream
The Receiver Context Packet Class Stream is used to convey informational messages about changes in the configuration and status of the RF receiver in the WSA5000.
Digitizer Context Packet Class Stream
The Digitizer Context Class Stream is used to convey information messages about changes in the configuration and status of the IF digitizer in the WSA5000.
Extension Context Packet Class Stream
The Extension Context Packet Class Stream is used to convey metadata for the IF Data Packet Stream, which no provision has been made in the IF Context Packet Stream.
IF Data Packet Class Stream
The IF Data Packet Stream is used to convey complex IQ samples from the digitizer to devices external to the WSA5000.
Table 8 summarizes numerically the list of Stream Identifiers used by ThinkRF for
different Packet Class Stream. Each ID will be mentioned in the subsequent corresponding Packet Class sections.
Table 8: A List of Stream Identifiers As Used by ThinkRF for Different Packet Classes
Stream Identifier Packet Class
0x90000001 Receiver Context
0x90000002 Digitizer Context
0x90000003 IF Data – {I14Q14} Format
0x90000004 Extension Context
0x90000005 IF Data – {I14} Format
0x90000006 IF Data – {I24} Format

Packet Classes and Streams

This section describes in details the rules and structure of those Packet Classes and Streams. By definition, a series of packets instantiated from the same Packet Class form a Packet Stream.
Note: All data words in each VRT packets are in big-endian order, and sent MSB first.

Receiver Context Packet Class

This Packet Class is a type of IF Context Packet Class. The packet information conveys changes in the configuration and status of the WSA5000's RF receiver.
ThinkRF WSA5000 Wireless Signal Analyzer Programmer's Guide 29
VITA-49 Radio Transport Protocol
Table 9: Receiver Context Packet Class Structure
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Pkt Type
0 1 0 0
C R T
1. Pkt Type shall be set to 0100 to indicate this is a context packet.
2. C shall be set to 0 to indicate there is no Class Identifier in the packet.
3. R shall be set to 00, because they are reserved bits.
4. TSM (TimeStamp Mode) shall be set to 0, indicating that context packet timestamps are precise.
5. TSI (TimeStamp-Integer) field shall be set to 01, indicating that integer (seconds) part of the timestamps are in Coordinated Universal Time (UTC).
6. TSF (TimeStamp-Fractional) field shall be set to 10, indicating that the fractional part of the timestamp measures in real time picosecond resolution.
7. Pkt Count shall start at 0000 and increment once for each context packet, until reaching 1111 (or 15), where it shall rollover to 0000 on the next count.
8. Pkt Size indicates the total number of 32-bit words in the entire context packet, including all headers, the context indicator field and context sections.
9. Stream Identifier shall be the 32-bit word, 0x90000001
10. Timestamp - Integer Seconds shall be in UTC format and will represent the number of seconds occurred since Midnight, January 1, 1970, GMT.
11. Timestamp - Integer Picoseconds shall count the number of picoseconds past since the last increment of the Timestamp seconds field. See the Picosecond Timestamp Words Format section for the format.
12. The Context Indicator Field shall follow the format indicated in Table 10.
TSI TSF Pkt Count Pkt Size S M
Stream Identifier (1 word)
Timestamp - Integer Seconds (1 word)
Timestamp - Integer Picoseconds (2 words)
Context Indicator Field (1 word)
Context Fields (Variable Size)
Table 10: Receiver Context Indicator Field Positions
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
I R - F - G - T -
13. The Context Fields section shall contain a context field for every field that is indicated to be present in the Context Indicator Field. The fields shall be ordered in the identical order of their occurrence in the Context Indicator Field. See Table
11 for the definition and associated value of each field.
Table 11: Receiver Context Field Definition and Values
Bit Name Context Field # of Words in Field Period of Validity
I Context Field Change Indicator 0 N/A
R Reference Point 1 Persistent
F RF Reference Frequency 2 Persistent
G Gain 1 Persistent
T Temperature 1 Persistent
30 ThinkRF WSA5000 Wireless Signal Analyzer Programmer's Guide
Loading...
+ 71 hidden pages