[time-nuts] GPSCreations SDR (software defined receiver) GPS1A
magnus at rubidium.dyndns.org
Mon Jan 17 20:27:32 UTC 2011
On 01/17/2011 02:29 AM, jimlux wrote:
> On 1/16/11 5:19 PM, Magnus Danielson wrote:
>> On 01/16/2011 09:12 PM, Brooke Clarke wrote:
>>> Hi Pete:
>>> The SiGe receiver IC is not much use by itself since you need to
>>> literally be a rocket scientist in order to process its output data.
>>> The GPS1A, with open source software is interesting, but again you need
>>> to be a rocket scientist to modify the code.
>> I haven't launched or made any part (to the best of my knowledge) of any
>> rocket. Yet again I've been able to write software which can
>> post-process the data originating from this device.
>> Real time processing of it would be challenging, but I haven't spent
>> quality time on THAT problem.
> real time processing of *anything* is challenging, even if it's only
> updating once an hour. I write this because updating once an hour
> implies you are probably looking at data spanning months, and keeping a
> program or set of programs reliably running without a hiccup for months
> is non-trivial. Sure, we've all got anecdotes of "my machine only needed
> to be rebooted 6 months ago", but there's a difference between seeing
> that in the past, and guaranteeing it for the future.
The real-time processing is a bit challenging since one has to
orchestrate the rather high sample rate processing. Also, since I didn't
spend any time on efficiency at all. Being able to lock up and start
decode the stream was a great step in the right direction before I got
distracted. It only use 2 out of 8 bits in the byte-stream.
Hooking in a 10 MHz and PPS/time-tag and correlate them to the received
signal would be an easy hack. What to do with the other 4 bits remains
to figure out... hooking up a PIC for a PICDIV to do 1 kHz frame
reference and PPS would be a possibility.
Anyway, it could probably be figured out if only spending some time on
the data flow and front-end.
I implemented FFT based acquire method, tracking loops for carrier and
code, message decoding etc. It doesn't take a rocket scientist to do
this, but having a few books at hand and ICD-GPS-200... but I was
recording data onto file and then processing from that.
So, it is definitely possible to cook up yourself. I would not say that
my code is particularly wonderful in any sense. There is quite a bit of
coding before you can lock up, and many false starts. Actually doing the
FFT lock-up is recommended. It's not that hard really.
More information about the time-nuts