RF Recording Software Theory of Operation
- Updated2024-07-03
- 8 minute(s) read
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:
- RF Recording Software
- Phase Calibration
- LO Calibration
- Record and Playback Software (RPS)
- Instrument Controller Application (ICsc)
- Stream Translator Application (STsc)
- Record and Playback Data Storage (RPDSsc)
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.
RF Recording Software State Machine
The following figure depicts the RF Recording Software state machine.
The states are as follows:
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.
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..
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:
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.
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.
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.
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
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.
Related Information
- Using the RF Recording Software APIs
NI provides gRPC APIs for users who want to create their own software that integrates the RF Recording Software using their preferred gRPC-supported coding language.
- Performing Acquisition LO Calibration
Acquisition LO calibration is a required step for all RF Recording Software configurations that use LO star configuration. Acquisition LO calibration ensures the power level of the LO signal distribution is within the input power range of -4 dBm to 0 dBm. Successful calibration results in a calibration file being saved to disk on the PXIe controller.
- Performing Acquisition Phase Calibration
Acquisition phase calibration is a required step to use multichannel relative phase and amplitude corrections on your system. Acquisition phase calibration adjusts the relative channel-to-channel phase and amplitude performance of the VSTs. Successful calibration results in a calibration file or files being saved to disk on the PXIe controller.
- Configuring System Parameters
Modify the RPS configuration file to define user-configurable parameters for RPS.
- Configuring the Instrument Controller Application Parameters
Modify the ICsc application configuration file to define user-configurable parameters for the instrument controller application.
- Configuring Clock Routing Settings
Modify the Clock Routing configuration file to define the reference clock routing between chassis in systems that use more than one chassis.
- Configuring Signal Routing Settings
Modify the Signal Routing configuration file to define synchronization triggers when using the RF Recording Software in systems that use more than one chassis.
- Configuring Ethernet Instances for Multiple Stream Translators
The Default STsc application configuration file installed with RF Recording Software is configured for a single stream translator system. Modify the default.ini configuration file to define Ethernet instances in systems that use more than one stream translator.
- Configuring the Stream Translator Application Settings
Modify the STsc application configuration file to define user-configurable parameters for the stream translator application.
- Configuring Application Settings
Modify the NI-RPDSsc configuration file to define user-configurable parameters for NI-RPDSsc
- Configuring Application Aliases
Modify the NI-RPDSsc aliases configuration file to assign user-defined, human-readable names to network interfaces (NICs), RAIDs, and NI-RPDSsc endpoints.
- Cabling for Remote Record High-Speed Data Connections
Systems configured for remote recording require cabling for high-speed data transmission between the RF instruments, FPGA modules, and the data storage computer. Skip this step for systems that do not require remote record configurations.
- Setting Up the Stream Translator Application
Set up the stream translator application for your remote recording system by modifying Stream Translator System Component (STsc) configuration files—default.ini and STsc.ini.
- niRFSG Initialize With Options VI in the NI-RFSG LabVIEW API Reference
- Monitoring and Controlling Devices Used in an External Session in the InstrumentStudio Features