Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
230
Добавлен:
09.04.2015
Размер:
582.14 Кб
Скачать

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

Основные принципы

Множественный доступ с кодовым разделением (code division multiple access — CDMA) является одним из методов уплотнения с использованием расширенного спектра. Рассмотрение принципов работы CDMA начнем с информационного сигнала со скоростью передачи D. В соответствии со схемой, индивидуальной для каждого пользователя и именуемой пользовательским кодом, каждый бит данных разбивается на k элементарных сигналов. Канал, используемый для пе­редачи данных, характеризуется скоростью передачи kD элементарных сигна­лов/с. Рассмотрим в качестве примера вариант k = 64. Для простоты код будем рассматривать как последовательность значений "1" и "−1". На рис. 7.10 изо­бражены коды трех пользователей (А, В, С), каждый из которых использует в процессе связи приемник базовой станции R. Код пользователя А имеет вид сА = <1, −1, −1, 1, −1, 1>. Для пользователей В и С коды равны, соответственно, сB = <1, 1, −1, −1, 1, 1> и сC = <1, 1, −1, 1, 1, −1>.

Рис. 7.10. Пример CDMA

Рассмотрим процесс связи пользователя А с базовой станцией. Предполага­ется, что базовой станции известен код А. Для простоты будем считать, что про­цесс связи является синхронизированным, т.е. что базовой станции известны моменты времени, в которые следует ожидать код. Для передачи одного бита информации А передает свой код в виде последовательности элементарных сиг­налов <1, −1, −1, 1, −1, 1>. Бели передаваемый бит является нулем, пользователь передает код-дополнение ("1" заменяется "−1" и наоборот) <−1, 1, 1, −1, 1, −1>. Приемник базовой станции декодирует последовательности элементарных сигна­лов. В нашем примере для декодирования полученной последовательности эле­ментарных сигналов d = <d1, d2, d3, d4, d5, d6> приемник R использует следующую функцию (предполагается, что необходимо установить связь с пользователем и, код которого <cl, с2, с3, с4, с5, с6> известен приемнику):

Su(d) = dl × cl + d2 × c2 + d3 × c3 + d4 × c4 + d5 × c5 + d6 × c6.

Индекс и в Su(d) означает, что нас интересует пользователь и. Применим эту формулу для пользователя А (рис. 7.10). Если А пересылает бит со значением 1, тогда последовательность d равна <1, −1, −1, 1, −1, 1>. Подставив соответствующие значения, получим выражение для SA(d):

SA(l,1, −1, 1, −1, 1) = 1 × 1 + (−1) × (−1) + (−1) × (−1) + 1 × 1 + (−1) × (−1) + 1 × 1 = 6.

Если пользователь А пересылает бит со значением 0 (d= <−1, 1, 1, −1, 1, −1>), выраже-ние изменится следующим образом:

SA(−1, 1, 1, −1, 1, −1) = (−1) × 1 + 1 × (−1) + 1 × (−1) + (−1) × 1 + 1 × (−1) + (−1) × 1 = −6.

Обратите внимание, что независимо от структуры передаваемой последова­тельности d, состоящей из "1" и "−1", всегда выполняется неравенство −6 < SA(d) < 6. Максимальные значения 6 и −6 соответствуют прямому и дополни­тельному коду пользователя А. Таким образом, если значение SA равно 6, это оз­начает, что от пользователя А получен бит, равный 1. При SA, равном −6, счита­ется, что пользователь А передает бит со значением О. Все прочие значения SA соответствуют либо сеансам передачи других пользователей, либо ошибке. Итак, в чем смысл приведенного примера? Ответ на вопрос очевиден, если рассмотреть декодирование сигнала пользователя B с помощью кода SA (т.е. декодирование производится посредством неправильного кода). Если пользователь B пересылает бит 1, последовательность d равна <1, 1, −1, −1, 1, 1>. Тогда

SA(1, 1, −1, −1, 1, 1) = (−1) × 1 + (−1) × (−1) + 1 × (−1) + 1 × 1 + (−1) × (−1) + (−1) × 1 = 0.

