
GPS_SKY is a utility that will create a picture of GPS reception
at your location, showing signal strength and your GPS Horizon.
It is FREEWARE software that will decode an existing ASCII NMEA
log file, or your GPSr if it can output the NMEA GSV sentence at
4800 baud.

INSTRUCTIONS:

The program does not really require instructions, because it has
informative prompts in it. Just run it and follow the screen
instructions. If you wish to use a NMEA log file, copy file to
the same directory as GPS_SKY and rename file to < NMEA.LOG >
The file must be standard ASCII with each line terminated with
a CR/LF.

GPS_SKY if left connected to your GPSr for 24 hours will show
the GPS Satellite trails across your sky as tracked by your
GPSr. It can also decode an existing ASCII  NMEA log file
(assuming it has GSV and you have at least 24 hrs worth). The
graphical data has horizontal lines at 0,10, 20 degrees
elevation, and vertical lines are 0, 90,180, 270 degrees azimuth
from left to right in the picture.  The false colour denotes
signal strength (Red - hottest, Yellow - medium, Cyan - lowest).

GPS_SKY can show how "low" your GPSr can see in all directions,
and allow you to equate "holes" in reception with local
obstacles like trees and terrain. GPS_SKY outputs its data in
two forms:  first, graphical data (in either BMP or PSD form)
that can be pulled straight into a graphics program for you to
add comments or additional information;  second, data in TEXT
form (using comma separated values) that can be pulled straight
into EXCEL etc, to graph and analyse.  You can also use the data
in the HORIZON.CSV file to manually load your Mission Planning
Software with your GPS horizon curtain.

Why sample for 24 Hours? Although the GPS satellites orbit the
earth every 12 hours, our earth is also spinning beneath them,
so it takes 24 hours for all the satellites (that are healthy)
to complete all tracks across your sky. You can sample for less
time but you will only get less sky tracked. GPS_SKY can be
stopped and started (if you need to use the PC). If you sample
for longer than 24 hours the picture will not fill out. See
"Stable Orbits" at end of this _README_ file for further info.

The reason for the "polar hole" is because the inclination of
the GPS orbits is about 55 degrees to the equator. The sats do
not go over the polar regions. If you are in the Northern
Hemisphere the polar hole is split in half either side of 0
degrees, in the Southern Hemisphere the hole is at 180 degree
Az. If you live on or near the equator, you get two polar holes,
both north and south.

Experiments: only limited by your imagination

 - Find the winter and summer difference in signal strength
due to effects of deciduous foliage. Can you see the sap rise?

 - Does metal foil placed over the aerial block all microwave
from the Satellites? (I was surprised!)

 - Does metal foil block certain directions, can you use that to
determine static direction to a 1 degree accuracy ?

 - Place a shallow bowl of water over the aerial and see how
much water attenuates the signal.

 - Measure the height of tall objects by noting their GPS
shadow and applying a little trig.

No doubt you can think of many more!

Requirements:

The program was compiled as a 16bit DOS application, it should
run using DOS 3.0 or above, or as a DOS window in the various
Windows environments. It has been tested on plain DOS machines,
W98 and a Power Mac (running SoftWindows 3.0). It is ideal for
any old slow DOS PC or laptop. The Program is PASSIVE.  It
transmits no data on the Serial Port - only receives, so it can
be used in parallel with other RS232 devices (if you just use RX 
and GND).  You need to know how to get your GPS to transmit the 
NMEA GSV sentence (others are allowed but ignored) at 4800 baud 
- see your GPSr manual on how to do this.  The GPS must connect 
to either COM 1 or COM 2 in live mode, or you have an existing 
ASCII NMEA log file to process.

NMEA Checksums.

