Example Code

Use Multiple RFmx Personalities Using the Same Hardware in .NET

Code and Documents

Attachment

Overview

With the release of RFmx 2.0, multiple cellular personalities are now available for eay measurement configuration. However, sometimes a specific custom measurement needs to be made that is not part of the existing personality, so we need to revert to the SpecAn mode. It is possible to configure two measurements using two personalities on the same hardware, which is what this example covers.

Another use case is if multiple standards will be configured and measured during a full test. It is possible to configure all the measurements prior to initiating the test, even if they are not all part of the same personality. This speeds up the actual test time since all measurements are already configured, and the hardware utilization can be maximized.

Description

This example shows how to configure more than one RFmx standard on the same instrument handle. This is useful when configuring multiple standards, or if

you want to make non-standard measurements in addition to standard-specific measurements.

In this example we look at a 10MHZ FDD LTE signal, where a non-standard ACP measurement is required. Since the RFmx LTE Personality cannot perform custom ACP offsets

and integration bandwidths, a RFmx SpecAn ACP measurement is configured instead.

Since the two measurements are on separate personalities, separate acquisitions do not require result-naming for downstream result retrieval. Each personality (SpecAn

and LTE) will initiate and hold the results in the default "" result container. RFmx LTE results are not accessible by the SpecAn personality and vice-versa.

While the two standards are configured separarately, they can be initiated one after the other and minimize the downtime between measurements. This is done using the

RFmxInstr "Wait for Acquisition Complete" method - as soon as this function returns, a new measurement that has been configured and enabled can be initiated, regardless of

the standard:

lte.SelectMeasurements("", RFmxLteMXMeasurementTypes.ModAcc, true);

lte.Initiate("", "");

instrSession.WaitForAcquisitionComplete(timeout);

specAn.SelectMeasurements("", RFmxSpecAnMXMeasurementTypes.Acp, true);

specAn.Initiate("", "");

It is also useful to note that all RFmx personalities in .NET are created from a common RFmx Instr object, which effectively accesses the hardware session.

This example was merged from the RFmx shipping examples "RFmxLteModAccSingleCarrier" and "RFmxSpecAnAcp"

Steps to Implement or Execute Code

  1. Open the RFmxLTEandSpecAn solution attached
  2. Change the rfsaResourceName to the name of your instrument alias (line 147).
    rfsaResourceName = "PXIe-5644R"
  3. Run the solution
  4. Note that you will need a signal at the RF input to get proper results and trigger the measurements. The example is expecting a marker trigger at PFI0 and a LTE10MHz fully-filled QPSK FDD signal at 1.95GHz. This is the default configuration in the NI LTE Generation Interactive Panel.

Requirements

Software

NI-RFmx 2.0 or later (2.1 was used in this example)

     - need SpecAn and LTE personalities

Hardware

VST or VSA compatible with RFmx 2.0 (NI PXIe-5644R was used in this example)

LTE Fully-Filled 10MHz QPSK signal at the RF In terminal (1.95GHz)

Additional Images or Video

Console Output of the example:

RFmxLTE+SpecAn_ConsoleOutput.png


Xavier

Example code from the Example Code Exchange in the NI Community is licensed with the MIT license.

Contributors