Inmarsat is a communications service provider with several geostationary satellites in orbit. They provide services such as satellite phone communications, broadband internet, and short text and data messaging services. Geostationary means that the satellites are in a fixed position in the sky and do not move. From almost any point on earth at least one Inmarsat satellite should be receivable.
Inmarsat transmits in the L-band at around 1.5 GHz. With an RTL-SDR dongle, a cheap $10 modified GPS antenna or 1-2 LNA’s and a patch, dish or helix antenna you can listen to these Inmarsat signals, and in particular decode one channel known as STD-C NCS. This channel is mainly used by vessels at sea and contains Enhanced Group Call (EGC) messages which contain information such as search and rescue (SAR) and coast guard messages as well as news, weather and incident reports. More information about L band reception is available at UHF-Satcoms page. See the end of this post for a tutorial on modifying a GPS antenna for Inmarsat reception.
Also as a small aside, you might want to use this tutorial to practice your L-band reception since Outernet are planning to begin their L-band broadcasts later this year, which may be possibly be broadcast from Inmarsat or equivalent satellites. These broadcasts will be at a nearby frequency and will contain about 10 megabytes of daily data. The RTL-SDR should also be able to receive these broadcasts if a compatible decoder is written.
Some examples of the EGC messages you can receive on the STD-C NCS channel are shown below:
|Military Operations: Live Firing Warning||
STRATOS CSAT 4-AUG-2015 03:21:25 436322 SECURITE FM: RCC NEW ZEALAND 040300 UTC AUG 15 COASTAL NAVIGATION WARNING 151/15 AREA COLVILLE, PLENTY CUVIER ISLAND (REPUNGA ISLAND), BAY OF PLENTY 1. LIVE FIRING 060300 UTC TO 060500 UTC AUG 15 IN DANGER AREA NZM204. ANNUAL NEW ZEALAND NOTICES TO MARINERS NUMBER 5 REFERS. 2. CANCEL THIS MESSAGE 060600 UTC AUG 15 NNNN
|Armed Robbery / Pirate Warning||
NAVAREA XI WARNING NAVAREA XI 0571/15 SINGAPORE STRAIT. ARMED ROBBERY INFORMATION. 301845Z JUL. 01-04.5N 103-41.8E. FIVE ROBBERS ARMED WITH LONG KNIVES IN A SMALL UNLIT HIGH SPEED BOAT APPROACHED A BULK CARRIER UNDERWAY. ONE OF THE ROBBERS ATTEMPTED TO BOARD THE SHIP USING A HOOK ATTACHED TO A ROPE. ALERT CREW NOTICED THE ROBBER AND RAISED THE ALARM AND CREW RUSHED TO THE LOCATION. HEARING THE ALARM AND SEEING THE CREW ALERTNESS, THE ROBBERS ABORTED THE ATTEMPTED ATTACK AND MOVED AWAY. INCIDENT REPORTED TO VTIS SINGAPORE. ON ARRIVAL AT SINGAPORE WATERS, THE COAST GUARD BOARDED THE SHIP FOR INVESTIGATION. VESSELS REQUESTED TO BE CAUTION ADVISED.
|Armed Robbery / Pirate Warning||
NAVAREA XI WARNING NAVAREA XI 0553/15 SINGAPORE STRAIT. ROBBERY INFORMATION. 261810Z JUL. 01-03.6N 103-36.7E. DUTY ENGINEER ONBOARD AN UNDERWAY PRODUCT TANKER DISCOVERED THREE ROBBERS IN THE ENGINE ROOM NEAR THE INCINERATOR SPACE. THE ROBBER THEIR BOAT. A SEARCH WAS CARRIED OUT. NO ROBBERS FOUND ON BOARD AND NOTHING REPORTED STOLEN. VTIS SINGAPORE INFORMED. COAST GUARD BOARDED THE TANKER FOR INVESTIGATION UPON ARRIVAL AT SINGAPORE PILOT EASTERN BOARDING AREA.VESSELS REQUESTED TO BE CAUTION ADVISED. CANCEL 0552/15.
|Submarine Cable Repair Warning||
NAVAREA XI WARNING NAVAREA XI 0569/15 NORTH PACIFIC. SUBMARINE CABLE REPAIRING WORKS BY C/V ILE DE SEIN. 05 TO 20 AUG. IN VICINITY OF LINE BETWEEN A. 21-37.3N 156-11.5W AND 25-03.6N 148-43.2E. CANCEL THIS MSG 21 AUG.
|Search and Rescue – Missing Vessel||
ON PASSAGE FROM LAE (06-44S 147- 00E) TO FINSCHHAFEN (06-36S 147-51E), MOROBE PROVINCE. VESSEL DEPARTED LAE AT 310500Z JUL 15 FOR FINSCHAFFEN WITH ETA OF 310800Z JUL 15 BUT FAILED TO ARRIVE. ALL VESSELS REQUESTED TO KEEP A SHARP LOOKOUT AND BE PREPARED TO RENDER ASSISTANCE. REPORTS TO THIS STATION OR MRCC PORT MORESBY VIAEMAIL: ******@****.***.**, TELEPHONE +*** *** ****; RCC AUSTRALIA VIA TELEPHONE +*********** INMARSAT THROUGH LES BURUM (POR ***,IOR***), SPECIAL ACCESS CODE (SAC) **, HF DSC ******* NL BURUM LES 204 4-AUG-2015 03:23:14 773980 AMSA_ER 23150928 PAN PAN FM JRCC AUSTRALIA 030858Z AUG 15 INCIDENT 2015/5086 AUS4602 CORAL AND SOLOMON SEAS 23FT WHITE BANANA BOAT WITH BROWN STRIPES, AND A 40HP OUTBOARD AND 5 ADULT MALES IS OVERDUE ON PASSAGE FROM LAE (06-44S 147- 00E) TO FINSCHHAFEN (06-36S 147-51E), MOROBE PROVINCE. VESSEL DEPARTED LAE AT 310500Z JUL 15 FOR FINSCHAFFEN WITH ETA OF 310800Z JUL 15 BUT FAILED TO ARRIVE. ALL VESSELS REQUESTED TO KEEP A SHARP LOOKOUT AND BE PREPARED TO RENDER ASSISTANCE. REPORTS TO THIS STATION OR MRCC PORT MORESBY VIA EMAIL: *******@****.***.**, TELEPHONE +*** *** ****; RCC AUSTRALIA VIA TELEPHONE +************ INMARSAT THROUGH LES BURUM (POR ***,IOR ***), SPECIAL ACCESS CODE (SAC) **, HF DSC *********, EMAIL: ******@****.***.** OR BY FAX +************. NNNN
|Scientific Research Vessel Drilling – Request for wide clearance||
NL BURUM LES 204 4-AUG-2015 02:29:41 709950 AMSA_ER 23153978 SECURITE FM JRCC AUSTRALIA 040224Z AUG 15 AUSCOAST WARNING 202/15 SPECIAL PURPOSE VESSEL JOIDES RESOLUTION CONDUCTING DRILLING OPERATIONS IN POSITION 28 39.80` S 113 34.60` E 2.5NM CLEARANCE REQUESTED. NNNN
PAN PAN TROPICAL CYCLONE WARNING / ISSUED FOR THE NORTH OF EQUATOR OF METAREA XI(POR). WARNING 050900. WARNING VALID 060900. TYPHOON WARNING. TYPHOON 1513 SOUDELOR (1513) 930 HPA AT 19.9N 133.2E WEST OF PARECE VERA MOVING WEST 12 KNOTS. POSITION GOOD. MAX WINDS 95 KNOTS NEAR CENTER. RADIUS OF OVER 50 KNOT WINDS 80 MILES. RADIUS OF OVER 30 KNOT WINDS 240 MILES NORTH SEMICIRCLE AND 210 MILES ELSEWHERE. FORECAST POSITION FOR 052100UTC AT 20.1N 130.6E WITH 50 MILES RADIUS OF 70 PERCENT PROBABILITY CIRCLE. 935 HPA, MAX WINDS 90 KNOTS NEAR CENTER. FORECAST POSITION FOR 060900UTC AT 20.8N 128.1E WITH 75 MILES RADIUS OF 70 PERCENT PROBABILITY CIRCLE. 935 HPA, MAX WINDS 90 KNOTS NEAR CENTER. JAPAN METEOROLOGICAL AGENCY.=
Equipment and Software
- Receivers: An R820T2 or E4000 RTL-SDR dongle (you might try one of our improved R820T2’s with optional bias-tee built in so that powering the LNA’s or GPS antenna is as easy as plugging them in.)
- However, note that the R820T2 may not receive well above 1.5 GHz if the ambient temperature is too hot – fair warning that RX can be hit or miss at these frequencies with the R820T2. We tested at an ambient temperature of 16 degrees and it worked well, but when run in direct sunlight the RX eventually failed after 30 – 60 minutes. The E4000 should work better at L band frequencies but these tuners are rare and expensive now.
- If you have an Airspy SDR then this is even better (it has good RX at L band frequencies and has a bias tee). The HackRF and SDRPlay should also work, but note that the SDRPlay has no bias tee.
- Antennas & LNA’s: An L-band patch antenna with 1 – 2 Low Noise Amplifiers (LNA’s), a Helix antenna OR a modified GPS active antenna. We tested two antennas, one was a prototype air gap L-band patch antenna supplied by Outernet which was used together with one or two 15 dB LNA’s. The second antenna was a modified active GPS antenna. Both worked well, with the Outernet air gap patch antenna being better. (Note that we received this antenna for testing purposes, it is not yet currently on sale)
- GPS (low SNR): You can use a $3 – 10 shipped, 28 – 30 dB gain modified GPS active antenna. We show you how to modify such an antenna at the end of this post. Note that RX with this antenna is just on the edge of being able to decode the signal properly, but at this price it may be worth a shot. Also note that you will need a bias tee, or bias tee compatible dongle to power a GPS antenna.
- Patch (medium SNR): The Outernet patch antenna is now for sale on Amazon and on their store. This is the patch we recommend using and it is quite cheap too. If using a patch antenna like the Outernet one, then you will need about 15-30 dB’s of total amplifier gain which is supplied by one or two LNA’s. If a short cable run is used 15 dB should be enough, if a longer coax run is used 30 dB may be needed. Alternative patch antennas that might work include discarded L band devices such as WorldSpace antennas. Also see our new post for information from Adam 9A4QV on dimensions for building a home made patch antenna.
- Dish/Helix (highest SNR): If you want the highest SNR, then a dish or helix is the antenna to use. You can build at home a RHCP helix antenna with about 25 turns for about 15dBi of passive gain. With this only one LNA should be needed. UHF-Satcoms L-Band page shows some good information on building such an antenna. If you have a TV dish then this can also be used with a smaller LHCP (LHCP as the dish reflects the polarization) helix antenna as the feed. (Thank you Adam for the comment on these antennas.)
- To power the LNA’s or active GPS antennas you will need a bias tee or external power source near the antenna.
- For the LNA’s we used an LNA4ALL and a similar prototype LNA provided by Outernet. Note that Outernet now sell an excellent LNA+Filter on Amazon and on their store which is perfect for receiving STD-C.
- Software: The demo (or paid) version of the Inmarsat decoder from inmarsatdecoder.com. Note that Chrome and many virus detectors class this website and software as a virus, but we believe that it is a false positive. If you don’t want to risk it then an alternative with similar functions is the Tekmanoid Java based STD-C EGC decoder, but we note the first decoder appears to work much better, especially with low SNR.
- Audio Piping: You will also need to have installed SDR# or similar and Audio piping software like Virtual Audio Cable, VB Cable, or have enabled stereo mix.
The Outernet L band patch antenna is based on air gap dielectric patch antenna designs which have higher gains than ceramic patches (like the smaller ones used in the active GPS antennas). Here is what the prototype they sent us looks like. It has a VSWR of about 1.1 at 1.5 GHz and 1.45 at 1.56 GHz.
- The first step is to find out where in the sky your local Inmarsat satellites are. We think that the easiest way to do this is to use a free Android app called “Satellite AR“. Simply open this app and search the satellite database for “Inmarsat”. Choose Inmarsat 3-F or 4-F and use the augmented reality camera view to spot the position of these satellites. Note that the satellite position is fixed so the satellite will not move over time – there is no need to do any antenna tracking.
- Point the L-band antenna towards the satellite and get it in an unobtructed view of the sky.
- Connect the LNA’s near the antenna. We suggest using a few meters of coax to get the RTL-SDR a few meters away from the antenna as it’s own unintentional emissions tend to cause interference at L band frequencies. We recommend using low loss RG6 or similar, but if you have two LNA’s lower quality cable may be acceptable. Another option to prevent the interference is to shield the RTL-SDR with a metal box.
- Choose and set your default audio piping method in Windows sound recording properties (e.g. Stereo Mix, Virtual Audio Cable or VB Cable).
- Set the audio piping method to have a sample rate of 48 kHz by setting it in the Playback and Recording properties tabs.
- Open SDR# and set the output audio dropdown box to the audio piping method that you have chosen to use.
- Start SDR# and tune to 1.541450 GHz. You should see a thin signal that is about 2.5 kHz in bandwidth, this is the STD-C NCS channel. Since the signal is right hand circularly polarized (RHCP) you might try rotating the antenna you are using for best reception.
- If the signal is not at the correct frequency due to oscillator drift and PPM offset, then carefully center the signal on your tuning bar using the PPM correction in SDR#. Note that at these L band frequencies a 1 PPM adjustment can be quite large for a narrowband signal like this (1 PPM = 1.5 kHz @ 1.5 GHz). If you cannot exactly center the signal using PPM correction alone, then just manually center the signal with the mouse or tuning bar.
- Now set the mode to USB and tune exactly 2 kHz below the center frequency. E.g. in SDR# if the center frequency was exactly 1.541.450.000 kHz then tune to 1.541.448.000 kHz.
- Set the bandwidth to about 4 kHz (4000).
- Open the Inmarsat decoder demo program called tdma-demo.exe. Watch the QUAL values in the lower left. If it is near zero, turn up the volume in SDR# until you start see a number above zero. Keep adjusting the volume until the QUAL value peaks. (Alternatively open the tekamnoid decoder and adjust the volume so that the volume bar is green).
- After a few seconds you should begin to see information in the command window. Check in the Inmarsat decoder folder for automatically saved .txt files of the actual received messages, like the ones in the examples shown above.
Below is an example of what an Inmarsat STD-C NCS channel sounds like when tuned in USB mode, 2 kHz below the center frequency. Also a screenshot showing what running SDR# and Inmarsatdecoder should look like.
Note that if you don’t have a TCXO dongle then the frequency may drift significantly for the first half hour or so. Even with a TCXO a 1 PPM temperature drift at 1.5 GHz is 1.5 kHz which can be large enough to cause enough trouble with decoding a 2.5 kHz narrowband signal like this. We recommend waiting long enough for the temperature drift to settle before tuning, probably 5 to 10 minutes with a TCXO dongle and up to 30 minutes for a non-TCXO oscillator dongle. After the inmarsatdecoder program gets a lock it will continue to track the signal for drifts of about 500 Hz.
The paid version of the Inmarsat decoder can also decode private messages that are sent through the channel. This includes stuff like personal messaging and emails with attachments like office documents. The full version costs 100 euros. Note that decoding these private messages may not be legal in all countries, so please respect your local laws.
How to Modify a GPS Antenna for Inmarsat Reception
A cheap $10 USD active GPS antenna can be modified for Inmarsat reception (though we need to note that it is not a particular good antenna, but it should be enough for STD-C NCS). Note that GPS antennas are active (as in require DC power), so you will need an external bias tee module, or an SDR with a bias tee option, such as our dongles. Active GPS antennas contain a ceramic patch antenna, LNA and bandpass filter which is tuned for 1575 MHz. The bandpass filter prevents reception from signals more than 1-2 MHz away from 1575 MHz. All that is needed to modify a GPS antenna for wide band reception is for the bandpass filter to be removed. Below we show how this is done on a cheap GPS antenna that we bought.
Update: It turns out that not all GPS antennas have a bandpass filter installed. Many very cheap GPS antennas simply don’t have one installed as a cost cutting measure. These ones without filters should be good to go for Inmarsat already. Many GPS antennas will also look different on the inside with different shaped filters used.
First carefully remove the plastic case. On some antennas this can just be pulled apart with a flat head screwdriver, but on others you may need to cut apart the plastic with pliers. Inside will be the antenna. On the top will be a ceramic patch antenna, and on the bottom will be a metal reflector which will be covering the circuitry.
Using a soldering iron carefully remove the bottom reflector by desoldering the joints in the four corners. This is all that holds the reflector down. Removing the reflector will reveal the circuit.
You should be able to notice the bandpass filter on the circuit. It should be the largest component on the board and it may be labelled with the number 1575. On our antenna it was labelled with 1575P.
Carefully remove the bandpass filter. If you have the tools you can do it carefully with hot air. If you don’t have the tools you can just rip it from the board by levering and twisting it off. Just note that this will probably pull up some of the PCB pads too.
Now with the filter removed, bridge together the IN and OUT filter pads by soldering on a wire. These are usually the pads in the center of the filter. If the pads got completely removed when you ripped off the filter, then you can still bridge the gap by soldering to the connected components.
NOTE: Not all GPS antennas are the same! Some may have smaller looking filters and some may require a capacitive bridge instead of a wire bridge. See Adams video for an explanation. If the filter is connected directly between the two amplification transistors (no capacitor block already in place) then you should use a ~100pF capacitor instead of a wire bridge.
Now solder back on the reflector and put the whole thing back into the plastic case and your done! You may also want to experiment with reducing the length of the lossy RG-174 coax used on most cheap active GPS antennas, or with instead using lower loss coax like RG6.
The GPS antenna is not as good as the dedicated L-band patch antenna with LNA(s), but it was still good enough to decode the signal. See below for a waterfall comparison between the two antennas. Mouse over to see the GPS antenna waterfall. The STD-C NCS channel is the first thin line to the left of the red tuning bar.
In this setup we used two LNA’s on the Outernet patch antenna, and 3M of extension RG174 (RG174 is very bad at L-band frequencies which is why we needed to use two LNA’s, if you use RG6 cabling or similar then only one LNA should be needed). Without the extension cable only one LNA was needed for similar SNR levels. The GPS antenna used the 3M of RG174 coax that it came with. You can also improve the reception with a GPS antenna by placing it on a large metallic surface, like a cookie tin. Using the metallic surface may be the difference between getting decodes and not.
What else is at L Band?
Outernet is another signal on L-band which will soon provide public file downloads, and news and weather services. At the moment they are beta testing their service. See our tutorial at rtl-sdr.com/rtl-sdr-tutorial-receiving-and-decoding-data-from-the-outernet. (Due to be released September)
There are many signals at L band frequencies coming from Inmarsat and other satellites like Iridium. You may be interested in Iridium pager decoding which occurs at 1.626 GHz (this is even more difficult to receive with the RTL-SDR, but we think that it should be able to be done without a downconverter). Some YouTube talks and links about decoding Iridium can be found here and here, plus notes by a user on our forum here.