Agilent Technologies Home Page 8960 Series 10 Wireless Communications Test Set
- +
Home | Product Web Site | Contact Us
+
- -
+ -
8960 GSM/GPRS/EGPRS Online User's Guide
E1968A, E6701F, E6704A
Search this guide for     
search tips



Feedback
Did the information on this web page help answer your question or solve a problem?

Yes
No
Did not apply

Please provide additional comments about this page.
(Optional, 255 character max)


Email address (optional):

Privacy Notice: We will not sell or give away your email address to any third party.

 



Step 5: INITiate and FETCh Measurements

Last updated: December 3, 2008

This step explains how to:

INITiate a set of measurements

The example below illustrates how to start three measurements running concurrently.

 
1860  ! Start a set of concurrent measurements:
1870  !
1880  OUTPUT Test_set;"INIT:PVT;PFER;ORFS"

FETCh measurement results using a subroutine

In a typical control program, measurements are repeated on various frequencies and power levels. Therefore, it is desirable to have a subroutine capable of fetching multiple measurement results. The example code below demonstrates how you might create a subroutine for fetching the measurement results. Refer to Step 5: INITiate and FETCh Measurements for more information about the different measurement results that are available and how to fetch them.

 
3630  SUB Global_fetch
3640    OPTION BASE 1
3650    COM /Address/Test_set
3660    REAL Pvt(5)
3670  !
3680  !  Determine if a measurement is done:
3690  !
3700      LOOP
3710        OUTPUT Test_set;"INIT:DONE?"
3720        ENTER Test_set;Meas_done$
3730  !
3740  ! Obtain measurement results: Each measurement illustrates a
3750  ! different way of reading in results. There is no one right way.
3760  ! The method used is application dependent. Note that the examples
3770  ! do not show all possible ways.
3780  !
3790        SELECT Meas_done$
3800  !
3810        CASE "PVT"
3820          OUTPUT Test_set;"FETC:PVT?"
3830          ENTER Test_set;Integrity,Mask,Txp,Pvt1,Pvt2,Pvt3,Pvt4,Pvt5
3840          IF (Integrity=0) THEN
3850              Print_pvt(Mask,Txp,Pvt1,Pvt2,Pvt3,Pvt4,Pvt5)
3860          ELSE
3870            GOSUB Bad_measurement
3880          END IF
3890  !
3900        CASE "PFER"! Phase & Frequency Error measurement done.
3910          OUTPUT Test_set;"FETC:PFER?"
3920          ENTER Test_set;Integrity,Rms_ph_er,Peak_ph_er,Worst_frq_er
3930          IF (Integrity=0) THEN
3940            PRINT "RMS Phase Error: ";Rms_ph_er;" deg"
3950            PRINT "Peak Phase Error: ";Peak_ph_er;" deg"
3960            PRINT "Worst Freq Error: ";Worst_frq_er;" Hz"
3970          ELSE
3980            GOSUB Bad_measurement
3990          END IF
4000  !
4010        CASE "ORFS"! ORFS measurement done.
4020  !
4030  ! This code illustrates a more `generic' approach to reading
4040  ! measurement results. By using the capabilities designed into
4050  ! high-level measurements, routines that access measurement
4060  ! results do not have to explicitly know what the measurement
4070  ! execution conditions were.  That information can be determined
4080  ! at the time the measurement results are queried.
4090  !
4100          OUTPUT Test_set;"FETC:ORFS:INT?"! Check integrity.
4110          ENTER Test_set;Integrity
4120          IF (Integrity=0) THEN
4130  ! Get the number of offsets tested.
4140            OUTPUT Test_set;"SET:ORFS:SWIT:FREQ:POIN?"
4150            ENTER Test_set;Points
4160            IF Points THEN ! Only query if one or more offsets tested.
4170              ALLOCATE Swit_res(Points),Swit_offs(Points)
4180  ! Get measurement offsets.
4190              OUTPUT Test_set;"SET:ORFS:SWIT:FREQ?"
4200              ENTER Test_set;Swit_offs(*)
4210  ! Get results
4220              OUTPUT Test_set;"FETC:ORFS:POW?"
4230              ENTER Test_set;Tx_power
4240              OUTPUT Test_set;"FETC:ORFS:SWIT:MAX?"
4250              ENTER Test_set;Swit_res(*)
4260              PRINT USING "19X,""TX Power ="",M2D.2D,"" dBm""";Tx_power
4270              PRINT "     Offset(kHz)          Level(dBm)"
4280              PRINT "     -----------          ----------"
4290 Orfs_image:  IMAGE 6X,M4D.2D,12X,M4D.2D
4300              FOR J=1 TO Points
4310                PRINT USING Orfs_image;(Swit_offs(J)/1.E+3),Swit_res(J)
4320              NEXT J
4330              DEALLOCATE Swit_res(*),Swit_offs(*)
4340            END IF
4350  ! Get the number of offsets tested.
4360              OUTPUT Test_set;"SET:ORFS:MOD:FREQ:POIN?"
4370              ENTER Test_set;Points
4380              IF Points THEN ! Only query if one or more offsets tested.
4390                ALLOCATE Mod_res(Points),Mod_offs(Points)
4400  ! Get measurement offsets
4410                OUTPUT Test_set;"SET:ORFS:MOD:FREQ?"
4420                ENTER Test_set;Mod_offs(*)
4430  ! Get results
4440                OUTPUT Test_set;"FETC:ORFS:POW?;MOD?"
4450                ENTER Test_set;Tx_power,Pwr_30khz,Mod_res(*)
4460                PRINT "ORFS Mod Results: TCH=";Tch;"and TXL=";Ms_pwr_lvl
4470                PRINT "30 KHz BW Power =";Pwr_30khz;" dBm"
4480                PRINT "     Offset(kHz)          Level(dB)"
4490                PRINT "     -----------          ---------"
4500                FOR J=1 TO Points
4510                  PRINT USING Orfs_image;(Mod_offs(J)/1.E+3),Mod_res(J)
4520                NEXT J
4530                DEALLOCATE Mod_res(*),Mod_offs(*)
4540              END IF
4550          ELSE
4560            GOSUB Bad_measurement
4570          END IF
4580        END SELECT
4590      EXIT IF Meas_done$="NONE"
4600      END LOOP ! If `WAIT' is returned from `INIT:DONE?' query, it
4610               ! just falls through the loop.
4620      SUBEXIT


Top of pagetop of page     

+ +