Начнем издалека. Откуда есть растут ноги.
Ортогональные множества
Ортогональным множеством в математике называется множество или подмножество элементов, где для любых 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/
Добавить комментарий