When storing analog data using floating-point format, the analog information is stored as a floating-point value. This is usually the (12 to 16 bit resolution) analog sample value after conversion to its equivalent floating-point value. Floating-point analog data storage is organized in exactly the same way, within the C3D file data section, as the integer analog data.
The parameters ANALOG:GEN_SCALE and appropriate ANALOG:SCALE values must be applied to the floating-point value to obtain real world units in exactly the same way as we scale the integer formatted data.
Thus, a floating-point analog sample is calculated as:
real world value = (data value - zero offset) * channel scale * general scale
Where:
‘zero offset’ is in the “ANALOG: OFFSET” parameters (integer)
‘channel scale’ is in the “ANALOG: SCALE” parameters (floating-point)
‘general scale’ is the “ANALOG: GEN_SCALE” parameter (floating-point)
When a C3D file contains floating-point analog data then any corresponding 3D points must also be stored in floating-point format.
More:
Notes for Programmers - Floating Point Analog Data