Множественный доступ с кодовым разделением

Как и в случае FHSS, кодирование методом DSSS позволяет мультиплексировать несколько каналов в одном диапазоне. Техника такого мультиплексирования называется множественным доступом с кодовым разделением (Code Division Multiplexing Access, CDMA). Она широко используется в сотовых сетях.

Хотя техника CDMA может применяться совместно с кодированием методом FHSS, на практике в беспроводной сети она чаще сочетается с методом DSSS.

Каждый узел сети, работающий по методу CDMA, посылает данные в разделяемую среду в те моменты времени, когда это ему нужно, то есть синхронизация между узлами отсутствует. Идея CDMA заключается в том, что каждый узел сети задействует собственное значение расширяющей последовательности. Эти значения выбираются так, чтобы принимающий узел, который знает значение расширяющей последовательности передающего узла, мог выделить данные передающего узла из суммарного сигнала, образующегося в результате одновременной передачи информации несколькими узлами.

Для того чтобы такую операцию демультиплексирования можно было выполнить, значения расширяющей последовательности выбираются определенным образом. Поясним идею CDMA на примере.

Пусть в сети работает четыре узла: А, В, С и D. Каждый узел использует следующие значения расширяющей последовательности:
Л: 01010101
В: 10100101
С: 10011001
D: 11111111

Предположим также, что при передаче единиц и нулей расширяющей последовательности (то есть уже преобразованного исходного кода) используются сигналы, которые являются аддитивными и инверсными. Инверсность означает, что двоичная единица кодируется, например, синусоидой с амплитудой +А, а двоичный ноль — синусоидой с амплитудой - А.

Из условия аддитивности следует, что если фазы этих амплитуд совпадут, то при одновременной передаче-единицы и нуля мы получим нулевой уровень сигнала. Для упрощения записи расширяющей последовательности обозначим синусоиду с положительной амплитудой значением +1, а синусоиду с отрицательной амплитудой — значением -1. Для простоты допустим также, что все узлы сети CDMA синхронизированы.

Таким образом, при передаче единицы исходного кода 4 узла передают в среду такие последовательности:

А: -1+1-1+1-1+1-1+1
В: +1-1+1-1-1+1-1+ 1
С: +1-1-1+1+1-1-1+1
D: +1+1+1+1+1+1+1+1

При передаче нуля исходного кода сигналы расширяющей последовательности инвертируются.

Пусть теперь каждый из 4-х узлов независимо от других передает в сеть один бит исходной информации: узел А→1, узел B→ 0, узел С→0, узел D→1.
В среде S сети наблюдается такая последовательность сигналов:
Л: -1+1-1+1-1+1-1+ 1
В: -1+1-1+1+1-1+1- 1
С: -1+1+1-1-1+1+1- 1
D: +1+1+1+1+1+1+1+1

В соответствии со свойством аддитивности получаем:

S: -2+40+20+2+20

Если, например, некоторый узел Е хочет принимать информацию от узла А, то он должен использовать свой демодулятор CDMA, задав ему в качестве параметра значение расширяющей последовательности узла А.

Демодулятор CDMA последовательно складывает все четыре суммарных сигнала 5, принятые в течение каждого такта работы. При этом сигнал 5„ принятый в такте, на котором код расширения станции А равен +1, учитывается в сумме со своим знаком, а сигнал, принятый в такте, на котором код расширения станции А равен -1, добавляется в сумму с противоположным знаком. Другими словами, демодулятор выполняет операцию скалярного умножения вектора принятых сигналов на вектор значения расширяющей последовательности нужной станции:

5 х А = (-2+40+20+2+20) х (-1+1-1+1-1+1-1 +1) = 8.

Для того чтобы узнать, какой бит послала станция А, осталось нормализовать результат, то есть разделить его на количество разрядов в расширяющей последовательности: 8/8 = 1.

Если бы станция хотела принимать информацию от станции В, то ей нужно было бы при демодуляции использовать код расширения станции В (+1-1+1-1-1+1-1 +1):

После нормализации мы получаем сигнал -1, который соответствует двоичному нулю исходной информации станции В.
Мы объяснили только основную идею CDMA, предельно упростив ситуацию. На практике CDMA является весьма сложной технологией, которая оперирует не условными значениями +1 и -1, а модулированными сигналами, например сигналами BPSK. Кроме того, узлы сети не синхронизированы между собой, а сигналы, которые приходят от удаленных на различные расстояния от приемника узлов, имеют разную мощность. Проблема синхронизации приемника и передатчика решается за счет передачи длинной последовательности определенного кода, называемого пилотным сигналом. Для того же, чтобы мощности всех передатчиков были примерно равны для базовой станции, в CDMA применяются специальные процедуры управления мощностью.