Programming a Packet Error Rate (PER) Measurement

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.

General Programming Procedure

  1. Prompt the user to connect the access terminal to the test set's front panel RF IN/OUT connector and power it on. Instruct the user that if the access terminal does not automatically open a session, perform whatever actions are necessary to open a session. See Establish a Session from the Access Terminal for more details.
  2. Prompt the user to establish an FTAP data connection. See Step 4: Make a connection for more details.
  3. Set up the PER measurement parameters as needed using the SETup:CPERror commands.
  4. Set AT Directed Packets using the CALL[:CELL]:APPLication:ATDPackets command.
  5. Set cell power as needed using the CALL:POWer command.
  6. Set the FTAP Rate as needed using the CALL[:CELL]:APPLication:FTAProtocol:DRATe command.
  7. Set the AWGN level as needed using the CALL:AWGNoise[:INTernal]:POWer[:SAMPlitude]<[:SELected]|:DIGital856> command.
  8. Initiate the PER measurement using the INITiate:<measurement mnemonic>[:ON] command. The <measurement mnemonic> for the PER measurement is CPERror.
  9. Use the FETCh:CPERror commands to obtain the measurement results. (You can also replace steps 8 and 9 with a single command - READ:CPERror[:ALL]? ).

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

Related Topics


Packet Error Rate (PER) Measurement Description

Manual Operation: Measuring Packet Error Rate (PER)

Packet Error Rate Measurement Troubleshooting

3.2.1 Demodulation of Forward Traffic Channel in AWGN

3.3.1 Receiver Sensitivity and Dynamic Range

Programming: Getting Started Guide for 1xEV-DO Terminal Test