subtypes define both the meaning of the contents and the data format of the contents
types are like this:
float4 - single precision 4-byte floating point
complex8 - single precision 8-byte complex number, composed of 4-byte real and imaginary parts in sequence.
Some data objects are a single array, and some two arrays. There is always a Y array. If there are two arrays, there is either an f array or an t array, with the Y array appended.
Y can represent multiple results for multiple channels.
f and t can be different types from Y. The meaning of Y is determined by the type and subtype.
In all cases the sub-arrays of Y have the same number of elements as the f or t.
f gives the frequencies.
Listing is
"type"
<subtype> - explanation
|"TransferFunction"|
|Subtype| description |
| 0 | Y is complex8 TF values. Assumes linear frequency starting at F0 parameter and stepping with delta F.|
| 1 | Y is complex8 "response" value. Might just be FFT output for the A channel. Frequencies are assumed linear as in subtype 0.|
2 - Y is float4, coherence. Frequencies assumed linear as in subtype 0.
3 - f is complex8, but only the real value is used, the imaginary part is ignored. Y is complex8 transfer function values.
4 - f is complex8, but only the real value is used, the imaginary part is ignore. Y is complex8 "response" value, as in subtype 1.
5 - f is float4, y is float4, coherence.
6 - f is float8, y is complex8, transfer function
7 - f is float8, y is float8 coherence
"Spectrum"
0 - Y is complex8, FFT. f assumed linear, starting at F0 and stepping by F.
1 - Y is float4, PSD, linear f as in 0.
2 - Y is complex8, CSD, linear f as in 0.
3 - Y is float4, coherence, linear f as in 0.
4 - f is complex8, but only real part used. Y is complex8, fft.
5 - f is float4, y is float4 PSDs
6 - f is complex8, but only real part used. Y is complex8 CSD
7 - f is float4, Y is float4 coherence
Proposed new:
8 - Y is complex16, FFT, f assumed linear
9 - Y is float8, PSD, f assumed linear
10 - Y is complex16, CSD, f assumed linear
TimeSeries has it's own "type" which can be 'float' or 'floatComplex', which determines whether the Y type is float4 or complex8.
"TimeSeries"
0 - Y is normal time series. t is assumed linear.
1 - Y is down-converted time series. t is assumed linear
2 - Y is averaged time seris. t is assumed linear
3 - Special format: arrays of (mean, std. dev., min., max., rms)
4 - t, same units as Y. Y is normal time series.
5 - t, same units as Y. Y is down-converted time series
6 - t, same units as Y. Y is averaged time series.
7 - special format: arrays of (t, mean, std. dev., min., max., rms)