ThinkRF R5700, R5500, R5750 Programmer's Manual

ThinkRF R5700
Real-Time Spectrum Analyzer
with GNSS
Programmer's Guide
Version 1.0.0
October 20, 2018 Document no. 75-0033-181020 Copyright © 2018 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 R5700 are trademarks of ThinkRF Corporation.
HARDWARE WARRANTY AND LIMITATION OF LIABILITY
Read this warranty carefully before you use the product.
R5700 Real Time Spectrum Analyzers with GNSS 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.
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
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 2 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
R5700 Functional Overview .................................................................................................... 12
System Overview .................................................................................................................... 12
The Architecture ..................................................................................................................... 15
RF Receiver Front-End .......................................................................................................... 17
Direct-Conversion Receiver Technology ............................................................................. 17
DC Offset Correction ..................................................................................................... 17
IQ Offset Correction ....................................................................................................... 18
Digital Signal Processing ..................................................................................................... 19
Digital Down Converter ........................................................................................................ 19
Triggers .................................................................................................................................... 20
Frequency Domain Triggering ............................................................................................. 20
Periodic Triggering ............................................................................................................... 21
External Triggering .............................................................................................................. 21
Capture Controller ................................................................................................................. 22
Trace Capture Control ......................................................................................................... 22
Sweep Capture Control ....................................................................................................... 23
Synchronized Sweep ........................................................................................................... 24
VITA-49 Radio Transport Protocol ...................................................................................... 26
Purpose .................................................................................................................................... 26
R5700's VRT Overview .......................................................................................................... 26
Packet Classes and Streams ............................................................................................... 27
Receiver Context Packet Class ........................................................................................... 27
Context Field Change Indicator ..................................................................................... 29
RF Reference Frequency .............................................................................................. 29
Gain ............................................................................................................................... 29
Temperature .................................................................................................................. 29
Digitizer Context Packet Class ............................................................................................ 30
Context Field Change Indicator ..................................................................................... 31
Bandwidth ...................................................................................................................... 31
RF Frequency Offset ..................................................................................................... 31
Reference Level ............................................................................................................ 32
Formatted GPS Geolocation .......................................................................................... 32
Extension Context Packet Class .......................................................................................... 34
Context Field Change Indicator ..................................................................................... 35
IQ Swapped Indicator .................................................................................................... 35
New Stream Start ID ...................................................................................................... 36
New Sweep Start ID ...................................................................................................... 36
IF Data Packet Class ........................................................................................................... 36
Picosecond Timestamp Words Format .......................................................................... 37
Data Payload Format ..................................................................................................... 37
Trailer Word Format ...................................................................................................... 39
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:CAPTure:MODE? ................................................................................................ 46
:SYSTem:COMMunicate:HISLip:SESSion? ........................................................................ 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 ......................................................................................... 49
:SYSTem:COMMunicate:LAN:MTU ..................................................................................... 49
:SYSTem:COMMunicate:LAN:NETMask ............................................................................. 50
:SYSTem:COMMunicate:NTP ............................................................................................. 50
:SYSTem:ERRor[:NEXT]? ................................................................................................... 50
:SYSTem:ERRor:ALL? ........................................................................................................ 51
:SYSTem:ERRor:CODE[:NEXT]? ........................................................................................ 51
:SYSTem:ERRor:CODE:ALL? ............................................................................................. 52
:SYSTem:ERRor:COUNt? ................................................................................................... 52
:SYSTem:FLUSh ................................................................................................................. 52
:SYSTem:LOCK:HAVE? ...................................................................................................... 53
:SYSTem:LOCK:REQuest? ................................................................................................. 53
:SYSTem:OPTions? ............................................................................................................ 54
:SYSTem:SYNC:MASTer .................................................................................................... 54
:SYSTem:SYNC:WAIT ........................................................................................................ 55
:SYSTem:VERSion? ............................................................................................................ 55
:SYSTem:DATE ................................................................................................................... 55
:SYSTem:TIME .................................................................................................................... 56
:SYSTem:TIME:ADJust ....................................................................................................... 56
:SYSTem:TIME:SYNC ......................................................................................................... 56
STATus Commands ............................................................................................................... 58
:STATus:OPERation[:EVENt]? ............................................................................................ 59
:STATus:OPERation:CONDition? ........................................................................................ 59
:STATus:OPERation:ENABle .............................................................................................. 60
:STATus:OPERation:NTRansition ....................................................................................... 60
:STATus:OPERation:PTRansition ....................................................................................... 60
:STATus:PRESET ............................................................................................................... 61
:STATus:QUEStionable[:EVENt]? ....................................................................................... 61
:STATus:QUEStionable:CONDition? ................................................................................... 61
:STATus:QUEStionable:ENABle .......................................................................................... 62
:STATus:QUEStionable:NTRansition .................................................................................. 62
:STATus:QUEStionable:PTRansition ................................................................................... 62
:STATus:TEMPerature? ...................................................................................................... 63
INPut Commands ................................................................................................................... 63
:INPut:ATTenuator ............................................................................................................... 63
:INPut:ATTenuator:VARiable ............................................................................................... 63
:INPut:GAIN ......................................................................................................................... 64
:INPut:GAIN:HDR ................................................................................................................ 65
:INPut:MODE ....................................................................................................................... 65
SOURce Commands .............................................................................................................. 66
:SOURce:REFerence:PLL ................................................................................................... 66
:SOURce:REFerence:PPS .................................................................................................. 66
SENSe Commands ................................................................................................................. 67
[:SENSe]:DECimation .......................................................................................................... 67
[:SENSe]:FREQuency:CENTer ........................................................................................... 68
[:SENSe]:FREQuency:IF? ................................................................................................... 69
[:SENSe]:FREQuency:INVersion? ....................................................................................... 69
[:SENSe]:FREQuency:LOSCillator? .................................................................................... 69
[:SENSe]:FREQuency:SHIFt ............................................................................................... 70
[:SENSe]:LOCK:REFerence? .............................................................................................. 70
[:SENSe]:LOCK:RF? ........................................................................................................... 71
GNSS Commands ................................................................................................................... 71
:GNSS[:ENABle] .................................................................................................................. 71
:GNSS:POSition .................................................................................................................. 72
:GNSS:REFerence? ............................................................................................................ 72
TRIGger Commands .............................................................................................................. 72
:TRIGger:TYPE .................................................................................................................... 73
:TRIGger:LEVel ................................................................................................................... 73
:TRIGger:PERiodic .............................................................................................................. 74
TRACe Commands ................................................................................................................. 74
:TRACe:BLOCk:DATA? ....................................................................................................... 75
:TRACe:BLOCk:PACKets .................................................................................................... 76
:TRACe:SPPacket ............................................................................................................... 76
:TRACe:STReam:STARt ..................................................................................................... 77
:TRACe:STReam:STOP ...................................................................................................... 78
SWEep Commands ................................................................................................................ 78
:SWEep:LIST:ITERations .................................................................................................... 79
:SWEep:LIST:STARt ........................................................................................................... 79
:SWEep:LIST:STATus? ....................................................................................................... 80
:SWEep:LIST:STOP ............................................................................................................ 80
:SWEep:ENTRy:COPY ........................................................................................................ 80
:SWEep:ENTRy:COUNt? .................................................................................................... 81
:SWEep:ENTRy:DELETE .................................................................................................... 81
:SWEep:ENTRy:NEW .......................................................................................................... 81
:SWEep:ENTRy:READ? ...................................................................................................... 82
:SWEep:ENTRy:SAVE ........................................................................................................ 82
:SWEep:ENTRy:ATTenuator ............................................................................................... 82
:SWEep:ENTRy:ATTenuator:VARiable ............................................................................... 83
:SWEep:ENTRy:DECimation ............................................................................................... 83
:SWEep:ENTRy:FREQuency:CENTer ................................................................................. 83
:SWEep:ENTRy:FREQuency:STEP .................................................................................... 83
:SWEep:ENTRy:FREQuency:SHIFt .................................................................................... 84
:SWEep:ENTRy:GAIN:HDR ................................................................................................ 84
:SWEep:ENTRy:MODE ....................................................................................................... 84
:SWEep:ENTRy:DWELl ....................................................................................................... 84
:SWEep:ENTRy:PPBlock .................................................................................................... 85
:SWEep:ENTRy:SPPacket .................................................................................................. 85
:SWEep:ENTRy:TRIGger:LEVel .......................................................................................... 85
:SWEep:ENTRy:TRIGger:TYPE .......................................................................................... 85
Appendix A: Connecting to RTSA ...................................................................................... 86
Simple 2-port TCP/IP Connection ....................................................................................... 86
Connection Using HiSLIP ..................................................................................................... 87
Appendix B: Protocols for Discovering RTSA ............................................................. 90
Discovery Using mDNS/DNS-SD ........................................................................................ 90
Discovery Using Broadcast UDP ........................................................................................ 90
Appendix C: SCPI Command Syntax ................................................................................ 92
Entering Commands .............................................................................................................. 92
Notation .................................................................................................................................... 93
Parameter types ...................................................................................................................... 93
Default Units ............................................................................................................................ 93
Appendix D: SCPI Status and Event Registers ........................................................... 95
Status Byte Register (SBR) .................................................................................................. 95
Standard Event Status Register (ESR) .............................................................................. 95
Operational Status Register (OSR) .................................................................................... 96
Questionable Status Register (QSR) ................................................................................. 96
Output Queue .......................................................................................................................... 97
Error and Event Queue ......................................................................................................... 97
Appendix E: SCPI Error Codes Used ................................................................................ 98
Appendix F: SCPI Commands Quick Reference ......................................................... 99
R5500 vs. R5700 List of Changes ...................................................................................... 105
References ..................................................................................................................................... 106
Document Revision History ................................................................................................. 107

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
FFT Fast Fourier Transform
FIR Finite Impulse Response
FPGA Field-Programmable Gate Array
GNSS Global Navigation Satellite System
GPIO General Purpose Input/Output
GPS Global Positioning System
GUI Graphical User Interface
HDR High Dynamic Range
IBW Instantaneous Bandwidth
IEEE Institute of Electrical and Electronics Engineers
IF Intermediate Frequency
IQ In-phase and Quadrature
LAN Local Area Network
MB Mega-Bytes
MSB Most Significant Byte
MSa Mega-Samples
NB Narrowband
NCO Numerically Controlled Oscillator
NTP Network Time Protocol
NTPD Network Time Protocol Daemon
PLL Phase-Locked Loop
RF Radio Frequency
RFE Receiver Front-End
RTSA Real Time Spectrum Analyzer
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
ZIF Zero Intermediate Frequency
List of Figures
Figure 1: R5700 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 .................................................................................................................. 18
Figure 5: DDC Functional Block Diagram ................................................................................................ 20
Figure 6: Association between Time and Frequency Domain .................................................................. 21
Figure 7: Synchronized Sweep using Sync-Word .................................................................................... 25
Figure 8: Synchronized Sweep with a Missed Capture ............................................................................ 25
Figure 9: Connectivity and 4 Different Packet Streams Supported by R5700 .......................................... 26
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 .................................................... 58
Figure 14: 2-port TCP/IP connection to RTSA ......................................................................................... 86
Figure 15: HiSLIP and TCP connections to RTSA ................................................................................... 88
List of Tables
Table 1: System Level Control/Status Commands with GNSS ................................................................ 14
Table 2: Radio RFE Modes and DSP Data Output Formats .................................................................... 16
Table 3: RF Front-End Control/Status Commands .................................................................................. 18
Table 4: Trigger Control/Status Commands ............................................................................................. 21
Table 5: Trace Capture Control Commands ............................................................................................ 23
Table 6: Sweep Capture Control/Status Interface .................................................................................... 23
Table 7: The Categories of VRT Packet Streams Supported by ThinkRF's R5700 ................................. 26
Table 8: A List of Stream Identifiers As Used by ThinkRF for Different Packet Classes .......................... 27
Table 9: Receiver Context Packet Class Structure .................................................................................. 28
Table 10: Receiver Context Indicator Field Positions ............................................................................... 28
Table 11: Receiver Context Field Definition and Values .......................................................................... 28
Table 12: RF Reference Frequency Word Format ................................................................................... 29
Table 13: Gain Field Format .................................................................................................................... 29
Table 14: Temperature Field Format ....................................................................................................... 29
Table 15: Digitizer Context Packet Class Structure ................................................................................. 30
Table 16: Digitizer Context Indicator Field Bit Positions ........................................................................... 30
Table 17: Digitizer Context Field Values .................................................................................................. 31
Table 18: Bandwidth Word Format .......................................................................................................... 31
Table 19: RF Frequency Offset Word Format .......................................................................................... 32
Table 20: Reference Level Field Format .................................................................................................. 32
Table 21: Formatted GPS Geolocation Fields ......................................................................................... 33
Table 22: Geolocation Angle (Degrees) Format ...................................................................................... 33
Table 23: Altitude Subfield Format ........................................................................................................... 34
Table 24: Speed Over Ground Subfield Format ....................................................................................... 34
Table 25: Extension Context Packet Class Structure ............................................................................... 34
Table 26: Extension Context Indicator Field Positions ............................................................................. 35
Table 27: Extension Context Field Definition and Values ........................................................................ 35
Table 28: New Stream Start ID Field Format ........................................................................................... 36
Table 29: New Sweep Start ID Field Format ............................................................................................ 36
Table 30: Output Data Width and Packing Method for Different Data Formats ........................................ 36
Table 31: IF Data Class Field Values ....................................................................................................... 37
Table 32: Stream Identifier Values for Different Data Output Formats ..................................................... 37
Table 33: 64-bit or Two Words Picosecond Timestamp Format .............................................................. 37
Table 34: {I14Q14} Data Payload Arrangement with Upper 2-bit Signed Extended to {I
Table 35: {I14} Data Payload Arrangement with Upper 2-bit Signed Extended to {I16} .............................. 38
Table 36: {I24} Data Payload Arrangement with Upper 8-bit Signed Extended to {I32} .............................. 39
Table 37: Trailer Word Format ................................................................................................................. 39
Table 38: Trailer Indicator and Enable Bits .............................................................................................. 39
Table 39: Conditions Causing Abnormal Indicator State and Suggested Resolution ............................... 40
Table 40: RTSA Option Codes and the Corresponding Description ........................................................ 54
Table 41: Performance of The Gain Settings of R5700-418, 427 and Their Variants .............................. 64
Table 42: Maximum Threshold Level Where +/-3 dBm Error or Less Still Hold For A Given Attenuation
Level ....................................................................................................................................... 74
Table 43: Max, Min, and Required Multiples for SPP and Samples-per-word for Different Data Output
Format .................................................................................................................................... 77
Table 44: HiSLIP Message Header Format ............................................................................................. 88
Table 45: ThinkRF Vendor Specific Message Type Value Definitions ..................................................... 89
Table 46: ThinkRF Data Channel Initialization Transaction ..................................................................... 89
} .................... 38
16 Q16

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 R5700 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 and the latest release bundles at http://www.thinkrf.com/resources.

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 www.thinkrf.com/resources.
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
www.thinkrf.com/support/ or by calling +1.613.369.5104.
Before contacting Support, please have the following information available:
R5700's serial number and product version, which are located on the identification
label on the R5700's underside.
The firmware version running on the R5700.
Versions of ThinkRF software you are using, potentially including the S240, API
libraries to third-party applications.
The operating system and version you are using.

