The ANALOG:LABELS parameter is a character data array that consists of a unique four-character ASCII (A-Z, 0-9) string for each analog channel contained within the C3D file. This is referred to as the analog channel label and is used to reference each channel of data contained within the C3D file data section in the order in which the channels are stored. Labels are typically 4-30 characters long (4 upper case characters is the default).
The purpose of the LABELS parameter is to allow applications to search for a specific channel of data by referencing its LABEL value instead of looking for a specific analog channel number. This allows applications to be written in a general manner so that they can process data by reference e.g. analyze all the EMG channels where they are identified as channels EM01 through EM32. An application written in this way will work in any environment, as it does not require that the EMG signals be stored on specific numbered ADC channels.
Note that while ANALOG:LABELS are typically four upper case characters, some applications may create labels that are longer. If compatibility with older FORTRAN based applications is required then LABELS should be only four characters long.
As described in the original (signed) C3D specifications, this parameter can refer to a maximum of 127 analog channels because the array index uses a signed byte. However, unsigned C3D files may use an unsigned byte as an array index to extend the number of LABELS to 255. Any application that reads a negative array index for LABELS should assume that the index is an unsigned byte.
Note that a C3D file may contain more or less analog channels than described by this parameter. If the C3D file contains more analog channels than are described by ANALOG:LABELS parameters then the additional analog channels must be referenced by number.