1 Mbps DSSS
To achieve the 1 Mbps throughput with DSSS, each bit of a data was encoded into a sequence of 11 bits. This is called the Barker 11 Code. In the Barker code, a 0 data bit is always represented as (10110111000) and a 1 data bit is represented as (01001000111). With these 11 bit chips, up to 9 of the bits can be lost before the original data bit cannot be restored. To transmit each chip Differential Binary Phase Shift Keying (DBPSK) modulation is used. Binary being the key word in that scheme since 1 or 0 gives us two options. With DBPSK the carrier signal is shifted or rotated depending on the bit. A 0 bit would result in no change to the carrier signal, and 1 bit would rotate or shift the signal 180 so that it was suddenly upside down. DSSS always uses a chipping rate of 11 million chips per second, so when each symbol (original bit) contains 11 chips, we get a transmitted data rate of 1 Mbps.
2 Mbps DSSS
To double our initial throughput we keep the original 11 bit Barker code but instead of this time we modulate the symbols using Differential Quadrature Phase Shift Keying (DQPSK). Quadrature (4) being the key word in this scheme. With DQPSK two chips are modulated at a time, and since we have 2 binary bits that gives us 4 possible options:
- 00 – The phase is not changed
- 01 – The phase is rotated 90 degrees
- 11 – The phase is rotated 180 degrees
- 10 – The phase is rotated 270 degrees
Since the data bits are modulated in pairs we are able to transmit twice as much data in the same amount of time compared to DBPSK, which gives DQPSK twice the throughput with 2 Mbps.
As we briefly mentioned in our initial modulation post, IEEE 802.11-1997 was the first standard. It included FHSS and DSSS using either DBPSK or DQPSK in the 2.4 GHz band. The 802.11-1997 standard only supported Barker coding for the maximum throughput of 2 Mbps.
5.5 Mbps DSSS
To increase our throughput Complementary Code Keying (CCK) was introduced to replace the Barker code. CCK takes 4 bits of original data at a time to create a unique 6 chip symbol. After the original bit is encoded 2 more chips are added to the symbol to indicate the phase orientation per DQPSK, making a total symbol of 8 chips. So Barker coding gave us a 1:11 coding ratio CCK gives us a 4:8. Given the steady chipping rate of 11 MHz with DSSS and each symbol containing 8 chips, we get a symbol rate of 1.375 MHz (11 MHz / 8). Since each symbol is based on 4 original data bits we get an effective data rate of 5.5 Mbps (1.375 MHz * 4).
11 Mbps DSSS
By making an adjustment to the encoder, we can take 8 original data bits to create the 8 chip symbols. By doubling the the amount of original data in the chip we double the throughput rate. Since we’re still using 8 chip symbols and the constant 11 MHz chipping rate we still have a symbol rate of 1.375 MHz, but with 8 data bits in each symbol we can now reach 11 Mbps (1.375 MHz * 8). Increasing the number of data bits in symbol means we lose some of the resiliency to recover information. While we’ve increased throughput we are more sensitive interference and therefore require a stronger and less-noisy signal.
IEEE 802.11b was introduced in 1999 and standardize the use of CCK supporting a maximum throughput of 11 Mbps. Since 802.11b was based on DSSS and the 2.4 GHz band it was also backwards compatible with the original standard and devices could select their speed by simple changing the modulation or coding schemes.
So we’ve talked about the frequency bands and transmit power, but how are these things utilized to actually carry our network data? Since computers communicate in binary bits, we have to be able to differentiate a 1 or a 0 on an RF signal. Since RF isn’t a closed circuit we can’t use on/off to signal 1 or 0, the only thing we can do is modify the RF signal in some way to make it slightly different. Modifying the RF signal to indicate the data it is carrying is known as modulation. Given the physical properties of an RF signal modulation can only alter a few attributes of the signal. We can modify the frequency, but only slightly above or below the carrier frequency. We can modify the phase of the signal, which is the timing relative to the start of the cycle. Or we can modify amplitude which is the strength or height of the signal.
Since our wireless networks require sending data at high bit rates (fast), we require more bandwidth to modulate this data. This additional bandwidth is distributed across a range of frequencies as opposed to using a single carrier signal. We call this distribution Spread Spectrum since we are spreading the signal across multiple frequencies. There are 3 primary categories of spread spectrum used for wireless data networks: Frequency-Hopping Spread Spectrum (FHSS), Direct-Sequence Spread Spectrum (DSSS), and Orthogonal Frequency-Division Multiplexing (OFDM). We will expand on DSSS and OFDM in future posts.
I also want to take a moment to introduce the wireless standards. The first standards bodies we need to be concerned with are the ITU-R which is set up by the United Nations to manage RF spectrum globally. In the United States the Federal Communications Commission (FCC) regulates frequencies, RF channels, and transmission power. A similar body called the European Telecommunications Standards Institute (ETSI) manages the same things in the European region. On top of the RF standards we have the familiar IEEE which manages a majority of our computer standards. IEEE 802 standards deal all deal with local area and metro area networks and specifically IEEE 802.11 is responsible for wireless networks. As we work through the different RF transmitting schemes I will include a mention on which 802.11 standard introduced or maintained the technology.
The initial wireless network standards utilizing an idea call frequency hopping was used to avoid interference with other devices in the ISM band. In a frequency hopping system the transmitter and receiver have to be synchronized so they know which frequency they are supposed to be on at any given time. To accomplish they they switch between channels at regular intervals. To avoid interference small channels are used so that if interference does occur it will not be a large impact on the data being transmitted. FHSS utilized 1-MHz channels spread across the entire band. These smaller sized channels meant that only so much data could be transmitted at a time and this limited bandwidth to 1 or 2 Mbps. Also multiple transmitters (access points) in an area would eventually collide with each other on the same channels. For these reasons FHSS was fairly quickly replaced with DSSS.
Instead of using many small channels, DSSS utilized a smaller number of wider channels. With DSSS each channel is 22-MHz wide with a maximum supported throughput of 11-Mbps. DSSS was designated to be used in the 2.4GHz band. As noted in previous posts this is where we run into the problem of overlapping channels, since the ISM band and it’s 5 MHz channels existed before the wireless standard which dictated the 22-MHz wide channels. The non-overlapping channels available in the US are 1, 6, and 11. As the name indicates, DSSS transmits data in a direct sequence, or a serial stream. Instead of frequency hopping to avoid interference DSSS relies on a few methods to try an alleviate any interference problems:
- Scrambling – Instead of transmitting long sequences of 1s or 0s (think 255.255.0.0 in binary), the data is first sent through a scrambler to generate a randomized sequence of 0s or 1s.
- Coding – Each bit of data is converted into multiple bits using special patterns that help protect against errors. Think of using the phonetic alphabet for radio transmissions. Instead of saying each letter individually we use a word to describe the letter. ‘A’ becomes ‘alpha’, ‘B’ becomes ‘bravo’, ‘C’ becomes ‘charlie’, and so on. This requires more data to transmit the original data however it helps eliminate errors and the need for re-transmission. Error correction is more costly than error prevention. Each of the newly coded bits is called a Chip, and the complete group of chips representing a data bit is called a Symbol. DSSS utilizes two encoding techniques, either Barker Codes or Complementary Code Keying (CCK).
- Interleaving – The encoded data is then spread out into separate blocks so that temporary interference would only affect a smaller number of blocks.
- Modulation – Finally the bits in each symbol are used to modulate the phase of the carrier signal.
The original 802.11 standard was ratified in 1997. It originally included two main transmission types FHSS or DHSS for use only in the 2.4 GHz band.