R5700 Functional Overview

This section overviews the R5700'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 R5700 Real Time Spectrum Analyzer (RTSA) with GNSS (Global Navigation Satellite System) provides the benefits of a high-performance software-defined RF receiver, digitizer and analyzer along with integrated GNSS technology offering location and time information in one package. With patent-pending software-defined RF receiver technology, the RTSA provides industry leading combined sensitivity, tuning range, wide instantaneous bandwidth (IBW) and scan rate. Additionally, it provides real-time sophisticated triggering and capture control. Figure 1 illustrates an RTSA solution system example.
R5700 Functional Overview
The R5700 is designed for stand-alone, remote and/or distributed wireless signal analysis. Whether using as a single unit or a network of radio sensors, R5700 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:
5G wireless technology;
test and measurement;
monitoring and surveillance;
research;
OEM integration.
The R5700 hardware largely consists of:
a hybrid super-heterodyne, direct-conversion and direct-digitization RF receiver
front-end (RFE);
receiver front end inputs and outputs to support clock synchronization, and IF
outputs for high-end digitization;
a 125 MSample/sec 14-bit wideband (WB) ADC with a dynamic range of greater
than 70 dB;
a 325 kSample/sec 24-bit narrowband (NB) ADC with a dynamic range in excess of
100 dB;
a GNSS module with embedded 10MHz reference clock source for further RTSA’s
time synchronization;
ThinkRF R5700 Real Time Spectrum Analyzer Programmer's Guide 12
R5700 Functional Overview
a Xilinx's Zynq FPGA with built-in dual-core ARM®-based processor, Gigabit
Ethernet interface and custom embedded digital signal processing (DSP) logic;
1 GB of DDR3 shared between firmware and real-time caching of digitized data;
a general purpose input/output (GPIO) port.
Figure 1: R5700 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 (page 42) for controlling and obtaining status from the RTSA and the VITA-49 Radio Transport (VRT) protocol (page 26) for digitized data and its associated context information.
In addition, API libraries, written in C/C++, Python, MATLAB and/or NI LabVIEW, are provided for quick interfacing, data acquisition and as well as for spectral analysis. 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 (GUIs) or any applications included in each release package.
Refer to Appendix A for how to connect to an RTSA and Appendix B for the protocol on how to find any RTSAs available on the local network. The source code provided for the aforementioned APIs and GUIs/applications would serve as examples.
The R5700 provides system level control and status commands as defined in Table 1.
13 ThinkRF R5700 Real Time Spectrum Analyzer Programmer’s Guide
R5700 Functional Overview
Table 1: System Level Control/Status Commands with GNSS
SCPI Command Description
:SYSTem Page 46
:ABORt Aborts the current data capturing process and puts the RTSA system into
a normal manual mode (i.e. sweep, trigger, and streaming will be aborted)
:CAPTure
:MODE? Gets the current capture mode of the RTSA (i.e. sweeping, streaming or
block mode)
:COMMunicate
:HISLip
:SESSion? Returns the HiSLIP connection’s session ID
:LAN<commands> Subset of commands for configuring/querying RTSA's LAN settings
:ERRor
[:NEXT]? Returns the next error code and message from the SCPI error/event
queue
:ALL? Returns all the error codes and messages from the SCPI error/event
queue
:CODE
[:NEXT]? Returns next the error code from the SCPI error/event queue
:ALL? Returns all the error codes from the SCPI error/event queue
:COUNt? Returns the number of errors in the SCPI error/event queue
:FLUSh Clears the R5700's internal data storage buffer of any remaining data that
has not transferred out of the RTSA
:LOCK
:HAVE? Returns the current lock state of the task specified
:REQuest? Requests the R5700 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 RTSA model
:SYNC
:MASTer[?] Sets an RTSA 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
:SYNC[?] Sets/ gets the System time synchronization source via network or SCPI,
or disable
:STATus Page 57
:OPERation
[:EVENt]? Queries the Operation Status Register for any operation event
:CONDition? Queries the Operation Condition Register for any operation event
:ENABle[?] Enables or queries bits in the Operation Enable Register
:NTRansition[?] Enables or queries bits in the Operation Negative Transition Register
:PTRansition[?] Enables or queries bits in the Operation Positive Transition Register
ThinkRF R5700 Real Time Spectrum Analyzer Programmer's Guide 14
R5700 Functional Overview
SCPI Command Description
:PRESET Presets the R5500 (similar to *RST)
:QUEStionable
[:EVENt]? Queries the Questionable Status Register for any questionable event
:CONDition? Queries the Questionable Condition Register for any questionable event
:ENABle[?] Enables or queries bits in the Questionable Enable Register
:NTRansition[?] Enables or queries bits in the Questionable Negative Transition Register
:PTRansition[?] Enables or queries bits in the Questionable Positive Transition Register
:TEMPerature? Returns the R5700's internal ambient temperature
:GNSS
[:Enable][?] Enables or queries the status of the GNSS module
:POSition Queries the last known GNSS position in degrees latitude, degrees
:REFerence? Queries which timing reference source used to discipline the 10 MHz
See SCPI Command Set section (page 42 onward) for further details on the commands.
longitude and altitude in meters
GNSS reference oscillator
Caution pertaining to multi-users: See Appendix A: Connecting to RTSA for important notes on this caution.

