¿Qué significa Ortogonal en redes inalámbricas?

Escrito por leopedrini sábado, 01 de noviembre de 2014 13:27:00 Categories: Curso
Valorar Este Contenido 6 Votos.

El concepto de ortogonalidad es uno de los mecanismos más importantes y cruciales que permiten la existencia de sistemas inalámbricos modernos, tales como WCDMA y LTE.

Pero no siempre es un concepto se entiende con claridad suficiente, y termina siendo sólo 'aceptado'.

 

 

Un ejemplo de ello son los códigos ortogonales - cuando se trata de CDMA y UMTS (WCDMA) ya estamos refiriendo a ellos en el nombre de estas tecnologías de acceso en sí.

En LTE también tenemos el papel fundamental de la ortogonalidad, solo que en este caso se refiere a otra tecnología de acceso, transmisión OFDM - a pesar de que es bastante diferente del código de CDMA y WCDMA esquema, que depende enteramente en el principio de ortogonalidad.

Y eso es lo que vamos a estudiar hoy, tratando de entender claramente este principio: la ortogonalidad.

Y para ello vamos a demostrar su aplicación práctica en un sistema CDMA. Esta analogía se puede ampliar aún más por usted en el entendimiento de cualquier sistema que utiliza este principio / concepto.

Nota: Todos los artículos telecomHall están escritos originalmente en Portugués. A continuación se hacen traducciones en Inglés y Español. Como nuestro tiempo es escaso, sólo se producen varios errores de ortografía (que utilizar el traductor automático, y sólo entonces hacer una revisión final). Pedimos disculpas, y contamos con su comprensión de nuestro esfuerzo. Si usted quiere contribuir traduciendo / corregir una de estas lenguas, o incluso uno nuevo, por favor comuníquese con nosotros: contacto.

 

Ejemplo CDMA

Como demostraremos el uso de la tecnología CDMA, es importante hacer primero un poco de consideración (revisión) en las tres tecnologías de acceso más básicas (FDM, TDM y MDL) con respecto a la asignación de ancho de banda y la ocupación del canal por sus usuarios.

  • En el Acceso FDM (división por frecuencia): cada usuario tiene una pequeña parte del espectro asignado durante TODO EL TIEMPO;
  • En el Acceso TDM (división por tiempo): cada usuario tiene todo el espectro - o casi todos - asignado a una pequeña parte del tiempo;
  • En EL Acceso CDM (división por código): cada usuario ocupará todo el espectro durante todo el tiempo.

En este último caso, las múltiples transmisiones se identifican utilizando la teoría de los códigos. Y ahí está el gran reto de CDMA: ser capaz de extraer los datos deseados al mismo tiempo que se excluye todo lo demás - la interferencia, y todo lo que es no deseado.

Estos códigos CDMA se llaman "ortogonal", entonces vamos a empezar con el significado básico de la palabra.

 

¿Qué ortogonal significa?

Buscando la origen de la palabra, encontramos que viene del griego, con la primera parte - "ortos" - que significa "justo", y la segunda parte - "gonia" - es decir, el "ángulo".

En otras palabras, la definición más común es: perpendicular, formando un ángulo recto de 90 grados entre las referencias.

Ortogonal es un término comúnmente utilizado en Matemáticas (de la misma manera que el término Perpendicular). Pero hay una regla "informal": cuando hablamos de Triángulos, utilizamos el término Perpendicular, y cuando nos referimos a los vectores geométricos o Coordenadas, utilizamos el término Ortogonal.

 

Entonces, de acuerdo a las matemáticas: si dos vectores son perpendiculares (el ángulo entre ellos es de 90 grados), a continuación, en realidad podemos decir que son ortogonales.

Correcto. Pero, ¿cómo saber, a través de nuestros cálculos, que dos vectores son ortogonales?

Vamos a hablar un poco de matemáticas, pero no te preocupes, vamos a ser breve.

