Array Configuration and Fetch Methods

RFmx WCDMA 19.1 Help

Edition Date: October 2019

Part Number: 375421H-01

»View Product Info

DOWNLOAD (Windows Only)


RFmx WCDMA 19.1 Help
RFmx WCDMA 20.0 Help

Array Configuration Methods

RFmx provides array-based configuration methods to enable you to set different values to multiple instances of an attribute in a single call to the method. The first N instances of each attribute are configured to the values specified in the corresponding elements of the array. If you pass an empty array to the input of a method, none of the instances of the attribute corresponding to that input are modified. You can pass up to M values in the array, where M is the current value of the <Number of X> attribute (for example, Number of Carriers, Number of Harmonics, Number of Offsets, and so on). If the array size, N, is smaller than M, only the first N instances of the attribute are modified.

For example, if you set SetNumberOfOffsets to 3, and if the offsetSideband parameter of the ConfigureOffsetArray method has two elements in the array, the ACP Offset Sideband attribute for the first two offset channels are set to the values in the array, and the ACP Offset Sideband attribute for the third offset channel is not modified.

In the following code, offsetPowerReferenceCarrier and offsetPowerReferenceSpecific should be of same size. In this case, the array size is equal to the value of the numberOfOffsets parameter.

C#

string selectorString = string.Empty;
int numberOfOffsets = 3;
RFmxInstrMX instrSession = new RFmxInstrMX("Rfsa", "");
RFmxSpecAnMX specAn = instrSession.GetSpecAnSignalConfiguration();
specAn.SelectMeasurements(selectorString, RFmxSpecAnMXMeasurementTypes.Acp, true);           
RFmxSpecAnMXAcpOffsetPowerReferenceCarrier[] offsetPowerReferenceCarrier = { RFmxSpecAnMXAcpOffsetPowerReferenceCarrier.Closest, RFmxSpecAnMXAcpOffsetPowerReferenceCarrier.Composite, RFmxSpecAnMXAcpOffsetPowerReferenceCarrier.Closest };
int[] offsetPowerReferenceSpecific = { 0, 1, 2 };
specAn.Acp.Configuration.ConfigureNumberOfOffsets(selectorString, numberOfOffsets);
specAn.Acp.Configuration.ConfigureOffsetPowerReferenceArray(selectorString, offsetPowerReferenceCarrier, offsetPowerReferenceSpecific);

VB

Dim selectorString As String = String.Empty Dim numberOfOffsets As Integer = 3
Dim instrSession As RFmxInstrMX = New RFmxInstrMX("Rfsa", "")
Dim specAn As RFmxSpecAnMX = instrSession.GetSpecAnSignalConfiguration()
specAn.SelectMeasurements (selectorString, RFmxSpecAnMXMeasurementTypes.Acp, True)
Dim offsetPowerReferenceCarrier As RFmxSpecAnMXAcpOffsetPowerReferenceCarrier() = {RFmxSpecAnMXAcpOffsetPowerReferenceCarrier.Closest, RFmxSpecAnMXAcpOffsetPowerReferenceCarrier.Composite, RFmxSpecAnMXAcpOffsetPowerReferenceCarrier.Closest}
Dim offsetPowerReferenceSpecific As Integer() = {0, 1, 2}
specAn.Acp.Configuration.ConfigureNumberOfOffsets (selectorString, numberOfOffsets)
specAn.Acp.Configuration.ConfigureOffsetPowerReferenceArray(selectorString, offsetPowerReferenceCarrier, offsetPowerReferenceSpecific)

Note  For array configuration methods that have multiple array inputs, you must pass identically sized arrays to each input.

To set the values to a subset of attribute instances, you can use the non-array based methods. In the non-array based methods, you can configure one or more instances of an attribute to the same value in each call to the method.

Array Fetch Methods

RFmx provides array-based fetch methods to enable you to fetch multiple instances of a result in a single call to the method. Array fetch methods return arrays containing the values for all instances of the results during a specific call to a measurement.

For example, if you have configured an ACP measurement to measure three offset channels, the array contains the results for these three offset channels.

For array-based Fetch methods, the ref arguments can be null or initialized to known sample count before fetching. API will ensure ref arguments are re-initialized to expected array size if it is null or size doesn’t match.

C#

string selectorString = string.Empty;
double timeout = 10F;
int numberOfOffsets = 6;
double[] lowerRelativePower = new double[numberOfOffsets];
double[] upperRelativePower = new double[numberOfOffsets];
double[] upperAbsolutePower = new double[numberOfOffsets];
double[] lowerAbsolutePower = new double[numberOfOffsets];
RFmxInstrMX instrSession = new RFmxInstrMX("Rfsa", "");
RFmxSpecAnMX specAn = instrSession.GetSpecAnSignalConfiguration();
specAn.SelectMeasurements("", RFmxSpecAnMXMeasurementTypes.Acp, true);
specAn.Acp.Configuration.ConfigureNumberOfOffsets(selectorString, numberOfOffsets);
specAn.Initiate(selectorString, "");
specAn.Acp.Results.FetchOffsetMeasurementArray(selectorString, timeout, ref lowerRelativePower,
                                               ref upperRelativePower, ref lowerAbsolutePower,
                                               ref upperAbsolutePower);

VB

Dim selectorString As String = String.Empty
Dim timeout As Double = 10.0
Dim numberOfOffsets As Integer = 6
Dim lowerRelativePower As Double() = New Double(numberOfOffsets) {}
Dim upperRelativePower As Double() = New Double(numberOfOffsets) {}
Dim upperAbsolutePower As Double() = New Double(numberOfOffsets) {}
Dim lowerAbsolutePower As Double() = New Double(numberOfOffsets) {}
Dim instrSession As RFmxInstrMX = New RFmxInstrMX("Rfsa", "")
Dim specAn As RFmxSpecAnMX = instrSession.GetSpecAnSignalConfiguration()
specAn.SelectMeasurements(selectorString, RFmxSpecAnMXMeasurementTypes.Acp, True)
specAn.Acp.Configuration.ConfigureNumberOfOffsets(selectorString, numberOfOffsets)
specAn.Initiate(selectorString, "")
specAn.Acp.Results.FetchOffsetMeasurementArray(selectorString, timeout, lowerRelativePower, upperRelativePower, lowerAbsolutePower, upperAbsolutePower)

WAS THIS ARTICLE HELPFUL?

Not Helpful