The Architecture

The R5700 is an integrated wireless radio receiver, digitizer/analyzer and GNSS technology. 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;
obtain device’s location position and time as provided by the GNSS through VRT
packets (page 32); and
have time-stamped with data output.
Traces and sweeps are controlled by the capture controller as illustrated in the Digitizer 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.
When the GNSS module is enabled, GNSS position and time information is sent to users through VRT context packets roughly every second (see VRT’s Formatted GPS
Geolocation section). Besides two existing internal and external 10 MHz reference clock
sources, the GNSS module also provides a third 10MHz reference clock source option to provide synchronized time-stamp for VRT packets (see SOURce Commands).
15 ThinkRF R5700 Real Time Spectrum Analyzer Programmer’s Guide
R5700 Functional Overview
Figure 2: RF Receiver Front-end and Capture Controller Functional Block Diagram
(Note: The GPS (GNSS) option is included in this model)
The R5700 supports different RFE modes of operation and subsequent DSP capabilities as per Table 2 and as described in the following subsections.
Table 2: Radio RFE Modes and DSP Data Output Formats
Mode Description Freq Range
(MHz)
ZIF SH
SHN
HDR
DD
1
For SH and SHN modes, when the decimation is used, a frequency shift of 35MHz will be applied
automatically to bring the R5700's center frequency back to the zero IF. Thus, the data output will be I and Q.
2
In DD mode, there is no frequency tuning except for performing frequency shift. When
decimation is applied, the decimation will be around the zero frequency.
Zero-IF Receiver 50 - max 100 I14 Q Super-Heterodyne
50 - max 40 I Receiver SH Receiver with
50 - max 10 I narrower BW
High Dynamic Range
50 - max
Receiver
Direct Digitization
0.009 - 50
Receiver
2
IBW
(MHz)
0.1 I
50 I
DSP Data Output Format
None CIC/Dec Frequency Shift
14I14 Q14
14
I14 Q
14
I14 Q
24
14
I
14 Q14
1
14
1
14
- -
1
I14 Q I14 Q
I14 Q
I14 Q
14
14
14
14
R5700 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 36) for the exact VRT data output formats as well as packing method.
ThinkRF R5700 Real Time Spectrum Analyzer Programmer's Guide 16
R5700 Functional Overview