Cuando hablamos de cálculos de vectores, una de las operaciones más conocidos es el Dot Product (o producto escalar). Explicado de manera sencilla, es una operación que resulta en un escalar (un número) obtenida por el 'multiplicador' de dos vectores. Recuerde que estamos hablando de vectores: el producto escalar multiplica cada posición en una posición correspondiente en el vector mediante otro vector, y añadimos todos los resultados.

Para ilustrar de una manera sencilla, considere dos vectores u y v con sólo dos dimensiones.

Vector u = < -3 , 2 > e Vector v = < 1, 5 >

El producto escalar es igual a +7 (equivalente a -3*1 + 2*5).

Este número positivo, aunque no parece, ya nos da suficiente información: no vamos a mostrar aquí, pero el producto escalar positivo indica que el ángulo entre estos vectores es aguda (inferior a 90 grados!). Del mismo modo, si el producto escalar es negativo, el ángulo entre estos vectores es obtuso (mayor de 90 grados).

Ya casi estamos allí, y que ya se puede "conectar los puntos"...

En Matemáticas, otra manera de escribir el producto escalar entre dos vectores u y v es:

u.v = |u| |v| cos(x)

Tenga en cuenta que ahora tenemos en la fórmula de la información del ángulo entre los dos vectores (el ángulo X). Sabemos que los vectores ortogonales tiene un ángulo de 90 grados entre sí. Y también sabemos que el coseno de 90 grados es igual a 0 (cero).

Es decir, podemos concluir: si dos vectores tienen una X ángulo de 90 grados entre sí - es decir, que son ortogonales - su producto escalar es igual a cero!

u.v = 0

Y es desde aquí que llega un célebre definición que usted puede encontrar en varias literaturas: 'Dos vectores son ortogonales si (y sólo si) el producto escalar de ellos es cero.'

Si usted no pudo entender o recordar los conceptos básicos que has visto hace mucho tiempo en la escuela, entonces usted entiende ahora la operación algebraica que nos permite verificar la ortogonalidad entre vectores: el producto escalar. Es una operación entre dos secuencias de números de igual longitud, devolviendo un solo número (la suma de los productos de entradas entre dos secuencias de números correspondientes).

Pero basta de matemáticas para hoy! No estamos aquí para deducir o hacer cálculos algebraicos o geométricos, pero para entender lo que es uno "señal ortogonal". Por supuesto, era necesaria la introducción que acabamos de ver. (Nota: Como siempre no estamos preocupados con las definiciones y cálculos más complejos involucrados en este asunto, usted puede sentirse libre para extenderse en sus estudios).

Vamos a proceder, y tratar de aplicar este concepto de ortogonalidad a nuestra práctica en las redes inalámbricas. En este caso, vamos a tratar de entender cómo podemos transmitir múltiples señales en una sola banda de frecuencia, y luego recuperarlo.

La clave aquí es que cada uno de estos códigos no interfieren entre sí. Es decir, estos códigos son ortogonales!

Decimos que dos códigos son ortogonales cuando el resultado de multiplicar los dos, bit a bit, durante un período de tiempo, cuando se añade, es igual a cero.

Supongamos que dos vectores como se muestra a continuación (1,1) e (1, -1). Es fácil ver que son ortogonales, ¿no?

 

Tienen un ángulo recto entre sí, y el producto escalar es cero. Es fácil darse cuenta de que no interfieran uno con otro.

Pero y si necesitamos más códigos ortogonales (mutuamente excluyentes, que no interfieren entre sí)?

En este caso, tenemos que crear un conjunto de códigos (secuencia de números), cuyo punto del producto es cero. Es decir, la generalización de esta relación a las dimensiones de "n", donde podemos aplicar la misma regla matemática simple y verificar la ortogonalidad.

Afortunadamente, un matemático ha hecho todo este trabajo. El francés Jacques Hadamard creado una regla simple para obtener un conjunto de códigos que sean ortogonales - mutuamente excluyentes.

 

Matriz de Hadamard

Para generar nuestros números de secuencias mutuamente excluyentes, podemos seguir la regla básica de que el Hadamard define en su "Matriz de Hadamard". En esta matriz, cuyas entradas son 1 o -1, todas las filas son mutuamente ortogonales.

