|
Experiments are stored in two files.
Description of experiment
is stored in text *.exp file. The recorded data are stored in binary
*.d01 file.
Structure of *.d01 file
Name
|
Type
|
Description
|
|
Data amount
|
unsigned 32
|
Number of recorded variables stored.
|
|
Data format
|
unsigned 32
|
0 - data stored in double format, 1 -data stored in float
format
|
|
This section repeated amount of
times equal to Data amount value.
Data dimension
|
int 32
|
The number of dimensions of stored data.
|
Array of dimensions
|
(int 32)*4
|
The sizes of dimensions.
|
Overall data size
|
int 32
|
The size of data stored. Equal to the multiplication of all
dimension sizes.
|
This section repeated amount of
times equal to Data amount value.
Data
|
(Overall data size)*sizeof(double or float)
|
Data stored in c-style (1D array [(0,0,0,0), (1,0,0,0), ... ,
(n,0,0,0), (0,1,0,0), (1,1,0,0), ... , (n,1,0,0), ... ,
(n,m,0,0), ... , (n,m,k,l)]). Fastest index corresponds to
transient axes, slowest to Z-axes.
|
Structure of *.exp file
Exp file is written in Windows ini-file style. The section names
are enclosed in square brackets '[]'. Fields have 'field_name =
field_value' format. The order in which fields met in the file
(within one section) is insignificant. Some sections
contain the plain text. Table below present the structure of
exp-file. Required sections marked with red.
Section and field names with_underline stand for arbitrary name.
Field names in bold style stand for reserved words.
Section
|
Field
|
Value
|
Description
|
[general]
|
name
|
string
|
The name of the experiment
|
[text]
|
-
|
plain multyline text
|
Any text (sample description)
|
[sweep]
|
-
|
-
|
Experimental axis definition
|
[sweep]
|
transient
|
string
|
Transient axis. Format:
T/I,trace_length,rep_number,first_stream_name[,
second_stream_name[,..]]. T means transient trace is stored. I
means trace is integrated and only integral is stored. F.e.
transient = I,200,30,a,b means that transient data of the length
200 points were integrated, 30 shots per loop was made, two
streams a and b was stored. For single point devices trace length
is equal to 1. Streams have to be defined in the [aquisition]
section.
|
[sweep]
|
sweep0/1/...
|
string
|
The axes. Format:
X/Y/Z/S/P,trace_length,rep_number,first_par_name (or
stream_name)[, second_stream_name (or stream_name)[,..]]. F.e.
sweep0 = X,128,1,T1. The order in which parameters are defined
affect the presentation order of the axis. Corresponding data are
stored in the exp file as 1D c-style array in the order from
fastest index to slowest: I/T,X,Y and Z. S(um) and P(arameters)
axis does not increase stored data amount. Parameters have to be
described in [params] section.
|
[presetup]
|
var_name
|
string
|
The presetup axis. Actions before the experiment. Format:
value; some_property@some_device. F.e. Delay = 10
ms;Delay@ADC.
|
[aftersetup]
|
var_name
|
string
|
The aftersetup axis. Actions after the experiment. Format:
value; some_property@some_device. F.e. Delay = 10
ms;Delay@ADC.
|
[eachpoint]
|
var_name
|
string
|
The eachpoint axis. Actions that executed each points. Format:
value; some_property@some_device. F.e. Delay = 10
ms;Delay@ADC.
|
[params]
|
-
|
-
|
Parameters of experiment
|
[params]
|
par_name
|
string
|
Format: value; some_property@some_device. Value of
parameter can be: (i) comma separated list; (ii) first_value step
increment; (iii) first_value to last_value. F.e. T1 = 40 ns
step 20 ns;PPL variable or RF = 40 MHz to 60 MHz; Freq@Gen1
|
[aquisition]
|
-
|
-
|
Acquisitions streams.
|
[aquisition]
|
stream_name
|
string
|
Format: some_property@some_device. F.e. a =
In_Ch0@PulseGen.
|
[program]
|
-
|
plain multyline text
|
Pulse program.
|
[streams]
|
-
|
-
|
Supporting information about data streams.
|
[streams]
|
names
|
Comma separated string list.
|
Name of data streams (can be different from acquisition
streams). F.e. names = Re, Im.
|
[streams]
|
units
|
Comma separated string list.
|
Units of data streams. F.e. units = V, V.
|
[streams]
|
dwelltime
|
Comma separated string list.
|
Dwelltime of transient data streams. F.e. dwelltime = 10 ns, 10
ns.
|
[device_name]
|
any_field
|
device dependent.
|
Any information that device want to store to exp file.
|
|