Help me identify an AIS Message (type 63???)

P

Paul

Jan 1, 1970
0
I have been seeing the following AIS message (my location is a bit north of
San Francisco), and I can't identify it in the specs I have access to:

!AIVDM,1,1,,A,?03Ovk1GP0?`000,2*33
!AIVDM,1,1,,A,?03Ovk1GP`FP000,2*2A
!AIVDM,1,1,,A,?03Ovk1a08oP000,2*1D
(these were received in this order, with other messages interspersed)

Note that the first character, which should be holding the message-type
identifier, is '?', which is the 6-bit code for 63. Is there a "Type 63"
message?

I am using the SmartRadio SR-162 receiver, and it has been working well. I
am receiving lots of other messgaes from ships and base stations, but this
one has me stumped. I would appreciate any help!

Thanks,
Paul
 
P

Paul

Jan 1, 1970
0
Meindert Sprang said:
I think you're mistaken. The '?' is 001111 binary, so it would be a type
15
message.
Decoding an ASCII character to its binary value goes like this:

ASCII value + 101000. If sum > 1000000 then add 100000 else add 101000.
Then
use the resulting 6 LSB's.

Meindert

Meindert,

Thanks! You are right, of course. I was looking at the conversion table
for ASCII-to-6bit when I should have been looking at the 6bit-to-ASCII
conversion (a mistake I have made before). My program does this correctly,
but I was just eyeballing the raw NMEA string.

So now I get to figure out how to parse Message Type 16: "Assigned Mode
Command, Assignment of a specific report behaviour by competent authority
using a base station"

Should be interesting!

Regards,
Paul
 
V

Victor Fraenckel

Jan 1, 1970
0
Meindert said:
Decoding an ASCII character to its binary value goes like this:

ASCII value + 101000. If sum > 1000000 then add 100000 else add 101000. Then
use the resulting 6 LSB's.

Meindert
I think an easier way to decode binary numbers is positional:

position weight
1 = 1
1 = 2
1 = 4
1 = 8
0 = 16
0 = 32
0 = 64
0 = 128

so the value of 001111 = 1 + 2 + 4 + 8 + 0 + 0 = 16

FYI, Download a table of ASCII values here:

http://www.cs.mun.ca/~michael/c/ascii-table.html

Just my two cents

Vic
 
V

Victor Fraenckel

Jan 1, 1970
0
Paul said:
So now I get to figure out how to parse Message Type 16: "Assigned Mode
Command, Assignment of a specific report behaviour by competent authority
using a base station"

Where are these NMEA sentences documented? I would like to add them to
my NMEA sentence parser S/W

Vic
 
P

Paul

Jan 1, 1970
0
Victor Fraenckel said:
I think an easier way to decode binary numbers is positional:

position weight
1 = 1
1 = 2
1 = 4
1 = 8
0 = 16
0 = 32
0 = 64
0 = 128

so the value of 001111 = 1 + 2 + 4 + 8 + 0 + 0 = 16

FYI, Download a table of ASCII values here:

http://www.cs.mun.ca/~michael/c/ascii-table.html

Vic-

The decoding that Meindert shows is specific to the 6-bit coding used in the
AIS NMEA messages, so there's more (and less) to it than the normal ASCII
conversion. You probably know this, but in any case, the 6-bit coding uses
selected ASCII characters to represent 6-bits of data. There are gaps in
the mapping, thus the "if-then-else" in the decoding.

-Paul
 
P

Paul

Jan 1, 1970
0
Victor Fraenckel said:
Where are these NMEA sentences documented? I would like to add them to my
NMEA sentence parser S/W

Here is a spec that includes the AIS NMEA sentences, and the coding used:

http://www.navcenter.org/marcomms/IEC/80_269e.pdf - this has a description
of the messages, the NMEA encapsulation, and of the 6-bit encoding.

This is a big document, so here is where to find the highlights:
* The message descriptions start in section 7.6.8
* There is an ascii-to-6bit mapping, shown in table 23, that is used to
encode test strings. This is not the same thing as the 6bit-to-ASCII
mapping, so don't get confused (as I did at the start of this string)
* The 6bit-to-ASCII is described starting at section G.3.6
* Examples of AIS NMEA sentences are shown in section G.3.2

-Paul
 
P

Paul

Jan 1, 1970
0
Correction: "text strings", not "test strings" (see below)
 
Top