Загадочная pCell, или DIDO под микроскопом

от автора

Итак, сегодня после прочтения статьи-перевода о pCell, я пару раз таки ударил себя рукой по лицу. Потому что любому человеку, имевшему дело с физическим уровнем сетей мобильной связи, не составит труда понять в чем заключается «таинственная мотиматика(!sic)» DIDO.

Начнем издалека. Откуда есть растут ноги.

Ортогональные множества

Ортогональным множеством в математике называется множество или подмножество элементов, где для любых x и y из этого множества выполняется следующие условия:

1) f(x,y) = 0, если x != y
2) f(x, x) = 1

Где операция f — это скалярное произведение, которое выполняет все три свойства скалярного произведения

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

Вернемся к нашим баранам. Допустим у нас есть два числа(скаляра) a и b и ортогональное подмножество B из множества A. Берем 2 элемента x и y из B и составляем такой элемент (a*x + b*y), который будет принадлежать A, но не принадлежать B. Получаем выполнение следующих цепочек операций:

1) f( (a*x + b*y), x) = a*f(x,x)+b*f(y,x) = a*1 + b*0 = a,
2) f( (a*x + b*y), y) = a*f(x,y)+b*f(x,x) = a*0 + b*1 = b

Таким образом, для того, чтобы получить из составного элемента исходный скаляр, достаточно взять скалярное произведение от этого элемента и исходного элемента ортогонального множества.

Если пока не понятно, как это относится к теме, я перефразирую предыдущее предложение.

Таким образом, для того, чтобы получить из составного сигнала исходный сигнал, достаточно взять скалярное произведение от полученного сигнала и исходного элемента ортогонального множества.

Начинает проясняться, не так ли?

Ортогональные коды

Ортогональных коды — это обычное множество ортогональных векторов. В телекоммуникационных системах применяются они применяются повсеместно. К примеру их применение можно найти в технологиях CDMA и W-CDMA. Идея состоит в том, что каждый, бит, который передается через физическую среду, должен кодироваться определенным ортогональным кодом. Тут под «кодироваться» понимается банальная операция умножения числа на вектор. И таким образом, после кодирования через физическую среду передается не бит, а целый вектор, умноженный на значение бита. И каждый элемент такого вектора называется chip. Сама операция умножения называется spreading, а ортогональный код — spreading code.

Что это дает, показано в 2-мя свойствами ортогональных множеств в предыдущем параграфе. Используя кодирование сигнала ортогональными кодами, становится возможно передавать на одной физической частоте одновременно несколько различных сигналов. Конечно максимальное число сигналов все равно ограничено длиной кода. Для кода длиной 2 элемента — максимум можно будет передать 2 сигнала, для 3-х элементов — 3 сигнала и т.д. Хочу подчеркнуть, что это используется уже сейчас. Оборудование базовой станции кодирует сигнал и приемники в мобильных телефонах получают сигнал, предназначенный именно им, используя назначенный им ортогональный код.

В реальности есть куча нюансов, как например генерация ортогональных кодов для передачи на лету, но это детали.

Так что инновационного может быть в приеме сигнала от нескольких радиоточек одновременно, что декларируется в pCell? Правильно — ничего. Единственное отличие в том, что создав несколько отдельных передающих точек, разработчики системы получили дополнительный геморой, связанный с синхронизацией времени сигналов(передатчики должны отправлять начало frame’а синхронно, иначе между ортогональными кодами появится смещение и магия перестанет работать).

Остальная начинка и теория давно используется и все это кроме как маркетинговым замыливанием глаз я назвать не могу.

ссылка на оригинал статьи http://habrahabr.ru/post/215845/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *