[time-nuts] Need advice for multilateration setup

Attila Kinali attila at kinali.ch
Mon Apr 6 05:14:08 EDT 2015


On Fri, 03 Apr 2015 22:51:34 -0500
Robert Watzlavick <rocket at watzlavick.com> wrote:
> On 04/03/2015 10:12 PM, Robert Watzlavick wrote:
> > I have an amateur radio license (mostly CW/HF and some VHF/UHF 
> > experience) and I've written some driver software for an IQ 
> > demodulation board but I have to admit, I would have no idea how to 
> > begin setting up that system as initially described by Attila and 
> > expanded by you and others.  I have a rudimentary understanding of the 
> > modulation schemes involved but I don't fully understand how the 
> > various codes mentioned fit in. I've poked around a bit at some 
> > articles on PN codes and I can see how data would be transmitted but I 
> > think I'm missing something key that allows you to extract positions, 
> > velocities, etc. out of the various links.  I think I have some more 
> > reading to do :)

The basic system is that of an DSSS modulator/demodulator.
The best text on spread spectrum systems I have found sofar
is [1]. I explains modulation and demodulation in a hands on
fashion. But, due to the age of the book, it does not contain
any of the advanced stuff done today. But I think you don't need
anything more fancy than an early-prompt-late correlator architecture
for tracking.

For the way how GPS works and how correlation and everything is
done, I would suggest [2,3,4]. [2] is a good overview of how
GPS is done and contains 99% of everything you need to know
(special thanks to Magnus for mentioning it). It lacks some
details on how to actually implement the system though.
There [3] helps a lot, as it's a book specifically on building a
GPS/Galileo receiver. I only skimmed trough a digital copy of [4]
yet, so I cannot say too much about it, but that it's probably the
most complete book on radio and inertial navigation I have seen
sofar. The level of detail seems to vary from topic to topic
quite a bit, but it is a treasure trove of references for everything
the book covers (which is a damn lot!)

If you are tight on time I would probably recommend to start with [3]
and have a look at [1] and [2] when things don't make sense. 

> To head off a bunch of replies - I think I stumbled upon what is being 
> suggested.  To extract the pseudorange, you have to figure out the 
> offset of the locally generated PN code against the one that is 
> received. In this reverse GPS case, I assume each ground station would 
> have to start their local PN codes at the same time?  Then you would be 
> able to get the pseudoranges at each ground station and use those values 
> for the multilateration equations.  You still would have an uncertainty 
> of one clock cycle since the phases of the local clocks at the stations 
> wouldn't be aligned but several folks have suggested ways around that.

There are multiple things here:

* PRN generation: The locally generated PRN has to be time synchronous
  with the one received from the rocket transmitter. If you are more than
  one clock period off, you will only get noise out of the demodulator.
  What you measure is the time difference of the locally generated PRN to
  your ground station system time.

* Uncertainty: The autocorrelation function of a PRN sequence has a quite
  steep peak at \tau=0 with width of the clock period. Yes, this does mean
  that you get a one clock period uncertainty, if you do a hit/miss
  correlation. But as the correlation function is actually triangle shaped,
  you can get quite a bit better than that. The limit is afaik around
  your sampling clock period for naive approaches, which you can further
  improve with some statistics (you have multiple edges to work with, ie
  can average over those). 

* Synchronisation of ground stations: There are easy and diffuclt ways to
  do that. Probably the easiest is to use to use an additional transmitter
  at the launch point on the same frequency, but with a different PRN than
  the rocket. This way you can do a difference of the two PRN codes in
  your receiver, which gets away with a lot of nasty effects that you
  would need to account for otherwise.
  Another approach would be to use a GPSDO on each ground station and
  run all the receivers already synchronized. This also enables you to
  get the position of all stations very accurately, especially if you
  let the GPSDO average its position for some time. But for ultimate
  accuracy, you'd need to calibrate the GPSDO's (including antennas)
  against each other, to know what the systematic offsets are
  (ie set them up all together at the same location and measure the
  time difference of the PPS).
  Of course, it's possible to use a combination of multiple approaches.
  Eg a nice one would be to GPSDO's to provide position and a precise
  frequency reference, but then use a central transmitter for the


			Attila Kinali

[1] "Spread Spectrum Systems with Commercial Applications", 3rd edition,
by Robert C. Dixon, 1994

[2] "Global positioning system signals, measurements, and performance",
2nd edition, by Partap Misra and Per Enge, 2012.

[3] "A Software-Defined GPS and Galileo Receiver",
by Bore, Akos, Bertelsen, Rinder, Jensen, 2007

[4] "Principles of GNSS, Inertial, and Multisensor 
Integrated Navigation Systems", 2nd edition, by Paul D. Groves, 2013

< _av500_> phd is easy
< _av500_> getting dsl is hard

More information about the time-nuts mailing list