Programming a Fast Device Tune Measurement

Programming a Fast Device Tune Measurement

Last updated: January 16, 2009

This section is only applicable to the lab application or feature-licensed test application.

The basic procedure to make a Fast Device Tune measurement is as follows:

  1. Set the test set's initial conditions (refer to the Set_init_cond subroutine): set operating mode to FDD test, measurement frequency to manual mode, power control to manual mode, and RF generator frequency control to manual mode.
  2. Set up the MS RX Frequency/Power series (3 power step levels plus 7 dummy power levels at 4 frequency points) on the test set to match your MS's configuration (refer to the Set_msrx_series subroutine). See SETup:CFDTune for details on the commands.
  3. Set the MS TX Frequency/Power series (10 power step levels at 4 frequency points) on the test set to match your MS's configuration (refer to the Set_mstx_series subroutine). See SETup:CFDTune for details on the commands.
  4. Verify that your MS is in the proper test mode and is configured to match the MS TX/RX Frequency Power series you've specified in the test set.
  5. Order your MS to transmit continuously at >20 dB below the power level of the first step in MS TX Power Series.
  6. Initiate (arm) the measurement using the INITiate:<measurement mnemonic>[:ON] command, then use the INITiate:CFDTune:ARMed? command to verify that the test set's hardware is successfully set up and ready to receive an RF rise trigger from the MS.
  7. Order your MS to start its MS TX Frequency/Power series (which must generate an RF rise (> 20 dB) to trigger the measurement).
  8. When the measurement is finished, use the FETCh:CFDTune commands to obtain the measurement results.

