0
\$\begingroup\$

In RF communication the carriers such as 950MHz, 133MHz are available under 1 GHz. If there are 50 devices using the for example 433MHz carrier, then how could large number of devices talk to each other? Wouldnt their communications be disturbed?

What is the limiting factor for the number of devices that can talk to each other at the same time?

\$\endgroup\$
  • \$\begingroup\$ First of all, they may not actually be exactly at 433 MHz. There may be channels with a dedicated carrier and a certain amount of bandwidth on either side to prevent interference between channels. This is how older communication systems worked. Second of all, in newer digital systems there are various schemes for sharing the exact same bandwidth without interference. You can look up "orthogonal codes" to get an idea. With orthogonal codes, congestion causes degradation of signal to noise ratio for everyone. \$\endgroup\$ – mkeith Feb 15 '15 at 4:34
  • \$\begingroup\$ @mkeith that solves the problem to an extent thanks! So does Wifi always use Orthogonal Codes? Is that how we can use WiFi in apartment buildings? \$\endgroup\$ – Denis Feb 15 '15 at 5:10
  • \$\begingroup\$ Well, wifi has channels, but it also uses some form of non-interfering codes as well. Not really an expert on it. You can check here: en.wikipedia.org/wiki/List_of_WLAN_channels \$\endgroup\$ – mkeith Feb 15 '15 at 5:15
  • \$\begingroup\$ So basically, when I program such a RF chip, do I always have to configure through which channel frequency I transmit information? And when I do, do all of the receivers even they are tuned to adjacent channels, hear my message? \$\endgroup\$ – Denis Feb 15 '15 at 6:56
  • \$\begingroup\$ You'll need to tell both radios which channel to use. When the transmitter starts to send, the receiver will notice by monitoring the RSSI (received signal strength indicator). When RSSI is low, then goes high, something is being transmitted. If RSSI never goes low (because it's noisy), the transmitter will wait and wait to transmit, while the receiver is probably getting garbage. In that case, both radios can negotiate a new channel and try again. Some radios do this automatically, but they can all be told to, explicitly. \$\endgroup\$ – Jon Feb 15 '15 at 8:07
3
\$\begingroup\$

1) Your radios do not work at 433.0000MHz; 433MHz is the "band".

2) After selecting a band, radios select a "channel" within the band; i.e. 433.075MHz, 433.100MHz, etc.

3) After selecting a specific frequency, the radio modulates up and down from it. The difference between the beginning of channel "1" and the beginning of channel "2" is 0.025MHz; that is the "band-width".

So, selecting 433MHz band, channel "1", the radios occupy many frequencies between:

(433.075 - (0.025 / 2)) to (433.075 + (0.025 / 2))  
            433.0625MHz to 433.0875MHz

Check out the "Channels" table: http://en.wikipedia.org/wiki/LPD433


On the ISM bands (license-free), you are required to accept all interference, but are "encouraged" to produce none. If you imagine yourself and a friend trying to communicate verbally over a long distance, you know you'll need to talk loud. If other people are nearby and also talking loudly (interfering with your conversation), you'll have to talk even louder (interfering with their conversation), or find somewhere else to talk (change channels). Radio's are very much the same and many automatically negotiate the "quietest" channel to use. If it gets noisy, or communication becomes error-prone, they agree on a new (quieter) channel, and switch.

If you have a relatively quiet channel, all to yourself, you can run as many radios on it as you want, if you have some type of "flow-control" to keep the multiple radios from talking while others are. This can be as simple as assigning each radio an address (1, 2, 3, etc.) and preceeding all communications with a descriptor indicating who the recipient is. Radios with different addresses ignore the remainder of the packet. When it gets quiet again, all radios begin waiting for a new address byte.


Additional:

1) The available bandwidth is 25kHz per channel, however, channels aren't really "real". You can transmit wherever you want within the ISM band. This IC can use 4kHz channel spacing, alowing you to transmit in a "sub-channel" of a channel of the ISM band. Cheaper ones just use the 25kHz (+-12.5). Lower bandwidth means exactly that, less bandwidth available for use. For example, this IC advertises that while using 12.5-kHz "channels", approximately 9.6kbps can be transferred.

2) Using the 4kHz spacing indicated by the datasheet, you could use approximately 6 distinct "sub-channels" (6 conversations at a time, using 1 channel). The total bandwidth of the channel will not change, but you can slice it up however you like.

3) The datasheet indicates the device does have some type of automatic low-power receive mode. In order to receive at all, the base-band block must be active. In this mode, the radio can only detect "something is being transmitted", not what, or by who, or to who. The first byte is often lost or corrupted; to "poke" the radios first, start the transmission with one or more null bytes (0x00). This makes sure all radios are ready to receive the ID byte. Using an 8-bit ID, with 0x0 reserved for "poking", 0xFF reserved for "all-call", 254 possible ID's remain. Using a 16-bit ID, many thousands of ID's are possible. Any radio that receives an ID other than it's own, goes back to sleep. You can Google many open-source stacks/shells/protocols to use instead of having to write this by hand.

4) There are a number of technologies to address this. RSSI indicates the ambient signal level on the "sub-channel" that you are using and all radios using "channel 1" will all see different RSSI values for their respective (narrower) sub-channel. This IC features "Clear Channel Assessment (CCA) for Listen-Before-Talk (LBT)". Essentially, the radios will wait for RSSI to be low (quiet) before they talk. This IC indicates support for "Retransmissions" and "Auto-Acknowledge of Received Packets", so, if two radios do happen to try to talk over each other, the radios will automatically make sure the messages get where they were going (without you having to detect the collision and manually re-send).

Below is a diagram of [sub]channels; this concept applies when selecting one channel out of a band, and selecting a "sub-channel" within that channel:
enter image description here

\$\endgroup\$
  • \$\begingroup\$ Question 1 : the TI CC1125 datasheet states that it uses 12.5-kHz Channel in Compliance With FCC Narrowbanding Mandate. Does that mean that above calculation can be different to this IC I am using? How could that be a disadvantage for me? \$\endgroup\$ – Denis Feb 15 '15 at 14:36
  • \$\begingroup\$ Question 2: If I have 1000 units (worse case, I would want leaser) of TI CC1125 units deployed in a forest, I know definitely there are no 1000 channels in the band. So how could the available spectrum be used to enable communication between these large number of units? Is it not possible? And how to determine the limit from datasheet values atleast to obtain an average idea? \$\endgroup\$ – Denis Feb 15 '15 at 14:40
  • \$\begingroup\$ Question 3: How can one unit shout-out to another unit listening in the band in a way so that latter would start listening and others around wouldn't even waking up? Is that not possible? How do I address the one I need to speak to? \$\endgroup\$ – Denis Feb 15 '15 at 14:42
  • \$\begingroup\$ Question 4 : If we assume two units happen to use channel-1 for communication to talk to another two units within range. In that case, Is there any possibility that two units perform a successful transmission over channel-1 at the same time? Or does one unit has to wait till the channel becomes free? I cannot express the appreciation to the answers and for your valuable time and effort spent. I mean when 4 people speak at the same time, if they concentrate enough we still can talk with difficulty at the same time. They can speak and listen at the same time. This got me thinking. \$\endgroup\$ – Denis Feb 15 '15 at 14:49
  • \$\begingroup\$ There are just too many questions here, you need ask start new posts and ask these questions separately. \$\endgroup\$ – KillaKem Feb 26 '15 at 22:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.