Programming a Dynamic Power Measurement

Programming a Dynamic Power Measurement

Last updated: December 3, 2008

This section provides an example of how to make a Dynamic Power measurement via the GPIB.

The following procedure assumes that an active link is established between the test set and the mobile station. See Establishing an Active GSM Link with the Mobile Station .

  1. Configure the Dynamic Power measurement parameters using the SETup subsystem.
  2. Initiate and fetch the Dynamic Power measurement using the READ? subsystem.

Programming Example

The following program shows how to use the Dynamic Power measurement to measure a GSM mobile station's power control level capability when using SACCH (Slow Associated Control Channel) TX Level Signaling. This technique is based upon the RF power control characteristics specified in GSM 05.08 section 6.3.0 Release 1997.

 
10 !
20     !
30       ! INITIALIZE VARIABLES IN THE TEST
40       !
50    Sacch_time=TIMEDATE     ! Set up a variable to capture test time
60    OPTION BASE 1     ! Set default lower bound of array subscripts to 1
70    REAL Integ1(100),Txp1(100),Power(300)
80    REAL Integ2(100),Txp2(100),Integ3(100),Txp3(100)
90    REAL Start_power,Stop_power,P_sum,Pave
100    INTEGER Test_set,I,Start_level,Stop_level,Count
110    Test_set=714
120    Start_level=5
130    Start_power=33.0
140    Stop_level=15
150    Stop_power=13.0
160    Count=0
170       !
180    OUTPUT Test_set;"RFAN:MAN:POW:BURS1 33"     ! Set expected power
190    OUTPUT Test_set;"SYST:CORR -1.2"      ! Set value to compensate for cable loss
200       !
210       ! SETUP DPOW PARAMETERS
220    OUTPUT Test_set;"SET:DPOW:CONT OFF;EMD 2"
230    OUTPUT Test_set;"SET:DPOW:COUN:NUMBER 300"     ! Set the number of bursts high enough
240                                                   ! to capture all 10 power level changes
250    OUTPUT Test_set;"CALL:SIGN:MS:TXL:FACCH 1"    ! Switch on FACCH mode
260    OUTPUT Test_set;"SETup:DPOW:RANGe:OFFset 0"    ! Set the range offset to zero.
270       !
280       ! CHANGE POWER LEVEL FROM 5 TO 15
290    OUTPUT Test_set;"CALL:MS:TXL:SEQ ";Start_level
300    OUTPUT Test_set;"CALL:SIGN:MS:TXL:FACCH 0"     ! Switch off FACCH signaling - only
310                                                   ! SACCH header is used
320    OUTPUT Test_set;"CALL:MS:TXL:SEQ ";Stop_level
330       !
340     ! A SHORT WAIT MIGHT BE NEEDED HERE TO ENSURE 100 PERCENT RELIABILITY OF MEASUREMENT
350     ! THIS MAY BE DEPENDENT ON THE PHONE AND IS TO ENSURE THAT VERY LAST POWER STEP IS
360     ! ALWAYS CAPTURED
370     ! WAIT .1
380       !
390       ! INITIATE DPOW MEASUREMENT AND FETCH RESULTS
400 !
410    OUTPUT Test_set;"READ:DPOW?"
420    ENTER Test_set;Integ1(*),Txp1(*)
430    OUTPUT Test_set;"FETC:DPOW:RANG2?"
440    ENTER Test_set;Integ2(*),Txp2(*)
450    OUTPUT Test_set;"FETC:DPOW:RANG3?"
460    ENTER Test_set;Integ3(*),Txp3(*)
470       !
480       ! LOAD TXP RESULTS WHICH HAVE VALID INTEGRITY INTO ARRAY
490       !
500       ! PROCESS BURSTS 1 TO 100
510    K=1
520    FOR J=1 TO 100
530        IF Integ1(J)=0 THEN
540            Power(K)=Txp1(J)
550            K=K+1
560        END IF
570    NEXT J
580       ! PROCESS BURSTS 101 TO 200
590    FOR J=1 TO 100
600        IF Integ2(J)=0 THEN
610            Power(K)=Txp2(J)
620            K=K+1
630        END IF
640    NEXT J
650       ! PROCESS BURSTS 201 TO 300
660    FOR J=1 TO 100
670        IF Integ3(J)=0 THEN
680            Power(K)=Txp3(J)
690            K=K+1
700        END IF
710    NEXT J
720       !
730    PRINT
740 !
750 ! PRINT MEASUREMENT RESULTS
760       PRINT "Measured TX Levels from 5 to 15 using SACCH Method"
770       I=1
780       FOR J=Start_level TO Stop_level
790         LOOP
800           IF I=(K-1) THEN
810           !If this is the last burst measured, then...
820               P_sum=P_sum+Power(I)  !Add to the existing sum.
830               Count=Count+1         !Increment counter.
840               Pave=P_sum/Count      !Find the average Power for the current MS TX Level.
850               PRINT "MS TX LEVEL=";J,"MEASURED POWER=";PROUND(Pave,-4)
860               GOTO 1000
870           END IF
880         !
890         EXIT IF (PROUND(Power(I),-2)-PROUND(Power(I+1),-2))>=.8
900         !A difference >=.8 corresponds to a change in the MS TX Level.
910         !
920         P_sum=P_sum+Power(I)
930         !Sum the burst power for the particular MS TX Level.
940         Count=Count+1
950         !counter for the number of bursts measured at the current MS TX Level
960         I=I+1
970         END LOOP
980         Pave=P_sum/Count
990         PRINT "MS TX LEVEL=";J,"MEASURED POWER=";PROUND(Pave,-4)
1000         P_sum=0
1010         Count=1
1020         I=I+1
1030       NEXT J
1040 ! PRINT TOTAL TIME FOR PROGRAM TO COMPLETE
1050    PRINT "Total Test Time=";PROUND(TIMEDATE-Sacch_time,-2);"Seconds"
1060    END

Returned Values

The measurements returned by this program are:

Related Topics


Dynamic Power Measurement Description

SETup:DPOWer

INITiate

FETCh:DPOWer