Real-time GPS signal simulator for bladeRF
C Other
Latest commit 4223fd7 Jan 29, 2017 @osqzss Set URA index to zero


Very crude experimental implimentation of gps-sdr-sim for real-time signal generation. The code works with bladeRF and has been tested on Windows only.

Usage: bladegps [options]
  -e <gps_nav>     RINEX navigation file for GPS ephemerides (required)
  -u <user_motion> User motion file (dynamic mode)
  -g <nmea_gga>    NMEA GGA stream (dynamic mode)
  -l <location>    Lat,Lon,Hgt (static mode) e.g. 35.274,137.014,100
  -t <date,time>   Scenario start time YYYY/MM/DD,hh:mm:ss
  -T <date,time>   Overwrite TOC and TOE to scenario start time
  -d <duration>    Duration [sec] (max: 86400)
  -x <XB_number>   Enable XB board, e.g. '-x 200' for XB200
  -i               Interactive mode: North='w', South='s', East='d', West='a'
  -I               Disable ionospheric delay for spacecraft scenario

Build on Windows with Visual Studio

Follow the instructions at Nuand wiki page and build the bladeRF library from the source with Visual Studio 2013 Express for Windows Desktop. Assume you already downloaded pthread and libusb files and successfully built the bladeRF library for your Windows environment.

  1. Start Visual Studio.
  2. Create an empty project for a console application.
  3. On the Solution Explorer at right, add the following files to the project:
    • bladegps.c and bladegps.h
    • gpssim.c and gpssim.h
    • getopt.c and getopt.h
  4. Add the paths to the following folders in Configuration Properties -> C/C++ -> General -> Additional Include Directories:
    • pthreads-w32-2-9-1-release/Pre-built.2/include for pthread.h
    • bladeRF/include for libbladeRF.h
  5. Add the paths to the following folders in Configuration Properties -> Linker -> General -> Additional Library Directories:
    • pthreads-w32-2-9-1-release/Pre-built.2/lib/x64 for pthreadVC2.lib
    • bladeRF/x64 for bladeRF.lib
  6. Specify the name of the additional libraries in Configuration Properties -> Linker -> Input -> Additional Dependencies:
    • pthreadVC2.lib
    • bladeRF.lib
  7. Select Release in the Solution Configurations drop-down list.
  8. Select X64 in the Sofution Platforms drop-down list.
  9. Run Build -> Build Solution

After a successful build, you can find the executable in the Release folder. You should put the copies of the following DLLs in the same folder to run the code:

  • bladeRF.dll
  • libusb-1.0.dll
  • pthreadVC2.dll

Build on Linux (Untested)

  1. Retrive the bladeRF source in a directory next to the current directory.

    $ cd ..
    $ git clone
  2. Build the bladeRF host library.

    $ cd bladeRF/host
    $ mkdir build
    $ cd build
    $ cmake ..
    $ make
  3. Build bladeGPS.

    $ cd ../../../bladeGPS
    $ make


Copyright © 2015 Takuji Ebinuma
Distributed under the MIT License.