THE SENSOR INFORMATION BLOCK

The four VIDF fields described below form the sensor information block. Each is an array field with a length equal to the value found in the VIDF field, Number Of Sensors. They contain information specific to the UDF sensor data and with the exception of the sensor status field are actively used by the UDF kernel software in obtaining and processing the sensor data.

SENSOR DATA FORMAT

An array field of length Number Of Sensors, this field contains the data format for each of the defined UDF sensors. Sensors within the UDF definition need not have the same formats. Different formats are taken into account on access.

There are seven defined sensor data formats of which six are currently supported in the UDF kernel. The format definitions are listed in the table below.

SENSOR DATA FORMAT DEFINITIONS
VALUE DEFINITION KERNEL SUPPORT
0 UNSIGNED INTEGER YES
1 SIGNED INTEGER YES
2 SINGLE PRECISION FLOATING POINT YES
3 DOUBLE PRECISION FLOATING POINT NO
4 HALF PRECISION FLOATING POINT: DEFINITION 1 YES
5 HALF PRECISION FLOATING POINT: DEFINITION 2 YES
6 HALF PRECISION FLOATING POINT: DEFINITION 3 YES

All integer data is stored in the format of the host machine. Floating point representations are UDF internal formats which are expanded to the host floating point representation on data access. The generic floating point expansion formula is:

Value = [(Mantissa + Highbit ) * Base(Exponent - Sig)] / Norm
The equation variables used for each of the different floating point formats are given in the following table.

UDF FLOATING POINT REPRESENTATION PARAMETER DEFINITIONS
Format Bit
Length
Mantissa
Bit Length
Exponent
Bit Length
Highbit
Setting
Base Sig Norm
2 32 25 7 0 10 7 1
3 64 55 9 0 10 16 1
4 16 9 7 0 10 2 1
5 16 8 8 128 2 128 256
6 16 9 7 0 if exponent = 0
256 otherwise
2 0 0 if exponent = 0
512 otherwise

In all cases the mantissa occupies the most significant bits in the floating point representation with the sign bit occupying the most significant bit in the mantissa field. The exponent always occupies the least significant bits in the floating point representations with the sign bit occupying the most significant bit in the exponent field.

Error conditions in the floating point representations are indicated through the sign fields with both the mantissa and exponent set to 0. The four possible states are shown in the table below.

ERROR CONDITIONS: MANTISSA AND EXPONENT MAGNITUDES = 0
Mantissa
Sign
Exponent
Sign
Condition Return Value
+ + valid data 0.0
+ - not a number 0.0
- + positive infinity largest positive value
- - negative infinity largest negative value

The sensor data format field begins with the array designation line: m followed by the input N M N is the total number of entries and is be set to the value of the Number Of Sensors field and M is the number of entries given on each line. Each of the following N lines begins with the line format b followed by M entries (except the last line which may have less). An optional comment field may be added to the end of each line.

Sample SENSOR DATA FORMAT field:
m 7  7                                          /* Sensor Data Format   */
b    0   0   1   2   0   2   1                  /* 000-006              */

SENSOR DATA LENGTH

This is an array field of length Number Of Sensors which holds the bit lengths of the the defined UDF sensors. Individual sensors within the UDF definition need not have the same bit lengths. Sensors which contain integer formatted data ( sensor data formats of 0 or 1) can have any bit length from length from 1 to 32. Sensors which contain floating point data must have the bit length of the floating point format used.

NOTE 1: Under UDF V2.1 sensor data can be stored on 1, 2, 4, 8, 16, or 32 bit boundaries. As of V2.2 data packing on 1, 2, or 4 bit boundaries has been deprecated and is no longer supported. It is, however, still supported for UDF's with version V2.1 for backwards compatibility. The most efficient method to use in dealing with non-integral word length data under UDF2.2 is to pack the data into either an 8, 16 or 32 bit data word and then use a VIDF defined algorithm to strip out the individual data word. This allows multiple lenght data to be packed into a single UDF data word.

NOTE2 : Under UDF V2.1 the UDF storage word length of both the sensor and ancillary data has to be identical. It is derived from the maximum bit defined length from both the sensor and ancillary data sets. This condition was removed in UDF V2.2.

The sensor bit length is actively used in the UDF kernel software. For signed integer data it is used to determine the location of the sign bit when expanding the data to a native integer format. It is also used to determine the number of elements to retrieve from lookup tables which are being used to operate on sensor data.

The sensor bit length field begins with the array designation line: m followed by the input N M. N is the total number of entries and is set to the value of the Number Of Sensors field and M is the number of entries given on each line. Each of the following N lines begins with the line format b followed by M entries (except the last line which may have less). An optional comment field may be added to the end of each line.

Sample SENSOR BIT LENGTH field:
m 5  5                                          /* Sensor Bit Length    */
b   16  16   13  12  16                         /* 000-004              */

SENSOR STATUS

An array field of length Number Of Sensors, this field contains the status of the defined UDF sensors. The defined status values are:
STATUS VALUES
VALUE DEFINITION
0 Sensor failed - all data should be ignored
1 Sensor operating normally
3 Sensor operating erratically - all data is suspect

The sensor status field begins with the array designation line: m followed by the input N M. N is the total number of entries and is set to the value of the Number Of Sensors field and M is the number of entries given on each line. Each of the following N lines begins with the line format b followed by M entries (except the last line which may have less). An optional comment field may be added to the end of each line.

Sample SENSOR STATUS field:
m 5  5                                          /* Sensor Status Values */
b   1   1    1   1   1                          /* 000-004              */

TIME OFFSETS

An array field of length Number Of Sensors, this field contains a time correction in milliseconds for each sensor. The correction values allow for small temporal shifts to be added to the start and stop times of the data associated with a sensor. This is useful when a measurement does not fully align in time to the beginning time of the UDF data record, that is, it is not in sync with the bulk of the measurements in the UDF data record. The correction is applied on access of the data and may be positive or negative.

The sensor time correction field begins with the array designation line: m followed by the input N M. N is the total number of entries and should be set to the value of the Number Of Sensors field and M is the number of entries given on each line. Each of the following N lines begins with the line format l followed by M entries (except the last line which may have less). An optional comment field may be added to the end of each line.

Sample TIME OFFSETS field:
m 5  5                                          /* Sensor Time Offsets  */
l   0   0    0   10   0                         /* 000-004              */

&larr Previous TOC HOME Next &rarr
Pitch Angle Block Ancillary Information Block