This article builds upon the introductory article about baseband modulation where Manchester code was explained, and hopefully understood and accepted by the reader as a viable code.
As we saw in Manchester, each data bit is replaced by a couple "chirps", in order to embed clock information into the transmission. Since the chirp rate is twice the data rate, this encoding doubles the bandwidth when compared to NRZ code.
Well, sometimes this spreading of spectrum over a wider bandwidth is desirable. For example, when there is a wide band available, but TX must transmit using low power density for whatever reason, e.g. avoid interference with other devices. Gadgets that use the ISM bands like 1.9 or 2.4GHz are mandated to use spread spectrum.
This way, using a very high (artificial) data rate to increase bandwidth, we achieve simplification of the radio hardware. Instead of using a complex modulation scheme to cover a large bandwidth, we force a high data rate to swell the spectrum.
A good chirp code has a good autocorrelation, that is, it is easy to spot the chirp in the stream and recover the clock, not by a human, but by automated means.
Being easy to spot, the chirps can be identified even in presence of severe noise. This is important for wide-bandwidth applications since the channel is shared among many transmitters.
Other transmitters using different modulations won't disrupt the data stream, even if they are chirp-code transmitters, as long as they use different chirp codes, e.g. a stream with 5-chirp code won't disrupt a concomitant 7-chirp code stream — if and only if the chirp codes are well-chosen.
Barker codes are known as good chirp codes: easy to detect, and don't interfere with other transmissions. WiFi 802.11b employs the Barker codes of length 11 and 13 (Barker-11 and Barker-13) for the lowest speeds. Interestingly enough, there is a Barker-2 code that is equivalent to Manchester encoding!
Normally, Chirp codes are not the last modulation stage. They are the last baseband layer and indeed they shape the spectrum, but the final modulation is responsible by moving the signal to the allocated band (e.g. 2.4Ghz in case of WiFi).
It does not make sense to re-group Barker chirps using complicated modulations like QAM (that transmit several bits per baud). The final modulation that matches a chirp code tends to be very, very simple, like BPSK or GFSK, because the whole point of a chirp code is to simplify the analog radio stage.
A chirp code book has only two entries. Considering the Barker-7 code (1110010), either the original code or its inverse (0001101) is sent, respectively to data bits 0 or 1. It does not matter which bit value is related to which code, but TX and RX must agree on the same book.
An advanced application of chirp modulation is CDMA, the encoding technique employed in 3G/UMTS cell phone communication. CDMA allows all phones to share the same band and transmit at the same time, but each phone uses a different chirp code, and the cell tower can distinguish each phone. Each 3G phone can use the whole bandwidth allocated by the regulator.
In CDMA, the chirp codes used by each phone are required to be orthogonal, that is, they have the same length but don't correlate with each other. With this property, the RX won't mistake chirps from A while looking for chirps from B. When talking with B, transmissions from A should look like noise, and vice-versa.