Displays the correlation peaks when attempting to acquire a GPS signal.
Useful to debug in realtime whether a gps signal is present allowing for quick adjustments to location or orientation of antenna.
This is quite useful when using software like GNSS-SDRLIB which doesn't expose this data in realtime. Instead limited information is only shown in a text window which only updates every few seconds.
This is not GPS decoding software, it is only used for testing whether or not your gps receiver has a valid signal.
- How GPS PRN codes are generated link
- How GPS spread codes work link
- Instructions for running SDR software for decoding GPS signals youtube-link
- Website for determining which satellites are visible from your location gnss-radar
- Use windows with C++ Visual Studio development tools and vcpkg installed.
- Clone repository with submodules.
- Open up the x64 C++ developer environment for Visual Studio.
- Configure cmake:
cmake . -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=C:\tools\vcpkg\scripts\buildsystems\vcpkg.cmake
- Build:
cmake --build build --config Release
Refer to ./build/Release/gps_corr.exe -h
for instructions.
Check each PRN code from 1 to 32 and see if there are any correlation peaks. If there is a stable and prominent peak then a satellite is visible. You can then adjust your antenna's position for the best receptin in realtime.
Usage | Command |
---|---|
Running from RTLSDR v3 dongle | ./get_live_samples.sh | ./gps_corr.exe -F u8 |
Generating synthetic GPS data | ./generate_gps_data.sh |
Running on synthetic GPS data | ./gps_corr.exe -i data/gpssim_s8.bin -A -F s8 |
NOTE: Synthetic GPS data has satellites with PRNs of [2,5,12,13,14,15,18,21,22,24,25,26,29]
NOTE: Use gnss-radar to quickly skip to the most likely satellites in your location when reading from your RTLSDR v3 blog dongle.