Simrad EM 3000
The Simrad EM 3000 is a proprietary binary protocol with a fixed-length format, used in multibeam echo sounder systems for hydrographic surveying and seabed mapping.
Data:
Roll, pitch
Heave
Heading
Format:
<S><H><Rr><Pp><Xx><Yy>
Simrad EM 3000 protocol description | |||||
---|---|---|---|---|---|
FIELD N. | FIELD | DESCRIPTION | UNIT | DATA TYPE | NOTE |
Byte 0 | S | status code | - | U8 | See status table below for details. |
Byte 1 | H | header | - | U8 | 0x90 |
Byte 2-3 | R | roll LSB | [deg] | I16 | Sign: Positive (+) when port up. Range: [-17999, 17999]. Resolution 0.01 degrees per bit. |
r | roll MSB | ||||
Byte 4-5 | P | pitch LSB | [deg] | I16 | Sign: Positive (+) bow up. Note: Sign of pitch angle is opposite of standard INS convention. Range: [-17999, 17999]. Resolution: 0.01 degrees per bit. |
p | pitch MSB | ||||
Byte 6-7 | X | heave LSB | [cm] | I16 | Sign: Positive (+) when elevated. Range: [-999, 999]. Resolution: 1 cm per bit. |
x | heave MSB | ||||
Byte 8-9 | Y | heading LSB | [deg] | U16 | Heading increase in clockwise direction. Range: [0, 35999]. Resolution: 0.01 degrees per bit. |
y | heading MSB |
Status code:
Simrad EM 3000 status code description | |
---|---|
Status code | Description |
0x90 | normal |
0x91 | reduced performance |
0xA0 | invalid data |
Example:
Simrad EM 3000 frame with raw example data is listed below.
Byte 0 | Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Byte 6 | Byte 7 | Byte 8 | Byte 9 |
---|---|---|---|---|---|---|---|---|---|
0x90 | 0x90 | 0x3C | 0x00 | 0x45 | 0x01 | 0x10 | 0x00 | 0x2E | 0x01 |
Decode raw U16 values from the Simrad EM 3000 frame above to get roll, pitch, heave and heading by using hex-to-decimal conversion and the resolution.
Status code
Status code: 0x90. This refers to normal operation.
Roll calculation
Resolution: 0.01 degrees per bit.
Roll U16 value (little-endian): (0x00 x 256) + 0x36 = (0 x 256) + 60 = 60.
Roll angle = roll U16 value x resolution = 60 x 0.01 degrees = 0.6 degrees.
Pitch calculation
Resolution: 0.01 degrees per bit.
Pitch U16 value (little-endian): (0x01 x 256) + 0x45 = (1 x 256) + 69 = 325.
Pitch angle = pitch U16 value x resolution= 325 x 0.01 degrees = 3.25 degrees.
Heave calculation
Resolution: 1 cm per bit.
Heave U16 value (little-endian): (0x00 x 256) + 0x10 = (0 x 256) + 16 = 16.
Heave = heave U16 value x resolution = 16 x 0.01 m = 0.16 m.
Heading calculation
Resolution: 0.01 per bit.
Heading U16 value (little-endian): (0x01 x 256) + 0x2E = (1 x 256) + 46 = 302.
Heading angle = heading U16 value x resolution = 302 x 0.01 degrees = 3.02 degrees.
Note 1
Simrad EM 3000 follows little-endian format: LSB is stored at the lowest memory address, followed by the MSB.
Note 2
The reference frame for data (e.g., roll) is configurable in the Simrad EM 3000 protocol. Also, the data's location (e.g., MRU or MP1) is configurable.