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?

  • \$\begingroup\$ I am very familiar with how spread spectrum works in 'continuous' transmission, but have never looked into the low duty cycle case. I will read up on it today and give you an answer if I can find some time. \$\endgroup\$
    – Kellenjb
    Aug 4, 2011 at 12:48

2 Answers 2


I am no expert in this - there will hopefully be much better answers soon. The following majors on one "lead" which may be highly useful or a complete blind alley - please advise.

802.15.4 is probably a useful starting place for understanding. This is the physical and MAC layer that the higher level layers implemented by Zigbee and ISA100 and Wireless HART and Microchip's MiWi are based on. (All but one of those are Wikipedia references).

802.15.4 is targeted especially at low power infrequent communications. Part of the low power in specific implementations is achieved by low transmit power levels, but the protocol is focused on achieving low power. One method of many is preassigned slot allocations.

This paper seems to have useful things to say Co-existence of IEEE802.15.4 at 2.4 GHz but I had trouble finding a downloadable form of it.This one can be read online. Equally annoying version here

Microchip AN1204 - Microchip MiWi™ P2P Wireless Protocol - may even be useful :-).

This Real Time Automation tutorial is wandering around the general subject and may be apposite.

UMASS Lowell - Wireless sensors lecture interesting and possibly relevant.

Microchip AN1066 MiWi stack

Not directly related information but relevant and interesting enough to be included

  • \$\begingroup\$ Some interesting papers there, though I'm not quite clear whether there's any nice protocol for the receiver to find the transmitter's frequency except by having the transmitter send a long preamble and have the receiver scan for long enough to see it. I'm also unclear what means exist to avoid having a receiver get 'distracted' if a device that isn't supposed to be part of its network starts sending a preamble just before the device that is supposed to be part of the network sends one on another channel. \$\endgroup\$
    – supercat
    Aug 29, 2011 at 21:16

I don't understand why you think they work for uniform "time" signals and not for other signals, What's different in the two scenarios?

The receiver does not need any pre-ambles or mid-ambles to find the transmitter (if those are used then those are for some type of recovery e.g bit timing synchronisation or channel estimation), all interference from all other devices will significantly reduced at the receiver when the received code is de-spread with the spreading code.The spreading code is generated when the transmitter and receiver are first paired.

The diagram below illustrates this fact.The jamming signal can have a power level higher than our transmit power but that won't impede transmission because the power level will be divided by a spreading factor N at the receiver when we de-spread, this is because the jamming signal will not have any correlation to our spreading code.



In a frequency hopping scheme, the receiver can easily recover the frequency of the data in the received signal r(t) by using an ML detector such as the one shown below:


  • \$\begingroup\$ The frequency-hopping spread-spectrum techniques I know of use one frequency at a time, and require that the receiver know what frequency to listen to when. If two devices have agreed to a schedule and each device knows what time the other thinks it is (typically done by synchronizing clocks), that's no problem. If a receiver listens to a different channel each second but each transmitter sends a ping every minute, even a 100ppm drift would only amount to 6ms of uncertainty--not a problem. If the transmitter went an hour without transmitting, uncertainty would open up to .36 seconds... \$\endgroup\$
    – supercat
    Feb 23, 2015 at 17:04
  • \$\begingroup\$ ...which could be a bit touchy. If it went a day without transmitting, the clocks could drift apart by 4.3 seconds--far enough apart that for all practical purposes the receiver would have no way of knowing what channel to listen on when the transmitter begins operation. \$\endgroup\$
    – supercat
    Feb 23, 2015 at 17:05
  • \$\begingroup\$ In a frequency hopping scheme, the receiver does not need to know the hop sequence (if it does know the hop sequence then computational resources can be preserved), the frequency the data was transmitted on can be fairly easily derived on the receiver side using a maximum likelihood (ML) detector. \$\endgroup\$
    – KillaKem
    Feb 23, 2015 at 17:14
  • \$\begingroup\$ You should edit your question to say "Frequency Hopping Spread Spectrum" and not just spread spectrum, a transmission scheme can be just spread spectrum without implementing frequency hopping. \$\endgroup\$
    – KillaKem
    Feb 23, 2015 at 17:16
  • \$\begingroup\$ I mention "frequency hopping" in the second sentence of the first paragraph; the "subject-line" question was already pretty long without it. Otherwise, how would an ML detector work if data didn't use lengthy preambles? I would think any data sent before the frequency was identified would be lost; if there's some way to avoid that I'd like to know it. \$\endgroup\$
    – supercat
    Feb 23, 2015 at 17:24

This site is temporarily in read-only mode and not accepting new answers.

Not the answer you're looking for? Browse other questions tagged .