RF Recording Software Theory of Operation

RF Recording Software is a multi-faceted software solution that you can use with compatible NI VSTs and PXIe platform to accomplish wideband, multichannel, phase-coherent RF recordings. This solution is built on gRPC servers that can be controlled via the provided graphical user interfaces and/or via your own custom application built using the provided gRPC APIs in any gRPC-supported coding language. The gRPC servers can be controlled locally on the PXIe controller responsible for interfacing with the RF hardware or remotely on any computer network-connected to the same PXIe controller. This means that the provided GUIs and all custom client applications can be run remotely from any computer connected to the PXIe controller and running a supported operating system. The RF Recording Software can be used to perform system-level phase and amplitude calibrations across the entire instantaneous bandwidth of all configured VSTs as well as perform local oscillator (LO) power-level calibration for optimized RF performance.

Software Overview

RF Recording Software includes tools to help you record phase-coherent RF using PXI Vector Signal Transceivers (VSTs).

The RF Recording Software consists of the following:

  • InstrumentStudio Graphical User Interfaces—User interface implementation of the gRPC APIs:
    • RF Recording Software
    • Phase Calibration
    • LO Calibration
  • System Components—Consists of the following:
    • Record and Playback Software (RPS)
    • Instrument Controller Application (ICsc)
    • Stream Translator Application (STsc)
    • Record and Playback Data Storage (RPDSsc)
  • gRPC Protocol Buffer Files—Expose optional gRPC APIs for using RPS and performing phase calibration and LO calibration
  • Figure 1. RF Recording Software


    The RF Recording Software features two entry points to interact with the system:

    • InstrumentStudio Panel
    • gRPC API

    The RF Recording Software package installation provides core RF recording functionality, which includes:

    • The RF recording personality for VSTs
    • A gRPC server application for each system component
    • InstrumentStudio plugins for user interaction

    The software is installed as an NI package on the PXIe controller. The RF Recording Software is licensed on a per-channel basis. You must obtain RF Recording Software license(s) from NI to operate the RPS gRPC server application (RPS.exe). NI License Manager and NI Volume License Manager must be installed, and license(s) added prior to running RPS.exe.

    In addition to the interface provided by the InstrumentStudio soft front panel, the RF recording system can be controlled programmatically through the gRPC API. The provided gRPC protocol buffer files expose a programming interface that you can use to communicate with the gRPC server, perform an LO power calibration, and phase calibration. You can use any gRPC-supported programming language to write the application. Refer to Using the RF Recording Software APIs for these gRPC protocol buffer files and information about modifying the code for your system.

    Local and Remote Data Storage

    The RF Recording Software system offers two forms of data storage—local and remote—depending on the system channel count and channel count scalability requirements.

  • Local Record Storage—Stores unscaled I/Q data to NI TDMS files on RAID drives local to the PXIe controller. Local storage is supported for systems with up to two instruments, each recording at 1 GHz instantaneous bandwidth (IBW).
    Figure 1. Local Record Storage


  • Remote Record Storage—Stores unscaled I/Q data to binary files in interleaved I-Q format on one or more external data storage computers. Remote storage is extendable for systems with up to 16 instruments, each recording at 1 GHz IBW.
    Figure 1. Remote Record Storage


  • RF Recording Software State Machine

    The following figure depicts the RF Recording Software state machine.

    Figure 1. RF Recording Software State Machine


    The states are as follows:

  • Configuration—An RPS software session is defined, no hardware is reserved, and settings are stored in the session.

    To enter the Configuration state:

    • Call Initialize to create a session.
    • Call Abort from the Committed or Running state.
      Note When a session returns to the Configuration state, all hardware used in an existing session becomes unreserved.
    • An error occurs when calling Commit.
    • Apply new settings while in the Committed state.

    To exit the Configuration state:

    • Call Commit to transition the session to the Committed state.
    • Call Close to transition to the Pre-Initialization state.
  • Committed—Hardware is reserved, settings applied to the hardware, and all system components are ready to start.

    To enter the Running state:

    • Call Start from the Committed state.

    To exit the Committed state:

    • Call Start to send a software start to the system and transition to the Running state.
    • Call Abort to transition to the Configuration state.
    • Apply a new setting while in the Committed state, which triggers a state transition to the Configuration state.
    • An error occurs; triggers transition to the Configuration state.
    • Call Close to transition to the Pre-Initialization state..
  • Running—System is actively streaming data to disk and status can be monitored.

    To enter the Running state:

    • Call Start from the Committed state.

    To exit the Running state:

    • Streaming completes successfully; transitions to the Committed state.
    • An error occurs; triggers transition to the Committed state.
    • Call Abort to transition to the Configuration state.
    • Call Close to transition to the Pre-Initialization state.
  • Calibration

    RF Recording Software offers the following calibration for the VSTs in the system:

  • Acquisition LO Calibration—Ensures the power level of the LO signal distribution is within the input power range of the VST: -4 dBm to 0 dBm. This calibration compensates for effects of the LO source, amplifier gain, and path loss of the passive signal distribution on the power level of the signals received by the VSTs.
  • Acquisition Phase Calibration—Adjusts the relative channel-to-channel phase and amplitude performance of the VSTs.
  • Figure 1. Calibration State Machine


  • Idle—A session is defined, no hardware is reserved, and settings are stored in the session.

    To enter the Idle state:

    • Call Initialize to create a session.
    • Call Abort from the Active state.
    • An error occurs when calling Start.

    To exit the Idle state:

    • Call Start to transition to the Active State.
    • Call Close to transition to the pre-Initialization state.
  • Active—Calibration is active.

    To enter the Active state:

    • Call Start from the Idle state.

    To exit the Active state:

    • Calibration completes successfully.
    • An error occurs; triggers transition to the Idle state.
    • Call Abort to transition to the Idle state.
    • Call Close to transition to the pre-Initialization state.
  • Refer to Performing Acquisition LO Calibration and Performing Acquisition Phase Calibration for information about calibrating the system.

    Configuring System Components

    RF Recording Software uses the several INI and configuration files.

    Figure 7. RF Recording Software Configuration Files


    Record and Playback Software (RPS) configuration files:

    • RPS.ini—Configures all IP addresses, ports, and data paths for the system. Modify for remote recording systems. Refer to Configuring System Parameters for information about configuring this file.

    Instrument Controller System Component (ICsc) configuration files:

    • ClockRouting.ini—Configures reference clock sharing for systems using multiple PXIe chassis. Modify for multi-chassis systems. Refer to Configuring Clock Routing Settings for information about configuring this file.
    • SignalRouting.ini—Configures trigger routing for systems using multiple PXIe chassis. Modify for multi-chassis systems. Refer to Configuring Signal Routing Settings for information about configuring this file.
    • ICsc.ini—Contains IP address and gRPC server port. Modify for remote recording systems. Refer to Configuring the Instrument Controller Parameters for information about configuring this file.

    Stream Translator System Component (STsc) configuration files:

    • default.ini—Configures the port information for the stream translator modules in the system. Modify for remote recording systems. Refer to Configuring Ethernet Instances for Multiple Stream Translators for information about configuring this file.
    • STsc.ini—Contains IP address and gRPC server port. Modify for remote recording systems. Refer to RPS Configuring the Stream Translator Parameters for information about configuring this file.

    Record and Playback Data Storage System Component (RPDSsc) configuration files:

    • nirpdssc.conf—Contains IP address and gRPC server port information for the data storage computer. Modify for remote recording systems. Refer to Configuring Application Settings for information about configuring this file.
    • nirpdssc_aliases.conf—Contains aliases of all the NIC ports and RAID paths for the data storage computer. Modify for remote recording systems. Refer to Configuring Application Aliases for information about configuring this file.

    Stream Translator

    The PXIe-7903 serves as the remote record configuration system's stream translator.

    Within each stream translator, there are two high-speed serial connections directly linked to an Ethernet instance. Refer to the following figure.

    Figure 1. PXIe-7903 Internal Routing


    The stream translators are configured through the Stream Translator System Component (STsc) configuration files. Refer to Cabling for Remote Record High-Speed Data Connections and Setting Up the Stream Translator for information about cabling and configuring the stream translators in your system.

    Using NI-RFSG with RF Recording Software

    Note This option is only available while using RF Recording Software Fetch and Remote Record features.

    To use the generation side of the VST while using RF Recording Software, you must open a session with the same bitfile. In LabVIEW, use the niRFSG Initialize With Options VI with the following option string:

    DriverSetup=Bitfile:RPS.lvbitx

    To open NI-RFSG sessions that InstrumentStudio can control, click the ... button in InstrumentStudio. In the RPS Setting Manager window, select the instruments and enter the following in the Option String field:

    DriverSetup=Bitfile:RPS.lvbitx

    Continue to open an RF generator panel in InstrumentStudio.