Tagged: differential gps

Receiving Differential GPS Beacons with a HackRF

Differential GPS (DGPS) are signals that exist between 285 – 325 kHz and are used to enhance the accuracy of GPS receivers. The system can improve GPS accuracy from 15m down to 10cm in some cases. It works using a network of ground stations at a very accurate known location that continuously measure the GPS error they receive. They then broadcast this error to DGPS capable receivers. The receiver can then use this error knowledge to correct their own readings.

With an VLF capable radio these DGPS beacons can be received and decoded on your PC. Over on swling.com guest poster Mario has submitted a post showing that these DGPS beacons can be received with a HackRF SDR and the MultiPSK software. The HackRF is a $299 SDR that can tune down to VLF (at reduced sensitivity). We note that the same or better results could also be achieved with a HackRF or RTL-SDR with upconverter.

DGPS received with a HackRF
DGPS received with a HackRF

Video Showing Decoding of DGPS Beacons with SDR# and MultiPSK

Following on from our last post where dewdude showed how to decode DGPS signalsFrank K2NCC has uploaded a video on YouTube showing DGPS decoding in action. In his video Frank uses an Airspy plus ham-it-up upconverter, a Sirio discone antenna and for software he uses SDR# with audio piped into MultiPSK for decoding.

In the video you can clearly see the decoded DGPS messages showing the pseudorange corrections and station numbers. To decode DGPS with MultiPSK you will need to use the paid version which costs approximately $50 USD, however in the free version the DGPS will run for 5 minutes each time MultiPSK is opened before expiring.

Below is an example of a decoded message.

24/03/2015 02:06:09
Message type        : 9 (GPS partial correction set)
Station number      : 172 (Appleton WA USA 300.0 Khz TXID 871 100bps)
Z-count             : 4215 ( 42 mn 9.0 s )
Sequence count      : 2le factor=0.3)

Sat. ID|SF|UDRE|Pseudorange corr.  |Range rate corr.|IOD|CRC
25     |0 |1-4m|      -7.68 m      |   0.000 m/s    |62 |OK
31     |0 |1-4m|       1.54 m      |   0.000 m/s    |27 |OK
32     |0 |1-4m|       0.70 m      |   0.000 m/s    |99 |Error


Decoding Differential GPS Beacons with an RTL-SDR, Speclab and SDR#

Over on his blog “RTL-SDR DX” dewdude has been exploring the reception and decoding of Differential GPS (DGPS) signals. DGPS signals are transmitted by government authorities in the long wave band at around 300 kHz. These beacons are used to dramatically improve the accuracy of GPS (Global Positioning System) devices from their default accuracy of about 15 m down to about 10 cm. Unlike GPS signals which originate from satellites, the DGPS signal is terrestrial based and is broadcast from multiple known fixed positions. The signal itself contains information about the difference between the DGPS stations received GPS position and it’s known exact position. These differences can be used to correct other GPS receivers that receive DGPS signal.

By using his RTL-SDR (with upconverter or HF modification) dewdude was able to receive the DGPS beacon in SDR#. Then by piping the output audio into SpectrumLab’s DGPS decoder he was able to decode the data contained within the DGPS signal. His post contains a tutorial showing how to set up SpectrumLab to decode DGPS. If you’re interested in hearing what a DGPS signal sounds like, dewdude has uploaded a sound sample at the bottom of another post of his.

Decoding Differential GPS (DGPS) signals in SpectrumLab
Decoding Differential GPS (DGPS) signals in SpectrumLab