Tracking.jl: Accelerating multi-antenna GNSS receivers with CUDA
This repository contains the source code for the paper "Tracking.jl: Accelerating multi-antenna GNSS receivers with CUDA". It is submitted to be published in the JuliaCon Proceedings.
Scripts reproducing the benchmarks and figures can be found under /scripts, the algorithms source code under /src. Paper itself resides under /paper. Here is a URL to the current paper.pdf.
Data
You can download the raw data from the experiments on the two platforms specified in the paper here.
The dataset is identified witha a DOI: 10.5281/zenodo.5933726
How to use this repository
This code base is using the Julia Language and DrWatson
to make a reproducible scientific project named
GPUAcceleratedTracking
It is authored by Can Özmaden.
To (locally) reproduce this project, do the following:
- Download this code base. Notice that raw data are typically not included in the
git-history and may need to be downloaded independently. - Open a Julia console and do:
julia> using Pkg julia> Pkg.add("DrWatson") # install globally, for using `quickactivate` julia> Pkg.activate("path/to/this/project") julia> Pkg.instantiate()
This will install all necessary packages for you to be able to run the scripts and
everything should work out of the box, including correctly finding local paths.
Algorithms Description
NVIDIA Jetson AGX Xavier
Acknowledgements
The following packages have played a crucial role during the preparation of this paper:
- JuliaGNSS: Tracking.jl, GNSSSignals.jl
- GPU Programming: CUDA.jl
- Data analysis and visualization: BenchmarkTools.jl, DrWatson.jl, DataFrames.jl, Makie.jl