ThinkRF WSA5000 Series Manual

ThinkRF WSA5000
Wireless Signal Analyzer
Version 3.6.3
Programmer's Guide
December 01, 016
Document no. 75-0014-150 16
Copyright © 013, 014, 015, 016 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 K K 0G7
(613) 369-5104
HARDWARE WARRANTY AND LI ITATION 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 ......................................................................................................... 1
Triggers ...................................................................................................................................... 21
Frequency Domain Triggering ..............................................................................................
Periodic Triggering ................................................................................................................ 3
External Triggering ............................................................................................................... 3
Capture Controller ................................................................................................................... 23
Trace Capture Control .......................................................................................................... 4
Sweep Capture Control ........................................................................................................ 4
Synchronized Sweep ............................................................................................................ 6
VITA-49 Radio Transport Protocol ...................................................................................... 28
Purpose ...................................................................................................................................... 28
WSA5000's VRT Overview ..................................................................................................... 28
Packet Classes and Streams ................................................................................................ 29
Receiver Context Packet Class ............................................................................................ 9
Context Field Change Indicator ...................................................................................... 31
RF Reference Frequency ............................................................................................... 31
Gain ................................................................................................................................ 31
Temperature ................................................................................................................... 31
Digitizer Context Packet Class ............................................................................................. 3
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 andated 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? ............................................................................................................. 5
:SYSTem:SYNC:MASTer ..................................................................................................... 5
: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 ................................................................................................................. 6
:INPut:MODE ........................................................................................................................ 6
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 ..................................................................................................... 7
: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 ................................................................................................... 8
:SWEep:ENTRy:TRIGger:LEVel ........................................................................................... 8
:SWEep:ENTRy:TRIGger:TYPE ........................................................................................... 8
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
B Mega-Bytes
SB 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
TS 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 : 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 ................................................................................................................. 0
Figure 5: DDC Functional Block Diagram ............................................................................................... 1
Figure 6: Association between Time and Frequency Domain .................................................................
Figure 7: Synchronized Sweep using Sync-Word ................................................................................... 7
Figure 8: Synchronized Sweep with a Missed Capture ........................................................................... 7
Figure 9: Connectivity and 4 Different Packet Streams Supported by WSA5000 ................................... 8
Figure 10: An Example Illustrating Uninverted and Inverted Spectrums ................................................. 41
Figure 11: SCPI Language Hierarchical or Tree Structure Example ....................................................... 4
Figure 1 : 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 : Radio RFE Modes and DSP Data Output Formats ................................................................... 17
Table 3: RF Front-End Control/Status Commands ................................................................................. 0
Table 4: Trigger Control/Status Commands ............................................................................................ 3
Table 5: Trace Capture Control Commands ........................................................................................... 4
Table 6: Sweep Capture Control/Status Interface ................................................................................... 5
Table 7: The Categories of VRT Packet Streams Supported by ThinkRF's WSA5000 ........................... 8
Table 8: A List of Stream Identifiers As Used by ThinkRF for Different Packet Classes ......................... 9
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 1 : 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 ................................................................................ 3
Table 16: Digitizer Context Indicator Field Bit Positions .......................................................................... 3
Table 17: Digitizer Context Field Values ................................................................................................. 33
Table 18: Bandwidth Word Format ......................................................................................................... 33
Table 19: Reference Level Field Format ................................................................................................. 34
Table 0: RF Frequency Offset Word Format ......................................................................................... 34
Table 1: Extension Context Packet Class Structure .............................................................................. 35
Table : Extension Context Indicator Field Positions ............................................................................ 35
Table 3: Receiver Context Field Definition and Values ......................................................................... 36
Table 4: New Stream Start ID Field Format .......................................................................................... 36
Table 5: New Sweep Start ID Field Format ........................................................................................... 37
Table 6: Output Data Width and Packing Method for Different Data Formats ....................................... 37
Table 7: IF Data Class Field Values ...................................................................................................... 37
Table 8: Stream Identifier Values for Different Data Output Formats .................................................... 38
Table 9: 64-bit or Two Words Picosecond Timestamp Format ............................................................. 38
Table 30: {I14Q14} Data Payload Arrangement with Upper -bit of Each Item Signed Extended to {I16
Q16} ........................................................................................................................................ 39
Table 31: {I14} Data Payload Arrangement with Upper -bit Signed Extended to {I16} .......................... 39
Table 3 : {I 4} Data Payload Arrangement with Upper 8-bit Signed Extended to {I3 } .......................... 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 ......................................................... 5
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
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
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
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.
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 1 5 MSample/sec 1 -bit (or 14-bit as a population variant) wideband (WB) ADC
with a dynamic range of about 70dB;
•a 300 kSample/sec 4-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;
•1 8 or 56 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 4 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 . 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 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
ode0Description Freq Range
(MHz)
IBW
(MHz)
DSP Data Output Format1
None CIC/Dec Frequency Shift
ZIF Zero-IF Receiver 50 - max 100 I14 Q14 I14 Q14 I14 Q14
SH Super-Heterodyne
Receiver
50 - max 402I14 I14 Q144I14 Q14
SHN3SH Receiver with
narrower BW
50 - max 10 I14 I14 Q144I14 Q14
HDR High Dynamic Range
Receiver
50 - max 0.1 I 4 - -
DD Direct Digitization
Receiver
0.1 - 50650 I14 I14 I14 Q14
IQIN5External IQ Input 0.1 - 506100 I14 Q14 I14 Q14 I14 Q14
HIF7High IF Receiver 50 - max -- – – –
0 The RFE Mode availability is product dependent.
1 The WSA5000 supports a 1 -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 1 -bit WB ADC, hence, the subscript of 14 for IQ or I.
The 40MHz SH is only available in WSA5000 product version 1.3 (hardware revision 3) and
higher. Revision 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 . 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 00 .
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 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
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 . 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, 0GHz, and 7GHz for WSA5000-x08,
-x18, -x 0, and -x 7, 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. 3Hz) 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 1).
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 1 5 MSa/s, intermediate frequency (IF) is 0
and the entire IF bandwidth is 1 5MHz. 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.
DC
Offset
Fc-50 MHz Fc+50 MHz
1 5 MHz
Fc
Analog filter
Figure 3: DC Offset with Amplitude Roll-Off at +50MHz
ThinkRF WSA5000 Wireless Signal Analyzer Programmer's Guide 18

