RFmx Overview
- Updated2024-10-09
- 2 minute(s) read
RFmx is a family of instrument drivers that share a single session handle across multiple drivers. You open one RFmx session per signal analyzer and use that single session handle to configure and perform measurements with the different drivers, such as SpecAn, Demod, LTE, and so on.
The RFmx driver has a shared set of APIs for opening and closing the RFmx session as well as configuring hardware settings, such as the Reference Clock configuration, that are shared across drivers. These shared functions are called the RFmxInstr driver. RFmxInstr does not contain any measurements, and you always use RFmxInstr along with one or more other RFmx drivers that expose the measurements you need to perform.
The following is an example of how you use the RFmx API drivers in .NET to capture a spectrum using the RFmx SpecAn driver.
C#
instrSession = new RFmxInstrMX(resourceName, ""); //Step 1
specAn = instrSession.GetSpecAnSignalConfiguration(); //Step 2
instrSession.ConfigureFrequencyReference("", frequencySource, frequency); //Step 3
specAn.ConfigureRF("", centerFrequency, referenceLevel, externalAttenuation); //Step 4
specAn.Spectrum.Configuration.ConfigureSpan("", span); //Step 4
specAn.SelectMeasurements("", RFmxSpecAnMXMeasurementTypes.Spectrum, true); //Step 5
specAn.Initiate("", ""); //Step 6
specAn.Spectrum.Results.FetchSpectrum("", timeout, ref spectrum); //Step 7
instrSession.Close(); //Step 8
VB
instrSession = New RFmxInstrMX(resourceName, "") 'Step 1
specAn = instrSession.GetSpecAnSignalConfiguration() 'Step 2
instrSession.ConfigureFrequencyReference("", frequencySource, frequency) 'Step 3
specAn.ConfigureRF("", centerFrequency, referenceLevel, externalAttenuation) 'Step 4
specAn.Spectrum.Configuration.ConfigureSpan("", span) 'Step 4
specAn.SelectMeasurements("", RFmxSpecAnMXMeasurementTypes.Spectrum, True) 'Step 5
specAn.Initiate("", "") 'Step 6
specAn.Spectrum.Results.FetchSpectrum("", timeout, spectrum) 'Step 7
instrSession.Close() 'Step 8
- Open an RFmx session using RFmxInstr constructor.
- Get a SpecAn Signal using Signal Configuration methods from the RFmx session. Note: In .NET library, the Signal configuration methods are defined as extension methods on RFmxInstr in the RFmxSpecAn library. You can call these methods using RFmxInstr Session.
- Configure the Frequency Reference using Configure APIs or Set/Get APIs in RFmxInstr.
- Configure the Reference Level, Frequency, and Span using RFmxSpecAn.
- Select Spectrum measurement using RFmxSpecAn.
- Initiate the measurement using RFmxSpecAn.
- Fetch the Spectrum using RFmxSpecAn.
- Close the RFmx session using RFmxInstr.
When you use RFmxInstr APIs to configure hardware settings in an RFmx session, those settings apply to all the RFmx drivers that are present in the same RFmx session. However, the following settings are RFmx driver-specific and are not shared across different RFmx drivers within the same RFmx session:
- Center Frequency
- Reference Level
- External Attenuation
- Trigger Settings
For example, if you are making both RFmx LTE and RFmx WCDMA measurements within one RFmx session, setting the frequency in RFmx LTE does not affect the frequency used in RFmx WCDMA.