On the main screen of GPS_SKY, it shows "Correct CS's" and
"Faulty CS's". The CS stands for Checksum. If the software is
run on a pure DOS machine (even a slow old 10 MHz one), the
program should not show any "Faulty CS's" (if there are you may
have a faulty serial connection). When I run the program on W98
on a 230 MHz machine, and then open up all sorts of other
applications, there will be the occasional "Faulty CS" because
the W98 OS cannot deliver all the serial interrupts to GPS_SKY.
When a checksum error is detected on a GSV sentence, the
sentence is thrown away, it is not decoded. If you get a few
Faulty Checksums over a 24 Hr period, it will not affect the
accuracy of the final SKY plot. If there is a consistent stream
of "Faulty CS's" then either your GPSr does not transmit the
Checksum, or you have a serial problem.

Possible Problems:

When you run the program and the screen just reads an 
incrementing "Faulty CS's"and nothing else, then your GPS may 
not be including the Checksum value at the end of the GPGSV 
sentence. If this is the case then sadly the program is no good 
for you (ask for your money back ;-). You may like to have a 
look at this page by Wolfgang Rupprecht:

http://www.wsrcc.com/wolfgang/gps/panorama/

Wolfgang has confronted this problem (no checksum) and offers a
solution! I did not want to drop CS's - it can lead to faulty
data when characters are missed by the OS. Without Checksums and
because the GSV sentence is not a constant length, one cannot be
sure if you have all the characters that were transmitted by
your GPSr!

If you have any questions about something that puzzles you with
the software you can drop me an email at:

geoff_nz@my-deja.com

Hope you have fun

Regards, Kiwi Geoff...

Oh to keep things tidy

DISCLAIMER
----------

GEOFF HITCHCOX DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED,
INCLUDING BUT NOT LIMITED TO, ANY IMPLIED WARRANTY OF
MERCHANTABILITY OR SUITABILITY FOR A PARTICULAR PURPOSE.

Specifically, the author makes no representation or warranty
that the software is suitable for any particular purpose.

No claim for or right to recover any other damages, including
but not limited to, loss of profit, data, or use of the
software, or special, incidental, or consequential damages or
other similar claims can be made. In no event will the author's
liability for any damages to you or any other party ever exceed
the registration fee paid (US ZERO DOLLARS) to use the software,
regardless of any form of the claim.

Kind Regards,

Geoff Hitchcox

geoff36@i4free.co.nz
http://www.geocities.com/kiwi_36_nz/

36 Tomrich Street
Christchurch
New Zealand
South Pacific.

 Latitude:  43.5197 degrees SOUTH
Longitude: 172.7022 degrees EAST

Thanks to:

Larry Knight from Marietta (GA USA) for his testing (on a MAC)
and his ideas, suggestions and sense of humour. It was fun
working with Larry on this project from half way round the
world, taking advantage of time zone differences to hasten
development.

-------------------------------------------------------

STABLE ORBITS:
--------------

If one looks at a GPS YUMA almanac you will see that for all
satellites the "Rate of RAAN" is about (-8.0E-9) radians per
second.

To turn that into more common units:

0.04 degrees per day

Which means it takes about 25 days to change RAAN by 1 degree !

So, if you sample for 1 day, then do another sample a week later
the files will be the same (assuming all sats are kept healthy
and none have their annual Delta V reposition ).

To give a numeric example of how slowly the orbit changes, have
a look at the following data: You will see that if one ignores
time (which our GPS_SKY pictures do) you will see a GPS
satellite rises, culminates and sets in the same position every
day, changing only about 1 degree per month!

-----------------------------------------------------------------

Rise and Set Times for GPS PRN 2 from Geoff's Place N.Z.

ToC = Time of culmination (maximum elevation)

Times are in UTC

Date         Rise   Az  El  ToC    Az  El  Set    Az  El

