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 .
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
The measurements returned by this program are:
Integ1
,
Integ2
, and
Integ3
return the measurement integrity indicators for each of the ranges used when the Dynamic Power measurement is made over 300 bursts (0 means a successful measurement with no errors). If you require more details, see
Integrity Indicator
.
Txp1()
,
Txp2()
, and
Txp3()
return the average TX power results for each of the ranges used over 300 bursts. For example,
Txp1()
returns average TX power results for bursts 1 to 100.
Power()
returns average TX power results for all bursts which have been successfully measured with no errors. That is, only results with an integrity indicator of 0 are contained in
Power()
. This program does not display the entire contents of the
Power()
array. It only displays the results which correlate with power level changes 5 to 15.
Sacch_time
returns the total test time.