La regla de la matriz de Hadamard se utiliza por ejemplo en CDMA por la matriz que generan códigos de Walsh. Vamos a ver cómo sería esta generación, en una simple hoja de Excel.

Considere la matriz existente más pequeño y más simple, una matriz de 1x1.

 

Aplicamos esta regla de creación de la matriz: replicamos (matriz de copia) a la derecha, replicamos (matriz copia) hacia abajo y atrás (copiamos la inversa de la matriz multiplicada por -1) en diagonal.

 

Como resultado, tenemos una matriz de 2x2.

 

Nota: vea que en este caso, todavía es fácil darse cuenta de la ortogonalidad de los vectores que representan estos dos códigos.

 

Siguiendo el mismo camino, ahora generamos una matriz 4x4 con los códigos ortogonales.

 

Una vez más, repetimos la acción, y ahora tenemos una matriz de 8x8.

 

En este punto, tenemos una matriz de 8 códigos (secuencia de números) ortogonales entre sí.

Se demuestra que el producto escalar de cualquier línea (código) para cualquier otra línea (origen) es siempre cero. A modo de ejemplo, elegimos el código "2" y el código "5". Multiplicando cada una de las entradas correspondientes en cada uno de ellos, tenemos otra secuencia como resultado. La suma de las entradas de esta nueva cadena resultante es siempre cero! (Haga la prueba usted mismo: elegindo cualquiera de los dos códigos, y luego multiplicando las entradas correspondientes, y añadiendo: el resultado final es cero. Interesante, no?!).

 

Bueno. Entendemos que podemos - y cómo podemos - generar un conjunto de códigos ortogonales (secuencia de números). Pero en la práctica, ¿cómo es hecho?

Continuemos.

 

Code Spreading (y Despreading)

Para aplicar este concepto a la práctica, tenemos que tratar de ver lo que sucede en la transmisión de una señal difundido en el tiempo: vamos a ver cómo funciona la transmisión de datos de difusión. En otras palabras: ¿cómo es posible que muchos usuarios al mismo tiempo utilizar exactamente la misma frecuencia, transmitiendo a la vez, y no ser un colapso total en el sistema?

Una vez más, la mejor manera de demostrar que el uso de ejemplos y analogías simples.

Comencemos considerando una señal de un usuario en particular, con sus bits de información, como se muestra en la siguiente figura.

 

Considere otra señal, con 8 "portadores" o "bits".

 

Si multiplicamos los de bits de información de cada usuario, para estos 8 bits, tenemos un compuesto resultante de la señal.

 

Esta señal resultante tiene la misma "información" de los bits de usuario. Pero de una manera más difundida.

Cuando el receptor recibe esta señal resultante, se sabe que una secuencia particular representa algunos de bits de información de usuario.

Del mismo modo, cuando se recibe otra secuencia, el receptor es capaz de determinar que son bits de información de otro usuario!

 

Tenga en cuenta que para el bit de usuario original, ahora tenemos 8 correspondientes bits de información que llegan al receptor. En otras palabras: 1 bit difundido en 8 "chips" *!

Importante: * En realidad, cuando se difunde la señal, no llamamos a más de bits de más, pero chips - y esto es otro concepto que no vamos a explicar ahora. Cuando esto chipstream llega al receptor se entiende correctamente por el receptor. Desafortunadamente la transmisión en sistemas tales como CDMA es mucho más compleja que eso. Así que tenemos que seguir y tratar de llevar apenas este escenario práctico para nuestro estudio (más tarde podemos profundizar más).

La información del usuario, que está representado por los bits genéricos, puede ser voz y/o datos. Vamos a representar ya como una señal digital pura, y "seguir" la transmisión de los bits de usuario, desde su generación hasta su recuperación en el receptor.

 

Transmitir (y recibir) los datos de un usuario

Empezamos a considerar uno bit de un usuario, primero teniendo el valor de '1'.

 

Nota: en este caso, el color rojo es la identificación del usuario 1 (y no si el bit es igual a 1 o -1). Considere como el valor de bit, el valor que está dentro de ella - en este caso igual a 1.