RF Receiver Front-End

The Receiver portion of Figure 2 shows a block diagram of the RFE within the R5700. 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 9kHz 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 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, and 27GHz for R5700-x08, -x18, 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 is then used to enhance the tuning resolution to the nearest 1Hz (±0.23Hz). The frequency shifting technology used is an embedded Numerically Controlled Oscillator (NCO) based Direct Digital Synthesizer (DDS) as described in the
Digital Down Converter subsection.
The HDR radio mode supports a tuning resolution of 10Hz. No further fine tuning is available.
The remaining radio mode, DD, supports 50MHz IBW Direct Digitization of the baseband from the external RF IN. Hence, this mode does not 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 R5700'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.
17 ThinkRF R5700 Real Time Spectrum Analyzer Programmer’s Guide
R5700 Functional Overview
D C O f f s e t
F c - 5 0 M H z
F c + 5 0 M H z
1 2 5 M H z
F c
A n a l o g f i l t e r
S i g n a l
I m a g e
X d B
F r e q u e n c y
F
c
F r e q u e n c y
F
c
F c + F s
F c - F s
c a l i b r a t e I Q
Figure 3: DC Offset with Amplitude Roll-Off at +50MHz
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.
A correction algorithm would be needed to adjust this offset necessary for signal analysis, especially for the ZIF mode. The ThinkRF's APIs have included a correction.
Figure 4: IQ Offset Correction
Table 3: RF Front-End Control/Status Commands
SCPI Command Description
:INPut Page 63
:ATTenuator[?]
ThinkRF R5700 Real Time Spectrum Analyzer Programmer's Guide 18
Enables/disables the front-end's attenuation for R5700-408 & their variants only
R5700 Functional Overview
SCPI Command Description
:VARiable[?]
:GAIN[?]
:HDR[?]
:MODE[?]
:SOURce Page 66
:REFerence
:PLL[?]
:PPS[?]
[:SENSe] Page 67
:DECimation[?] Sets the decimation rate as an exponent of 2 (i.e. rate = 2
:FREQuency
:CENTer[?] Sets the center frequency of the RFE
:IF? Queries the IF frequencies that are used for the current input mode and
:INVersion? Queries if a spectral inversion is required at a given frequency
:LOSCillator? Gets the frequency of the external LO 1, 2 or 3 in corresponding to
: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
Sets the variable attenuation for R5700-418 and -427 & their variants
Sets the input gain stage for R5700-418, -427 & their variants
Sets gain level for the NB ADC of of the HDR signal path
Selects the receiver mode of operation
Selects the 10MHz reference clock source
Selects the PPS input source
level
where level =
0, 1, 2 - 10)
center frequency
current the RTSA's center frequency
See SCPI Command Set section (page 42 onward) for further details on each set of commands.

