Otherwise how does a new transmitter in a set-up that already has eg an ISS know how to time its packet transmissions and to sequence its frequencies? Surely the console only listens to one frequency at a time (before it hops to the next one I mean)? Maybe some one can explain?
OK. The following is based on work by dekay and several others: And the actual Davis algorithm might be slightly different (we have no way of knowing), but generally has to work this way:
In the US version, 51 frequencies in the 915 MHz band are used. There is a set
sequence for these (hopping around in the band), used by every Davis transmitter. A short
example would be 911.5, 902.35, 912.00, 923.00, 915.00, 906.50, etc. etc. for 51 different frequencies. Those are
nominal, specific frequencies and at any given time, and any given temperature, any transmitter might (for example) actually transmit on 911.41375 or 911.58625 when it was "specified" to be transmitting on 911.50000. That frequency correction factor would be the same for any specified frequency
of that particular transmitter, near that time, but would vary with temperature, etc. But another Davis transmitter, sitting at the same place, same temperature, etc, would have a different
specific frequency correction factor (i.e., a different offset from the specified nominal frequency).
But just think of 51 frequencies on a specified non-linear sequence. [Footnote: Europe only uses 4 frequencies]
The transmitter steps (hops) through and transmits on that sequence of frequencies at an interval specified by the "Transmitter ID". There are 8 of those IDs. ID #1 specifies an interval of 2.5 seconds. ID #2 an interval of 2.5625 seconds, and so forth by steps of 1/16 second (.0625) until ID #8 is 2.9375 seconds between transmissions on successive frequency "hops".
Refer to the short example of frequency sequence above:
911.5, 902.35, 912.00, 923.00, 915.00, 906.50
Now, start up the receiver (Console). Pick a frequency to listen on (911.5), and listen for perhaps a long time. [Doing the math, 50 x 2.9375 ~~ 2 minutes 27 seconds] If you don't receive anything, assume there's no transmitter out there, and keep listening.
If you receive something (a valid packet) on 911.5, then quickly start listening on 902.35. You
should receive a packet within 2.9375 seconds (ID #8). For purposes of this tale, assume you receive it at 2.5 seconds - so there's a transmitter on ID #1. Now, you can set up to receive (in the sequence of the next 49 frequencies, at 2.5 second intervals) from that transmitter.
MEANWHILE you have to
ALSO keep listening, to see if there is a transmitter on any or all of the other 7 IDs. That requires listening on the same frequency (902.35) at 2.5625 seconds, 2.625, 2.6875, etc. And if you receive a packet, you know there's another transmitter on the associated ID - up to a total of 8 of them. So, set up to also receive (in the sequence of the next 49 frequencies, at the appropriate interval different from 2.5 seconds) from that transmitter.
Remember: Those packets you receive from different transmitters, may have different frequency offsets from the nominal specified frequency. So, you have to arrange to measure the frequency offsets (a topic for a different discussion), and keep track of them -- and they change with changing temperature.
Now, throw in that the operator may suddenly remove the transmitter with ID #1. Or change it's ID. Or reboot the console...............
I hope I got that right. Questions?