/LimeGPS

Real-time GPS signal simulator for LimeSDR

Primary LanguageCMIT LicenseMIT

LimeGPS

Yet another crude experimental implimentation of gps-sdr-sim for real-time signal generation. The code works with LimeSDR and has been tested on Windows 10 and Ubuntu 17.10. The default TX antenna port is TX1_1.

Usage: limegps [options]
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)
  -a <rf_gain>     Normalized RF gain in [0.0 ... 1.0] (default: 0.1)
  -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 Lime Suite wiki page and install the Pothos SDR development 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:
  • limegps.c and limegps.h
  • gpssim.c and gpssim.h
  • getopt.c and getopt.h
  1. Add the path to the following folder in Configuration Properties -> C/C++ -> General -> Additional Include Directories:
  • PothosSDR/include for pthread.h and lime/LimeSuite.h
  1. Add the path to the following folder in Configuration Properties -> Linker -> General -> Additional Library Directories:
  • PothosSDR/lib for pthreadVC2.lib and LimeSuite.lib
  1. Specify the name of the additional libraries in Configuration Properties -> Linker -> Input -> Additional Dependencies:
  • pthreadVC2.lib
  • LimeSuite.lib
  1. Select Release in the Solution Configurations drop-down list.
  2. Select X64 in the Sofution Platforms drop-down list.
  3. Run Build -> Build Solution

After a successful build, you can find the executable in the x64/Release folder.

Build on Linux (Ubuntu 17.10)

  1. Install LimeSuite and all the MyriadRF drivers.
$ sudo add-apt-repository -y ppa:myriadrf/drivers
$ sudo apt-get update
$ sudo apt-get install limesuite liblimesuite-dev limesuite-udev limesuite-images
$ sudo apt-get install soapysdr soapysdr-module-lms7
  1. Clone and build LimeGPS.
$ git clone https://github.com/osqzss/LimeGPS
$ cd LimeGPS
$ make
  1. Test the simulator.
$ ./LimeGPS -e brdc0350.18n

License

Copyright © 2018 Takuji Ebinuma
Distributed under the MIT License.