Digital Signal Processing

The R5700 has embedded DSP blocks to provide further signal processing capabilities, such as DDC with up to 10 levels of decimation and FFT computation.

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.
19 ThinkRF R5700 Real Time Spectrum Analyzer Programmer’s Guide
R5700 Functional Overview
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.

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 R5700 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 R5700 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
ThinkRF R5700 Real Time Spectrum Analyzer Programmer's Guide 20
R5700 Functional Overview
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.
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. The threshold level error is approximately ±3 dBm or less when the trigger level is set within the range mentioned in the :TRIGger:LEVel command.
See TRIGger Commands (page 72) or SWEep's trigger (page 85) 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 R5700's GPIO. The trigger “signal” could be a single pulse, PPS or a sync-word. See Synchronized Sweep (page 24) for additional details.
Caution: The pulse and sync-word is applied to the GPIO's TRIG IN pin, while PPS is through PPS pin. 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 72
21 ThinkRF R5700 Real Time Spectrum Analyzer Programmer’s Guide
SCPI Command Description
:TYPE[?] Sets or disable the trigger type including LEVel | PERiodic | PPS | PULSe
:LEVel[?] Sets the frequency range and amplitude of a frequency domain level
:PERiodic[?] Sets the time period of a periodic trigger
See TRIGger Commands (page 72) or SWEep's trigger (page 85) 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.
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.
R5700 Functional Overview
| WORD | NONE
trigger
Note: Besides the information provided in the following sections, refer to appnotes “74­0050 Data Acquisition” and “74-0071 Sweep Synchronization with I and Q output” for more information, including examples.

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 (page 75) command initiates a block capture of continuous IQ data (available to be "pulled" from the R5700 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 RTSA.
The :TRACe:STReam (page 77) command initiates the streaming of IQ data (which is "pushed" from the R5700). 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.
ThinkRF R5700 Real Time Spectrum Analyzer Programmer's Guide 22
R5700 Functional Overview
Table 5: Trace Capture Control Commands
SCPI Command Description
:TRACe Page 74
: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 =
: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 74) 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.
:PACKets * SPP)
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 RTSA (similar to :TRACe:STReam).
Table 6: Sweep Capture Control/Status Interface
SCPI Command Description
:SWEep Page 78
:LIST
: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
quick editing
:COUNt? Gets the number of entries available in the list
:DELETE Deletes the specified entry or all entries
23 ThinkRF R5700 Real Time Spectrum Analyzer Programmer’s Guide
R5700 Functional Overview
SCPI Command Description
: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
ID location in the list when the integer value is given
:ATTenuator As defined in :INPut:ATTenuator, page 63
:VAR[?] As defined in :INPut:ATTenuator:VARiable, page 63
:DECimation[?] As defined in [:SENSe]:DECimation, page 67
:FREQuency
:CENTer[?] Defines the center frequency of the RFE or a range of frequencies that
are stepped by the value defined by the :FREQuency:STEP
:STEP[?] Defines the amount of frequency that the center frequency is stepped by
:SHIFt[?] As defined in [:SENSe]:FREQuency:SHIFt, page 70
:GAIN
:HDR[?] As defined in :INPut:GAIN:HDR, page 65
:MODE As defined in :INPut:MODE, page 65
: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 76
:SPPacket[?] As defined in :TRACe:SPPacket, page 76
:TRIGger
:TYPE[?] As defined in :TRIGger:TYPE, page 73
:LEVel[?] As defined in :TRIGger:LEVel, page 73
:PERiodic[?] As defined in :TRIGger:PERiodic, page 74
See SWEep Commands section (page 78) for further details.