Таким образом, нежелательный сигнал пользователя B не виден вообще. Легко проверить, что если B будет пересылать бит со значением 0, декодер снова даст результат SA = 0. Если пользователи А и В одновременно передают сигналы sA и sB, соответственно, а декодер приемника является линейным, то имеет место равенство SA(sA + sB) = SA(sB) + SA(sB) = SA(sA). Равенство справедливо, поскольку при использовании кода А декодер попросту игнорирует сигналы пользователя В. Коды пользователей А и В, для которых выполняется условие SA(cB) = SB(cA) = 0, называются ортогональными. Такие коды достаточно удобно использовать, од­нако на практике достичь полной ортогональности сложно. В большинстве слу­чаев при X Y абсолютное значение SX(cY) мало, но не равно нулю. Таким обра­зом, легко различить варианты X Y и X = Y. В нашем примере SA(cC) = SC(cA) = 0, а SB(cC) = SC(cB) = 2. В последнем случае сигнал пользователя C не будет полностью отфильтрован декодером и внесет незначительный вклад в декодированный сиг­нал. С помощью декодера Su приемник может выделить сигнал, переданный и, даже если в рассматриваемой ячейке одновременно передают собственные сигна­лы еще несколько пользователей.

Результаты приведенного выше обсуждения обобщаются в табл. 7.1.

На практике приемник CDMA способен либо полностью отфильтровать по­бочные сигналы пользователей, либо вклад таких сигналов выражается в шуме незначительной мощности. В то же время система связи может выйти из строя, если одновременно с пользователем, сигнал которого пытается получить прием­ник, доступ к тому же каналу пытаются получить множество других пользова­телей или если один либо несколько мешающих сигналов имеют слишком боль­шую мощность (например, из-за нахождения пользователя близко к приемнику), что называется "проблемой расположения" (near/far problem).

Таблица 7.1. Пример CDMA

а) Коды пользователей

Пользователь А

1

−1

−1

1

−1

1

Пользователь В

1

1

−1

−1

1

1

Пользователь C

1

1

−1

1

1

−1

б) Передача сигнала пользователем А

Передача (бит данных = 1)

1

−1

−1

1

−1

1

Кодовое слово приемника

1

−1

−1

1

−1

1

Умножение

1

1

1

1

1

1

= 6

Передача (бит данных = 0)

−1

1

1

−1

1

−1

Кодовое слово приемника

1

−1

−1

1

−1

1

Умножение

−1

−1

−1

−1

−1

−1

=−6

в) Передача сигнала пользователем В; приемник пытается восстановить передачу пользователя А

Передача (бит данных =1)

1

1

−1

−1

1

1

Кодовое слово приемника

1

−1

−1

1

−1

1

Умножение

1

−1

1

−1

−1

1

= 0

г) Передача сигнала пользователем С; приемник пытается восстановить передачу пользователя В

Передача (бит данных =1)

1

1

−1

1

1

−1

Кодовое слово приемника

1

1

−1

−1

1

1

Умножение

1

1

1

−1

1

−1

= 2

д) Передача сигнала пользователями В и С; приемник пытается восстановить передачу пользователя В

В (бит данных =1)

1

1

−1

−1

1

1

С (бит данных =1)

1

1

−1

1

1

−1

Суммарный сигнал

2

2

−2

0

2

0

Кодовое слово приемника

1

1

−1

−1

1

1

Умножение

2

2

2

0

2

0

= 8

Рис. 7.11. CDMA в среде DSSS

CDMA для системы DSSS

Рассмотрим CDMA как систему DSSS-BPSK. На рис. 7.11 приводится пример та­кой системы с п пользователями, которые для передачи применяют индивиду­альные, взаимно ортогональные псевдослучайные последовательности (сравните с рис. 7.7). В процессе передачи сигнала определенным пользователем последо­вательность данных di(t) модулируется согласно схеме BPSK. Полученный сигнал с шириной полосы Ws умножается на код расширения пользователя ci(t). Все сиг­налы (а также шум) поступают на антенну приемника. Предположим, что при­емник пытается восстановить данные, полученные от пользователя 1. Получен­ный сигнал умножается на код расширения пользователя 1, после чего демодулируется. В результате ширина полосы этой части суммарного сигнала, соответствующей пользователю 1, уменьшается пропорционально скорости пере­дачи данных и становится равной полосе исходного сигнала до расширения спектра. Поскольку остальная часть суммарного сигнала ортогональна коду расширения пользователя 1, она будет по-прежнему иметь ширину полосы Ws. Та­ким образом, энергия нежелательных сигналов распределена по широкой полосе спектра, а искомый сигнал сконцентрирован в узкой полосе. Если в контуре де­модулятора присутствует полосовой фильтр, искомый сигнал можно успешно восстановить.

Литература: В. Столингс, “Беспроводные линии связи”, Издательский дом «Вильямс», Москва, 2003.

4