# Tagged: Barker Code

# DSSS Deep Dive

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

##### 802.11-1997

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.

##### 802.11b

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.