Notes for Programmers – Integer Analog Data

1.  By default, all analog samples are stored using signed 16-bit integers regardless of the resolution of the original data.  The actual resolution and format of the data may be recorded as indicated by setting the optional ANALOG:FORMAT parameter to the value “UNSIGNED” and the optional ANALOG:BITS parameter to the actual number of bits used, i.e., the value 12 or 16.

2.  If the ANALOG:FORMAT parameter is “UNSIGNED” then the ANALOG:OFFSET parameter must be interpreted as an unsigned integer.

3.  If the ANALOG:FORMAT parameter does not exists then assume that the analog data is signed.  This will be correct most of the time.

4.  The possibility of 16-bit integer overflow exists when applying the ANALOG:OFFSET parameter to the sampled 16-bit analog data.  It is recommended that all applications perform analog scaling calculations with more than 16-bits of resolution (typically 32-bit) to allow for internal math overflow or convert the C3D file format to floating point first.

5.  Some software applications “auto-zero” analog data values by adjusting the ANALOG:OFFSET parameter.  Thus, for example, 12-bit analog data could easily have varying ANALOG:OFFSET values that are close to 2047 but vary from channel to channel.