ALOHA.TXT   Understanding your ALOHA circle         5 Aug 2004
--------------------------------------------------------------

All APRS programs should compute and display the reliable ALOHA
circle or area of optimum APRS range for each station.  This is easy
to calculate and is fundamental to APRS operations reliability, and
matching user expectations to their RF situation.   But first an
explaination of ALOHA.

APRS users share a single channel using time division multiple
access called TDMA.  A fundamental concept in this channel sharing
process is the concept pioneered in the late 60's at Hawaii University
called ALOHA which is the simplest form of TDMA network where those
stations with data, simply send it and hope there is no collision.
It was shown that the theoretical maximum throughput of such a system
is about 18% of channel capacity.

This capacity can be doubled to 36% if stations use carrier-sense-
multiple-access (CSMA) where they listen first for a clear channel.
But, in APRS, unfortunately, only the digis can hear each other
and the users that are the source of "local" data cannot.  Typically,
a single user only hears about 5% or less of what the digi's hear.
Since the important packets on the air are from local users with
very little CSMA advantage, The ALOHA model is the better representation
of local reliability.

*** But these ALOHA and CSMA analyses were systems that included ACKS
just like conventional packet.  APRS generally does not include ACKS
and so the analysis is different.

It is easy to compute the number of APRS stations that can participate
reliably in a net on a 1200 baud channel.  Then display this range
circle on the map so that everyone has realistic expectations.  Anyone
who sends his packets routinely beyond that range is being unfair to
his fellow APRS stations.

To assist APRS uses, two new commands have been added to APRSdos (in
the APRSmax version) that let the user easily see his effecive LOCAL
(reliable) APRS area.

  OPS-SHOWaloha   - computes and displays your ALOHA circle

  MAPS-PLOTS-HOPS - shows the number of hops to surrounding areas

OPS-SHOWaloha:  This command will compute the distance to all stations
and then draw YOUR ALOHA circle for your station showing the radius
from your station that contains a workable number of APRS stations
based on immediate traffic in the area on a 1200 baud channel).
If you are getting stations from outside your ALOHA circle, then they
are QRMing your area and colliding most of the time with local more
valuable traffic.  We must educate people to CUT BACK on their path
to their own ALOHA circle.  Anything else is QRM to others...

MAPS-PLOTS-HOPS:  This command will first SORT all stations by their
PHG Height and then search through the DIGIPATH page and compute the
number of hops to each DIGI.  Then plot them according to color and
number of hops.  This display is VERY REVEALING:

   1) It shows you how far away and how many hops some DIGIS are
      sending their POSITIONS inorder to be seen in YOUR area.
      Many of these you just don't need to see the QRM.

   2) Band openings really show up with some short hop counts
      to some far away places

   3) The # of hops shown is the number of hops that that digi
      took to get its POSIT onto your screen.  For you to send
      your packets back to be seen in its area, you need to add
      ONE to the #.  But PLEASE, do not use WIDEn-N to reach
      anything more than say 2 or 3 hops.  instead choose a
      "named path" to communicate with someone in that area,
      Not flooding 100 digis in all directions..

NOTES:  If you have not done a OPS-SHOWaloha, then the first time
you do a MAPS-PLOTS-HOPS an ALOHA will automatically be done.  But
remember, this is computed ONLY for the stations in your P-LIST.
If you have done something like deleted a lot of home stations
or mobiles to clean up the MAP, or loaded a different .BK file
then your new ALOHA will be erroneous.  So the ALOHA circle only
has meaning if your P-LIST truely represents EVERY STATION on the
air on your 144.39 channel.


OTHER COMMANDS useful for making the above displays more useful:

MAPS-FEATURES-CALLS-NONE:  This will toggle off callsigns to
      make the display cleaner

If you have more than 300 stations QRMing your area, you need to
make sure to capture all the digis inorder to get a full plot of
the digis.  Here are some steps I use to make sure I get all the
digis:

1) Let your system run for hours.  Before it gets to a full 9 pages
   do a FILE-SORT to get older stations first
2) On the P-List starting on page 1, DELete all old mobiles and any
   other non-digi stations
3) THen let it run over night to see what DX digis you might capture.
4) Again delete non-digis and FILE-SAVE the file as your own DIGIS.BK
5) Now turn off calls
6) Now do the MAPS-PLOTS-HOPS to get a nice network summary!


CAVEATS!  READ WITH CAUTION:

1)  Remember, this stuff is all hosed up by one count if any
digi has "ID" set to ON.  Because this automatically inserts the
digis call in the path and increements the hop counter, event though
this count is already counted for in the n-N decrement.

2) Also, sometime a N hop packet gets collided, but a later N+1 or
larger hop path will get heard.  SO remember that this display is
an instantaneous plot of what the LAST packet heard from a digi
took, it may not represent the average conditions.  So watch the
display every half hour or two to see what a DIGI actually does
most of the time...

PROGRAMMERS GUIDE to the ALOHA Algorithm

To keep everything integers, compute channel loading over 30 minutes.
A 1200 baud channel handles about 60 packets per minute or 1800 per 30.
A home station sends about 2 packets per 30 minutes
A Digi sends 3 per 30, and a WX station sends 6 per 30 minutes
Mobiles in motion average about 15 packets per 30 minutes
Mobiles not in motion average about 7
Each digi adds an additional copy of every packet

ALOHA CIRCLE ALGORITHM:  Simply sort all stations heard on RF by range
and then, starting with the closest and working out, start adding up
the packets per 30 minutes per type station.  Multiply this by the
"copies" variable C which is initially 1.  Each time you find a new digi
then increment C.  Keep adding all packets until you get to 1800.  Stop.
That then is a full channel and the range of that last station represents
the ALOHA circle in your area.

NOTE:  This is a very OPTOMISTIC ALOHA Circle since it assumes 100%
channel efficiency which is unrealistic and the maximum possible some
of the time.

Trying to communicate beyond that range is just causing interference
to everyone else...

Enjoy
Bob Bruninga, WB4APR
