GPS on OpenCPN


The GPS Global Positioning System is ubiquitous these days and can be even found equipped on all new smart phones. GPS information can easily be displayed on OpenCPN charts.

GPS Global Positioning System

The GPS system started as Navstar in the 1970s and became fully operational with at least 24 satellites continually orbiting the Earth in the mid 1990s (Ref.1). The GPS satellites are MEOs or Medium Earth Orbiting with a height above ground of 20,200Km and orbital period of 12hrs. Transmit power is 25W. The GPS signal can be simulated with Scicos as shown in Figure 1. The L1 carrier frequency of 1575.42MHz is BPSK modulated with a C/A code of 1Mbps which is Modulo2 mixed with a Nav message of 50bps (Ref.2). In order to show the sidebands, the simulation uses 100Mbps for C/A and 50Mbps for Nav msg to show the Mod2 action.

Fig.1 GPS Tx Simulation
Fig.2 GPS Tx Modulo2 Adder C/A Signal & Nav message
Fig.4 GPS Tx Spectrum Showing Nulls at Fc +/- C/A Rate


Let’s look at the possibility of seeing a GPS receive signal using the RTL-SDR receiver. First let’s do a receive level calculation:
Freq_L1 = 1575.42MHz
Ptx = 25W = 44dBm
Gtx = 13dBi
Ltx = 1.5dB
EIRPtx = 55.5dBm
R = 20,200Km
Lfs = 32.44 + 20*log10(Freq_MHz) + 20*log10(R_Km) = 182.5dB
Prx = 55.5dBm – 182.5dB = -127dBm
Figure 5 shows the receive noise level around the GPS L1 frequency = -100dBm approx. So the GPS signal is below noise level. A receive antenna with gain or an active antenna is required. In the next post I will use the active patch antenna from the Lassen-IQ receiver module and connect it to the RTL-SDR to see if we can receive the GPS signal.

Fig.5 Signal Hound Spectrum of GPS Band 1575.42MHz +/- 2.5MHz

GPS on OpenCPN

In order to see the GPS receiver signals on OpenCPN, I have to use Ubuntu 20.04 Linux. Both of my receivers (Garmin GPS38 circa 1994 & Lassen-IQ circa 2003) require virtual com port drivers to connect to the USB port on the Windows 10 Laptop. Windows 10 does not recognize the original FTDI 232BM driver. I installed Ubuntu 20.04 on a virtual machine on Windows 10, so no problem. In Ubuntu, the FTDI driver is recognized by:
$dmesg | grep FTDI
To get USB access into the Virtual Machine:
$sudo gpasswd –add urname dialout
Check 4800 8/1/N on putty: serial /dev/tty/USB0
Now setup a connection on OpenCPN and voila!!!!!

Fig.6 YouTube Video GPS on OpenCPN

Please send your comments, questions and suggestions to:

YouTube Channel
YouTube Channel


#1. -“GPS Global Positioning System”

#2. – “GPS Signals”

#3. – “RF Signal Propagation Calculations”

#4. – “NEMA 0813”

#5. – “Visual GPSView”

#6. – “OpenCPN”

#7. – “RTL-SDR for AIS_2”

#8. – “RTL-SDR for AIS_1”

#7. – “RTL-SDR for Weather Radio”