Codificación Espacio-Temporal Luca Martino Tratamiento de señal en comunicaciones Master Interuniversitario en Comunicaciones y Multimedia luca@tsc.uc3m.es Código Alamouti Es el ejemplo más simple de código a bloque espacio-temporal. La característica principal de estos códigos suele ser la ortogonalidad entre los vectores de la matriz de codificación. Esto ayuda la implementación del receptor, dado que es posible utilizar un algoritmo de detección linear óptimo. Pero para satisfacer este criterio los códigos a bloque pierden algo en términos de tasa de transmisión (el esquema de Alamouti es la única excepción). Por esta razón existen también esquemas de códigos “casiortogonales” con una mejor tasa, pero con una ligera interferencia ínter-simbólica (ISI). Alamouti inventó el código que lleva su nombre en el 1998. Está pensado para un entorno con 2 antenas transmisoras, y L receptoras. Se dice que es un código de diversidad máxima, porque en términos de BER (Bit Error Rate) tienes prestaciones comparables con un sistema con una única antena transmisor y 2L receptoras. Dados los símbolos x1 y x2 , estos serán enviados durante dos periodos según el esquema propuesto por Alamouti: x2* x1 T t 2T t x1* x2 2 2T T L Donde con ‘* ’ indicamos el complejo conjugado. Como enviamos dos símbolos cada dos periodos entonces la tasa transmisión será 1. El código de Alamouti es el único que consigue esta tasa logrando al mismo tiempo diversidad máxima. Es interesante observar como la capacidad de un sistema de N antenas transmisoras y L receptoras crece linealmente con el min{N,L}. Simulación En nuestro caso, el canal entre la antena transmisora i y la antena receptora k será definido solo por una constante hki . Así que la señal recibida en la k-ésima antena en el primer periodo será: yk ( periodo1) hk1 x1 hk 2 x2 ruido (1) Y en el segundo periodo: yk ( periodo2) hk1 x2* hk 2 x1* ruido (2) Nosotros utilizaremos una fuente de ruido complejo gaussiano. Implementaremos un decodificador de máxima verosimilitud; valen las formulas: L ~ x1 hk*1 y k ( periodo1) hk 2 y k* ( periodo2) k 1 L ~ x1 hk*2 y k ( periodo1) hk1 y k* ( periodo2) (3) k 1 La relación entre nuestros estadísticos y los símbolos realmente transmitidos es: L 2 ~ x1 x1 hk1 hk 2 k 1 2 ~ x 2 x 2 hk1 hk 2 k 1 L 2 ruido 2 (4) ruido Para simplificar normalizaremos los coeficientes de canal de esta manera: h L k 1 2 k1 hk 2 2 1 ~ x1 x1 ruido ~ x2 x2 ruido (5) Así que la decisión consistirá solo en un cálculo de distancias. Los resultados se refieren a 5000 símbolos QPSK, enviados por 30 canales distintos (Nc=30). Pues las figuras finales de la SER (probabilidad de error de símbolo) será el promedio de las 30 distintas pruebas. Además se han repetidos los cálculos para L=2,4,6 y 8 con valores de SNR entre 0-15 db. Hemos utilizado fuentes de ruidos siempre con una misma varianza N 0 / 2 y hemos considerado una potencia media: h L PT k 1 k1 2 hk 2 L 2 L hk1 hk 2 k 1 2 2 1 P T 1 L (6) Así que por relación señal a ruido entendemos: P 1 SNR 10 log10 T 10 log10 N0 / 2 L ( N 0 / 2) (7) A continuación mostramos las graficas de la SER en función del SNR así definido (db). Comentarios: aunque hemos calculado las SER por SNR entre 0-15 db, en las figuras el eje del SNR como máximo llega a los 10 db. Esto porque siendo las graficas semilogarítmicas cuando el cálculo de la probabilidad de error resulta cero el logaritmo va a infinito. En realidad la probabilidad de error nunca es cero: para detectar probabilidades muy pequeña (del orden de 107 ) necesitaríamos enviar muchos más símbolos. Además se nota como aumentando el numero L de receptoras, la probabilidad de error disminuye. Finalmente, al fin de comprobar el correcto funcionamiento de las líneas de código implementadas enseñaremos unas graficas de los estadísticos con solo 50 símbolos transmitidos y 2 antenas receptoras. a) SNR 0 db b) SNR 5 db c) SNR 15 db Se puede observar que a medida que aumenta el SNR, los estadísticos van acercándose a los reales valores transmitidos dibujando una constelación QPSK.