# GPS Receive with the LimeSDR

**URL:** <https://discourse.myriadrf.org/t/gps-receive-with-the-limesdr/2026>\
**Category:** SDR Satcom\
**Created:** [17 November 2017 22:43 UTC](https://discourse.myriadrf.org/t/gps-receive-with-the-limesdr/2026 "2017-11-17T22:43:51Z")\
**Posts on this page:** 20\
**Page:** 2

<div class="post-metadata">

**Author:** ![hahnpv](https://yyz2.discourse-cdn.com/flex034/user_avatar/discourse.myriadrf.org/hahnpv/32/172_2.png) [@hahnpv](https://discourse.myriadrf.org/u/hahnpv)\
**Post date:** [29 January 2018 18:11 UTC](https://discourse.myriadrf.org/t/gps-receive-with-the-limesdr/2026/22 "2018-01-29T18:11:10Z")

</div>

Deleted my last post because I found out I was wrong.

gnss-sdr has full osmosdr support.

I was under the impression that osmosdr does not support soapy, but it does: [https://git.osmocom.org/gr-osmosdr/tree/lib/soapy](https://git.osmocom.org/gr-osmosdr/tree/lib/soapy)

In theory then you should be able to use a LimeSDR with gnss-sdr. I’ll try tinkering with this in the next few evenings

philip

---

<div class="post-metadata">

**Author:** ![martywittrock](https://yyz2.discourse-cdn.com/flex034/user_avatar/discourse.myriadrf.org/martywittrock/32/66_2.png) [@martywittrock](https://discourse.myriadrf.org/u/martywittrock)\
**Post date:** [29 January 2018 18:57 UTC](https://discourse.myriadrf.org/t/gps-receive-with-the-limesdr/2026/23 "2018-01-29T18:57:53Z")

</div>

Phil,

I’m quite interested in this, too, because I’d like to collect receive samples with the LimeSDR and then use the Matlab post-analysis tools to see how well the Lime does for the application I have for this. Let me know your findings and I, too, will look this over some more.

Marty

---

<div class="post-metadata">

**Author:** ![martywittrock](https://yyz2.discourse-cdn.com/flex034/user_avatar/discourse.myriadrf.org/martywittrock/32/66_2.png) [@martywittrock](https://discourse.myriadrf.org/u/martywittrock)\
**Post date:** [31 January 2018 20:06 UTC](https://discourse.myriadrf.org/t/gps-receive-with-the-limesdr/2026/24 "2018-01-31T20:06:40Z")

</div>

@hahnpv - Philip,

Have you had a chance to try connecting the LimeSDR to GNSS\_SDR through the .conf file yet? Please advise when you can - I’m about to try that myself but not entirely sure of the arguments necessary to make that happen.

Keep in touch - 73 de Marty, KN0CK

---

<div class="post-metadata">

**Author:** ![hahnpv](https://yyz2.discourse-cdn.com/flex034/user_avatar/discourse.myriadrf.org/hahnpv/32/172_2.png) [@hahnpv](https://discourse.myriadrf.org/u/hahnpv)\
**Post date:** [31 January 2018 20:10 UTC](https://discourse.myriadrf.org/t/gps-receive-with-the-limesdr/2026/25 "2018-01-31T20:10:37Z")

</div>

I havent had an evening free since my last post - kids are mid basketball season. I do have some time tonight and Friday night and will let you know what I find.

philip

---

<div class="post-metadata">

**Author:** ![martywittrock](https://yyz2.discourse-cdn.com/flex034/user_avatar/discourse.myriadrf.org/martywittrock/32/66_2.png) [@martywittrock](https://discourse.myriadrf.org/u/martywittrock)\
**Post date:** [1 February 2018 14:19 UTC](https://discourse.myriadrf.org/t/gps-receive-with-the-limesdr/2026/26 "2018-02-01T14:19:01Z")

</div>

@hahnpv - Philip,

All good - I’m going to be in the lab later on this evening playing with GNSS\_SDR (since I have it working with the virtual SDR) and see if I can make any headway with it. If I stumble onto an answer I’ll post it here first…Stay tuned…

73 de Marty, KN0CK

---

<div class="post-metadata">

**Author:** ![martywittrock](https://yyz2.discourse-cdn.com/flex034/user_avatar/discourse.myriadrf.org/martywittrock/32/66_2.png) [@martywittrock](https://discourse.myriadrf.org/u/martywittrock)\
**Post date:** [2 February 2018 00:00 UTC](https://discourse.myriadrf.org/t/gps-receive-with-the-limesdr/2026/27 "2018-02-02T00:00:44Z")

</div>

@hahnpv - Philip

Well, I hate to say I beat you to it, but…

Here is the file content \<copy/paste to a .conf file of your own for GNSS\_SDR\> that will work with GNSS\_SDR, capture the LimeSDR, go through acquisition, and start logging GPS Sats. It worked like a champ for me and the only change I made was taking the HackRF example and just ‘hacking’ into it for the line that shows:

WAS:  
;# Next line enables the internal HackRF One bias (3.3 VDC)  
SignalSource.osmosdr\_args=hackrf,bias=1

IS NOW:  
;# Next line enables the LimeSDR  
SignalSource.osmosdr\_args=driver=lime,soapy=0

Please see the entire file that you just copy below and then paste into a text file and save as a .conf of your choice to run GNSS\_SDR with the Lime.

Have fun with it…!

73 de Marty, KN0CK

\<start text file for .conf\>

[GNSS-SDR]

;######### GLOBAL OPTIONS ##################  
GNSS-SDR.internal\_fs\_hz=2000000

;######### SIGNAL\_SOURCE CONFIG ############  
SignalSource.implementation=Osmosdr\_Signal\_Source  
SignalSource.item\_type=gr\_complex  
SignalSource.sampling\_frequency=2000000  
SignalSource.freq=1575420000  
SignalSource.gain=40  
SignalSource.rf\_gain=40  
SignalSource.if\_gain=30  
SignalSource.AGC\_enabled=false  
SignalSource.samples=0  
SignalSource.repeat=false  
;# Next line enables the LimeSDR  
SignalSource.osmosdr\_args=driver=lime,soapy=0  
SignalSource.enable\_throttle\_control=false  
SignalSource.dump=false  
SignalSource.dump\_filename=./limesignal\_source.dat

;######### SIGNAL\_CONDITIONER CONFIG ############  
SignalConditioner.implementation=Signal\_Conditioner

;######### DATA\_TYPE\_ADAPTER CONFIG ############  
DataTypeAdapter.implementation=Pass\_Through

;######### INPUT\_FILTER CONFIG ############  
InputFilter.implementation=Freq\_Xlating\_Fir\_Filter  
InputFilter.decimation\_factor=1  
InputFilter.input\_item\_type=gr\_complex  
InputFilter.output\_item\_type=gr\_complex  
InputFilter.taps\_item\_type=float  
InputFilter.number\_of\_taps=5  
InputFilter.number\_of\_bands=2  
InputFilter.band1\_begin=0.0  
InputFilter.band1\_end=0.85  
InputFilter.band2\_begin=0.9  
InputFilter.band2\_end=1.0  
InputFilter.ampl1\_begin=1.0  
InputFilter.ampl1\_end=1.0  
InputFilter.ampl2\_begin=0.0  
InputFilter.ampl2\_end=0.0  
InputFilter.band1\_error=1.0  
InputFilter.band2\_error=1.0  
InputFilter.filter\_type=bandpass  
InputFilter.grid\_density=16  
InputFilter.dump=false  
InputFilter.dump\_filename=…/data/input\_filter.dat

;######### RESAMPLER CONFIG ############  
Resampler.implementation=Pass\_Through

;######### CHANNELS GLOBAL CONFIG ############  
Channels\_1C.count=8  
Channels.in\_acquisition=1  
Channel.signal=1C

;######### ACQUISITION GLOBAL CONFIG ############  
Acquisition\_1C.implementation=GPS\_L1\_CA\_PCPS\_Acquisition\_Fine\_Doppler  
Acquisition\_1C.item\_type=gr\_complex  
Acquisition\_1C.if=0  
Acquisition\_1C.sampled\_ms=1  
Acquisition\_1C.threshold=0.015  
Acquisition\_1C.doppler\_max=10000  
Acquisition\_1C.doppler\_min=-10000  
Acquisition\_1C.doppler\_step=500  
Acquisition\_1C.max\_dwells=15  
Acquisition\_1C.dump=false  
Acquisition\_1C.dump\_filename=./acq\_dump.dat

;######### TRACKING GLOBAL CONFIG ############  
Tracking\_1C.implementation=GPS\_L1\_CA\_DLL\_PLL\_Tracking  
Tracking\_1C.item\_type=gr\_complex  
Tracking\_1C.if=0  
Tracking\_1C.pll\_bw\_hz=40.0;  
Tracking\_1C.dll\_bw\_hz=2.0;  
Tracking\_1C.order=3;  
Tracking\_1C.early\_late\_space\_chips=0.5;  
Tracking\_1C.dump=false  
Tracking\_1C.dump\_filename=./tracking\_ch\_

;######### TELEMETRY DECODER GPS CONFIG ############  
TelemetryDecoder\_1C.implementation=GPS\_L1\_CA\_Telemetry\_Decoder  
TelemetryDecoder\_1C.dump=false  
TelemetryDecoder\_1C.decimation\_factor=1;

;######### OBSERVABLES CONFIG ############  
Observables.implementation=GPS\_L1\_CA\_Observables  
Observables.dump=true  
Observables.dump\_filename=./observables.dat

;######### PVT CONFIG ############  
PVT.implementation=GPS\_L1\_CA\_PVT  
PVT.flag\_averaging=true  
PVT.averaging\_depth=5  
PVT.output\_rate\_ms=100  
PVT.display\_rate\_ms=500  
PVT.flag\_nmea\_tty\_port=false;  
PVT.nmea\_dump\_devname=/dev/pts/4  
PVT.nmea\_dump\_filename=./gnss\_sdr\_pvt.nmea;  
PVT.flag\_rtcm\_server=false  
PVT.flag\_rtcm\_tty\_port=false  
PVT.rtcm\_dump\_devname=/dev/pts/1  
PVT.dump=false  
PVT.dump\_filename=./PVT

;######### PVT CONFIG if using the next branch ####  
;PVT.implementation=RTKLIB\_PVT  
;PVT.positioning\_mode=Single  
;PVT.output\_rate\_ms=100  
;PVT.display\_rate\_ms=500  
;PVT.iono\_model=Broadcast  
;PVT.trop\_model=Saastamoinen  
;PVT.flag\_rtcm\_server=true  
;PVT.flag\_rtcm\_tty\_port=false  
;PVT.rtcm\_dump\_devname=/dev/pts/1  
;PVT.rtcm\_tcp\_port=2101  
;PVT.rtcm\_MT1019\_rate\_ms=5000  
;PVT.rtcm\_MT1077\_rate\_ms=1000  
;PVT.rinex\_version=2

\<end text file for .conf\>

---

<div class="post-metadata">

**Author:** ![hahnpv](https://yyz2.discourse-cdn.com/flex034/user_avatar/discourse.myriadrf.org/hahnpv/32/172_2.png) [@hahnpv](https://discourse.myriadrf.org/u/hahnpv)\
**Post date:** [2 February 2018 00:22 UTC](https://discourse.myriadrf.org/t/gps-receive-with-the-limesdr/2026/28 "2018-02-02T00:22:16Z")

</div>

@martywittrock

 ![im-not-even-9f9nzd](https://yyz2.discourse-cdn.com/flex034/uploads/myriadrf/original/2X/5/5e28fb1ee11c84c8425921776f2202c75b4c46c5.jpg)

I spent last night updating software, my gr-osmosdr was pre-Soapy and I had a mismatch on LimeSuite. Glad to know it should Just Work ™.

Do you want to guest post on the blog? Otherwise ill likely get around to it when the LimeSDR Mini shows up (will attribute of course).

philip

---

<div class="post-metadata">

**Author:** ![osqzss](https://yyz2.discourse-cdn.com/flex034/user_avatar/discourse.myriadrf.org/osqzss/32/4567_2.png) [@osqzss](https://discourse.myriadrf.org/u/osqzss)\
**Post date:** [2 February 2018 00:22 UTC](https://discourse.myriadrf.org/t/gps-receive-with-the-limesdr/2026/29 "2018-02-02T00:22:21Z")

</div>

Which RX port do you recommend to use for GPS signal reception?

---

<div class="post-metadata">

**Author:** ![martywittrock](https://yyz2.discourse-cdn.com/flex034/user_avatar/discourse.myriadrf.org/martywittrock/32/66_2.png) [@martywittrock](https://discourse.myriadrf.org/u/martywittrock)\
**Post date:** [2 February 2018 00:29 UTC](https://discourse.myriadrf.org/t/gps-receive-with-the-limesdr/2026/30 "2018-02-02T00:29:00Z")

</div>

@hahnpv - Philip,

Thanks, I’m quite honored by that… 🙂

I just posted on this forum my entire setup (in software and .conf) how to do this. You are welcome to copy/paste the entire thing into your blog - you have my permission (and hopefully MyriadRF’s).

Try it and let me know your observations - I’m off to torch this thing off again… 🙂 !!

73 de Marty, KN0CK

---

<div class="post-metadata">

**Author:** ![martywittrock](https://yyz2.discourse-cdn.com/flex034/user_avatar/discourse.myriadrf.org/martywittrock/32/66_2.png) [@martywittrock](https://discourse.myriadrf.org/u/martywittrock)\
**Post date:** [2 February 2018 00:29 UTC](https://discourse.myriadrf.org/t/gps-receive-with-the-limesdr/2026/31 "2018-02-02T00:29:42Z")

</div>

@osqzss,

It appears that RX1\_H is the winner…I’m finding that GNSS\_SDR seems to like it…

73 de Marty, KN0CK

---

<div class="post-metadata">

**Author:** ![venk](https://avatars.discourse-cdn.com/v4/letter/v/57b2e6/32.png) [@venk](https://discourse.myriadrf.org/u/venk)\
**Post date:** [21 June 2018 14:09 UTC](https://discourse.myriadrf.org/t/gps-receive-with-the-limesdr/2026/32 "2018-06-21T14:09:14Z")

</div>

Hi,  
I tried with the above steps and gnss-sdr says that it is able to acquire satellites. I was able to confirm that whatever acquisitions were reported were of actual satellites. The problem is that it is losing lock and therefore has become quite useless. If I log the data from gnss-sdr (in the conf file I have enabled the signal source dump) and use this in soft-gnss it is not even able to acquire any satellites and the constellation diagram looks bad.  
I’m suspecting that the TCXO is the problem. Does anyone else have had the same experience and have somehow overcome the same?  
I’m using limeSDR USB on Ubuntu 17.1 (hosted thru VMWare, host operating system is Win10) with a passive antenna.  
I’m seeing the same behavior when I log data thru pothosSDR and process the file thru softgnss.  
Any help is highly appreciated.  
Thanks  
Venkatesh

---

<div class="post-metadata">

**Author:** ![osqzss](https://yyz2.discourse-cdn.com/flex034/user_avatar/discourse.myriadrf.org/osqzss/32/4567_2.png) [@osqzss](https://discourse.myriadrf.org/u/osqzss)\
**Post date:** [21 June 2018 21:17 UTC](https://discourse.myriadrf.org/t/gps-receive-with-the-limesdr/2026/33 "2018-06-21T21:17:52Z")

</div>

@venk,

You need an active GPS antenna with a good LNA and a bias-tee to deliver DC to it.

> **[Configurations](https://gnss-sdr.org/conf/)**
>
> How to configure GNSS-SDR in a variety of setups.

---

<div class="post-metadata">

**Author:** ![venk](https://avatars.discourse-cdn.com/v4/letter/v/57b2e6/32.png) [@venk](https://discourse.myriadrf.org/u/venk)\
**Post date:** [25 June 2018 12:59 UTC](https://discourse.myriadrf.org/t/gps-receive-with-the-limesdr/2026/34 "2018-06-25T12:59:21Z")

</div>

@osqzss  
Thanks for the suggestion… I tried that and the result is that the false locks have increased.  
Now to debug further, I’m interested in knowing how the clock is behaving. Is there some method by which I can get finer details of the clock? I’m currently suspecting the hardware more than the software or configuration as I’m using the same software and configuration that is seemingly working for everyone else.

Thanks  
Venkatesh

---

<div class="post-metadata">

**Author:** ![venk](https://avatars.discourse-cdn.com/v4/letter/v/57b2e6/32.png) [@venk](https://discourse.myriadrf.org/u/venk)\
**Post date:** [25 June 2018 13:32 UTC](https://discourse.myriadrf.org/t/gps-receive-with-the-limesdr/2026/35 "2018-06-25T13:32:16Z")

</div>

Thinking further, I was wondering whether I can log the IF samples thru LimeSuite and then post process the data? Can someone help me with either info or links as to how to configure LimeSuite for capturing GPS IF data for a 4Msps sampling with 2MHz bandwidth around 1575.42MHz?  
(I know this is rather a primitive question, but I’m new to this hardware and am not getting info about how to configure the front end for GNSS operation and to log the data). I’ve tried with Pothos SDR but had faced the problem of improper spectrum. Example.ini given configures the hardware for 800MHz, LNAL configuration and I’m not too sure whether by just changing the frequency to 1575.42MHz everything will work fine!  
Thanks  
Venkatesh

---

<div class="post-metadata">

**Author:** ![osqzss](https://yyz2.discourse-cdn.com/flex034/user_avatar/discourse.myriadrf.org/osqzss/32/4567_2.png) [@osqzss](https://discourse.myriadrf.org/u/osqzss)\
**Post date:** [25 June 2018 13:43 UTC](https://discourse.myriadrf.org/t/gps-receive-with-the-limesdr/2026/36 "2018-06-25T13:43:00Z")

</div>

@venk,

Try rx\_sdr to capture the baseband samples:

> **[rxseger/rx\_tools](https://github.com/rxseger/rx_tools)**
>
> rx\_fm, rx\_power, and rx\_sdr tools for receiving data from SDRs, based on rtl\_fm, rtl\_power, and rtl\_sdr from librtlsdr, but using the SoapySDR vendor-neutral SDR support library instead, intended t...

---

<div class="post-metadata">

**Author:** ![venk](https://avatars.discourse-cdn.com/v4/letter/v/57b2e6/32.png) [@venk](https://discourse.myriadrf.org/u/venk)\
**Post date:** [26 June 2018 11:36 UTC](https://discourse.myriadrf.org/t/gps-receive-with-the-limesdr/2026/37 "2018-06-26T11:36:52Z")

</div>

@osqzss,  
I tried using the rx\_sdr utility but it is not working. The warning message is “WARNING: sync read failed. -5” and it doesn’t collect any data. I’m using the following parameters  
./rx\_sdr -f 1575420000 -d [“driver=lime”] -F CF32 trial.dat  
Pl. let me know if I’ve not given the arguments properly.  
Also, the other issue I found out is that SoapySDRUtil --info, says that there are no modules or factories installed.  
Is there something completely amiss?  
gnss\_sdr and limeutils and pothosflow are able to detect the LimeSDR board.

Thanks  
Venkatesh

---

<div class="post-metadata">

**Author:** ![voxmeus](https://avatars.discourse-cdn.com/v4/letter/v/439d5e/32.png) [@voxmeus](https://discourse.myriadrf.org/u/voxmeus)\
**Post date:** [26 June 2018 20:53 UTC](https://discourse.myriadrf.org/t/gps-receive-with-the-limesdr/2026/38 "2018-06-26T20:53:56Z")

</div>

Ya’ll have any recommendations for antennas? any old amazon 15$ type thing work?

> **[Amazon.com: Waterproof GPS Active Antenna 28dB Gain: Electronics](https://www.amazon.com/Waterproof-Active-Antenna-28dB-Gain/dp/B00LXRQY9A)**
>
> $14.99

---

<div class="post-metadata">

**Author:** ![osqzss](https://yyz2.discourse-cdn.com/flex034/user_avatar/discourse.myriadrf.org/osqzss/32/4567_2.png) [@osqzss](https://discourse.myriadrf.org/u/osqzss)\
**Post date:** [27 June 2018 04:25 UTC](https://discourse.myriadrf.org/t/gps-receive-with-the-limesdr/2026/39 "2018-06-27T04:25:52Z")

</div>

@venk,

I observed the same symptom on my Ubuntu 18.04 machine with the latest LimeSDR firmware. Both the SoapySDR and rx\_sdr are working just fine with Windows 10.

EDIT: This could solve the issue:

> [@SoapySDR doesn't find LimeSDR libs](https://discourse.myriadrf.org/t/soapysdr-doesnt-find-limesdr-libs/2310/3):
>
> Oh, I understood. Firstly need to install SoapySDR and just after this - LimeSuite.

---

<div class="post-metadata">

**Author:** ![venk](https://avatars.discourse-cdn.com/v4/letter/v/57b2e6/32.png) [@venk](https://discourse.myriadrf.org/u/venk)\
**Post date:** [27 June 2018 09:57 UTC](https://discourse.myriadrf.org/t/gps-receive-with-the-limesdr/2026/40 "2018-06-27T09:57:40Z")

</div>

@osqzss  
Do you have an .ini file to capture the Rx samples using LimeSuite? I’ll try using that and see if there is something different that needs to be done for this hardware.  
Thanks for your patience.  
Venkatesh

---

<div class="post-metadata">

**Author:** ![osqzss](https://yyz2.discourse-cdn.com/flex034/user_avatar/discourse.myriadrf.org/osqzss/32/4567_2.png) [@osqzss](https://discourse.myriadrf.org/u/osqzss)\
**Post date:** [27 June 2018 10:03 UTC](https://discourse.myriadrf.org/t/gps-receive-with-the-limesdr/2026/41 "2018-06-27T10:03:28Z")

</div>

@venk,

No, I’ve never tried to use LimeSuite to record the RX samples.

[Previous page](https://discourse.myriadrf.org/t/gps-receive-with-the-limesdr/2026.md?page=1)
