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).