46 Chapter 1
Programming Fundamentals
Improving Measurement Speed
Select phase noise performance
[:SENSe]:FREQuency:SYNThesis can be used to optimize either phase noise
performance or tuning speed. In some settings optimizing for tuning speed reduces
sweep time and the “re-tune” time between sweeps. In other settings only the
re-tune time is improved.
Use binary data format instead of ASCII
The ASCII data format is the instrument default since it is easier for people to
understand and is required by SCPI for *RST. However, data input/output is faster
using the binary formats.
:FORMat:DATA REAL,64 selects the 64-bit binary data format for all your
numerical data queries. You may need to swap the byte order if you are using a PC
rather than UNIX. NORMal is the default byte order. Use :FORMat:BORDer
SWAP to change the byte order so that the least significant byte is sent first.
When using the binary format, data is sent in a block of bytes with an
ASCII header.
A data query would return the block of data in the following format: #DNNN<nnn
binary data bytes>
To parse the data:
• Read two characters (#D), where D tells you how many N characters follow the
D character.
• Read D characters, the resulting integer specifies the number of data bytes sent.
• Read the bytes into a real array.
For example, suppose the header is #512320.
• The first character/digit in the header (5) tells you how many additional digits
there are in the header.
• The 12320 means 12 thousand, 3 hundred, 20 data bytes follow the header.
• Divide this number of bytes by your current data format (bytes/data point),
8 for real, 64. For this example, there are 1540 data points in the block of data.
Minimize the number of GPIB transactions.
When you are using the GPIB for control of your instrument, each transaction
requires driver overhead and bus handshaking, so minimizing these transactions
reduces the time used.
You can reduce bus transactions by sending multiple commands per transaction.
See the information on “Putting Multiple Commands on the Same Line” in the
SCPI Language Basics section.
If you are using the pre-configured
MEASURE key measurements and are making
the same measurement multiple times with small changes in the measurement
setup, use the single READ command. It is faster then using INITiate and FETCh.