There are many point-to-point and mesh data communications modules available which operate in the 868/900Mhz and 2.4GHz bands. I understand how frequency-hopping spread spectrum devices could work very efficiently in the presence of a nice uniform "time" signal. Absent such a thing, though, how can transmitters and receivers efficiently find each other? The only way I can see for transmitters to be found by receivers would be for them to precede any transmissions at particular frequency with a preamble that's long enough for a receiver to cycle through all available frequencies until it stumbles upon a frequency that's in use. Under such constraints, increasing the number of channels used for a particular device's frequency hopping would increase the required preamble length. Further, unless the preamble include a repeating data pattern to allow devices to reject early on transmissions that are not of interest to them, increasing the number of channels used for frequency hopping would increase interference among frequency hopping devices (since if two unrelated devices A and B attempt to transmit in the same range of frequencies, with A's transmission slightly preceding B's, a receiver that was interested in B's transmission might likely hear A's preamble, lock onto A's frequency, and thus not be scanning for other frequencies while B's preamble is being transmitted.
Am I misunderstanding things, or is the above how the various radio modules on the market actually work?
What would seem more sensible would be to have a small number of channels that were used to send "packet headers", where each packet header would then contain the number of a randomly-selected channel which would be used to hold packet data. If the receiver only had to listen for a small number of channels, it could more quickly identify the preamble of a transmission, thus reducing the required length of a preamble (e.g. using four channels instead of 15 would probably allow a 2/3 reduction in preamble length). Since only packet headers would be sent on the "introduction" channel, it would seem that contention there could be reduced.
If a receiver has to hear a four-byte preamble sequence to recognize a transmission, sending packets of 64 data bytes and 10 header bytes on 15 randomly-selected channels would require, for each packet, typing up a channel for 75+10+64 = 149 character times; divided among 15 channels that would be an average of 10 character times per channel.
If one were to use four "introduction" channels and 11 data channels, each transmission would require sending 20+10=30 bytes on the introduction channel, and 4+10+64=78 bytes on the other channel (figure most of the header wouldn't need to be retransmitted). Utilization of the introduction channel would be 30 bytes/4 channels (7.5/channel), while the data channel utilization would be 78/11 (7.1/channel). Does anyone know whether any devices do such a thing?