Synchronized Sweep

The R5700 supports a synchronized sweep function for the purposes of comparing the same signal received via multiple R5700s.
Synchronized sweep is an extension of the external trigger capability. One of the R5700s in a network is configured to be the master (:SYSTem:SYNC:MASTer ON) and the other R5700s 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 R5700 Real Time Spectrum Analyzer Programmer's Guide 24
R5700 Functional Overview
front end setup
capture...........
syncpreamble
front end setup capture...........
sweep step
MASTER
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 78) for further interface details or contact ThinkRF's Support for more information.
25 ThinkRF R5700 Real Time Spectrum Analyzer Programmer’s Guide

VITA-49 Radio Transport Protocol

VITA-49 Radio Transport Protocol
The section describes the R5700'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 R5700 to another equipment using an industrial standard.

R5700'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 R5700 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 R5700
Table 7: The Categories of VRT Packet Streams Supported by ThinkRF's R5700
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
Receiver Context Packet Class Stream
26 ThinkRF R5700 Real Time Spectrum Analyzer Programmer’s Guide
VITA-49 Radio Transport Protocol
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 R5700.
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 R5700.
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 R5700.
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. See Table 8 for the list of Stream Identifiers used to identify these different Packet Classes.
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 R5700's RF receiver.
ThinkRF R5700 Real Time Spectrum Analyzer Programmer's Guide 27
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 is 0100 to indicate this is a context packet.
2. C is set to 0 to indicate there is no Class Identifier in the packet.
3. R is 00 as they are reserved bits.
4. TSM (TimeStamp Mode) is 0, indicating that context packet timestamps are precise.
5. TSI (TimeStamp-Integer) field is 01, indicating that integer (seconds) part of the timestamps are in Coordinated Universal Time (UTC).
6. TSF (TimeStamp-Fractional) field is 10, indicating that the fractional part of the timestamp measures in real time picosecond resolution.
7. Pkt Count starts at 0000 and increments 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 is the 32-bit word, 0x90000001
10. Timestamp - Integer Seconds is in UTC format and represents the number of seconds occurred since Midnight, January 1, 1970, GMT.
11. Timestamp - Integer Picoseconds counts 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 follows 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, see Table 11, 3rd column)
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 contains a context field for every field that is indicated to be present in the Context Indicator Field. The fields is arranged 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
Indicator
Bit Name
Bit
Position
Context Field Type # of Words in
Context Fields
Period of
Validity
I 31 Context Field Change Indicator 0 N/A
R 30 Reference Point 1 Persistent
F 27 RF Reference Frequency 2 Persistent
G 23 Gain 1 Persistent
T 18 Temperature 1 Persistent
28 ThinkRF R5700 Real Time Spectrum Analyzer Programmer’s Guide
VITA-49 Radio Transport Protocol
Context Field Change Indicator
The Context Field Change Indicator is used to indicate when some context value of the system has changed. One or more of the other bits in the indicator field will be also set, indicating which values have been changed and have their updated values in the context fields that follow. It is possible that a context packet may be sent where the Context Field Change Indicator is set to 0, indicating that no change has occurred.
RF Reference Frequency
The RF Reference Frequency communicates the frequency of origin for the signal. The value of the RF Reference Frequency is expressed in units of Hertz. The RF Reference Frequency sub-field uses the 64-bit, two’s-complement format as shown in Table 12. This field has an integer and a fractional part, with the radix point to the right of bit 20 in the second 32-bit word. This gives the RF Reference Frequency a range of ±8.79THz with a resolution of 0.95μHz.
Table 12: RF Reference Frequency Word Format
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
Integer RF Reference Value (43..12), Hz
Integer RF Ref. Value (11..0), Hz Fractional RF Reference Value(19..0)
Gain
The gain is a 32-bit value that is split into two 16-bit values, representing the Stage 1 and Stage 2 gain values. The Stage 1 gain represents the amount of gain in the front-end system, the RF gain. The Stage 2 gain represents the amount of gain in the back-end system, the IF gain.
Each gain value is a signed two's-complement number, having two sub-fields, bits 15:7 being the integer value, and 6:0 being the fractional value. This gives each gain figure a range of ±256dB with a resolution of 1/128dB (0.0078125dB).
Table 13: Gain Field Format
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
Integer IF Fractional IF Integer RF Fractional RF
Temperature
This field is not yet available.
The R5700 has a temperature sensor and will report changes in temperature to the system. The value of the Temperature field is expressed in units of degrees Celsius (°C). The Temperature field uses the 32-bit format shown in Table 14 with the upper 16 bits reserved and is set to zero. The Temperature value is expressed in signed two’s­complement format in the lower 16 bits of this field. This field has an integer and a fractional part, with the radix point to the right of bit 6.
Table 14: Temperature Field Format
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
Reserved Integer Temperature Fractional Temp.
ThinkRF R5700 Real Time Spectrum Analyzer Programmer's Guide 29
VITA-49 Radio Transport Protocol
The valid range of the Temperature field is -273.15 °C to +511.984375 °C. The resolution of the Temperature field is 0.015625 °C (1/64 °C).
For examples, a Temperature field value of:
0x0040 represents +1 °C,
0xFFC0 represents -1 °C,
0x0001 represents +0.015625 °C, and
0xFFFF represents -0.015625 °C.

Digitizer 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 R5700's IF digitizer.
Table 15: Digitizer 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
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, see Table 17, 3rd column)
1. Pkt Type is 0100 to indicate this is a context packet.
2. C is 0 to indicate there is no Class Identifier in the packet.
3. R is 00 as they are reserved bits.
4. TSM is 0, indicating that context packet timestamps are precise.
5. TSI field is 01, indicating that integer (seconds) part of the timestamps are in UTC.
6. TSF field is 10, indicating that the fractional part of the timestamp measures real time picosecond resolution.
7. Pkt Count starts at 0000 and increments 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 size of the entire context packet, including all headers, the context indicator field and context sections.
9. Stream Identifier is the 32-bit word, 0x90000002.
10. Timestamp - Integer Seconds is in UTC format and will represent the number of seconds occurred since Midnight, January 1, 1970 GMT.
11. Timestamp - Integer Picoseconds counts 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 follows the format indicated in Table 16.
Table 16: Digitizer Context Indicator Field Bit 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 B O R G
13. The Digitizer Context Fields section contains a context field for every field that is indicated to be present in the Context Indicator Field. The fields is arranged in the
30 ThinkRF R5700 Real Time Spectrum Analyzer Programmer’s Guide
Loading...
+ 77 hidden pages