Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Wireless System

Status
Not open for further replies.

jameske

New Member
Hello everyone,
Recently I've been doing some learning in the wireless area and have come to a question which has stumped me!
How would I run a wireles system with say six devices all communicating to one point? So there would be six transmitters and six recievers paired with each other (or transcievers could be used).
I have tried setting up this sort of system however if I have multiple transmitters broadcasting at once they jam each other's signal and in the end nothing is received by the receivers. The TX and RX modules where running in the 433MHz Range.

Thaks in advanced,
James
 
It has to do with the transmission schemes which you can't modify from outside the radio modules. For the most part, it's been decided for you. The first is frequency multiplexing (different frequencies), the second is time multiplexing (each takes turns transmitting over the same frequency), and the third is spread spectrum coding which is where a transmitters send their signal over a band of frequencies but mix their signal with a special mathematical code before they do. The receiver uses this code and runs the jumble of signal it receives through some math to separate the original transmitted signals out.

Since you already have the modules, the only choice might be a really slow form of time multiplexng, which is realy just having transmitters take turns. But that would require some kind of synchronization scheme (like a common time-base like GPS or something that all transmitters had in common). Or transceivers to negotiate a sharing scheme since you can't take turns unless you know who and how many people you are taking turns with. Of course, transceivers could also just wait until the air is clear before transmitting.
 
Last edited:
Thanks for you're replies. Wow, I've heard of spread spectrum coding, but wasn't sure what it is! Did some googling and found out.
Are there any good websites or resources that explain it really well? I found some in google but they don't go very deep.

Also, would transcievers be better?
 
dknguyen's reply was excellent but I would like to add a polling method.

First assign a number to each radio with zero being the coordinator. All msgs are transmitted as packets including a destination address.

All devices see all messages but only respond to the ones with their address.

The coordinator sends a msg to device 1. Device 1 then sends its information to the coordinator in a reply.

When device 0 and device 1 are finished device 0 sends a msg to device 2. ...

This continues till all devices have communicated with device 0.

If the coordinator can not establish communication with any device it gives up and moves on to the next one.

Device zero can poll continuously or on a time schedule, like once a minute.
 
Ah lol, yeah. I was sitting here trying to think of a simple "negotiating scheme" but I guess I was in a different mindset because it was wireless rather than wired serial protocals. Which is why I left it as "negotiating scheme". haha. Yeah. Single coordinator sending explicit requests to the slaves.

Yes, transcievers would be best since you need it to perform the coordination...unless you had GPS modules with each radio to have the same time-base for sharing purposes...or just bypassed that and stick atomic clocks like they do on GPS satellites.

