|
|
Programming a Packet Error Rate (PER) Measurement
Last updated: July 23, 2008
The following example is based on an FTAP data connection for subtype 0 physical layer test. The general procedure is also applicable to the test based on an FETAP data connection. See
Control Program Examples
for the comprehensive test programs.
Programming Example: 3.2.1 Demodulation of Forward Traffic Channel in AWGN
10 ! 3.2.1 Demodulation of Forward Traffic Channel in AWGN,
20 ! This programming example assumes the access terminal
30 ! is connected to the test set and in an FTAP data connection.
40 !
50 Testset=714
60 OPTION BASE 1
70 DIM Awgn_per_data$(18,3)[12]
80 ! Declare array to hold data AWGN PER test
90 !
100 DISP "Testing Demod of Traffic Channel in AWGN"
110 !
120 !***Set up test parameters***
130 !
140 Ior=-55
150 ! Cell power for test
160 !
170 !***Set up measurement parameters***
180 !
190 Max_packets=10000
200 ! Maximum packets
210 !
220 OUTPUT Testset;"SETUP:CPERROR:COUNT ";Max_packets
230 ! Set MAXIMUM PACKETS for test
240 OUTPUT Testset;"SETUP:CPERROR:CONTINUOUS OFF"
250 ! Set measurement to single trigger
260 OUTPUT Testset;"SETUP:CPERROR:TIMEOUT 25"
270 ! Set measurement timeout to 25 s
280 !
290 !***Set test conditions***
300 !
310 OUTPUT Testset;"CALL:APPLICATION:ATDPACKETS 50"
320 ! Set AT Directed Packets to 50%
330 OUTPUT Testset;"CALL:POW ";Ior
340 ! Set cell power for test
341 OUTPUT Testset;"CALL:MS:PDRop 28"
342 ! Set Pilot Drop to -14 dB
343 GOSUB Ftap_connect
344 ! After setting Pilot Drop, connection will be dropped.
345 ! Must re-establish the FTAP connection using proper sub-routine.
350 !
360 ! Read test data into array.
370 ! Values are Ioc (AWGN), FTAP data rate, and PER requirement for
380 ! 18 tests (C.S0033 tests 6 and 10 are not performed because
390 ! settings are duplicates)
400 !
410 RESTORE
420 DATA -70.4,"S01K2458",1,-68.4,"S01K2458",1,-65.8,"S01K1843",1
430 DATA -65.1,"S01K1843",1,-60.9,"S02K1229",3,-61.0,"S02K1229",.5
440 DATA -58.1,"S02B921600",3,-58.2,"S02B921600",.5,-60.5,"S01K1229",1
450 DATA -55.5,"S02B614400",1,-52.5,"S04B307200",1,-55.6,"S01B614400",5
460 DATA -55.7,"S01B614400",1,-55.8,"S01B614400",.5,-52.5,"S02B307200",1
470 DATA -49.4,"S04B153600",1,-46.4,"S08B76800",1,-43.6,"S16B38400",1
480 !
490 READ Awgn_per_data$(*)
500 !
510 CLEAR SCREEN
520 !
530 FOR I=1 TO 18
540 ! Loop to set parameters and measure PER for 18 tests
550 !
560 OUTPUT Testset;"SETUP:CPERROR:CONF:REQ "&Awgn_per_data$(I,3)
570 ! Set CONFIDENCE LIMIT
580 OUTPUT Testset;"CALL:APPLICATION:FTAP:DRATE "&Awgn_per_data$(I,2)
590 ! Set FTAP data rate
600 OUTPUT Testset;"CALL:AWGN:POW "&Awgn_per_data$(I,1)
610 ! Set AWGN POWER level
620 WAIT .1
630 !
640 !***Obtain measurement results***
650 !
660 OUTPUT Testset;"INITIATE:CPERROR"
670 ! Initiate a packet error rate measurement
680 DISP "Measuring PER"
690 OUTPUT Testset;"FETCh:CPERROR?"
700 ! Query the test set for packet error rate results
710 ENTER Testset;Integrity,Per_test,Per_ratio,Per_count,Packets_tested
720 !
730 SELECT Per_test
740 ! Assign pass/fail results to a string
750 CASE 0
760 Pass_fail$="PASS"
770 CASE 1
780 Pass_fail$="FAIL"
790 CASE 2
800 Pass_fail$="MAX PACKETS"
810 CASE 3
820 Pass_fail$="UNKNOWN"
830 END SELECT
840 !
850 !***Print measurement results***
860 !
870 PRINT
880 PRINT "Results PER with AWGN, "&Awgn_per_data$(I,2)&" Rate"
890 PRINT
900 PRINT "Integrity indicator = ",Integrity
910 PRINT "PER Test Results = ",Pass_fail$
920 PRINT "PER Ratio (%) = ",Per_ratio
930 PRINT "PER Errors Count (Packets) = ",Per_count
940 PRINT "Packets Tested = ",Packets_tested
950 PRINT
960 !
970 NEXT I
980 !
990 PRINT "PER with AWGN Tests Complete"
1000 !
1010 !***Post test clean up***
1020 !
1030 OUTPUT Testset;"CALL:AWGN:POW:STATE OFF"
1040 ! Turn off AWGN
1050 OUTPUT Testset;"INIT:CPER:OFF"
1060 ! Turn off PER measurement
1070 OUTPUT Testset;"CALL:POW -55"
1080 ! Set cell power back to normal level
1090 DISP ""
1100 !
1110 END
Programming Example: 3.3.1 Receiver Sensitivity
10 ! 3.3.1 Receiver Sensitivity
20 ! This programming example assumes the access terminal
30 ! is connected to the test set and in a 307.2 kbps
40 ! (2-slot version) FTAP data connection.
50 !
60 Testset=714
70 !
80 DISP "Testing Receiver Sensitivity"
90 !
100 !***Set up test parameters***
110 !
120 Ior=-105.5
130 ! Cell power for sensitivity test
140 !
150 !***Set up measurement parameters***
160 !
170 Max_packets=10000
180 ! Maximum packets
190 Conf_limit=.5
200 ! 0.5% confidence limit
210 !
220 OUTPUT Testset;"SETUP:CPERROR:COUNT ";Max_packets
230 ! Set MAXIMUM PACKETS FOR TEST
240 OUTPUT Testset;"SETUP:CPERROR:CONF:REQ ";Conf_limit
250 ! Set CONFIDENCE LIMIT
260 OUTPUT Testset;"SETUP:CPERROR:CONTINUOUS OFF"
270 ! Set measurement to single trigger
280 OUTPUT Testset;"SETUP:CPERROR:TIMEOUT 10"
290 ! Set mesurement timeout to 10 s
300 !
310 !***Set test conditions***
320 !
330 OUTPUT Testset;"CALL:APPLICATION:ATDPACKETS 50"
340 ! Set AT Directed Packets to 50%
350 OUTPUT Testset;"CALL:POW ";Ior
360 ! Set Cell Power for Test
370 WAIT .5
380 ! Settling time for access terminal power to slew
390 !
400 !***Obtain measurement results***
410 !
420 OUTPUT Testset;"INITIATE:CPERROR"
430 ! Initiate a packet error rate measurement
440 DISP "Measuring PER"
450 OUTPUT Testset;"FETCh:CPERROR?"
460 ! Query the test set for packet error rate measurement results
470 ENTER Testset;Integrity,Per_test,Per_ratio,Per_count,Packets_tested
480 !
490 SELECT Per_test
500 ! Assign pass/fail results to a string
510 CASE 0
520 Pass_fail$="PASS"
530 CASE 1
540 Pass_fail$="FAIL"
550 CASE 2
560 Pass_fail$="MAX PACKETS"
570 CASE 3
580 Pass_fail$="UNKNOWN"
590 END SELECT
600 !
610 !***Print measurement results***
620 !
630 CLEAR SCREEN
640 PRINT "Sensitivity Test Results:"
650 PRINT
660 PRINT "Integrity Indicator = ",Integrity
670 PRINT "PER Test Result = ",Pass_fail$
680 PRINT "PER Ratio (%) = ",Per_ratio
690 PRINT "PER Error Count (Packets) = ",Per_count
700 PRINT "Packets Tested = ",Packets_tested
710 PRINT
720 PRINT "Sensitivity Test complete"
730 !
740 !***Post test clean up***
750 !
760 OUTPUT Testset;"INIT:CPER:OFF"
770 ! Turn off PER measurement
780 OUTPUT Testset;"CALL:POW -55"
790 ! Set cell power back to normal level
800 DISP ""
810 !
820 END
Programming Example: 3.3.1 Dynamic Range
10 ! 3.3.1 Dynamic Range
20 ! This programming example assumes the access terminal
30 ! is connected to the test set and in a 2457.6 kbps
40 ! (1-slot version) FTAP data connection.
50 !
60 Testset=714
70 !
80 DISP "Testing Dynamic Range"
90 !
100 !***Set up test parameters***
110 !
120 Ior=-25
130 ! Level for dynamic range test
140 !
150 !***Set up measurement parameters***
160 !
170 Max_packets=10000
180 ! Maximum packets
190 Conf_limit=.5
200 ! 0.5% confidence limit
210 !
220 OUTPUT Testset;"SETUP:CPERROR:COUNT ";Max_packets
230 ! Set MAXIMUM PACKETS FOR TEST
240 OUTPUT Testset;"SETUP:CPERROR:CONF:REQ ";Conf_limit
250 ! Set CONFIDENCE LIMIT
260 OUTPUT Testset;"SETUP:CPERROR:CONTINUOUS OFF"
270 ! Set measurement to single trigger
280 OUTPUT Testset;"SETUP:CPERROR:TIMEOUT 10"
290 ! Set measurement timeout to 10 s
300 !
310 !***Set test conditions***
320 !
330 OUTPUT Testset;"CALL:APPLICATION:ATDPACKETS 50"
340 ! Set AT Directed Packets to 50%
350 OUTPUT Testset;"CALL:POW ";Ior
360 ! Set Cell Power for Test
370 WAIT .5
380 ! Settling time for access terminal power to slew
390 !
400 !***Obtain measurement results***
410 !
420 OUTPUT Testset;"INITIATE:CPERROR"
430 ! Initiate a packet error rate measurement
440 DISP "Measuring PER"
450 OUTPUT Testset;"FETCh:CPERROR?"
460 ! Query the test set for packet error rate measurement results
470 ENTER Testset;Integrity,Per_test,Per_ratio,Per_count,Packets_tested
480 !
490 SELECT Per_test
500 ! Assign pass/fail results to a string
510 CASE 0
520 Pass_fail$="PASS"
530 CASE 1
540 Pass_fail$="FAIL"
550 CASE 2
560 Pass_fail$="MAX PACKETS"
570 CASE 3
580 Pass_fail$="UNKNOWN"
590 END SELECT
600 !
610 !***Print measurement results***
620 !
630 CLEAR SCREEN
640 PRINT "Dynamic Range Test Results:"
650 PRINT
660 PRINT "Integrity Indicator = ",Integrity
670 PRINT "PER Test Results = ",Pass_fail$
680 PRINT "PER Ratio (%) = ",Per_ratio
690 PRINT "PER Errors Count (Packets) = ",Per_count
700 PRINT "Packets Tested = ",Packets_tested
710 PRINT
720 PRINT "Dynamic Range Test complete"
730 !
740 !***Post test clean up***
750 !
760 OUTPUT Testset;"INIT:CPER:OFF"
770 ! Turn off PER measurement
780 OUTPUT Testset;"CALL:POW -55"
790 ! Set cell power back to normal level
800 DISP ""
810 !
820 END
Programming Example: 5.2 Data Rate Control Performance
10 !5.2 Data Rate Control Performance
20 ! This programming example assumes the access terminal
30 ! is connected to the test set and in an FTAP data connection.
31 !
50 !
60 Testset=714
61 OPTION BASE 1
62 !
70 !
80 DISP "Testing Data Rate Control Performance"
90 !
100 !***Set up test parameters***
110 !
120 Ior=-55
130 ! Cell power for test
131 Ioc=-56.3
132 ! AWGN power for test 1
133 !
134 !***Set up measurement parameters***
135 !
136 Max_packets=10000
137 ! Maximum packets
138 !Conf_level=95
139 ! Confidence Level
140 !
141 OUTPUT Testset;"SET:CPER:CONF 95"
142 !;Conf_level
143 ! Set Confidence Level to 95%
144 OUTPUT Testset;"SET:CPER:CONF:REQ 2"
145 ! Set PER Requirement to 2.00%
146 OUTPUT Testset;"SET:CPER:COUNT ";Max_packets
147 ! Set Maximum Packet Count
149 !
150 !
151 !***Set test conditions***
152 !
153 OUTPUT Testset;"CALL:POW ";Ior
154 ! Set cell power for test
155 OUTPUT Testset;"CALL:AWGN:POW ";Ioc
156 ! Set AWGN power for test 1
157 OUTPUT Testset;"CALL:APPL:DRCC:VFMA OFF"
158 ! Set DRC Value Fixed Mode Attribute to Off
159 OUTPUT Testset;"CALL:APPL:TRAF:ETER:STAT ON"
160 ! Set Forward Early Termination State to On
161 OUTPUT Testset;"CALL:MS:DRCL SLOT2"
162 ! Set DRC Length to 2 slots
163 OUTPUT Testset;"CALL:CCH:DRAT BPS38400"
164 ! Set Control Channel Date Rate to 38.4 kbps
165 OUTPUT Testset;"CALL:APPL:ATDP 100"
166 ! Set AT Directed Packet to 100%
167 !
168 !
169 CLEAR SCREEN
173 !
180 !
190 !***Obtain measurement results***
191 OUTPUT Testset;"INITIATE:CPERROR"
192 ! Initiate a packet error rate measurement
193 DISP "Measuring PER"
194 OUTPUT Testset;"FETCh:CPERROR?"
195 ! Query the test set for packet error rate results
196 ENTER Testset;Integrity,Per_test,Per_ratio,Per_count,Packets_tested
197 !
198 SELECT Per_test
199 ! Assign pass/fail results to a string
200 CASE 0
201 Pass_fail$="PASS"
202 CASE 1
203 Pass_fail$="FAIL"
204 !
205 CASE 2
206 Pass_fail$="MAX PACKETS"
207 !
208 CASE 3
209 Pass_fail$="UNKNOWN"
210 !
211 END SELECT
212 !
215 !
216 !
217 OUTPUT Testset;"FETCh:CPERror:THRoughput?"
218 ! Query the test set for packet error rate results
219 ENTER Testset;Throughput
220 !
221 !
222 !***Print measurement results***
223 !
224 PRINT
225 PRINT "Data Rate Control Performance Results:"
226 PRINT
227 PRINT "Integrity indicator = ",Integrity
228 PRINT "PER Test Results = ",Pass_fail$
229 PRINT "PER Ratio (%) = ",Per_ratio
230 PRINT "PER Errors Count (Packets) = ",Per_count
231 PRINT "Packets Tested = ",Packets_tested
232 PRINT
233 PRINT "Thoughput = ",Throughput
234 PRINT
235 PRINT "Data Rate Control Performance Test complete"
239 !
240 !***Post test clean up***
241 !
242 OUTPUT Testset;"CALL:AWGN:POW:STATE OFF"
243 OUTPUT Testset;"INIT:CPER:OFF"
244 ! Turn off PER measurement
245 OUTPUT Testset;"CALL:POW -55"
246 ! Set cell power back to normal level
247 DISP ""
248 !
249 END
|
|