[FOSS-GPS] Question of reference satellite selection

Michael Tandy michaeltandy at googlemail.com
Mon Mar 15 07:06:16 EDT 2010

```Well, you have the almanac and ephemeris for all the satellites you
can see, so you can calculate each satellite's future elevations,
right? So you could do something along these lines:

for x = each satellite visible
for time = now to (now+6 hours)
calculate satellite x's elevation at time
if elevation < 10 degrees
print "Satellite x visible until time"
break
end if
end for
end for

Let's say you started your survey today, at midnight UTC time, that
you were at my location, and that you apply an elevation mask of 10
degrees.

You would see the following satellites, at that time:
SV 2, elevation 28.76
SV 4, elevation 13.53
SV 12, elevation 49.46
SV 14, elevation 36.90
SV 29, elevation 51.25
SV 30, elevation 84.05
SV 31, elevation 38.94

Those satellites would be above the 10 degree elevation cutoff for:
SV 2: 1 hour 57 mins
SV 4: 16 mins
SV 12: 1 hour 40 mins
SV 14: 1 hour 7 mins
SV 29: 4 hours 11 mins
SV 30: 2 hours 52 mins
SV 31: 3 hours 53 mins

Hence, if you simply chose the highest elevation satellite (SV 30) it
would be visible for over two and a half hours, but if you select the
right satellite it can be visible for longer.

I use the highest elevation satellite because my initializations never
take anything like two and a half hours!

Hope this helps!

On 15 March 2010 09:26, Shaocheng Zhang <gnss.zhangsc at gmail.com> wrote:
> Dear GPS Developers
> I am a Ph.D student working on real-time GPS algorithms. Currently I have a
> problem about the reference satellite selection.
> As we know, most of the RTK algorithm choose the highest elevation satellite
> as reference satellite, but when the baseline is quite long(eg.
> network-rtk), it may take quite long time (may be more than half hours) to
> get the ambiguity initialized, and during the initialization we don't want
> the reference satellite changes, otherwise we may need to restart the
> initialization.
> So if at the very beginning, we could find the longest session satellite as
> the reference satellite, it will help us to guarantee the reference
> satellite will not change before the initialization finished. I read GPStk's
> source code of "vecsol", it give a solution of project the satellite's
> velocity "V" to the U direction of the local NEU coordinate "Vu", and take
> the biggest "Vu" satellite as the reference satellite. I check this method
> and find it indeed give us a longer session satellite, however, when I check
> this method for all the available satellite at that epoch, It doesn't
> conclude that "the bigger the Vu, the longer the following observed
> session".
> I am very interested in this method because It's easy to implement and can
> be use in real-time algorithm. So I am wondering if someone can explain this
> method in a mathematical way, or give a better solution.
> Thanks in advance.
> Regards.
> Shaocheng Zhang
> School of Geodesy and Geomatics, Wuhan University, P.R.China
> Email: gnss.zhangsc at gmail.com
> _______________________________________________
> This message is sent to you from FOSS-GPS at lists.osgeo.org mailing list.
> Visit http://lists.osgeo.org/mailman/listinfo/foss-gps to manage your
> subscription