WSA5000 Functional Overview
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
Signal
Image
XdB
Frequency
F
c
Frequency
F
c
Fc+Fs
Fc-Fs
calibrateIQ
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[?] Enables/disables the front-end's 0dB attenuation (on some models)
:VARiable[?] Sets the variable attenuation for WSA5000-418 and -4 7
:FILTer
:PRESelect[?] Enables/disables the use of preselect filtering
:GAIN
:IF[?] Sets the variable IF gain
:HDR[?] Sets gain level for the NB ADC of of the HDR signal path
:MODE[?] Selects the receiver mode of operation
:SOURce Page 63
:REFerence
:PLL[?] Selects the 10MHz reference clock source
:RESET Resets the 10MHz reference selection to INTernal source
[:SENSe] Page 64
:DECimation[?] Sets the decimation rate as an exponent of (i.e. rate = level where level =
0, 1, - 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 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
: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 4 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
Other manuals for WSA5000 Series
1
This manual suits for next models
10
Table of contents
Other ThinkRF Measuring Instrument manuals
Popular Measuring Instrument manuals by other brands

Greenlee
Greenlee 93-172 instruction manual

Vega
Vega VEGAFLEX 80 Series Supplementary instructions

London Electronics
London Electronics IL2-L Connection details, scaling and general information

Tektronix
Tektronix 1502B Service manual

gefran
gefran 650 L Installation and instruction manual

AmpliVox
AmpliVox 170 Operation manual