Repository navigation
VOR RX
A VOR (VHF Omnidirectional Range) ground station lets an aircraft determine its bearing (radial) to or from the station. The station radiates two 30 Hz signals: a reference phase (FM-modulated onto a 9960 Hz subcarrier) and a variable phase (AM). The phase difference between them equals the receiver's bearing from the station, so every direction around the beacon has a unique phase relationship.
VOR RX tunes the VOR band (108–117.95 MHz, AM) and recovers both 30 Hz tones to decode that bearing. To do this it keeps the channel at 48 kHz rather than applying the usual AM decimation, which would otherwise filter out the 9960 Hz subcarrier and destroy the reference phase. The decoded radial, a selectable course (OBS) and a course-deviation indicator are shown so the app works like a basic aircraft VOR instrument.
This is an external app (.ppma file on the SD card). It was introduced in #3244.
New to VOR navigation? These videos explain the concept well:
- VOR Explained Simply by FlightInsight (recommended for beginners)
- How to navigate using VOR by FlightInsight
- Status (read): displays whether the app is actively searching for VOR data or idle. Status can be changed by pressing the Start or Stop button at the bottom of the interface.
- VOR Band (read): the typical range for VOR beacons
-
Decoder (read): the status of the VOR decoder, either:
- Searching: no VOR signal has been found yet
- Locked: VOR signal is steady and valid data is being decoded
- Course (OBS) (write): Omni Bearing Selector - the heading the user wants to navigate to (target)
- Received Radial (read): the receiver's radial as seen from the VOR beacon (the bearing to reach the VOR)
-
Flag (read): if the instrument is navigating TO or FROM the VOR. There's a dead zone where the instrument will display --- and it is displayed when the user is within the dead band between the TO and FROM directions.
- See the videos above to better understand this flag
- Calibration (write): this field allows manual compensation of the decoder algorithm, useful if you're using devices that might alter the phase of the received signals (like external filters or different firmwares).
- Course Deviation Indicator (read): this gauge shows how far off you are from the selected OBS. The center of the instrument is 0° meaning you're on the exact route, each tick to the left or right indicates a 5° offset from the selected course. Scale ranges from -10° to +10°.
- LOG to SD Card (write): allows the user to collect diagnostic information for manual processing (records the heading, obs, status, and timestamp)
- Tune the VOR frequency of the nearest airport (e.g: 115.800MHz for VRN airport)
- If the correct frequency was tuned and the VOR is within range, you should hear the Morse identifier of the VOR every 10 seconds.
- Set the OBS to the course you want to navigate (e.g: 050°)
- Observe the received radial and navigate accordingly
- VOR TX — transmit a programmable VOR signal
How to collaborate
Contributing Guidelines
Trusted contributors
How to ask questions correctly
- PortaPack Versions (which one to buy)
- Features
- HackRF Versions
-
Description of the hardware
- Enclosure/cases
- Care of PortaPack/HackRF
- Repairs
- Mods
🔧 Troubleshooting
- FAQ
- SolveBoard
- 🔌 Boot & power
- 💾 Firmware & recovery
- 📡 Receive & transmit
- 💳 SD card
- 🔗 USB connectivity
- 🧩 Apps
📥 Receivers
- 2-Tone-RX
- ACARS
- ADS-B
- AFSK
- AIS Boats
- Analog TV
- APRS RX
- Audio
- BLE RX
- Detector
- EPIRB RX
- ERT Meter
- Flex RX
- Fox-Hunt
- FPV-Detect
- FT8 RX
- gfxEQ
- Level
- Meteor
- Morse RX
- NOAA
- NRF
- POCSAG
- ProtoView
- Radio
- Radiosonde
- RDS RX
- RTTY RX
- Scanner
- Search
- Signal Hunter
- Spectrum Analyzer
- SSTV RX
- SubCar
- SubGhzD
- Tetra RX
- Time Sink
- TPMS RX
- VOR RX
- Weather
- WeFax
- WMBus RX
📤 Transmitters
- 2-Tone-TX
- ADS-B(S) TX
- Adult Toys
- APRS TX
- BHT Xy/EP
- BLE TX
- BLESpam
- Burger Pager
- CVS Spam
- EPIRB TX
- Flex TX
- FlipperTX
- GPS Sim
- Hopper
- Jammer
- KeeLoq TX
- Key fob TX
- LGE Tool
- MDC-1200 TX
- Morse TX
- OOK
- OOK Brute
- OOK Editor
- P25 TX
- POCSAG TX
- RDS
- RTTY TX
- SAME TX
- Security+ TX
- Signal gen
- Soundboard
- Spectrum Painter
- SSTV
- TEDI/LCR
- TouchTunes
- TPMS TX
- VOR TX
- 🔄 Transceivers
- 🟡 Recon
- 🔴 Capture
▶️ Replay- 🖲️ Remote
- 🔍 Looking Glass
🛠️ Utilities
↳ 🐛 Debug Menu (in Utilities)
🎮 Games
⚙️ Settings
Compilation of the firmware
- Compile on WSL with ninja
- How to compile on Windows faster with WSL 2
- Compile on macOS (Docker)
- Compile on macOS (Homebrew)
- Using Docker and Kitematic
- Docker command-line reference
- Using Buddyworks and other CI platforms
- Notes for Buddy.Works (and other CI platforms)
- Using ARM on Debian host
- All in one script for ARM on Debian host
- Compile on Kali Linux (Debian-based)
- Compile on Arch based distro (exclude Asahi), or other weird distros
- General compiling guide (Linux, for experts)
- Dev build versions
- Notes About ccache
Software Dev Guides
- Code contribution rules
- Documentation standards & guidelines
- Create a Simple App
- Create a Simple External App
- External Apps informations
- Widgets
- UI positioning with macros
- SD Card (DEV)
- Access Radio Hardware
- Interpret Guru meditation crashes
- Create a Complex App
- Theme-system
- Debug via SWD & JTAG
- Debug with serial
- I2C drivers
- Unit tests
Tools
- Research
- UI Screenshots
-
Maintaining
- Creating a prod/stable release (Maintainers only)
- Maintaining rules
- Development States Notes