Friday, November 12, 2010

Open source Software Defined Radio GPS receiver

Hello,

Just a quick update to the people who are involved on gps-sdr.
Here is a version that (as far as I am aware) compiles on Ubuntu Lucid (32 and 64 bits).
And if you don't have any of NSL's GNSS data grabber, here is file captured with Primo which should give you a position in Nottingham :)

Cheers,
Michele


P.S. Please note that I am not a maintainer of gps-sdr, so please do not ask me for support on how to install the software or other trivial receiver stuff. Also, I don't take any responsibility for the modifications I have done. In practice, take the code you need from it.. and that's about it!

20 comments:

Unknown said...

Hi,
Just a little question:
I faced this error when making your code on Ubuntu 10.04.
/usr/bin/ld: skipping incompatible primo/libnslprimo.a when searching for -lnslprimo
/usr/bin/ld: cannot find -lnslprimo
collect2: ld returned 1 exit status
make: *** [gps-sdr] Error 1

could you please tell me the what can I do about it?
Thanks in advance

Michele said...

Hello Mohammad,

Looks like you are trying to link a 64-bit version of the Primo library against a 32-bit version of the OS.
Please replace the files libnslprimo* with the ones in the lib32 folder, that should fix your error.

Cheers,
Mic

mdjogatovic said...

Hi Michele,

I have a question that bothers me for quite a while and I hope that you could help me.

Well, in my thesis, I am simulating GPS signal on intermediate frequency, but I'm not 100% sure what is happening with noise after receiver front-end. In theory, signal is bellow noise level for approximately 20 dB which means that it is deeply buried inside noise. My question is, if that is so, how is it possible to see signal spectrum after the front-end? Are you using some sort of signal averaging to increase signal-to-noise ratio before AD conversion?

Thanks in advance,
Marko

Michele said...

Hi Marko,

The graph of the signal power spectrum does not show the actual GPS signal power spectrum. You could only achieve that with an extremely high-gain directional dish of 2 meters or so pointed at one satellite in the sky.
The shape is result of the IF filter inside the chip, and it just happens to be aligned to the GPS spectrum if you have tuned your receiver to the right frequency. I hope I explained myself.

Regards,
Michele

mdjogatovic said...

Thanks a lot. Finally, a straight answer. :)

Unknown said...

Hi Michele,

I'm trying to track GLONASS data, by chance, do you have a row data file for GLONASS?

Thanks and regards,
PA

Michele said...

Hi Climb06, or PA,

Yes I do, download link here:

http://rapidshare.com/files/455987486/20101117_1103_NSL_glo.zip

Glonass was captured with a Primo II using a 16.368MHz oscillator. You will notice a big CW spike in the spectrum: it's the armonic of the TCXO in the Glonass band (that's why 16.368MHz is not good for Glonass).
The data is int8, the sampling frequency is 32.736MHz, Glonass channel ZERO is at 6.12MHz. I cannot help you further, have fun!

Cheers,
Michele

Unknown said...

Thanks a lot for the file and the details. That was fast !

Thanks again,
PA

Pedro Ferreira said...

Hi there,

I tried to download the GLONASS raw data but it isn't on rapidshare anymore.

Could you repost it, or if you have a dropbox link.

Kind regards
Pedro Ferreira

Michele said...

Dear Pedro,

No chance, I can't find any Glonass file on my PC anymore! My only option is capture a new one.. the only grabber model I have with me as of today is SdrNav10.. do you prefer f_S=26MHz or f_S=16.368MHz ?

Cheers,
Michele

Pedro Ferreira said...

Hi Michele,

Sorry for the late answer, I thought I would receive an email with you answer but didn't, so only today I checked you blog again.

If you could do that it would be great, with f_S=16.368MHz.

Kind regards
Pedro Ferreira

Michele said...

Dear Pedro,

I suppose you know about the 16.368MHz frequency being not suitable for Glonass, but anyway.. I will be back in at work Monday, then I can capture a new file.

Regards,
Michele

克·单 said...

Michele,

Have you import the gps-sdr to ARM type of SoC? Can you open the source or give some advice how to do it? I think even I convert all sse code at gps sdr into ARM neon it may still not work since ARM CPU only has 750MHz I may still need to optimal some other thing

Michele said...

Hi,

gps-sdr is not suitable for porting to ARM. And I am not referring to the SSE code, I am referring to 16-bit integer arithmetic correlators. Full power correlation won't fit a 720MHz Cortex-A8... maybe the DSP could help but I did not want to tailor my solution around TI.

Bests,
Michele

Dan GNSS said...

Michele,

Would you please give more explanation of gps-sdr is not suitable for porting to ARM. I thought you port the gps-sdr to gumstix (a similar device as beagleboard) at 2009.

Thanks
Dan

Michele said...

Hi,

I ported my own software receiver to gumstix, not gps-sdr. In my opinion, 16 megasamples per second per correlator is too challenging for an omap35x using 16-bit integer arithmetic. I hope this answers your question. As for the FFT, the fastest implementation I know for ARM gcc is the ffmpeg one. Check it out!

Michele

knowledge flow said...

Hi Michele,

I'm trying to track GPS data, by chance, do you have a raw data file which is suitable to your gps-sdr software. I just want to see the entire software running.

Waiting for your response

Thanks

Michele said...

Hi,

The link I provided at the top in the original post works for me:

http://rapidshare.com/files/430415769/101112_0928GMT_primo_fs5456_fif4092.dat.tar.bz2

Download the file, extract it with 'tar -xvfj NAMEFILE' or something similar, and you should be good to go.

Mário said...

Hi Michele,

It is possible use the USRP to replicate what is performed in PRIMO devices? For example, is possible to record some gps signal using the USRP and then use it in the GPS-SDR, like using the 101112_0928GMT_primo_fs5456_fif4092_16368e3_FS.dat.?

Best regards;
Mário Lima

Unknown said...

Hi Michele,

The link given by you is not working any more.

http://rapidshare.com/files/430415769/101112_0928GMT_primo_fs5456_fif4092.dat.tar.bz2

can you provide raw data for gps -sdr?

Best Regards,
Harshali