Agilent Technologies Home Page 8960 Series 10 Wireless Communications Test Set
- +
Home | Product Web Site | Contact Us
+
- -
+ -
8960 cdma2000 Online User's Guide
E1962B, E6702B
Search this guide for     
search tips



Feedback
Did the information on this web page help answer your question or solve a problem?

Yes
No
Did not apply

Please provide additional comments about this page.
(Optional, 255 character max)


Email address (optional):

Privacy Notice: We will not sell or give away your email address to any third party.

 



Programming a Fast Device Tune Measurement

Last updated: July 4, 2006

This section is only applicable to the lab application and to a test application with the required feature license.

This section provides an example of how to make a Fast Device Tune (FDT) measurement via GPIB.

The following program example assumes that the mobile station (MS) is connected to the test set's RF IN/OUT connector.

The basic procedure to make the FDT measurement is as follows:

  1. Set the test set's initial conditions required for FDT measurement (refer to Set_init_cond subroutine):
    set the operating mode to IS-2000 Test mode, measurement frequency to manual mode, receiver power to manual mode, and RF generator frequency control to manual mode.
  2. Set the MS Rx Frequency/Power series (10 power step levels at 4 frequency points) on the test set to match your MS's configuration (refer to 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 Set_mstx_series subroutine). See SETup:CFDTune for details on the commands.
  4. Verify that your MS is placed into the test mode and has properly configured for calibration.
  5. Order the MS to transmit continuously at >20 dB below the power level of the first step in the MS TX Power Sequence.
    Note: If your MS TX Power Sequence starts at a power level that is less than 20 dB above the minimum transmit power of your MS, then you must include a trigger pulse as the first step in the MS TX Power Sequence. The power level of this trigger pulse will be measured by the test set as one of the steps in the sequence.
  6. Initiate (arm) the FDT measurement using the INITiate<:measurement mnemonic>[:ON] (this prepares the test set's hardware to execute the frequency/power series you've specified and arms the measurement's RF rise trigger).
  7. Send the INITiate:CFDTung:ARMed? query and wait for it to return a value of 1 , indicating that the measurement is armed and ready to be triggered.
  8. Order your MS to begin transmission of its MS TX Frequency/Power Series (the MS should then increase its output power by more than 20 dB to reach the first step in the series, which triggers the measurement with an RF rise).
  9. Once triggered, the FDT measurement performs a series of channel power measurements at each step of the MS TX Frequency/Power Series. When finished, use the FETCh:CFDTune commands to obtain power results for all of the measured steps.

Programming Example

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

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

A sample output from this program example is shown below:




Top of pagetop of page     

+ +