Complementary code keying

Complementary code keying (CCK) is a modulation scheme used with wireless networks (WLANs) that employ the IEEE 802.11b specification. In 1999, CCK was adopted to supplement the Barker code in wireless digital networks to achieve data rate higher than 2 Mbit/s at the expense of shorter distance. This is due to the shorter chipping sequence in CCK (8 bits versus 11 bits in Barker code) that means less spreading to obtain higher data rate but more susceptible to narrowband interference resulting in shorter radio transmission range. Beside shorter chipping sequence, CCK also has more chipping sequences to encode more bits (4 chipping sequences at 5.5 Mbit/s and 8 chipping sequences at 11 Mbit/s) increasing the data rate even further. The Barker code, however, only has a single chipping sequence.

The complementary codes first discussed by Golay were pairs of binary complementary codes and he noted that when the elements of a code of length N were either [−1 or 1] it followed immediately from their definition that the sum of their respective autocorrelation sequences was zero at all points except for the zero shift where it is equal to K×N. (K being the number of code words in the set).

CCK is a variation and improvement on M-ary Orthogonal Keying and uses 'polyphase complementary codes'. They were developed by Lucent Technologies and Harris Semiconductor and were adopted by the 802.11 working group in 1998. CCK is the form of modulation used when 802.11b operates at either 5.5 or 11 Mbit/s. CCK was selected over competing modulation techniques as it used approximately the same bandwidth and could use the same preamble and header as pre-existing 1 and 2 Mbit/s wireless networks and thus facilitated interoperability.

Polyphase complementary codes, first proposed by Sivaswamy, 1978, are codes where each element is a complex number of unit magnitude and arbitrary phase, or more specifically for 802.11b is one of [1, −1, j, −j].

Networks using the 802.11g specification employ CCK when operating at 802.11b speeds.

Mathematical description
The CCK modulation used by 802.11b transmits data in symbols of eight chips, where each chip is a complex QPSK bit-pair at a chip rate of 11Mchip/s. In 5.5 Mbit/s and 11 Mbit/s modes respectively 4 and 8 bits are modulated onto the eight chips of the symbol c0,...,c7, where


 * $$\mathbf{c} = (c_0,\ldots,c_7) = \left(

e^{j(\phi_1+\phi_2+\phi_3+\phi_4)}, e^{j(\phi_1      +\phi_3+\phi_4)}, e^{j(\phi_1+\phi_2      +\phi_4)}, -e^{j(\phi_1             +\phi_4)}, e^{j(\phi_1+\phi_2+\phi_3      )}, e^{j(\phi_1      +\phi_3       )}, -e^{j(\phi_1+\phi_2             )}, e^{j \phi_1                     } \right)$$

and $$\phi_1,\ldots,\phi_4$$ are determined by the bits being modulated.

In other words, the phase change $$\phi_1$$ is applied to every chip, $$\phi_2$$ is applied to all even code chips (starting with $$c_0$$), $$\phi_3$$ is applied to the first two of every four chips, and $$\phi_4$$ is applied to the first four of the eight chips. Therefore, it can also be viewed as a form of generalized Hadamard transform encoding.