2001 Apr 02  060106 293  0  094811 148 81  131550  30  0
2001 Apr 03  055700 293  0  094406 148 81  131145  30  0
2001 Apr 04  055255 293  0  094000 148 81  130739  30  0
2001 Apr 05  054849 293  0  093555 148 81  130334  30  0
2001 Apr 06  054444 293  0  093150 148 81  125928  30  0
2001 Apr 07  054039 293  0  092745 148 81  125523  30  0
2001 Apr 08  053634 293  0  092340 148 81  125117  30  0
2001 Apr 09  053229 293  0  091935 148 81  124712  30  0
2001 Apr 10  052824 293  0  091530 148 81  124307  30  0
2001 Apr 11  052419 293  0  091125 148 81  123901  30  0
2001 Apr 12  052014 293  0  090720 148 81  123456  30  0
2001 Apr 13  051609 293  0  090315 148 81  123051  30  0
2001 Apr 14  051204 293  0  085910 148 81  122646  30  0
2001 Apr 15  050759 293  0  085505 148 81  122241  30  0
2001 Apr 16  050354 293  0  085101 148 81  121836  30  0
2001 Apr 17  045950 293  0  084656 148 81  121431  30  0
2001 Apr 18  045545 293  0  084251 148 81  121026  30  0
2001 Apr 19  045140 293  0  083847 148 81  120621  30  0
2001 Apr 20  044736 293  0  083442 148 81  120216  30  0
2001 Apr 21  044331 293  0  083038 148 81  115811  30  0
2001 Apr 22  043927 293  0  082634 148 81  115406  30  0
2001 Apr 23  043522 293  0  082229 148 81  115001  30  0
2001 Apr 24  043118 293  0  081825 148 81  114556  30  0
2001 Apr 25  042714 293  0  081421 148 81  114152  30  0
2001 Apr 26  042309 293  0  081016 148 81  113747  30  0
2001 Apr 27  041905 293  0  080612 148 81  113342  30  0
2001 Apr 28  041501 293  0  080208 148 81  112938  30  0
2001 Apr 29  041057 293  0  075804 148 81  112533  30  0
2001 Apr 30  040653 293  0  075400 148 81  112129  30  0
2001 May 01  040249 293  0  074956 148 81  111724  30  0
2001 May 02  035845 293  0  074552 148 81  111320  30  0
2001 May 03  035441 293  0  074148 148 81  110916  30  0
2001 May 04  035037 293  0  073745 148 81  110511  30  0
2001 May 05  034633 293  0  073341 148 81  110107  30  0
2001 May 06  034229 293  0  072937 148 81  105703  30  0
2001 May 07  033826 293  0  072534 148 81  105258  30  0
2001 May 08  033422 293  0  072130 148 81  104854  30  0
2001 May 09  033018 293  0  071726 148 81  104450  30  0
2001 May 10  032615 293  0  071323 148 81  104046  30  0
2001 May 11  032211 293  0  070919 148 81  103642  30  0
2001 May 12  031808 293  0  070516 148 81  103238  30  0
2001 May 13  031404 293  0  070113 148 81  102834  30  0
2001 May 14  031001 293  0  065709 148 81  102430  30  0
2001 May 15  030558 293  0  065306 148 81  102026  30  0
2001 May 16  030155 293  0  064903 148 81  101623  30  0
2001 May 17  025751 293  0  064500 148 81  101219  30  0
2001 May 18  025348 292  0  064057 148 81  100815  30  0
2001 May 19  024945 292  0  063654 148 81  100411  30  0
2001 May 20  024542 292  0  063250 148 81  100008  30  0
2001 May 21  024139 292  0  062848 148 81  095604  30  0
2001 May 22  023736 292  0  062445 148 81  095200  30  0
2001 May 23  023333 292  0  062042 148 81  094757  30  0
2001 May 24  022930 292  0  061639 148 81  094353  30  0
2001 May 25  022527 292  0  061236 148 81  093950  30  0
2001 May 26  022125 292  0  060833 148 81  093547  30  0
2001 May 27  021722 292  0  060431 148 81  093143  30  0
2001 May 28  021319 292  0  060028 147 82  092740  30  0
2001 May 29  020917 292  0  055626 147 82  092337  30  0
2001 May 30  020514 292  0  055223 147 82  091933  30  0
2001 May 31  020112 292  0  054821 147 82  091530  30  0
2001 Jun 01  015709 292  0  054418 147 82  091127  30  0

End of < _readme_.txt >