Y ahora nos acordamos de lo que vimos antes, sobre matriz de código ortogonal. Usemos un ejemplo de una matriz con 8 códigos (es decir, 8 códigos están disponibles para su uso, con la ortogonalidad garantizada entre ellos - no interfieren entre sí).

 

Sólo para que sea más fácil de seguir, vamos a elegir el "Código 1" para su uso con "Usuario 1" (podemos elegir cualquiera de los códigos, no necesitamos no ser "1").

 

A continuación, hacemos la difusión: multiplicar el bit de uno usuario por cada bit del código que elegimos. Esto señal puede ser transmitido, y teniendo en cuenta inicialmente un escenario ideal, esta misma secuencia llega al receptor.

 

Atención que nuestra pregunta de hoy comienza a ser "interesante": ¿Cómo el receptor puede recuperar la información de un usuario? (En este caso, sabiendo que el valor del bit es igual a 1)'

La respuesta es simple: hacer esto desexpandida de la señal recibida, usando exactamente el mismo código que se utilizó para difundir la señal!

Bueno, todavía no puede ver cómo? Así que vamos a pasar.

Multiplique el señal recibido (usuario 1) por el mismo código que se usa para la difusión (código 1). Como se puede ver, el resultado es una secuencia de 1's.

 

Pero este resultado es el contenido que ha sido difundidado en 8 partes. Tenemos que sumar toda la información, y dividir por el total de partes. En este caso, la suma es igual a 8 para un total de 8 bits. O bien: que la información es igual a 8/8 = 1.

 

Bueno, tal vez usted todavía no has entendido bien, y puede pensar que puede haber sido una coincidencia. De acuerdo, vamos a continuar.

Repita el mismo proceso, pero ahora con el bit igual a 0. Así, sorprendido?

 

Aun así, es posible que todavía no esté convencido.

Veamos ahora: transmitir datos nuevos, pero ahora para un usuario 2 (usamos azul oscuro para hacer referencia a los datos que el usuario en las figuras). En la teoría de que hemos visto, para que los códigos/señales no interfieran entre sí, necesitan ser ortogonales. Así que elegir uno de los ocho códigos de nuestra matriz de códigos ortogonales que estamos utilizando como ejemplo (vamos a elegir otro código que no sea el código 1, que ya se utiliza para el usuario 1 - pronto se entiende por qué).

A diferencia de la primera usuario, que transmite "10", que ahora asumir que el usuario tiene información sobre dos bits igual a "11". Repitiendo los mismos cálculos, tenemos el resultado para el usuario 2. Interesante, ¿no?

 

Incluso con las ilustraciones anteriores, si todavía no estás convencido de que la división puede hacerse por código, veamos un ejemplo para un tercer usuario (verde), con el envío de '01'.

 

Podríamos quedarnos aquí con ejemplos interminables, pero creemos que ya entendiste la idea, ¿no?

Correcto. Así que disfruten de un poco de respiración porque lo mejor está por venir.

Como estamos tratando de aprender hoy, una de las principales funciones de este tipo de códigos que utilizamos anteriormente es preservar la ortogonalidad entre los diferentes canales de comunicación.

Desde el conjunto de códigos ortogonales obtenidos a partir de la matriz de Hadamard, podemos hacer la difusión en sistemas de comunicación en el que el receptor está perfectamente sincronizado con el transmisor, con la generación de códigos de acuerdo a las características de cada sistema.

Hasta ahora, todo bien. En el ejemplo anterior, hemos expandido, transmitido y recuperado los datos de usuario. Pero individualmente! En la práctica, los datos de cada usuario no se transmiten por separado, pero al mismo tiempo!

Lo más destacado, la gran ventaja de la transmisión utilizando códigos es precisamente la capacidad de transmitir varios usuarios al mismo tiempo (mediante códigos ortogonales) y extraer los datos para cada usuario por separado!

Una vez más, a través de ejemplos es más fácil de visualizar cómo funciona esto. Así que vamos a continuar?

 

Transmitiendo (y recibiendo) los datos de varios usuarios