I think for the most part just understanding the concept of spread spectrum is good enough. THe math is realy icky. Basically you start with your regular bitstream that you want to transmit. Now a normal AM/FM transmitter would just transmit this bistream directly on a single channel. But a spread spectrum receiver has one more step in. It multiplies it by a bitstream called a "Code" or "chip sequence". For example, the chip sequence might be 256 bits long, but fits into the same time frame as a single bit of the original bitstream (you aren't stretching the signal out in time by 256x when you multiply it, the message is stays the same length of time). The bitstream is now 256x higher in frequency and that means the bandwidth is 256x higher. Instead of covering a single traditional channel like it did before, now it covers 256 channels. YOu just basically "smeared' the bandwidth of the signal.

The power level in the signal remains the same though, so the area under the signal in the frequency spectrum of the signal stays the same, but instead of a powerful spike over a a narrow band of frequencies (the single channel) it is now lower but spread out over a larger range of frequencies. Other transmitters follows this exact same process and transmit on the SAME frequencies at the same time. THe code is used to tell them apart. With the traditional AM/FM, if two transmitters transmitted on the same frequency they'd interferre with each other since the frequency is the only way to tell them apart. But with SS, you have the code.

Now here's the key...the various codes used are supposed to be orthogonal. Meaning that when summed together they average out to zero. Maximizing the number of orthogonal codes for a given chip sequence length is a pretty much a grand challenge problem that we can only do by massive trial and error and exhaustive testing (every sequence has to be orthogonal with every other sequence and so each sequence affects the validity of every other sequence so your first two orthogonal codes you happen to come by will place restrictions on what all the other ones will be). Imagine it like this. It's the equivalent like magically making more radio spectrum through logic alone. In reality to maximize the number of codes, we don't actually use completely orthogonal chip sequences. It's too difficult to find and too few of them exist. We use near-orthogonal codes. So they almost average to zero when summed together within 1 or 2 bits maybe out of 48 or 256.

And the crazy math part is in the receiver. It takes the jumbled up spread-spectrum mass of all transmitters. It runs a correlation with the chip sequence of the signal it is looking for. Because it's a correlation, the chip sequence of interest and the signal transmitted with that sequence will "synch up" and not be reduced in effective strength. But because all other signals, being orthogonal to each other and the chip sequence of interest will sum up to zero with the chip sequence of interest and dissapear. This causes the signal matching the code to be separated and jump out. Magic! In the same way you "spread" the signal originally over frequency to be transmitted, this is effectively de-spreading it. You take the signal and compress it back into the narrow bandwidth it used to be.

There are real world complications such as the orthogonality of signals in general does requires them to be properly aligned in time before summing (placing a restriction on the codes to sum to zero no matter how they were aligned with each other is a massive restriction on top of an already massive restriction of round-robin orthogonality and reduces the number of codes by far too much). Two solutions to this are universal time bases (ie. GPS atomic clock time) so everything is aligned, or making bitstream sequences just really really long so they cancel out for the most part where they do overlap. Sometimes both methods are used since its not a problem for a cell tower to have access to atomic clock time, but it's kind of a problem for the cell-phone in your hand.

THere's also the issue that all signals reaching the receiver should do so at the same power level. It's very important with spread spectrum because spread spectrum is basically uses power channels sort of like how AM/FM uses frequency channels. Except frequency divides up more neatly than power does. Frequency channels sit beside each other so too much power just makes it spill over the side into the channel beside it. Power channels are right on top of each other so too much power completely overwhelms it. In spread spectrum Especially with codes that aren't completely orthogonal, a signal that is too strong will drown out other signals during the de-spreading. So the transmitters have to adjust the power level depending on how far away they are. Cell phones do this. THe cell tower continuously monitors the signal strength and the handset what to set it's power level to.

NOTE: THere is Frequency hopping spread spectrum (FHSS) and Direct Sequence spread spectrum (DSSS). DSSS is the "real" spread spectrum that does what I am talking about. Instanteously in time, signals appear over a broad frequency bandwidth. Frequency hopping is more like an regular AM/FM that constantly switches frequencies in a pre-determined sequence out of a set of sequences in a in the hopes it won't hit another transmitter doing the same thing. Instaneously, it will appear as a regular single-channel receiver. Over time it's signal will appear to be spread over a larger bandwidth. For every disadvantage one method has in one aspect, it has an advantage in that aspect. For example, while DSSS tends to reject interference better up to a certain point, past a certain noise threshold it just collapses completely (it's brittle in nature, it's great when it works but when it fails it fails completely sort of like the integrity of a digital signal). FHSS doesn't reject interference quite as well, but does not suddenly collapse and some data still gets through albight at a slower rate (sort of like the integrity of an analog signal).
 
Last edited:
Thankyou!! 3v0 and dknguyen, I'm finally getting somewhere!
Spread Spectrum sounds a bit like WIFI. One thing that still has me though is if there is a device such as a phone connecting to the cell tower Im guessing they both need the transmitter and receiver part to communicate both ways, if this is the case, how are multiple phones connected to the tower? Are they on they spreading their signal over the same frequencies? If so wouldn't they cancel each other out?
 
Yes, WiFii uses spread spectrum (the DSSS kind).

Well you can hear and talk on the phone so obviously the tower is a transceiver and so is the phone.
 
With spread spectrum, if there is more than one devices than how are the coordinated into the system on the same frequency bandwidth?
 
Spread Spectrum sounds a bit like WIFI.

Yes, WiFii uses spread spectrum (the DSSS kind).

One thing that still has me though is if there is a device such as a phone connecting to the cell tower Im guessing they both need the transmitter and receiver part to communicate both ways, if this is the case, how are multiple phones connected to the tower?
Well you can hear and talk on the phone so obviously the tower is a transceiver and so is the phone.

Are they on they spreading their signal over the same frequencies? If so wouldn't they cancel each other out?
And therein lies the difference between spread spectrum and traditional single channel communications. Two non-SS transmissions on the same frequency will interfere, so they have to use different frequencies. But users of a particular spread spectrum channel do indeed spread their signal over the same frequencies. THey just all get thrown out there and overlap. It's the orthogonal chip sequence that allows for the separation. What exactly do you mean by cancel out? If you mean the radio waves themselves, they do have constructive and destructive interference as well as multi-path reflections all summing up which produce time varying dips at various frequencies. THere are methods around this however like equalization and what not. If you're asking why don't the radio waves cancel out because summing up orthogonal chip sequences will result in zero, it's because the radio waves don't cancel each other out. THe binary sequence and the radio wave associated with a zero or a one are just mappings from one to another. Nothing says that just because one sums destructively that the other has to.

It should be noted that spread spectrum (CDMA- code division multiple access) is one of the methods used for multiple access. THere is also FDMA (frequency division multiple access) and TDMA (time division multiple access). THe newer systems are CDMA.
 
Last edited:
Interfere was the word not cancel sorry! To put it in simple terms, Im a little puzzled to the fact that if two or more devices are transmitting at the same time on the same frequency bandwidth with spread spetrum than how does the receiver sort it out or not get confused?
 
I've uploaded an image to explain the above post better.

SS.png
 
In a perfect SS system that uses only orthogonal codes with perfect synchronization (for the orthogonal codes to be aligned properly to sum up to zero) and perfect balance of arrival power in the signal (the so-called near-far problem). It does not get confused however just because everything is mixed together. Remember about the correlation that it ran? That's how. Correlation very crudely is kind of like what your ears do really lots of signal sources share the same acoustic frequency band to reach your ear, yet you can still separate them out. Correlation lets you pick out the presence of a specific (or similar) signal you are looking for in statistical terms. The fact that the codes are chosen to be orthogonal is to support correlation. Another example of correlation is if you were assigned to someone in a photo and given a giant book of mugshots to help you. YOU go through the mugshots one by one judging the similarity of the mugshot with the photo- that's correlations. Or if you were a stupid computer and had to find a certain object in a photo using a small sample photo. You'd basically take the small sample photo and overlap at every possible location in the larger main photo and judge the similarity. With waveforms, you take the sample waveform and compare it with the incoming signal at every possible single point in time (you basically slide it through the incoming signal in time) and see how much it compares. Correlation measures the similarity between a piece of signal and a sample waveform. If the same signal is hidden in there it matches perfectly. But it doesn't have to be the same signal to have a reading of similarity, that's why we want orthogonal codes to ensure that if it's not what we are looking for, it reads as near zero.

In reality, they can and do interferre. In a spread spectrum system, the greatest cause of interference and noise is other users. This is due to the use of codes that aren't perfectly orthogonal and also to the fact that the arrival of all signals of interest to a particular receiver (tower or handset) must arrive at approximately the same power level. It's much more of a problem for towers since all signals arriving at a tower are signals of interest while only one or two signals arriving at a handset are signals of interest. They also interferre because of frequency reuse in adjacent cells in the cellular phone system but this happens with all transmission methods, not jsut CDMA. There's also the synchronization issue too because codes that sum up to zero no matter how they are aligned with each other are much much rarer than codes that sum up to zero when aligned.
 
Last edited:
Ah thankyou very much dknguyen. I read your post on SS again and realised I asked an already answered question (sorry about that).

I'm looking at making a wireless system and maybe I could try spread spectrum (I still need to do lots more learning though)!!

Thankyou again,
James
 
Status
Not open for further replies.

Latest threads

Back
Top