VOR VHF Omni-Directional Range – GNU Radio Decoder


Fig.1 YYZ DVOR Receive Spectrum on RTL-SDR

VOR VHF Omni-Directional Range is an aircraft navigational system developed just before WWII and implemented after the war. It operates in the VHF band from 108.0 – 118MHz. In my previous two posts I looked at receiving a local DVOR signal at my home QTH, then using various on line references, I simulated the signal in Scicos. In this post I will decode the signal using GNU Radio and see whether it matches my Scicos simulation and the on line references. This was my first time looking at this type of signal, so I was learning on the go. I was not able to receive the signals as an airplane would at altitude, but on the same geographic elevation as the counterpoise.

Signal Capture

Fig.2 DVOR Receiver RTL-SDR with Horizontal Whip
Fig.3 GNU Radio NBFM Marine Receiver for DVOR Signal Capture
Fig.4 GNU Radio DVOR Signal Capture Playback Receiver
Fig.5 GNU Radio DVOR Signal Capture Spectrum
Fig.6 GNU Radio DVOR Waterfall Spectrum

In order to capture the local DVOR signal, I used an RTL-SDR version 2 with a horizontal whip (Fig.2). I used the NBFM Marine receiver schematic that I had previously used and added a File Sink block to store the signal capture (Fig.3). This allowed me to analyze the signal later. I also used SDR# with the RTL-SDR and enabled the recording feature to get a signal capture. I then had two different ways of analyzing the signal and comparing.

Replacing the RTL-SDR block with a file source (Fig.4), I played back the signal capture and the spectrum (Fig.5) was identical to the SDR# spectrum (Fig.1). The next step was to decode for the various components. The AM modulated Morse signal can be easily seen/heard on the GNU Radio waterfall spectrum (Fig.6).

30Hz Mag North Reference Signal

Fig.7 DVOR Mag North 30Hz Decoder
Fig.8 DVOR Mag North Decoded 30Hz Reference 33.3msec

The Magnetic North 30Hz reference signal AM modulates the carrier as I understand the DVOR operation. It is transmitted continuously from the centre located Alford loop antenna. Figure 7 shows the GNU Radio schematic used to decode this signal. The saved signal capture is first low pass filtered at 500Hz to remove the AM modulated Morse signal and the FM modulated sub carriers at +/-9960Hz. The signal is then AM demodulated and band pass filtered to extract the 30Hz component.

30 Hz Variable Signal

Fig.9 DVOR 9960Hz Subcarrier Spectrum

Figure 9 shows the spectrum around the +9960 subcarrier taken from the decoder schematic of Figure 4. According to the references, the FM deviation is 480Hz so if the modulation frequency is 30Hz, then the FM modulation index is 480/30 = 16. The many sidebands this gives rise to are separated by 30Hz.

Fig.10 YouTube Video VOR VHF Omni-Directional Range – GNU Radio Decoder


So after my first exposure to this signal, we can see the AM modulated Morse identity at 1020Hz, the AM modulated Mag North 30Hz reference signal and the Variable FM modulated 30Hz signal at +/-9960Hz with multiple sidebands.

GNURadio Companion Basics Course:

Please send your comments, questions and suggestions to:

YouTube Channel
YouTube Channel


#1. – “VHF Omni-Directional Range – Scicos Simulation”

#2. – “VHF Omni-Directional Range – Splat! Path Analysis_a”

#3. – “VHF Omni-Directional Range”

#4. – “The Technical Wizardry of VORs – How They Work”

By Jeremy Clark

Jeremy Clark is a Senior Telecommunications Engineer and Advanced Amateur Radio Operator VE3PKC. He is the author of E-Books on Telecommunications, Navigation & Electronics.