Supongamos entonces todas las señales previamente expandidos que llegan al receptor.

      

Podemos representar estos señales como formas de onda, por lo que es más fácil verlos.

 

Y el señal compuesto se puede representar de la misma manera (el señal entrante es siempre la suma de todas los señales de cada usuario).

 

Tome un poco de descanso aquí: el señal compuesto (ver imagen superior) es la suma de todas los señales difundidos de todos los usuarios, y por lo visto no nos da ninguna información interesante, ¿verdad?

Equivocado. En realidad, la afirmación anterior es sólo aparente: de hecho, tenemos una gran cantidad de información 'llevado' con uno señal.

Continuemos. Mirando sólo a el señal compuesto, no tenemos idea de lo que está "agrupado". Esto es normal, y realmente es lo que "parece".

Pero ahora vamos a volver a la teoría que aprendemos de los códigos ortogonales: cuando multiplicamos un código por otro código, todo lo que no es ortogonal es la interferencia, y deben ser excluidos.

Es decir, si multiplicamos un código ortogonal para este conjunto de códigos, tenemos que dividir o "recuperar" esa información de vuelta.

Así que si multiplicamos el código ortogonal utilizado para difundir el señal de usuario 1, obtenemos el señal original de usuario 1!

 

Magia? No: simplemente Ingeniería, Matemáticas y Física!

Podemos hacer lo mismo con el usuario 2: utilizar el mismo código de dispersión único, y obtener el señal original!

 

Del mismo modo, lo mismo con el tercer usuario.

 

Y no importa cuántos usuarios están ahí: si fueron difundidos mediante códigos ortogonales pueden ser "despreaded" de manera opuesta, con el mismo código único para cada uno!

La siguiente figura muestra el resumen general de todo lo que vimos hoy (aunque la fuente es demasiado pequeña, sirve para mostrar el escenario genérico).

 

¡Enhorabuena! Acabas de demostrar que la división de señales con el uso de códigos es realmente posible, y que CDMA funciona!

 

Ortogonalidad en LTE y GSM

Nosotros hemos entendido y aplicamos el concepto de ortogonalidad de los códigos ortogonales utilizados en los sistemas CDMA y WCDMA.

Pero y en otros sistemas, cómo funciona?

De hecho, y como se mencionó antes, todos los sistemas se basan en algún tipo de ortogonalidad para trabajar, por ejemplo alguna forma de transmitir información de manera que pueda ser recuperada (como hemos visto hoy).

Sin embargo, debido a las características de cada sistema, este concepto se aplica de manera diferente.

Como nuestro tutorial ya es bastante extensa para hoy, no vamos a extendernos más, y vamos a cubrir este tema en el futuro, en las tutorías que requieren este entendimiento previo.

 

Mundo Ideal x Mundo Real

También está claro que no todo es perfecto: en nuestro ejemplo, consideramos un mundo ideal sin interferencia o cualquier otro problema que pudiera afectar nuestra comunicación. Por desgracia, existen, y mucho!

Por ejemplo, los códigos solamente son ortogonales - no interfieren entre sí - si están perfectamente sincronizados. En nuestro ejemplo, no consideramos que la diferencia de fase entre ellos - en otras palabras, consideramos que la velocidad de la luz es infinita.

Hay también el efecto de los componentes de trayectos múltiples, lo que hace que esta recuperación de la señal mucho más compleja que se muestra en las simplificaciones que hemos visto.

Pero todos tienen sus soluciones. La mayoría se refiere a los problemas comunes, problemas agrupados como "Detección Multi-Usuario", que a su vez tiene una serie de técnicas para reducir al mínimo cada uno de estos efectos. El receptor RAKE ya se ha explicado en otro tutorial es uno de ellos.

Todavía factores como el Control de Potencia, lo que tendría diferentes "pesos" para cada usuario. Y una serie de otros factores y limitaciones de todo tipo para complicar aún más esta comunicación.

Naturalmente, todas estas complicaciones tienen soluciones, y eso es fantástico tarea que se enfrenta a un profesional de Telecom en su día a día.

