Step 5: INITiate and FETCh Measurements

Step 5: INITiate and FETCh Measurements

Last updated: January 16, 2009

The following information provides additional details on Step 5 of the Programming Flowchart. This information is applicable to all test applications.

Description

This step involves making measurements on the mobile station.

The test set has multiple signal paths and processors, which means you can make measurements concurrently and reduce test time. Making concurrent measurements involves starting a group of measurements, fetching the results of the measurements as they complete, and then verifying that the results are valid.

In this step you may also choose to make measurements in a more sequential way.

Contents

Concurrent Measurement Process

Process for Making Concurrent Measurements

Start a Set of Concurrent Measurements

The INITiate command is used to start measurements. Each individual measurement can be started using the INITiate command. For starting measurements, the syntax of the INITiate command is as follows:

 
INITiate:<measurement mnemonic>[:ON]

More than one measurement can be started using a single INITiate command. For example:

 
OUTPUT Test_set;"INIT:TXP;PFER"

starts the transmit power measurement and the phase and frequency error measurement. These measurements then run concurrently.

Determine if a Measurement Is Done

Use the INITiate:DONE? query command to determine which measurement has completed.

This command is a query only and returns only one response per query. The responses returned and their meanings are shown in the following table:

Responses Returned from INITiate:DONE? Query

Response String

Meaning
<MEASUREMENT1
mnemonic>
MEASUREMENT1 is done.
<MEASUREMENT2
mnemonic>
MEASUREMENT2 is done.

WAIT

There are one or more measurements that are in progress,
but none of those measurements are done yet.
NONE No measurements are in progress.

Once a measurement is reported as being complete via the INITiate:DONE? query it is removed from the done list (it is not reported again). To use the INITiate:DONE? query properly, your control program should immediately fetch a measurement's results once it is reported as being complete.

Obtain a Set of Measurement Results

In order to minimize bus traffic and reduce test time, the test set's measurements are designed to return multiple measured values in response to a single measurement request.

For example, if a transmit power measurement with averaging is initiated there are five measurement results available. These are:

  1. Measurement integrity value
  2. Average value
  3. Minimum value
  4. Maximum value
  5. Standard deviation value

The test set can return the measurement results in a variety of formats to suit your needs using the FETCh? subsystem. The general structure of the FETCh? command is as follows:

 
FETCh:<measurement mnemonic>:<result format>?

For example, the transmitter power measurement results can be returned as:

Example FETCh? Result Formats

Command

Results Returned

FETC:TXP?

Measurement integrity and average value

FETC:TXP:POW:ALL?

Minimum, maximum, average and standard
deviation values

FETC:TXP:POW:AVER?

Average value only

FETC:TXP:POW:MIN?

Minimum value only
FETC:TXP:POW:MAX?

Maximum value only

FETC:TXP:POW:SDEV?

Standard deviation value only

FETC:TXP:INT?

Measurement integrity value only

Concurrent Measurement Process Programming Example
 
! Start a Set of Concurrent Measurements:
!
OUTPUT Test_set;"INIT:TXP;PFER"
!
! Determine if a Measurement Is Done:
!
LOOP
  OUTPUT Test_set;"INIT:DONE?"
  ENTER Test_set;Meas_done$
!
! Obtain a Set of Measurement Results:
!
  SELECT Meas_done$
    CASE "TXP"
      OUTPUT Test_set;"FETC:TXP:POW?"
      ENTER Test_set;Avg_tx_power
    CASE "PFER"
      OUTPUT Test_set;"FETC:PFER:RMS?"
      ENTER Test_set;Max_rms_phas_er
  END SELECT
EXIT IF Meas_done$="NONE"
END LOOP

Validate Measurement Results

Validating measurement results is extremely important. The test set returns a result if it is capable of making a measurement, even if this result is obtained under adverse conditions.

The measurement integrity indicator is a measurement result and therefore is queried using the FETCh subsystem. A value of 0 indicates that the measurement is valid. A value other than 0 indicates that an error occurred during the measurement process.

Example Integrity Indicators
Value Returned Description
(message also appears on test set)
0 Normal
1 No Result Available
2 Measurement Timeout
5 Over Range
6 Under Range
Programming Example
 
OUTPUT Test_set;"FETC:DTXP?"
ENTER Test_set;Integrity,Avg_dig_pow
IF Integrity=0 THEN
   PRINT "AVG DIG POW= ";Avg_dig_pow
ELSE
   PRINT "DTXP Measurement Error"
   PRINT "DTXP Measurement Integrity is ";Integrity
END IF

Alternative Measurement Process

You may choose to test in a sequential way rather than use the concurrent measurement process.

For instance, instead of using the INIT:DONE? query to determine when a measurement is complete, you may choose to initiate a set of measurements and then simply fetch them sequentially.

Programming Example

 
OUTPUT Test_set; "INIT:DTXP;MACC"
OUTPUT Test_set; "FETC:DTXP:POW?"
ENTER Test_set;Avg_dig_pow
OUTPUT Test_set; "FETC:MACC:EVM[1]?"
ENTER Test_set;Max_EVM1

In this example, the test set starts both measurements at the same time. However, if the MACC measurement finishes first, the results are not fetched until the DTXP measurement finishes. Therefore, this process requires that you understand the order in which measurements will complete in order to optimize your testing speed.