Programming Example

 
10    ! ====================================================================
20    !
30    ! Fast Device Tune Programming Example for W-CDMA/HSDPA
40    !
50    ! ====================================================================
60    !
70    ! *** Initialize Program Variables ***
80    !
90       OPTION BASE 0
100       Testset=714
110       CLEAR SCREEN
120       CLEAR 7
130       CLEAR Testset
140       PRINT "*** Fast Device Tune Programming Example for W-CDMA/HSDPA***"
150       PRINT
160     !
170     !
180     !***Set up GPIB timeout***
190       ON TIMEOUT 7,32 CALL Timeout
200     ! Call "Timeout" routine after 32 seconds of GP-IB hang-up
210     !
220     !
230     ! *** Variable declarations ***
240       DIM Mstx_pow$[8000]
250       ALLOCATE REAL Mstx_pow_res(0:399)
260       Sz=16*(20+19) !ASCII Arrays = 16*(20+19) elements
270       ALLOCATE Freq_rx$[Sz],Pow_rx$[Sz],Freq_tx$[Sz],Pow_tx$[Sz]
280     !
290       Op_mode$="FDDTest" !Operating mode.
300       Meas_timeout=15 !Measurement timeout.
310     !
320       Num_freq_steps=4 !Number of Rx and Tx Frequency Steps
330       Num_pow_steps=10 !Number of Rx and Tx Power Steps
340     !
350       Str_ind_freq_rx=0 !Start Index of Rx Frequency
360       Str_ind_pow_rx=0 !Start Index of Rx Power
370     ! 
380       Freq_rx$="1932.4E6, 1950.4E6, 1966.4E6, 1982.4E6"
390     ! MS RX Frequencies
400       Pow_rx$="-80, -60, -40, -60, -60, -60, -60, -60, -60, -60"
410     ! MS RX Powers (last 7 values are "dummy" values)
420     !
430       Str_ind_freq_tx=0 !Start Index of Tx Frequency
440       Str_ind_pow_tx=0 !Start Index of Tx Power
450     !
460       Freq_tx$="1852.4E6, 1870.4E6, 1886.4E6, 1902.4E6"
470     ! MS TX Frequencies
480       Pow_tx$="16, 12, 8, 4, 0, -4, -8, -12, -16, -20"
490     ! MS TX Powers
500     !
510       Loss_frequency$="800E6"!Set frequencies for path loss
520       Expected_loss$="-1.5"!Set path loss at frequencies specified
530     !
540     !************************************
550     !***Simple Test Executive
560     !************************************
570     !
580       GOSUB Preset_test_set
590     !End any current connection and preset test set
600       GOSUB Set_path_loss
610     !Set the pass loss required for your test.
620       GOSUB Set_init_cond
630     !Set initial conditions required for the FDT test
640       GOSUB Set_msrx_series
650     !Set up the MS Rx Freq/Power Series
660       GOSUB Set_mstx_series
670     !Set up the MS Tx Freq/Power Series
680       GOSUB Check_ms_config
690     !Check UE settings match what you've set on the test set
700       GOSUB Fdt_meas
710     !Make the Fast Device Tune measurement.
720       GOTO End_program
730       !
740     !
750     !**************************************************************************
760     ! BEGINNING OF SUBROUTINES
770     !**************************************************************************
780     !
790     !
800  Preset_test_set:         !
810         !*******************************************************************
820         ! Subroutine: Preset the test set (Step 1: Set Up the Test Set)
830         !*******************************************************************
840           !
850       OUTPUT Testset;"*RST"
860         ! Full preset test set
870       RETURN
880          !
890  Set_path_loss:     !
900      !*******************************************************************
910      ! Subroutine: Set path loss values
920      !*******************************************************************
930           !
940       OUTPUT Testset;"SYST:CORR:FREQ ";Loss_frequency$
950         ! Set the frequencies for amplitude offset
960       OUTPUT Testset;"SYST:CORR ";Expected_loss$
970         ! Set the amplitude offsets for above frequencies
980       RETURN
990           !
1000  Set_init_cond:    !
1010      !*******************************************************************
1020      ! Subroutine: Set initial conditions required for the FDT Test
1030      !*******************************************************************
1040            !
1050       OUTPUT Testset;"CALL:OPER:MODE ";Op_mode$
1060          !Set Operating Mode
1070       OUTPUT Testset;"SET:CFDT:TIM "&VAL$(Meas_timeout)
1080          !Set measurement timeout.
1090       OUTPUT Testset;"CALL:CONT:DOWN:FREQ:AUTO OFF"
1100          !Set RF generator frequency control to manual mode.
1110       OUTPUT Testset;"RFAN:CONT:MEAS:FREQ:AUTO OFF"
1120          !Set receiver measurement frequency control to manual mode.
1130       OUTPUT Testset;"RFAN:CONT:POW:AUTO OFF"
1140          !Set receiver power control to manual mode.
1150       RETURN
1160      !
1170  Set_msrx_series:      !
1180           !*******************************************************************
1190           ! Subroutine: Set up the MS Rx Freq/Power Series
1200           !*******************************************************************
1210          !
1220       PRINT "*** Set the number of Tx/Rx Frequency and Power Steps ***"
1230       OUTPUT Testset;"SET:CFDT:FREQ:STEP:COUN ";Num_freq_steps
1240       OUTPUT Testset;"SET:CFDT:POW:STEP:COUN ";Num_pow_steps
1250       PRINT "Number of Tx/Rx Frequency Steps = ";Num_freq_steps
1260       PRINT "Number of Tx/Rx Power Steps = ";Num_pow_steps
1270       PRINT
1280       PRINT "*** Set MS Rx Freq/Power Series ***"
1290       Stp_ind_freq_rx=Str_ind_freq_rx+Num_freq_steps
1300          ! Compute Stop Index of Frequency steps
1310       Stp_ind_pow_rx=Str_ind_pow_rx+Num_pow_steps
1320          ! Compute Stop Index of Power steps
1330          !
1340          ! Check for Mx Rx Test Freq/Power Indicies Out of Range
1350       IF (Stp_ind_freq_rx<40 AND Stp_ind_pow_rx<40) THEN
1360           ! Set MS Rx Frequency and Power Start Indicies
1370           OUTPUT Testset;"SET:CFDT:MS:RX:FREQ:STEP:STAR:IND ";Str_ind_freq_rx
1380           OUTPUT Testset;"SET:CFDT:MS:RX:POW:STEP:STAR:IND ";Str_ind_pow_rx
1390           PRINT "MS Rx Test Start Freq Index = ";Str_ind_freq_rx
1400           PRINT "MS Rx Test Start Power Index = ";Str_ind_pow_rx
1410       ELSE
1420           PRINT
1430           PRINT "Error-The number of freq steps or power steps Out of Range (>40)"
1440           PRINT
1450           PRINT "Program Stopped"
1460           STOP
1470       END IF
1480            !
1490          !*** Set MS Rx Freq/Power Values ***
1500       OUTPUT Testset;"SET:CFDT:MS:RX:FREQ:STEP ";Freq_rx$
1510       PRINT "MS Rx Test Freq Series = ";Freq_rx$
1520       OUTPUT Testset;"SET:CFDT:MS:RX:POW:STEP ";Pow_rx$
1530       PRINT "MS Rx Test Power Series = ";Pow_rx$
1540       PRINT
1550          !
1560       RETURN
1570          !
1580  Set_mstx_series:       !
1590        !*******************************************************************
1600        ! Subroutine: Set up the MS Tx Freq/Power Series
1610        !*******************************************************************
1620       PRINT "*** Set MS Tx Freq/Power Series ***"
1630       Stp_ind_freq_tx=Str_ind_freq_tx+Num_freq_steps
1640          ! Compute Stop Index of Frequency steps
1650       Stp_ind_pow_tx=Str_ind_pow_tx+Num_pow_steps
1660          ! Compute Stop Index of Power steps
1670          !
1680          ! Check for MS Tx Test Freq/Power Indicies Out of Range
1690       IF (Stp_ind_freq_tx<40 AND Stp_ind_pow_tx<40) THEN
1700           ! Set MS Tx Frequency and Power Start Indicies
1710           OUTPUT Testset;"SET:CFDT:MS:TX:FREQ:STEP:STAR:IND ";Str_ind_freq_tx
1720           OUTPUT Testset;"SET:CFDT:MS:TX:POW:STEP:STAR:IND ";Str_ind_pow_tx
1730           PRINT "MS Tx Test Start Freq Index =";Str_ind_freq_tx
1740           PRINT "MS Tx Test Start Power Index =";Str_ind_pow_tx
1750       ELSE
1760           PRINT
1770           PRINT "Error-The number of freq steps or power steps Out of Range (>40)"
1780           PRINT
1790           PRINT "Program Stopped"
1800           STOP
1810       END IF
1820            !
1830           !*** Set MS Tx Freq/Power Values ***
1840           !
1850       OUTPUT Testset;"SET:CFDT:MS:TX:FREQ:STEP ";Freq_tx$
1860       PRINT "MS Tx Test Freq Series = ";Freq_tx$
1870       OUTPUT Testset;"SET:CFDT:MS:TX:POW:STEP ";Pow_tx$
1880       PRINT "MS Tx Test Power Series = ";Pow_tx$
1890       PRINT
1900          !
1910       RETURN
1920      !
1930  Check_ms_config:          !
1940          !*******************************************************************
1950          ! Subroutine: Check UE's Configuration Matches Test Set's
1960          !*******************************************************************
1970       PRINT "************** NOTE *****************************************"
1980       PRINT "Make sure that your UE is placed into a test mode, and is properly"
1990       PRINT "configured to measure the MS RX Freq/Power series and transmit"
2000       PRINT "the MS TX Freq/Power series you've set in the test set."
2010       PRINT
2020       PRINT "Order your UE to transmit continuously at >20 dB below the power level"
2030       PRINT "of the first step in MS Tx Power Series"
2040       PRINT "*************************************************************"
2050       PRINT
2060       LINPUT "Press ENTER when finished",Keyboard$
2070       RETURN
2080            !
2090  Fdt_meas:     !
2100        !*******************************************************************
2110        ! Subroutine: Perform FDT Measurement
2120       !*******************************************************************
2130      !
2140       OUTPUT Testset;"INIT:CFDT"
2150      !Arm the FDT measurement and start to build the MS Tx and Rx Freq/Power Series.
2160       OUTPUT Testset;"INIT:CFDT:ARMed?"
2170      !Queries that the MS Tx and Rx Freq/Power Series is successfully built
2180      !and the test set is ready for test.
2190       ENTER Testset;Meas_arm
2200       IF Meas_arm THEN
2210           PRINT "Command the UE to trigger the measurement (20 dB RF rise)..."
2220           PRINT
2230           !
2240           !***Obtain measurement results***
2250           OUTPUT Testset;"FETC:CFDT?"
2260           ENTER Testset;Integrity,Freq_step_cnt,Pow_step_cnt,Num_meas,Mstx_pow$
2270           !
2280       ELSE
2290           PRINT "The test set is not properly armed. Please check the MS Tx and"
2300           PRINT "Rx Freq/Power Series Setups."
2310           GOTO End_program
2320       END IF
2330           !
2340       PRINT "*** Print MS Tx Measurement Results ***"
2350       PRINT
2360       PRINT "Integrity = ";Integrity
2370       PRINT "Number of Freq Steps = ";Freq_step_cnt
2380       PRINT "Number of Power Steps = ";Pow_step_cnt
2390       PRINT "Total Number of Meas Results = ";Num_meas
2400       PRINT
2410          !
2420          !Convert ASCII Array to Real Array
2430       FOR N=1 TO Num_meas
2440           Dynamic_mkr=((N-1)*17)
2450        !Set up a marker that will jump to each comma in the ascii string
2460           Mstx_pow_res(N)=VAL(Mstx_pow$[Dynamic_mkr+1,Dynamic_mkr+16])
2470        !Convert ascii to a numeric value
2480       NEXT N
2490            !
2500          ! PRINT "MS Tx Power Results:"
2510       PRINT "Freq Step #   Power Step #  Meas Power[dBm/5 MHz]"
2520       PRINT
2530       FOR N_freq=0 TO Freq_step_cnt-1
2540           FOR N_pow=0 TO Pow_step_cnt-1
2550               PRINT N_freq+1," ",N_pow+1," ",Mstx_pow_res(N_freq*Pow_step_cnt+N_pow+1)
2560           NEXT N_pow
2570           PRINT
2580       NEXT N_freq
2590        !
2600       RETURN
2610       !
2620  End_program:     !
2630          !*******************************************************************
2640          ! Subroutine: End of all testing clean up
2650          !*******************************************************************
2660            !
2670       OUTPUT Testset;"*RST"
2680      !Full preset test set
2690       DEALLOCATE Mstx_pow_res(*),Freq_rx$,Pow_rx$,Freq_tx$,Pow_tx$
2700       PRINT
2710       PRINT "End of Program"
2720       END
2730      !
2740      !**************************************************************************
2750      ! SUB-PROGRAM SECTION
2760      !**************************************************************************
2770            !
2780  Timeout: SUB Timeout            ! Global timeout handler
2790           PRINT
2800           PRINT "Program timed out, check setup"
2810           CLEAR 7
2820           CLEAR Testset
2830           STOP
2840       SUBEND
2850      !
2860 !

The measurement results include an integrity indicator, the number of frequency steps (Freq_step_cnt), the number of power steps at each frequency (Pow_step_cnt), number of MS TX power steps measured (Num_meas should equal Freq_step_cnt * Pow_step_cnt), followed by Num_meas power results.

A sample output from this program example is shown below:

Related Topics