Ahoy! Decoding eight GMDSS Channels in a Convoy
Chris Smolinski, W3HFU, did it again: after his multi-channel attack to ALE, he now offers this highly innovative concept also for GMDSS – Black Cat GMDSS. In addition to an extraordinary sensitive decoder, it also includes smart processing of the data – from looking up vessel’s complete data from ITU’s Ship Station List (internet connection needed) to saving all data to a fully-fledged database. Welcome aboard! Now let’s set sail!
3000+ Messages a Day – received on HF
The Global Maritime Distress and Safety System is a system of different maritime communications tools on frequencies ranging from as low as 424kHz [NAVTEX] over HF and VHF up to satellite channels in the GHz region. This blog entry focus on Black Cat GMDSS decoder, hence on HF. There, the six main channels range from 2MHz to 16MHz. Reception of both, Coastal Stations and vessels, is from around the world. In this case from Vestmannaeyjar Radio in Iceland to Cape Town Radio in South Africa, and from Valparaiso Playo Ancha Radio in Chile to Taupo Maritime Radio in New Zealand. You may hear vessels of each and every kind, from small ones for pleasure to the biggest oil tankers, and all over the world. Monitoring on all six main channels in parallel, often raises 3000+ messages a day!
Robust FSK mode
Transmission is done in 2-FSK with 170Hz shift and at speed of 100Bd. Waveform is ‘kind of SITOR-B, repeating each character twice with a 400ms spread to enhance proper decoding under adverse propagation (Rec. ITU-R M.493-11). To establish a call, each station has been assigned to an unique MMSI, or Maritime Mobile Security Identity number consisting of now nine digits, in future 10 digits. MMSIs starting with 00 denote a Coastal Station, e.g., 004123100 for Guangzhou Radio/China. There is a set of 127 symbols, with the first numbers 00 to 99 representing numbers, and each of the remaining number specific situations like “110” denoting “Man over board”. The software has to look up those source-coded messages in a codebook to print a readable message, giving some sense.
Smart coding …
One message is about 6.4 seconds long. it starts with a short dot-pattern/phasing sequence for automatic tuning, followed by the content. In this live example, JRCC Australia (MMSI 003669991) is calling Merchant Oil tanker Signal Maya (MMSI 248410000) on 12577kHz at 15:59:43 UTC on November 21, 2021.
There are transmitted 23 groups (“Symbols”) in GMDSS :
- 120 120 021 007 061 000 000 108 000 050 030 000 010 118 126 126 126 126 126 126 126 122 111
and decoded as follows:
- 120 120 -> Format
- 021 007 061 000 000 -> Address – MMSI of called station
- 108 -> Category
- 000 050 030 000 010 -> Self MMSI – MMSI of calling station
- 118 126 -> first and second [none in this case, “idling”] telecommand message
- 126 126 126 -> frequency message [none in this case, “idling”]
- 126 126 122 -> end of message
- 111 -> error-check character [ECC]
- After a look-up in the codebook this turns into:
- Format: Individual call
- Address [to]: 210761000
- Category: Safety
- Self MMSI [from]: 005030001
- First telecommand: Test
… even smarter decoding!
Still not much enlightment. But BCS-GMDSS is at your service. It looks up all the cryptic numbers at different sources, even tapping official ITU webpage to enrich the vessel’s MMSI with its stunning mutltitude of information. Wrapping it up, decoding and looking-up in an internal codebook (Coastal Station) as well as in ITU sources (vessels), the above mentioned 23 symbols come out in full glory reading:
[2021-11-21 14:59:43] 12577
Symbols: 120 120 021 007 061 000 000 108 000 050 030 000 010 118 126 126 126 126 126 126 126 122 111
Self MMSI: 005030001 – Australia – JRCC AUSTRALIA 26 20′ 48″ S 120 33′ 52″ E 13669 km, 92 deg
Address: 210761000 – Cyprus
Ship: SALT LAKE CITY | Callsign: C4DS2 | MMSI: 210761000 | Cyprus (Republic of) (CYP) | Vessel ID: 9314129 | EPIRB: BE1 | 06/12/2017
Class: Merchant | Bulk carrier | | 89076 tons | 26 persons | INMARSAT C MINI M INMARSAT M VHF DSC | 24 hr service
Owner: NOBEL NAVIGATION CO LTD POB 50132 LIMASSOL CYPRUS
Misc: Former Name: THALASSINI NIKI | | EPIRB ID: 210761000 | | Telephone Bands: STUV | AAIC: GR14 | | CO | |
Format: Individual call Category: Safety First telecommand: Test
As you have seen, I already mixed some theory with some practice – as you know me.
Now for some features of the software, plus some hints to make the most out of it.
Some basics, you must be tuned to
BCS-GMDSS offers up to 8 channels in parallel which by default are set to the main six GMDSS channels plus two with only rarely traffic observed, also on 2MHz. Those channels are fed by a SDR, ideally covering the whole range from 2MHz to 17MHz, alias-free. In this range you have to place the up to eight channels, RX1 … RX8, and have their output set to VAC1 … VAC8. The inputs of the decoder have to match those VAC numbers – see screenshot.
Take some care to think about mode, tuned frequency and audio frequencies, and bandwidth. Mode can be USB, CW-U or FSK, whatever your SDR’s software offers. It is, however, mandatory that the center frequency of the audio output must match the centre frequency of the input of the decoder! Otherwise there will be no decoding.
I am using free SDRC software by Simon Brown, G4ELI, easily providing all eight channels via VAC software. I am using CW-U and a bandwidth of 400Hz, giving some room for stations which might deviate by some 10Hz from the assigned channel – the decoder automatically compensates for this. With this setup (see screenshots below), the frequency readout shows the assigned channels, plus centre frequencies of decoder and receiver are matching (here 1700Hz, as ITU recommends). The bandwidth offers a good balance of SNR and tolerance for stations with a slight offset. Your mileage may vary in some aspects, e.g., you may prefer SSB-USB mode, or your software has a BFO if you use CW …
You may also use the wrong sideband (LSB instead of USB) with your receiver – but than you just have to tick “Invert” in the decoder’s Setting menu as it then changes Mark and Space frequencies.
Order! How to cruise through this Ocean of Messages
BCS-GMDSS cleverly combines a most powerful decoder with some extras to calm the rogue waves of decoded information. First, you may reduce (or extend) the degree of information you fetch form the ITU page: Edit -> Settings -> MMSI Lookup. It is very interesting to see the maximum of data (“Most Details”), but with everyday’s monitoring just “Basic” or “Detailed” may run the show. This creenshot is showing the differences:
The second step is to distinguish the vessels from the coastal stations by color. I set the latter ones to show up in blue:
Next, BCS-GMDSS offers a Coastal Station’s database. It is a real database which, e.g., each column can be sorted. In the screenshot below, I had sorted them according to their total messages received. Then “Yusa Radio” has been double-clicked to inspect the timestamps of reception:
The “Loggings Database Search” is like a supertanker, containing all your logs which can be sorted by a double-click, plus being queried for each column, also combining different criteria. This is the most powerful database any GMDSS decoder has on board. See screenshot below for just one example:
Addendum: Where are they cruising?
The location of most Coastal stations is openly available, and their geographical coordinates are internally looked up by the software – even calculation of the distances to your location (Edit -> Settings -> Latitude:/Longitude:) is done automatically.
But where are the vessels cruising? They only rarely transmit their location in GMDSS on HF. But if they have an AIS, or Automatic Identification System, you have a fair chance to get the actual location. This system comes in two tastes: AIS and LRTI, or Long Range Identification and Tracking. AIS is using VHF. Propagation restricts the range to some ten kilometers. LRTI is using satellite (INMARSAT). There are some webpages where you get at least AIS for free – just to mention VesselFinder, VesselTracker and MarineTraffic. Their business model is to offer subscriptions for one year at a price of about 1’200 US-$ for LRTI (satellite) data, aimed mainly to the professionals. But most of those companies offer (limited) access to their AIS data for free. The two screenshots below show the difference.
The example above, bulk carrier Salt Lake City, is only availabe on LRIT. So free data are about one week old. Nevertheless, you get at least a clue where the ship had been. And if time plays no role, just look it up exactly this week later …
If you have received the following message, you are lucky:
[2021-11-22 17:02:38] 2187.5
Self MMSI: 229375000 – Malta
Ship: CMA CGM FORT DESAIX | 9HA5478 | 229375000 | MLT | MLT | 9400174 | 229375000 | 04/08/2021
Address: 002275300 – France – MRCC CORSEN 48 40′ 60″ N 2 19′ 0″ W 947 km, 252 deg
Format: Individual call Category: Safety First telecommand: Test