Pero por hoy, creemos que lo que tenemos es suficiente, al menos para la clara comprensión de los principios básicos de la ortogonalidad - que era nuestro objetivo inicial, ¿recuerdas?

 

Mapeo Físico y Lógico

Para concluir, en los ejemplos hemos utilizado códigos de ejemplos con 8 bits (recordando que, de hecho, cuando se difunde el señal no lo llamamos bits, pero chips; lo que es el tema de otro tutorial, y no vamos a perder nuestro enfoque de hoy), cuando en realidad son mucho más grandes, como 64 códigos Walsh en CDMA.

Utilizamos la suma y la multiplicación, porque consideramos los señales en su capa física: cuando las señales se asignan a la capa física, les asignamos valores bipolares - en nuestro caso, +1 y -1.

Pero en las operaciones lógicas tenemos de 0s y 1s. Y en este caso, se utiliza la operación XOR binario. (Estamos ya muy avanzado por ahora, y no vamos a extendernos a ese tema - que ya requeriría otro tutorial para explicar de una manera simplificada).

Simplemente comprenda que los códigos utilizados por los sistemas tales como CDMA y WCDMA también son de tipo 0 y 1 de. En la operación XOR: si los bits son iguales, el resultado es 0. Si los bits son diferentes, el resultado es 1.

 

Cuando se aplica XOR a cualquier código Walsh diferente (o cualquier otro conjunto de códigos ortogonales), el resultado es siempre mitad 0, mitad 1 (en la matriz de Hadamard, de modo que la suma es 0, mitad es igual a 1, y mitad es igual -1).

Y cuando aplicamos XOR para códigos iguales, el resultado es sólo de 0!

Aunque parece simple, esta operación permite que el sistema funcione a la perfección.

El siguiente es un ejemplo de una matriz de código Walsh con 64 códigos ortogonales utilizados en CDMA.

 

Como un ejemplo para UMTS, podemos mencionar OVSF (Orthogonal Variable Spreading Factor) códigos, prácticamente idénticos a los códigos de Walsh (CDMA IS-95) - sólo que la generación es diferente.

También hablaremos sobre estos códigos específicos en otros tutoriales, explicando la forma en que se utilizan para diferentes canalizaciones.

Ahora: suficiente por hoy, ¿de acuerdo?

Como puedes ver, tenemos un montón de temas o tópicos para explorar y explicar de una manera sencilla para que se extraiga el máximo posible en su programa de aprendizaje, y también cuando se lo aplica a su trabajo. Hemos visto muchos conceptos para hoy!

Si has podido entender bien por lo menos el concepto de ortogonalidad, y cómo se hace posible la división de código suceda, es sin duda suficiente. En tutoriales posteriores vamos a seguir abordando otros conceptos, y tratando de mostrarles la manera más simplificada.

IMPORTANTE: no hemos hablado demasiado sobre chips y símbolos hoy, pero está directamente relacionado con el tema. De todos modos, no eran esencialmente el tema de hoy.

Una vez más, como siempre: todos estos conceptos que no fueron cubiertos hoy se detallará en otros tutoriales.

 

Conclusión

Hoy hemos aprendido uno de los conceptos más básicos, pero también uno de los más importantes, lo que hace posible la existencia de redes inalámbricas modernas: el concepto de ortogonalidad.

Como ejemplo, hemos visto cómo el concepto se aplica en la práctica a los sistemas CDMA y WCDMA, más específicamente en la forma de códigos ortogonales aplicados al sistema físico, permitiendo la división de acceso de los códigos a suceder, y logrando así la multiplexación de diferentes chipstreams de usuarios en la misma portadora sin insertar interferencias entre las mismas.

El concepto es mucho más amplio que lo que tratamos de mostrar aquí hoy, y se extiende a muchas otras áreas y tecnologías. De todos modos, esperamos que pueda ser de ayuda para el desarrollo aún más en el tema.

Esperamos su compañía muy pronto, en otro tutorial. Tu opinión es muy importante para definir nuevos temas que gustarías de ver detallados aquí. Y por favor compartir este artículo con tus amigos si te ha gustado. Gracias de antemano.