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
rfsaResourceName = "PXIe-5644R"
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:
Example code from the Example Code Exchange in the NI Community is licensed with the MIT license.