|
|
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
.
-
Configure the Dynamic Power measurement parameters using the SETup subsystem.
-
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:
-
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.
|
|