Loading...
 

Emergency Position + Status

000 - 03


Version 0.2 (20190913)



Application Data Block (ADB)


ADB bit allocation table:

JANUS Bits
ADB Field Bit #
Descriptor
Bits per Field
Description
Comments
23-3033-26 Schedule
8
Used only if Schedule Flag bit equals 1 (has no use in the context of the DISSUB message)
32-3924-17 Station Identifier
8
Station identifier of sender
40-4716-9 Destination Identifier
8
Station identifier of receiver
48-568-0 Payload Size
9
Size of CARGO


Note: Only 33 bits of the 34 bits are used.

CARGO


CARGO bit allocation table:

CARGO Bits
Descriptor
Bits per Field
Description
Comments
1-10 Nationality
10
Two-letter country codes according to ISO 3166 standard Each letter is coded in ASCII with 5 bits (the two MSBs are masked), for example:
'A' is coded as 0b00001
'Z' is coded as 0b11010
Undefined nationality is coded as 0b1111111111
11-34 Latitude
24
Latitude in 90/8388607 deg  increments (range +/-90 deg)
North = positive (as per 2's complement),
South = negative (as per 2's complement).
The value 8388608 (0x800000 in hexadecimal) is not defined as a Latitude value. Can be used to code an error condition.
(see Note 1)
35-59 Longitude
25
Longitude in 90/8388607 deg increments (range +/-180 deg)
East = positive (as per 2's complement),
West = negative (as per 2's complement).
Longitude.
The value 16777216 (0x1000000 in hexadecimal) is not defined as a Longitude value. Can be used to code an error condition.
(see Note 1)
60-72 Depth
13
Value in [m] with 1 [m] resolution Depth_encoded is the bit pattern that encodes the Depth value in [m].
depth_encoded = depth
For depth >= 8191 [m], depth_encoded = 8191, No Depth available.
73-81 Speed
9
Value in [kn] with 0.1 [kn] resolution. Mapping Rules
value_float is the actual Speed value in [kn].
value_int is the bit pattern that codes the Speed value (written as an integer in decimal notation).
Integer to Volume [kn] conversion:
value_float =  value_int * 0.1
Float [kn] to integer conversion:
value_int =  round(value_float * 10.0)
For value_float >= 51.1 [kn], value_int = 511, No Speed available.
Round towards nearest integer (rounding halfway cases away from zero)
82-90 Heading
9
0..359.55 deg
(in 0.705 deg increments)
Mapped according to:
Code          Value [deg]
-------------------------
   0             0
   1             0.705
   :             :
 510           359.55
 511           n.a.
 -------------------------
The Heading value is coded with a Uniform Quantization.
Mapping Rules
value_float is the actual Heading value in [deg].
value_int is the bit pattern that codes the Heading value (written as an integer in decimal notation).
Integer to heading [deg] conversion:
value_float = value_int * 0.705
For value_int = 511 No Heading Available

Float [deg] to integer conversion:
Round towards nearest integer (rounding halfway cases away from zero)
value_int = round(value_float/0.705)
91-96 O2
6
Value in volume % with a 0.1 resolution. Mininum value is 17 %.Mapping Rules
value_float is the actual O2 value in [%].
value_int is the bit pattern that codes the O2 value (written as an integer in decimal notation).
Integer to Volume [%] conversion:
value_float =  value_int * 0.1 + 17
Float [%] to integer conversion:
For value_float >= 17 [%] and value_float < 23.3 [%],
value_int =  round((value_float - 17) * 10.0)
elsewhere 
value_int = 63, No O2 available.
Round towards nearest integer (rounding halfway cases away from zero)
97-102 CO2
6
Value in volume % with a 0.1 resolution. Same mapping and round rules as Speed.
CO2_encoded is the bit pattern that encodes the CO2 value in [%].
For CO2 >= 6.3 [%], CO2_encoded = 63, No CO2 available.
103-110 CO
8
Value in ppm with a 1 ppm resolution. CO_encoded is the bit pattern that encodes the CO value in [ppm].
CO_encoded = CO
For CO >= 255 [ppm], CO_encoded = 255, No CO available.
111-116 H2
6
Value in volume % with a 0.1 resolution. Same mapping and round rules as Speed.
H2_encoded is the bit pattern that encodes the H2 value in [%].
For H2 >= 6.3 [%], H2_encoded = 63, No H2 available.
117-126 Pressure
10
Atmospheric pressure value in [bar] with a 0.1 resolution. Mininum value is 0.9 bar.Mapping Rules
value_float is the actual Pressure value in [bar].
value_int is the bit pattern that codes the Pressure value (written as an integer in decimal notation).
Integer to Volume [bar] conversion:
value_float =  value_int * 0.1 + 0.9
Float [%] to integer conversion:
For value_float >= 0.9 [bar] and value_float < 103.2 [bar],
value_int =  round((value_float – 0.9) * 10.0)
elsewhere
value_int = 1023, No Pressure available.
Round towards nearest integer (rounding halfway cases away from zero)
127-132 Temperature
6
Value in degrees Celsius with a 1°C resolution. Temperature_encoded is the bit pattern that encodes the Temperature value in [°C].
Temperature_encoded = Temperature
For Temperature >= 63 [°C], Temperature_encoded = 63, No Temperature available.
133-140 Survivors
8
Value in number of survivors (pax) with a 1 pax resolution. Survivors_encoded is the bit pattern that encodes the Survivors value in [pax].
Survivors_encoded = Survivors
For Survivors >= 255 [pax], Survivors_encoded = 255, No Survivors available.
141-156 CRC16
16
CRC16
(X^16 + X^15 + X^2 + 1)
Full description of CRC16



Note 1:
Latitude and Longitude are angles in decimal degrees: 1 deg = (pi/180) rad

Test Point 1:
Angle   Value        Binary and Hexadecimal        Unsigned Binary in Decimal Notation
--------------------------------------------------------------------------------------
Lat:     +44.098596  0b001111101011011111001111    4110287
                     0x3EB7CF
Lon:      +9.862522  0b0000011100000011011010110   919254
                     0x00E06D6

Test Point 2:
Angle   Value        Binary and Hexadecimal        Unsigned Binary in Decimal Notation
--------------------------------------------------------------------------------------
Lat:     +38.729201  0b001101110001010011011111    3609823
                     0x3714DF
Lon:      -9.190332  0b1111100101110110111100111   32697831
                     0x1F2EDE7




Revision History
Date
Version
Description
Authors
2019/09 0.2 Changes:
- The field Nationality uses 10 bits instead of 16.
- The field Latitude uses 24 bits instead of 28.
- The field Longitude uses 25 bits instead of 29.
- The field Depth uses 13 bits instead of 10.
- The field Heading uses 9 bits instead of 12.
- The field O2 has a mininum value of 17%.
- The field Pressure has a mininum value of 0.9.
- The field Survivors uses 8 bits instead of 6.
- The field CRC uses 16 bits instead of 8.
NATO STO CMRE
2017/10 0.1 Message format published in:
R. Petroccia, J. Alves and G. Zappa, "JANUS-Based Services for Operationally Relevant Underwater Applications," in IEEE Journal of Oceanic Engineering, vol. 42, no. 4, pp. 994-1006, Oct. 2017. doi: 10.1109/JOE.2017.2722018
NATO STO CMRE