Este capitulo trata con codigos convolucionales. El capitulo 6 presento los fundamentos de bloques de cdigos lineales, los cuales son descriptos por dos enteros, n y k y una matriz generadora o polinomial. El entero k es el nmero de bits de datos que forman una entrada a un bloque codificador. El entero n es el nmero total de bits de la codeword de salida del codificador. Una caracterstica de los cdigos de bloques lineales es que cada codeword n-tuple esta solamente determinada por el mensaje de entrada k-tuple. La relacin k/n es llamada razon del cdigo (una medida de la cantidad de redundancia agregada). Un cdigo convolucional esta descripto por tres enteros n, k y K , donde la relacin k/n tiene el mismo significado ( informacin por bit codificado) que para los cdigos de bloque, aunque n no define un bloque o longitud de la codeword como en el bloque de cdigos. El entero K es un parmetro conocido como la limitacin de longitud, la cual representa el nmero de k-tuple estados en el registro de desplazamiento del codificador. Una caracterstica importante de los cdigos convolucionales, diferente de los cdigos de bloques, es que el codificador tiene memoria El n-tuple emitido por el procedimiento de la codificacin convolucional no es solamente una funcin de una k-tuple entrada, es tambin funcin de las previas K-1 ktuples entradas-.En la practica, n y k son enteros pequeos y K es variable para controlar la capacidad y complejidad del cdigo.
La limitacin de longitud (constrint length) representa el nmero de k-bits de corrimiento sobre los cuales un simple bit de informacin puede influenciar la salida del codificador. En cada unidad de tiempo, k bits son desplazados dentro de los primeros k-estados del registro; todos los bits en el registro son desplazados kestados a la derecha y las salidas de los n sumadores son muestreadas secuencialmente para producir los smbolos binarios del cdigo o bits del cdigo. Estos bits de cdigo son luego usados por el modulador para especificar las formas de ondas a ser transmitidas sobre el canal. Dado que hay n bits de cdigo para cada grupo de entrada de k bits de mensajes, la relacin de cdigo es k/n bit de mensaje por bit de cdigo, donde k< n. Consideraremos solamente los codificadores convolucionales binarios mayormente usados para los cuales k=1 Esto es, aquellos codificadores en los cuales los bits del mensaje son desplazados dentro del codificador de a un bit por vez, aunque la generalizacin a alfabetos de orden mas alto es existente [1 ,2]. Para un codificador con k=1 a la i-esima unidad de tiempo, el bit del mensaje mi es desplazado dentro del primer estado del registro de corrimiento; todos los bits previos en el registro de corrimiento son desplazados un estado a la derecha, y como en el caso mas general, las salidas de los n sumadores son secuencialmente muestreadas y transmitidas. Dado que hay n bits de cdigo por cada bit de mensaje, la relacin del cdigo es 1/n. Los n smbolos de cdigo ocurriendo en el tiempo ti incluyen la i-esima rama de palabra , Ui=u1i,u2i, .....,uni ,donde uji (j=1,2,...,n) es el j-esimo smbolo de cdigo perteneciente a la i-esima rama de palabra. Note que para la relacin del codificador 1/n el kK-estado del registro de corrimiento puede ser referido simplemente como un K-estado registro , y el limite de longitud K, que fue expresada en unidades de ktuples estados, puede ser referida como una limitacin de longitud (constrint length) en unidades de bits.
encontrados mediante la bsqueda computarizada para todas las limitaciones de longitudes menores que aproximadamente 20 [3-5]. A diferencia de un cdigo de bloque que tiene una longitud de palabra n fija, un cdigo convolucional no tiene un tamao de bloque particular. Aunque, los cdigos convolucionales aveces son forzados a un estructura de bloque mediante la truncacin peridica. Esto requiere un nmero de bits ceros aadidos al final de la secuencia de datos de entrada, con el propsito de limpiar o nivelar los bits de datos del registro de corrimiento del codificador. Dado que los ceros sumados no transportan informacin, la relacin de cdigo efectiva cae por debajo de k/n. Para mantener la relacin de cdigo cerrada a k/n, el truncado peridico es generalmente hecho tan grande como en la practica. Una manera de representar el codificador es especificar un set de n vectores de conexin, uno por cada sumador de modulo-2. Cada vector tiene dimensin K y describe la conexin del registro de corrimiento del codificador al sumador de modulo-2. Un uno en la i-esima posicin del vector indica que el correspondiente estado en el registro de corrimientos esta conectado al sumador de modulo 2,
y un cero en una posicin dada indica que no existe una conexin entre el estado y el sumador de modulo-2. Para el ejemplo del codificador en la figura 6.3, podemos escribir el vector de conexin g1 para la conexin superior y g2 para la conexin inferior, de la siguiente manera: g1 = 1 1 1 g2 = 1 0 1 Ahora consideremos que un vector mensaje m = 1 0 1 es convolucionalmente codificado con el codificador mostrado en la figura 7.3. Los tres bits de mensaje son entrados de a uno en los tiempos t1, t2 y t3 como muestra la figura 7.4. Subsecuentemente, (K-1)= 2 ceros son entrados en los tiempos t4 y t5 para nivelar el registro y en consecuencia asegurar que el final de la cola de los mensajes es desplazada para llenar la longitud del registro. La secuencia vista a la salida es 1 1 1 0 0 0 1 0 1 1, donde el smbolo de la izquierda representa la primera transmisin. La secuencia entera de salida, incluyendo los smbolos del cdigo como resultado de la nivelacin , son necesarias para decodificar el mensaje. Para limpiar el mensaje, el codificador requiere un cero menos que el nmero de estados en el registro, o K-1 bits limpiadores. Otra entrada cero es mostrada en el tiempo t6 para que el lector pueda verificar que la nivelacin es completada en el tiempo t5. En consecuencia un nuevo mensaje puede ser entrado en el tiempo t6.
Secuencia de salida:
11
10
11
La secuencia de salida para un uno en la entrada es llamada respuesta al impulso del codificador. Luego para la secuencia de entrada m = 1 0 1, la salida debe ser encontrada mediante la superposicin o la adicin lineal de los impulsos de entrada desplazados en el tiempo, como a continuacin: Entrada m 1 0 1 Suma modulo-2 Salida 11 de 11
10 00 10
11 00 11 00
00 10 10
11 11
Observe que es la misma salida obtenida en la figura 7.4, as demostrando que los cdigos convolucionales son lineales, como los cdigos de bloques lineales del capitulo 6.
Esto es la propiedad de generar la salida mediante la adicin lineal de impulsos desplazados en el tiempo o la convolucin de la secuencia de entrada con la respuesta al impulso del codificador, que derivamos del codificador convolucional. A veces, esta caracterizacin del codificador es presentada en trminos de una matriz generadora de orden infinito [6]. 4
Note que la relacin de cdigo efectiva del ejemplo anterior con una secuencia de entrada de tres bits y una secuencia de salida de 10 bits es k/n = 3/10. Casi un bit menos que la relacin que debera haberse esperado ya que cada dato de entrada produce una pareja de bits en el canal de salida. La razn de esta disparidad es que el bit de dato final necesita ser desplazado a travs del codificador. Todos los bits del canal de salida son necesarios en el proceso de decodificacin. Si el mensaje ha sido grande, digamos 300 bits, la secuencia codeword de salida contendr 604 bits, resultando una relacin de cdigo de 300/604, la cual es mucho mas prxima a .
contenidos de los K-1 estados mas a la derecha (figura 7.3). El conocimiento del estado junto con el conocimiento de la siguiente entrada es necesario y suficiente para determinar la siguiente salida. Sea el estado del codificador en el tiempo ti definido como Xi = mi-1,mi-2,..........,mi-k+1. La i-esima rama de codeword Ui esta completamente determinada por el estado Xi y el presente bit de entrada mi; En consecuencia el estado Xi representa la historia pasada del codificador para determinar la salida del codificador. El estado del codificador es Markov, en el sentido que la probabilidad P(Xi+1|Xi,Xi-1,.....X0) del estado Xi+1, dados todos los estados previos, depende solo del estado mas reciente Xi, o sea, la probabilidad es igual a P(Xi+1|Xi). Una manera de representar simples codificadores es con el diagrama de estado, un diagrama de estado para el codificador de la figura 7.3 es mostrado en la figura 7.5. Los estados mostrados en las cajas del diagrama, representan los posibles contenidos de los K-1 estados del registro mas a la derecha y los caminos entre los estados representan las ramas de palabras de salida resultantes de los estados de transicin. Los estados de los registros son designados a = 00 , b = 10 , c = 01 y d = 11, el diagrama mostrado en la figura 7.5 ilustra todas las transiciones de estado que son posibles para el codificador en la figura 7.3. Solo hay dos transiciones emanando de cada estado, correspondientes a los dos posibles bits de entrada. Siguiendo cada camino entre los estados es escrita la palabra de rama de salida asociada con el estado de transicin. Para dibujar los caminos, usamos la convencin que una lnea slida denota un camino asociado con un bit de entrada cero, y una lnea de puntos denota un camino asociado con un bit de entrada uno. Note que no es posible en una simple transicin moverse desde un estado dado a un estado arbitrario. Como consecuencia de desplazar un bit por vez, hay solo dos posibles estados de transicin que el registro puede hacer en cada tiempo de bit. Por ejemplo, si el estado presente del codificador es 00, las nicas posibilidades para el estado siguiente son 00 o 10.
y una lnea de trazo denota la salida generada por un bit de entrada uno. Los nodos del trellis caracterizan los estados del codificador: Los primeros nodos de la fila corresponden al estado a=00, el segundo y las filas subsecuentes corresponden a los estados b=10 , c=01, y d=11. Para cada unidad de tiempo, el trellis requiere 2k-1 nodos para representar 2k-1 posibles estados del codificador. El trelllis en nuestro ejemplo asume la estructura peridica fija despus de que el trelllis alcanza 3 bifurcaciones (al tiempo t4). En el caso general, la estructura fija prevalece despus de que K es alcanzado. En este punto y despus de esto, cada uno de los estados puede pasar a cualquiera de los dos estados que lo preceden. Tambin, cada uno de los estados puede pasar a uno de dos estados. De las dos ramas salientes, uno corresponde a un bit de entrada cero y el otro corresponde a una bit de entrada uno. En Figura 7.7 las palabras de las ramas de salida corresponde a las transiciones de estados que aparecen como se etiquetan en las ramas del trelllis. Una seccin de un intervalo de tiempo de una estructura del codificador trelllis completa define completamente el cdigo. La nica razn para mostrar varias secciones es para ver una secuencia del cdigo de smbolo como una funcin de tiempo. El estado del codificador convolucional se representa por el contenido de los estado de los k-1 mas a la derecha en el registro del codificador. Algunos autores describen el estado como el contenido de los estados de los k-1 mas a la izquierda. Qu descripcin es correcta? Estas son ambas correctas en el siguiente sentido. Cada transicin tiene un estado de arranque y un estado de paro. Los estados k-1 mas a la derecha describen el estado de arranque para la entrada actual que est en el estado de mas a la izquierda (asumiendo una razn del codificador 1/n ). El estado k-1 mas a la izquierda representa el estado final para esa transicin. Una secuencia del cdigo de smbolo se caracteriza por N ramas (representando N los bits de datos) ocupando N intervalos de tiempo y asociado con un estado particular para cada uno de los N+1 intervalos tiempos (desde el comienzo del final). As, nosotros lanzamos bits en tiempos t1,t2,........ ,tn, y nos interesa el estado en el tiempo t1,t2,........ ,tn+1 . La convencin usada aqu es que el bit actual se localiza en el estado mas a la izquierda, y el estado K-1 mas a la derecha comienza en el estado todos ceros. Nosotros nos referimos a este tiempo como el tiempo de comienzo y lo llamamos t1. Nos referimos al tiempo en que concluyo la ltima transicin como el tiempo final y lo llamamos tn+1.
7.3 FORMULACIN DEL PROBLEMA DEL DECODIFICADOR CONVOLUCIONAL 7.3.1 DECODIFICACIN POR MXIMA PROBABILIDAD
Si todas las secuencias del mensaje de entrada son equiprobables, un decodificador que logra la mnima probabilidad de error es uno que compara las probabilidades condicionales, tambin llamada funcin de probabilidad P Z U ( m ) , dnde Z es la secuencia recibida y U(m) es una de las posibles secuencia transmitidas, y escoge la de mxima. El decodificador escoge U(m) si:
P Z U ( m ') = max P Z U ( m )
sobre todas las U
(m)
(7.1) 9
El concepto de mxima probabilidad, como se defini en la Ecuacin (7.1), es un desarrollo fundamental de teora de decisin (vea el apndice B): es la formalizacin de un "sentido-comn" del modo de tomar las decisiones cuando hay conocimiento estadstico de las posibilidades. En el tratamiento de demodulacin binaria, en los Captulos 3 y 4, haba slo dos seales equiprobables, esto es, se podra haber transmitido s1(t) o s2(t). Por consiguiente, tomar la decisin binaria de mxima probabilidad, dada una seal recibida, slo quisiramos decidir que la s1(t) se transmiti si:
secuencia transmitida si la probabilidad P Z U (m ' ) es mayor que las probabilidades de todas las otras
posibles secuencias transmitidas. Tal decodificador ptimo que minimiza la probabilidad del error (para el caso dnde todas las transmisiones de las secuencias son igualmente probable), es conocido como un decodificador de mxima probabilidad. Las funciones de probabilidad se dan o se calcula de acuerdo a las especificaciones del canal. Nosotros asumiremos que el ruido es ruido blanco aditivo Gaussiano con media cero y el canal es sin memoria, donde la media del ruido afecta a cada smbolo del cdigo independientemente de todos los otros smbolos. Para un cdigo convolucional de razn 1/n, nosotros podemos expresar la probabilidad como.
P Z U (m ) = P Z i U i
i =1
(m )
) = P(z
n i =1 j =1
ji
u (jim )
(7.2) de de en de
donde Zi es la i-esima rama de la secuencia recibida Z. Ui(m) es el i-esima rama de una secuencia codeword particular U(m), el zji es el j-esimo cdigo de smbolo de Zi, y el uji(m) es el j-esimo cdigo smbolo de Ui(m), y cada rama comprende n cdigos de smbolos. El problema del decodificador consiste la eleccin de un camino a travs del trelllis de figura 7.7 (cada posible camino define una secuencia codeword) tal que
P (z
i =1 j =1
ji
u (jim )
este maximizado
(7.3)
Generalmente, es computacionalmente ms conveniente usar el logaritmo de la funcin de probabilidad, subsecuentemente, esto permite la suma, en lugar de la multiplicacin, de trminos. Nosotros podemos usar esta transformacin porque el logaritmo es un funcin montonicamente creciente y por lo tanto no alterar el resultado final en nuestra seleccin de la codeword. Nosotros podemos definir la funcin de logaritmo de la probabilidad como:
(7.4)
El problema del decodificador consiste ahora en la eleccin de un camino a travs del rbol de Figura 7.6 o del trellis de Figura 7.7, tal que U(m) sea mxima. Para la decodificacin de cdigos convolucional, la estructura del rbol o el trellis puede usarse. En la representacin del rbol de cdigo, el hecho de que se unen los caminos se ignora. Subsecuentemente para un cdigo binario, el nmero de posibles secuencias compuesta de L palabras de rama es 2L, la mxima probabilidad de decodificacin de la secuencia recibida, mientras usando un diagrama de rbol, se requiere la "fuerza bruta" o la comparacin exhaustiva de 2L mtrica del logaritmo de probabilidad acumulada, representando todas las posibles secuencias de codeword 10
diferentes que podran transmitirse. No es prctico considerar la mxima probabilidad de deteccin con una estructura de rbol. Se muestra en una seccin ms adelante que con el uso de la representacin del cdigo trellis, es posible configurar un decodificador que puede desechar los caminos que posiblemente no podran ser candidatos para la secuencia de mxima probabilidad. El camino del decodificador es escogido de algn juego reducido de caminos supervivientes. Tal decodificador es aun optimo en el sentido que el camino decodificado es igual que el camino decodificado que obtuvo por "fuerza bruta" en el decodificador de mxima probabilidad, pero el rechazo temprano de caminos improbables reduce la complejidad de decodificacin. Para una gua didctica excelente en la estructura de cdigos convolucional, decodificacin de mxima probabilidad, y performance del cdigo, vea la Referencia [8]. Hay varios algoritmos que producen soluciones aproximadas al problema de descodificacin de mxima probabilidad, incluyendo secuencial [9, 10] y umbral [11]. Cada uno de estos algoritmos satisface ciertas aplicaciones especiales, pero todos estos son suboptimas. En contraste, el algoritmo de decodificacin Viterbi realiza la decodificacin de mxima probabilidad y es por consiguiente ptimo. Esto no implica que el algoritmo de Viterbi es mejor, para cada aplicacin, hay algunas limitaciones impuestas por la complejidad del hardware. El algoritmo de Viterbi se considera en las Secciones 7.3.3 y 7.3.4.
( )
s1 y probabilidad de s2. El demodulador mostrado en la Figura 7.1, convierte el set de variables aleatorias {z(T)} ordenadas en el tiempo dentro de una secuencia de cdigo Z, y esta es pasada al decodificador. La salida del demodulador puede configurarse de muchas maneras. Esto puede llevarse a cabo para tomar una decisin firme o hard acerca de si la z(T) representa un cero o un uno. En este caso, la salida del demodulador es cuantizada en dos niveles, cero y uno, y esta alimenta a la entrada del decodificador (esto es exactamente la misma decisin de umbral que se hacia en el Captulos 3 y 4)
11
Dado que el decodificador opera con las decisiones-hard hecha por el demodulador, la decodificacin es llamada decodificacin por decisin-hard. El demodulador tambin pueden ser configurado para alimentar el decodificador con un valor de cuantizacin de z(T) mayor que dos niveles. Tal aplicacin suministra al decodificador con ms informacin que la proporcionada en el caso de la decisin-hard. Cuando el nivel de cuantizacin a la salida del demodulador es mayor que dos, la decodificacin es llamada decodificacin por decisin-soft. Los ocho niveles (3-bits) de cuantizacin se ilustra en la abscisa de Figura 7.8. Cuando el demodulador enva una decisin binaria hard al decodificador, este le enva un solo smbolo binario. Cuando el demodulador enva una decisin binaria soft, cuantizada con ocho niveles, este le enva al decodificador una palabra de 3-bit descripta en un intervalo a lo largo de z(T ). En efecto, enviando tal palabra de 3-bit en lugar de un solo smbolo binario esto es equivalente a enviar una medida de seguridad al decodificador junto con la decisin del cdigo-smbolo. Refirindose a la Figurar 7.8, si el demodulador enva un 1 1 1 al decodificador, esto es equivalente a declarar que este cdigo de smbolo corresponde a un uno con gran seguridad, mientras que enviando un 1 0 0 es equivalente a declara que este cdigo de smbolo corresponde a un uno con muy poca seguridad. Debe estar claro que finalmente, cada decisin de mensaje fuera del decodificador debe ser una decisin hard; por otra parte, uno podra ver en la salida de la computadora donde leeria: "pienso que esto es un 1", "pienso que esto es un 0", y as sucesivamente. La idea de que demodulador no toma decisiones hard y de que enva ms datos (decisiones soft) al decodificador puede pensarse como un paso intermedio para proporcionar al decodificador con ms informacin, que el decodificador luego la usa para recuperar la secuencia del mensaje (con una mejor performance del error que la que se pudo en el caso de la decodificacin por decisin de hard). En Figura 7.8, la mtrica de los ocho niveles en la decisin soft se muestra a menudo como -7, -5, -3, -1, 1, 3, 5, 7. Tal designacin se presta a una interpretacin simple de la decisin soft: El signo de la mtrica representa una decisin (por ejemplo, escoja el s1 si positivo, escoja el s2 si negativo), y la magnitud del mtrico representa el nivel de confianza de esa decisin. La nica ventaja para el mtrico mostrado en Figura 7.8 es que evita el uso de nmeros negativos. Para un canal Gaussian, los resultados de cuantizar con ocho niveles es en un mejoramiento de la porformans de aproximadamente 2 dB en el requerimiento de la relacin de seal-ruido comparada con la cuantizacin con dos niveles. Esto significa que la decodificacin por decisin-soft con ocho niveles puede proporcionar la misma probabilidad de error de bit como en la decodificacin por decisin hard, pero requiere 2dB menos de la relacin E b / N 0 para una misma performance. El cuantizador con nivel infinito resulta en un mejoramiento de la performance de 2.2 dB sobre una cuantizacin con dos niveles; por lo tanto, el cuantizador con ocho niveles tiene una prdida de aproximadamente 0.2 dB comparado con cuantizador infinitesimal. Por esta razn, cuantizar con ms de ocho niveles pueden producir un pequeo mejoramiento en la performance [12]. Qu precio se paga por mejorar la performance en la decodificacin por decisinsoft?. En el caso de la decodificacin por decisin-hard, un solo bit se usa para describir cada smbolo del cdigo, mientras que para la decodificacin por decisin-soft con un cuantizador de ocho niveles, 3 bit son usados para describir cada smbolo del cdigo; por lo tanto, es tres veces mayor la cantidad de datos que debe manejar durante el proceso de decodificacin. Es por esto que el precio que se paga en la decodificacin por decisin-soft es en un aumento en el tamao de memoria requerida en el decodificador (y posiblemente una multa de velocidad). Los algoritmos de decodificacin en bloque y los algoritmos de decodificacin convolucional han sido inventados para operar con decisin hard o soft. Sin embargo, el decodificador por decisin-soft generalmente no es usado con los cdigos de bloque porque es considerablemente ms difcil implementarlo que en la decodificacin por decisin-hard . El uso que ms prevalece en la decodificacin por decisin-soft 12
es con el algoritmo de decodificacin convolutional de Viterbi, desde entonces con la decodificacin Viterbi, las decisiones soft representan slo un aumento trivial en el cmputo.
P = (0 / 1) = P(1 / 0) = p
P = (1 / 1) = P(0 / 0) = 1 p
(7.5)
como se ilustra en la Figura 7.9. La probabilidad que un smbolo de salida difiera del smbolo de la entrada es p , y la probabilidad que el smbolo de salida sea idntico al smbolo de la entrada es (1 p ) . El BSC es un ejemplo de un canal con decisin-hard, que significa que, aun cuando muchas seales de valor continuo son recibidas por el demodulador, un BSC permite slo decisiones firmes o hard tal que cada smbolo de salida del demodulador, zji, como se muestra en la Figura 7.1, consiste en uno de dos valores binarios. El ndice de zji pertenece al j-esimo smbolo de cdigo de la i-esima palabra de la rama, Zi .El demodulador alimenta entonces con la secuencia Z= {Zi} al decodificador. Asignando U(m) a una codeword transmitida sobre un BSC con la probabilidad de error de smbolo p , y asignando a Z la secuencia recibida en el decodificador. Como se dijo previamente, un decodificador de mxima probabilidad escoge el codeword U(m) que maximice la probabilidad P ( Z / U ( m ) ) o su logaritmo. Para un BSC, esto es equivalente a escoger el codeword U(m) que este mas cerca en distancia Hamming a Z [8]. As la distancia de Hamming es una mtrica apropiada para describir la distancia o la proximidad apropiada entre U(m) y Z. De todas las posibles secuencias U(m) transmitidas, el decodificador escoge la secuencia U(m) con la cual la distancia a Z es mnima.
Suponga que U(m) y Z son todas secuencias de longitud de bit L y que ellas difieren en las posiciones d m [es decir, las distancias Hamming entre U(m) y Z es d m ]. Entonces, ya que el canal se asume con baja memoria, la probabilidad de que U(m) se transforme en la Z recibida a distancia d m , donde esto puede escribirse como:
P( Z / U ( m ) ) = p d m (1 p) L d m
y la funcin del logaritmo de la probabilidad es:
(7.6)
(7.7)
Si nosotros calculamos esta cantidad para cada posible secuencia transmitida, el ltimo trmino en la ecuacin ser constante en cada caso. Asumiendo que p < 0.5 , nosotros podemos expresar la Ecuacin (7.7) como: (7.8) log P( Z / U ( m ) ) = Ad m B 13
donde A y B son constantes positivas. Por consiguiente, escogiendo la codeword U(m), tal que la distancia Hamming d m a la secuencia recibida Z sea mnima, esto corresponde a maximizar la probabilidad o el logaritmo de la probabilidad. Por lo tanto, sobre un BSC, el logaritmo de la probabilidad es convenientemente remplazada por la distancia de Hamming, y un decodificador de mxima probabilidad escoger, en el diagrama de rbol o diagrama de trellis, el camino cuya secuencia correspondiente U(m) que est a la mnima distancia de Hamming de la secuencia recibida Z.
i =1
n j =1
z ji u ji
(m)
(7.9)
Esto es equivalente a escoger la codeword U(m) que este mas cerca, en distancia Euclidean, a Z. Aunque los canales de decisin hard y soft requieren de mtrica diferente, el concepto de escoger la codeword U(m) que este mas cerca de la secuencia recibida, Z, es el mismo en ambos casos. Para llevar a cabo la maximizacin de la Ecuacin (7.9) exactamente, el decodificador tendra que ser capaz de manejar operaciones aritmticas de estimacin analgica. Esto es imprctico porque el decodificador generalmente se implementa digitalmente. Por eso es necesario cuantizar los smbolos recibido zji. Dada la Ecuacin (7.9) recuerda el tratamiento de demodulacin en los Captulos 3 y 4? La ecuacin (7.9) es la versin discreta de correlacionar una seal de entrada recibida, r (t ) , con una seal de referencia, si (t ) , como esta expresado en la Ecuacin (4.15). El canal Gaussiano cuantizado, tpicamente llamado un canal de decisin-soft, es el modelo de canal asumido por la decodificacin por decisin-soft descripta anterior.
ejemplo, hay slo dos posibles transiciones para partir de este estado, no todas las ramas se necesitan mostrar inicialmente. La estructura completa de trellis se desarrolla despus del tiempo t3. La idea bsica detrs del procedimiento de decodificacin puede entenderse mejor examinando la Figura 7.7 del codificador trellis con la Figura 7.10 del decodificador trellis. Para el decodificador trellis es conveniente en cada intervalo de tiempo, etiquetar cada rama con la distancia de Hamming entre los smbolos del cdigo recibido y la palabra de rama correspondiente a la misma rama del codificador trellis. El ejemplo en la Figura 7.10 muestras una secuencia del mensaje m, la secuencia U correspondiente a la codeword, y una secuencia recibida Z contaminada de ruido Z = 11 0l 0l 10 01. . . . Las palabras de rama vistas en las ramas del codificador trellis caracteriza al codificador de la Figura 7.3, y es conocida a priori tanto por el codificador y el decodificador. Estas palabras de ramas del codificador son los smbolos del cdigo que se esperara que venga de la salida del codificador como resultado de cada una de las transiciones de estados. Las etiquetas en las ramas del decodificador trellis son acumulado por el decodificador al toke. Es decir, cuando los smbolos del cdigo se reciben, cada rama del decodificador trellis se etiqueta con una mtrica de similitud (distancia Hamming) entre los smbolos del cdigo recibido y cada una de las palabras de la rama para ese intervalo de tiempo.
De la secuencia recibida Z, mostrado en Figura 7.10, nosotros vemos que los smbolos del cdigo recibido en el (siguiente) tiempo t1 son 11. El orden para etiquetar las ramas del decodificador en el (partiendo) tiempo t1 con la distancia apropiada de Hamming, nosotros lo vimos en la Figura 7.7 del codificador de trellis. Aqu nosotros vemos que un estado 00 00 de transicin produce una palabra de rama de salida de 00. Pero nosotros recibimos 11. Por lo tanto, en el decodificador trellis nosotros etiquetamos el estado 00 00 de transicin con una distancia de Hamming entre ellos, de 2. Mirando el codificador de trellis de nuevo, nosotros vemos que una estado 00 10 de transicin produce una palabra de rama de salida de 11 que corresponden exactamente con los smbolos del cdigo que nosotros recibimos en el tiempo t1. Por lo tanto, en el decodificador trellis, nosotros etiquetamos el estado 00 10 de transicin con una distancia de Hamming de 0. En resumen, la mtrica de entrada de una rama del decodificador trellis representa la diferencia (la distancia) entre lo que se recibi y lo que se "debi de haber recibido estando la palabra de la rama asociada con la rama que a sido transmitida. En efecto, stas mtricas describen una medida de la correlacin entre una palabra de la rama recibida y cada una de las candidatas. Nosotros continuamos el etiquetado de las ramas en el decodificador de trellis de esta manera con los smbolos que son recibidos en cada tiempo ti. El algoritmo de decodificacin usa la mtrica de distancia Hamming para encontrar la rama mas probable (la distancia mnima) por medio de trellis. La base de la decodificacin Viterbi es la observacin siguiente: Si cualquiera de los dos caminos en la trellis une a un solo estado, siempre puede eliminarse uno de ellos en la bsqueda por el camino ptima. Por ejemplo, En la Figure 7.11 se muestran dos caminos que unen al tiempo t5 para el estado 00. Permtanos definer la mtrica del camino de Hamming acumulativo de un camino dada al tiempo ti como la suma de las distancias de la rama que Hamming a lo largo de esa trayectoria hasta el tiempo ti.
15
En Figura 7.11 la trayectoria superior tiene una mtrica de 4; la inferior tiene una mtrica de 1.La trayectoria superior no puede ser una porcin del camino ptima porque el camino inferior que entra en el mismo estado tiene una mtrica ms baja. Esta observacin es sostenida debido a la naturaleza de Markov del estado del codificador: El estado presente resume la historia del codificador en el sentido de que los estados anteriores no pueden afectar estados futuros o las futuras ramas de salidas. A cada tiempo ti hay 2 K 1 estados en el trellis, dnde K es la restriccin de la longitud, y a cada estado se puede entrar por medio de dos caminos. El decodificador Viterbi consiste de calcular la mtrica de los dos caminos de entran para cada estado y eliminando uno de ellas. Este cmputo se hace para cada uno de los 2 K 1 estados o nodos al tiempo ti ; entonces el decodificador se mueve al tiempo ti+1 y repite el proceso. En un momento dado, la mtrica del camino decisivo para cada estado se designa como el estado mtrico para ese estado en ese momento. Los primeros pasos en nuestro ejemplo de decodificacin son como sigue (vea Figura 7.12). Asuma que la secuencia de datos de entrada m, codeword U, y la secuencia recibida Z son como se muestra en la Figura 7.10. Asuma que el decodificador sabe el estado inicial correcto del trellis. (Esta asuncin no es necesaria en la prctica, pero simplifica la explicacin.) En el tiempo t1 los smbolos del cdigo recibidos son 11. Del estado 00 las nicas posibles transiciones son el estado 00 o el estado 10, como se muestra en la Figura 7.12a. El estado 00 00 de transicin tiene la mtrica rama de 2; el estado 00 10 de transicin tiene la mtrica rama 0. Al tiempo t2 hay dos posibles ramas que dejan cada estado, como se muestra en la Figura 7.12b. La mtrica acumulativa de estas ramas se etiquetan mtricas de estado a , b , c , y d , correspondiendo al estado terminado. Al tiempo t3 en la Figura 7.12c hay dos ramas que divergen de cada estado de nuevo. Como resultado, hay dos caminos que entran a cada estado al tiempo t4. Uno de los caminos que entra en cada estado puede eliminarse, a saber, es aquella que tiene camino acumulativa mas grande. Si la mtrica de los dos caminos de entrada son de igual valor, una trayectoria es escogida para la eliminacin usando una regla arbitraria. El camino superviviente en cada estado se muestra en Figura 7.12d. En este punto del proceso de decodificacin, hay slo una trayectoria superviviente, terminado el paso comn, en el intervalo de tiempo t1 a t2. Por lo tanto, el decodificador puede decidir ahora que el estado de transicin que ocurri entre el intervalo de tiempo t1 a t2 era 00 10 . Ya que esta transicin se produce por un bit de entrada en uno, las salidas del decodificador esta en uno como el primer bit decodificado.
16
Aqu nosotros podemos ver cmo la decodificacin de la rama superviviente es facilitada habiendo dibujado las ramas trellis con las lneas continuas para los ceros de entrada y con las lneas de trazo para los unos de entrada. Note que el primer bit no se decodifico hasta que el camino del cmputo mtrico haba procedido a una profundidad muy mayor dentro de la trellis. Para una aplicacin tpica del decodificador, esto representa un retraso de decodificacin que puede ser tanto como cinco veces la longitud en bits retenidos. En cada paso subsiguiente en el proceso de decodificacin, habr siempre dos trayectorias posibles que entran en cada estado; una de las dos ser eliminado comparando la mtrica de el camino. En la Figure 7.12e se muestra el prximo paso en el proceso de decodificacin. De nuevo, en el tiempo t5 hay dos caminos que entran en cada estado, y puede eliminarse uno de cada par. En la Figure 7.12f se muestran los caminos sobrevivientes al tiempo t5. Note que en nuestro ejemplo nosotros no podemos hacer todava una decisin del segundos bit de datos porque hay todava dos caminos que salen del nodo de estado 10 al tiempo t2 . Al tiempo t6 en la Figura 7.12g nosotros vemos de nuevo el dibujo en donde se unen los dos caminos, y en la Figura 7.12h nosotros vemos a los sobrevivientes al tiempo t6.
Tambin, en la Figura 7.12h las salidas del decodificador esta en uno como el segundo bit decodificado, correspondindose al camino superviviente entre el intervalo de tiempo t2 y t3. El decodificador contina de 17
este modo ms profundamente en el trellis y toma las decisiones en los momentos de los bits de datos de entrada que hacen eliminar todos las caminos excepto uno. Recortando el trellis (como la unin de caminos) garantiza que nunca abra mas caminos que estados existentes. Para este ejemplo, verificar que despus de cada eliminacin en las Figuras 7.12b, d, f, y h, hay slo 4 caminos. Compare esto intentando a fuerza bruta la estimacin de la secuencia por mxima probabilidad sin usar el algoritmo Viterbi. En este caso, el nmero de caminos posibles (representando las posibles secuencias) es una funcin exponencial de la longitud de la secuencia. Para una secuencia de codeword binaria que tiene una longitud de L palabras de rama, con lo cual hay 2 L posibles secuencias.
18
Tambin se muestra en la Figura 7.14 est la lgica ACS de la celda 1, que produce la nueva mtrica de estado b y la nueva historia de camino mb. Esta operacin ACS ocurre del mismo modo para los caminos de otras celdas. El bit ms antiguo del camino cuya mtrica de estado es la ms pequea, forma la salida del decoder.
En el enrejado de la figura 7.15 observamos la mtrica de estado de izquierda a derecha. Verifique que para cada instante, el valor de cada mtrica de estado es obtenida incrementando la mtrica de estado conectada desde el instante previo y a lo largo del camino ganador (lnea gruesa) con el salto mtrico entre ellos. En 19
cierto punto del enrejado (luego de un intervalo de 4 o 5 veces la longitud de restriccin) los bits ms antiguos pueden ser decodificados. Como ejemplo, observando el instante t6 en la figura 7.15 vemos que la mtrica de estado de menor distancia tiene un valor igual a 1. Desde este estado d, el camino ganador puede ser trazado de regreso al instante t1, y se puede verificar que el mensaje decodificado es igual al original, por la convencin de que las lneas a rayas y continuas representan unos y ceros respectivamente.
donde h es el largo en bits de informacin de la historia de camino para cada estado. Una mejora que minimiza el valor de h usa el bit ms antiguo del camino ms probable como salida del decoder, en lugar del bit ms antiguo de un camino arbitrario. Ha sido demostrado [12] que si h vale 4 o 5 veces la longitud de restriccion de cdigo es suficiente para obtener una performance del decoder casi ptima. El almacenamiento requerido u es la limitacin bsica en la implementacin del decoder Viterbi. Los decoders comerciales estn limitados a una longitud de restriccin (constraint lenght) cercana a K = 10. Los esfuerzos por incrementar la ganancia de codificacin mediante el incremento de la longitud de restriccin choca con el incremento exponencial en los requerimientos (y complejidad) de memoria que se siguen de la ecuacin (7.10). Sincronizacin de la palabra de rama es el proceso de determinacin del comienzo de una palabra de rama en la secuencia recibida. Dicha sincronizacin puede tomar lugar sin que nueva informacin sea aadida a la cadena de smbolos transmitidos, ya que los datos recibidos parecen tener una excesiva tasa de error cuando no estan sincronizados. Por esta razn, un modo simple de lograr la sincronizacin es monitorear alguna indicacin simultnea de esta gran tasa de error, esto es, la tasa a la cual las mtricas de estado son incrementadas o a la cual los caminos sobrevivientes se unen en el enrejado. Los parmetros monitoreados son comparados al umbral, y la sincronizacin es entonces ajustada de acuerdo a esto.
7.4 PROPIEDADES DE LOS CDIGOS CONVOLUCIONALES 7.4.1 Propiedades de Distancia de los Cdigos Convolucionales
Considere las propiedades de distancia de los cdigos convolucionales en el contexto del encoder simple de la figura 7.3 y su diagrama de Trellis de la figura 7.7. Queremos evaluar la distancia entre todos los posibles pares de secuencias de codewords. Como en el caso de los bloques de cdigo (ver seccin 6.5.2), estamos interesados en la mnima distancia entre todos los pares de secuencias de codewords en el cdigo, ya que la mnima distancia est relacionada con la capacidad de correccin de error del cdigo. Dado que un cdigo convolucional es un grupo o cdigo lineal [6], no se pierde la generalidad en simplemente encontrar la mnima distancia entre cada una de las secuencias de codewords y la secuencia de todos-ceros. En otras palabras, para un cdigo lineal, cualquier mensaje de testeo es tan bueno como cualquier otro mensaje de testeo. Entonces, por qu no elegir uno que sea fcil de mantener la secuencia de todos-ceros? Asumiendo que la secuencia de todos-ceros de entrada fue transmitida, los caminos de inters son aquellos que comienzan y terminan en el estado 00 y no vuelven a este estado hasta el final del camino. Ocurrir un error siempre que la distancia de cualquier otro camino que se una con el estado 00 al instante ti sea menor que la distancia al camino de todos-ceros al instante up ti , causando que el camino de todos-ceros sea descartado en el proceso de decodificacin. En otras palabras, dada la transmisin de todos ceros, ocurre un error siempre que el camino de todos ceros no sobreviva. De este modo un error de inters es asociado con el camino sobreviviente que diverge y luego se re-une al camino de todos-ceros. Surge una pregunta: por qu es necesario para el camino re-unirse ? No es la divergencia suficiente para detectar un error ? S, por supuesto, pero un error caracterizado por slo una divergencia indica que el decoder, desde este punto en adelante, tendr como salida basura por el resto de la duracin del mensaje. Queremos cuantificar la 20
capacidad del decoder en trminos de los errores que usualmente ocurrirn esto es, queremos aprender la forma ms fcil de que el decoder cometa un error. La mnima distancia para que cierto error pueda ser encontrado mediante el exhaustivo examen de cada camino desde el estado 00 al estado 00. Primero, permtanos re-dibujar el diagrama de enrejado mostrado en la figura 7.16 colocando en cada salto la distancia Hamming correspondiente a la codeword de todos-ceros, en lugar de con sus smbolos de salto de palabra. La distancia Hamming entre dos secuencias de diferente largo ser encontrada aadiendo el nmero necesario de ceros a la secuencia mas corta para igualarlas. Considere todos los caminos que divergen desde el camino de todos-ceros y que luego se re-unen por primera vez a un nodo arbitrario. De la figura 7.16 podemos computar la distancia de estos caminos al camino de todos-ceros. Existe un camino a una distancia igual a 5 del camino de todos-ceros, este camino se aleja en el instante t1 y se re-une en t4. Similarmente, hay dos caminos con distancia igual a 6, uno que se aparta en t1 y se re-une en t5 y otro que lo hace en t1 y t6 respectivamente. Podemos ver en las lneas continuas y de puntos del diagrama que los bits de entrada para el camino con distancia 5 son 1 0 0; esto difiere en slo un bit de entrada de la secuencia de entrada de todosceros. Similarmente, los bits de entrada para los caminos con distancia 6 son 1 1 0 0 y 1 0 1 0 0; los cuales difieren en dos posiciones del camino de todos-ceros. La mnima distancia en el set de todos los caminos que divergen y se re-unen, llamada la mnima distancia libre o simplemente la distancia libre corresponde a 5 en este ejemplo, como puede verse con las lneas gruesas en la figura 7.16. Para calcular la capacidad de correccin de error del cdigo, repetimos la ecuacin (6.44) con la mnima distancia dmin reemplazada por la distancia libre df quedando: t = [ df 1] 2 (7.11)
donde [x] es el entero ms grande no superior a x. Usando df = 5 vemos que el cdigo, caracterizado por el encoder de la figura 7.3, puede corregir algunos de los 2 errores del canal (ver seccin 7.4.1.1).
Un diagrama de Trellis representa las reglas del juego: es una pequea descripcin de todas las posibles transiciones y sus correspondientes estados de inicio y fin asociados con un particular estado-finito de la mquina. El diagrama de Trellis ofrece alguna percepcin del beneficio (ganancia de cdigo) cuando usamos codificacin con correccin de error. Considere la Fig. 7.16 y los posibles caminos de error de divergenciaconvergencia. Se observa que el decoder no puede cometer un error en cualquier forma arbitraria. El camino error debe seguir una de las transiciones disponibles. (los puntos en el diagrama de Trellis indican los caminos disponibles). Al haber codificado los datos de esta forma, hemos puesto restricciones en la seal transmitida. El decoder conoce estas restricciones, lo que permite al sistema encontrar mas fcilmente (usando un menor Eb /No) algunos requerimientos de performance de error. Adems, la figura 7.16 presenta el cmputo de distancia libre de manera directa, una expresin de forma cerrada mas directa puede ser obtenida comenzando con el diagrama de la Figura 7.5. Primero, nombramos los saltos como D0 = 1 ; D1 D2 en la Figura 7.17 donde el exponente de D indica la distancia Hamming desde la rama de palabra de ese salto hasta ramsa de todos-ceros. El salto hacia el nodo a puede ser eliminado ya que no contribuye en nada con las propiedades de distancia de una secuencia de codewords relativa a la secuencia de todos-ceros. Ms aun, el nodo a puede ser dividido en 2 nodos (a y e) que representan las entrada y salida del diagrama de estado. Todos los caminos originados en a = 00 y finalizados en e = 00 pueden ser trazados en el diagrama de estados modificado de la figura 7.17.
21
Podemos calcular la funcin de transferencia de los camino a b c e (comenzando y terminando en el estado 00) en trminos del indeterminado D, como D2 D D2 = D5 . El exponente representa el nmero acumulativo de unos en el camino y por tanto la distancia Hamming al camino de todos ceros. Similarmente los caminos a b d c e y a b c b c e tienen ambos la funcin de transferencia D 6 y una distancia Hamming de 6 al caminos de todos ceros. Las ecuaciones de estado quedan como : Xb = DXa + Xc Xc = DXb + DXd Xd = DXb + DXd Xe = DXc (7.12)
Donde Xa, , Xe son variables falsas para los caminos parciales a los nodos intermedios. La funcin de transferencia, T (D)=Xe/Xa llamada a veces funcin generadora de cdigo puede ser expresada como: T (D) = D5__ = D5 + 2 D6 + 4 D7 + . . . + 2 l Dl + 5 1-2D (7.13)
La funcin de transferencia para este cdigo indica que hay slo un camino de distancia 5 al camino de todos ceros, dos de distancia 6, cuatro de distancia 7 y en general, que hay 2 l caminos de distancia l +5 , donde l = 0, 1, 2, . . . La distancia libre df del cdigo es el peso Hamming del trmino de menor orden de la funcin expandida T(D). En este ejemplo df = 5. En la evaluacion de las propiedades de distancia, T(D) no puede usarse para grandes restricciones dado que la complejidad de T(D) crece exponencialmente con la longitud de restriccin (k). La funcin de transferencia puede usarse para brindar informacin ms detallada que slo las distancias de los distintos caminos. Nos permite introducir un factor L en cada salto del diagrama de estados, de modo que el exponente de L sirve como un indicador del nmero de saltos en cualquier camino que vaya de a = 00 a e = 00. Adems, podemos introducir el factor N en todas las transiciones de los saltos causados por la entrada de un uno. Esto es, cuando una rama es atravesada, el exponente de N se incrementa en uno, slo si la transicin del salto es debido a un uno en la entrada. Para el cdigo convolucional caracterizado en ejemplo de la figura 7.3, los factores adicionales L y N son mostrados en el diagrama modificado de estados de la Fig. 7.18 y las ecuaciones (7.12) quedan como: Xb = DLNXa + LNXc Xc = DLXb + DLXd (7.14) Xd = DLNXb + DLNXd Xe = DLXc La funcin de Transferencia del nuevo diagrama de estado es :
T ( D , L, N ) =
= D 5 L 3N + D 6 L4 (1 + L )N 2 + D 7 L5 (1 + L )N 3 + ...... + D l +5 Ll +3 N l +1 + ......
D 5 L3 N 1 DL(1 + L )N
(7.15)
Esto es, podemos verificar algunas de las propiedades mostradas en la figura 7.16. Hay un camino de distancia 5 y tamao 3, que difiere en un bit de entrada del camino de todos ceros. Hay dos caminos de 22
distancia 6, uno de longitud 4 y otro de longitud 6, pero ambos difieren en 2 bits del camino de todos los ceros. Asimismo de los caminos de distancia 7 uno es de longitud 5, dos de longitud 6 y uno de longitud 7; los cuatro corresponden a secuencias de entrada con 3 bits diferentes al camino de todos ceros. As, si el camino de todos ceros es el correcto y el ruido nos hace elegir uno de los caminos incorrectos de distancia 7, habr 3 bits errneos.
DE
CORRECCIN
DE
ERROR
DE
LOS
CDIGOS
En el estudio de los bloques de cdigo en el Captulo 6, vimos que la capacidad de correccin de error, t, representaba el nmero de errores de smbolo de cdigo, que podran con mxima probabilidad de decodificacin, ser corregidos en cada longitud del bloque de cdigo. Como siempre, cuando decodificamos cdigos convolucionales, la capacidad de correccin de error no puede obtenerse brevemente. Mirando la ecuacin (7.11) podemos decir que el cdigo puede, con mxima probabilidad de decodificacin, corregir t errores con unas pequea longitud de restriccin, donde pequea significa 3 5. La longitud exacta depende de cmo estn distribuidos los errores. Para un cdigo y patrn de error particular, la longitud puede ser limitada usando los mtodos de la funcin de transferencia. Dichos lmites son descriptos ms adelante.
La tabla 7.1 muestra la mxima distancia libre para una tasa = de un cdigo sistemtico y no sistemtico con k =2 a k= 8. Para grandes longitudes de restriccin los resultados estn a menudo ampliamente separados [17] .
23
Constrataint length 2 3 4 5 6 7 8
DEL
ERROR
CATASTRFICO
EN
CDIGOS
Un error catastrfico es definido como un evento la cual un numero finito de errores de smbolos causa un numero infinito de errores de bits en los datos decodificados. Massey y Saim [18] han llegado a la conclusin que una condicin necesaria y suficiente para los cdigos convolucionales se demuestra en la propagacin del error catastrficos. Para una velocidad de cdigos 1 con registros diseados por generadores
n
polinomiales, como lo describimos en la Seccin 7.2.1, la condicin para la propagacin de errores catastrficos es que los generadores tenga un factor polinomial comn ( de grado por lo menos uno). Por ejemplo, la figura 7.20a ilustra una velocidad de 1 , K = 3 un codificador con un g1(x) polinomial superior y
2
g 1 ( x) = 1 + X g 2 ( x) = 1 + X 2
(7.16)
Los generadores g1(x) y g2(x) tienen en comn el factor polinomial 1+X, como:
1 + X 2 = (1 + X )(1 + X )
Por lo tanto, en el codificador de la figura 7.20a podemos manifestar error catastrfico de propagacin.
Figura 7.20 Codificador mostrando la propagacin del error catastrfico. (a) Codificador. (b) Diagrama de estado. En trminos de diagramas de estado para cualquier velocidad de cdigo, el error catastrfico puede ocurrir si y solo si, cuando el camino de lazo cerrado tiene peso cero (distancia cero desde todos los caminos de ceros). En la ilustracin, consideramos el ejemplo de la figura 7.20. El diagrama de estado de la figura 7.20b esta dibujado con el estado del nodo a = 00 dividido en dos nodos, como antes. Asumiendo que el camino de todos los ceros es el camino correcto, camino incorrecto es a b d d ... d c e tiene exactamente 6 unos, no importa cuantas veses tiene que girar alrededor del mismo lazo d. As que para una BSC, por ejemplo, tres errores en el canal pueden causar la eleccin de un camino incorrecto. Un numero arbitrariamente largo (2 o ms nmeros de veces el lazo cerrado es atravesado) puede ser hecho en cada camino. Observamos que para una velocidad de cdigo 1/n, si cada sumador en el codificador tiene un numero igual de conexiones, el lazo cerrado correspondiente a los datos con todos 1 debera tener peso cero, y consecuentemente, el cdigo debera ser catastrfico. La nica ventaja de un cdigo sistemtico, descripto anteriormente, es que este nunca puede ser catastrfico, donde cada lazo cerrado debe contener por lo menos un rama generada por una entrada de bit no-cero, y por 24
lo tanto cada lazo cerrado debe tener un smbolo no-cero. Sin embargo, podemos ver [19] que nicamente una pequea fraccin de cdigos no sistemticos son catastroficos.
PB
dT (D, N ) dN
N =1, D = 2 p (1 p )
(7.17)
donde p es la probabilidad de error de smbolo en el canal. Para el ejemplo de la figura 7.3, T(D,N) es obtenido por T(D,L,N) con L = 1, en la ecuacin (7.15).
T (D , N ) =
dT (D, N ) dN
D5N 1 2 DN
(7.18) (7.19)
N =1
(1 2 D )2
5 2
D5
PB
{1 4[ p(1 p)] }
1 2
{2[ p(1 p )] }
1 2
(7.20)
para una modulacin BPSK coherente sobre un canal con ruido blanco gaussiano aditivo (AWGN), estos podemos ver en [8] que la probabilidad de error de bit esta limitada por:
E E dT (D, N ) PB Q 2d f c exp df c N0 N0 dN
donde:
N =1, D = exp ( Ec / N 0 )
(7.21)
Ec / N 0 = rEb / N 0
Eb / N 0 = relacin de energa de bit de informacin sobre la densidad espectral de potencia del ruido. Ec / N 0 = relacin de energa de smbolo en el canal sobre densidad espectral de potencia del ruido.
r = k / n velocidad del cdigo. Y Q(x) esta definido en las ecuaciones (3.43) y (3.44) y tabulada en la tabla B.1. Por lo tanto, para la
velocidad de cdigo 2 con distancia libre df = 5, en conjuncin con la BPSK coherente y la descodificacin con decisin dura, podemos escribir: 5 Eb 5E exp( 5Eb / 2 N 0 ) exp b (7.22) PB Q 2 N [1 2 exp( E / 2 N )]2 N 0 0 0 b Q 5E b / N 0 2 1 2 exp( E b / 2 N 0 )
1
que es posible de realizar una ganancia de codificacin significativa constante con un simple cdigo convolucional. La actual ganancia de codificacin varia dependiendo de la probabilidad de error de bit [20]. La tabla 7.3 muestra las medidas de las ganancias de codificacin comparada a una BPSK coherente sin codificacin, realizado con implementacin hardware o simulacin computada sobre un canal gaussiano con decisin blanda [21]. El Eb/N0 no codificado esta dado en la columna izquierda. De la tabla 7.3 podemos ver que la ganancia de decodificacin se incrementa cuando la probabilidad de error de bit decrece. Sin embargo, la ganancia de codificacin no puede incrementarse indefinidamente, este tiene un limite superior mostrado en la tabla. Este limite en decibeles puede ser calculado con:
donde r es la velocidad del cdigo y df es la distancia libre examinando la tabla 7.3 tambin revela que PB = y 2 , los dbiles cdigos tienden estar mas cerca del limite superior 10-7, para velocidades de cdigos de 1 2 3 que los cdigos de mayor potencia. Tpicamente la decodificacin de Viterbi es usada sobre canales de entradas binarias con cualquiera de las 2 salidas hard o cuantizadas a 3 bit soft. El constraint length varan entre 3 y 9, la velocidad de cdigo raramente es mas pequea que 1/3, y la memoria del camino es usualmente una parte de la constraint length [12]. Tabla 7.2 La ganancia de codificacin, los limites superiores para algunos cdigos convolucionales.
La memoria del camino se refiere a la cantidad de bit de entrada almacenada por el decodificador. Para el ejemplo de descodificacin de Viterbi en la seccin 7.3.4, uno puede preguntarse el concepto de memoria de camino fijo. Esto se ve del ejemplo que la decodificacion de una palabra de rama, en algun nodo arbitrario, puede hacer lugar en cuanto haya solamente una unica rama sobrevivienteen del nodo. Esto es verdad, sin embargo, actualmente implementar el decodificador en esta va supone una gran cantidad de procesamiento para chequear continuamente cuando el salto de palabra puede ser decodificada. En cambio, un retrazo fijo es provedo, despus que la rama de palabra es decodificado. Se ha mostrado [12.22] que remontandonos atrs del estado con una mtrica de estado inferior, sobre una cantidad fija de historia de caminos (mas o menos 4 5 veces el constraint length), es suficiente para degradar el limite de la performance del decodificador optimo realizado por encima de 0,1 dB para los canales BSC y Gaussianos. La tipica performance de errore resultantes de la simulacin se muestran el figura 7.21, para la decodificacin Viterbi con cuantizacion de decisin hard [12]. Note que cada incremento en el constraint length mejora los requerimientos de Eb/N0 por un factor de aproximadamente de 0,5 dB a PB = 10-5. Tabla 7.3 Ganancia de codificacin bsica (dB) para decodificacin de Viterbi con Soft-Decisin.
Tabla 7.21 Probabilidad de error de bit versus Eb/N0 para una velocidad de cdigo sobre una BSC, decodificacin de Viterbi, y un pasaje de memoria de 32-bit.
1 2
27
7.4.7 RAZON DE CDIGOS CONVOLUCIONALES - TRACE-OFF 7.4.7.1 Performance con sealizacin PSK coherente
La capacidad de corregir errores de un esquema de cdigos se incrementa cuando el numero de smbolos n por bit de informacin k se incrementa, o la velocidad k/n decrece. Sin embargo, el ancho de banda y la complejidad del decodificador se incrementan con n. La ventaja de una velocidad baja de cdigos cuando usamos cdigos convolucionales con PSK coherente, es que requerimos que Eb/No sea bajo (para un largo rango de velocidad de cdigos), permitiendo la transmisin a altas velocidades de datos para una dada cantidad de potencia, o permite reducir la potencia para una razn de datos dada de datos. El estudio de la simulacin, mostrado en [16,22], tiene que para una limitacin de longitud fija, un decrecimiento en la velocidad de cdigo de 1 a 1 resulta una reduccin de requerimiento Eb/No de mas o menos 0,4 dB. Sin 2 3 embargo, el incremento correspondiente a la complejidad del decodificador es del 17%. Para valores chicos de razn de cdigos, la mejora en la performance relativa en incrementar la complejidad del decodificador disminuye rpidamente [22]. Eventualmente, un punto es alcanzado donde sigue decreciendo la velocidad del cdigo y es caracterizada por la reduccin en la ganancia de codificacin. (Ver seccin 9.7.7.2).
2 3
3 4
[16].
Figura 7.22 (a) Plano de Hard-decisin (b) Plano de soft-decisin con 8-niveles por 8-niveles (c) Ejemplo de smbolos de cdigos soft (d) seccin de codificador enrejada (e) seccin de decodificacin enrejada.
28
El caso de soft-decisin, el demodulador no entrega decisiones hard, este entrega seales ruidosas cuantizadas. (Soft-decisin). La primera diferencia entre la descodificacin de Viterbi con soft o hard-decisin, es que el algoritmo de soft-decisin no puede usar una distancia mtrica de Hamming porque limita la resolucin. Una distancia mtrica con necesidad de resolucin es una distancia euclidiana, y facilita el uso, pues podemos transformar nmeros binarios 1 y 0 a nmeros octales 7 y 0, respectivamente. Esto puede ser visto en la figura 7.22c, donde las esquinas del cuadrado han sido nombradas acordemente; esto permite usar un par de enteros, en un rango de 0 a 7, para describir cualquier punto en el conjunto de 64 puntos. Tambin vemos en la figura 7.22c el punto 5,4, representando un ejemplo de un par de cdigos smbolos ruidosos que podran ser el resultado de un demodulador. Imagine que el cuadrado en la figura 7.22c tiene coordenadas x y y. Entonces, cul es la distancia euclidiana entre el punto ruidoso 5,4 y el punto sin ruido 0,0? Este es (5 0 ) + (4 0 ) = 41 . Similarmente, si nos preguntamos cul es la distancia euclidiana entre el punto ruidoso 5,4 y el punto sin
2 2
ruido 7,7? Esta es (5 7 ) + (4 7 ) = 13 . La descodificacin de Viterbi con soft-decisin, para la mayora de las partes, procede de la misma manera que la hard-decisin. La nica diferencia es que la distancia Hamming no se usa. Consideramos como la descodificacin con soft-decisin es realizada con el uso de la distancia euclidiana. La figura 7.22d muestra la primera seccin de una codificacin treellis, originariamente presentada en la figura 7.7, con ramas de palabras transformadas de binario a octal. Suponer que un par de cdigos smbolos con soft-decisin con valores 5,4 arriva a un decodificador durante el primer intervalo de transicin. La figura 7.22e muestra la
2 2
41 , representa la distancia euclidiana entre el arribado 5,4 y la rama de palabra (0,0), es situado en una lnea slida. Similarmente, la mtrica 13 ,
primera seccin de una codificacin treellis. La mtrica representa la distancia euclidiana entre el arribado 5,4 y el cdigo smbolo 7,7 , es situado en una linea de trazos. El resto de la tarea, reduciendo el enrejado en bsqueda de una rama comn, procede que la misma forma que la hard-decisin. Note que en una descodificacin convolucional real, la distancia euclidiana no es usada actualmente para una mtrica con soft-decisin; en cambio, se usa una mtrica monotonica que tiene propiedades similares y es ms fcil de implementar. Un ejemplo de una mtrica semejante es la distancia mtrica al cuadrado, en este caso la operacin raz cuadrada mostrada arriba es eliminada. Adems, si los cdigos smbolos binarios son representados con valores bipolares, entonces el producto interno mtrico en la ecuacin (7.9) puede ser usado. Con una mtrica semejante, deberamos buscar la mxima correlacin antes que la mnima distancia.
El decodificador sigue ese camino el cual acepta recibir n smbolos codificados. En el siguiente nivel del rbol, el decodificador genera nuevamente mas caminos de salida al nodo, y sigue el camino accediendo con el segundo grupo de n smbolos codificados. Procediendo de esta manera, el decodificador penetra fcilmente en el arbol. Supongamos ahora, que la secuencia recibida z es una versin degradada de u. El decodificador comienza en t1 del rbol, y genera caminos conduciendo a ese nodo. Si los n smbolos recibidos codificados coincide con uno de los caminos generados, el decodificador sigue ese camino. Si este no coincide, el decodificador sigue el camino mas probable, pero manteniendo un camino acumulativo sobre el nmero de incoincidencias entre los nmeros recibidos y la palabra de rama, sobre el camino que est siguiendo. Si dos ramas aparecen igualmente probables, el receptor usa un rulo arbitrario, tal como el camino siguiente de entrada 0. A cada nuevo nivel en el rbol, el decodificador le genera nuevas ramas y los compara con el siguiente set de n smbolos recibidos codificados. La bsqueda continua hasta penetrar el rbol a travs del camino mas probable y manteniendo el nmero de incoincidencias acumulativas. Si el contador de incoincidencias supera un cierto nmero (el cual se incrementa cuando penetramos el rbol), el decodificador decide que est sobre un camino incorrecto, sale del camino y trata con otro. El decodificador se queda con la trayectoria de los caminos descartados, para evitar que se recorra nuevamente un camino errneo. Ejemplo: Asumamos que el decodificador en la figura 7.3 se usa para codificar el mensaje con secuencia m, dentro de la codeword u. Supongamos que el cuarto y sptimo bit de la secuencia transmitida u se reciben con error, tal como Tiempo Secuencia del mensaje Secuencia Transmitida Secuencia Recibida t1 1 11 11 t2 1 01 00 t3 0 01 01 t4 1 00 10 t5 1 01 01
Siguiendo la figura 7.23 , asuma que cuando el contador de incoincidencias es de tres, el decodificador vuelve y trata con un camino alternativo. En la figura los nmeros a lo largo de la trayectoria del camino representan el contador de incoincidencias. 1) En el tiempo t1 recibimos smbolos 11 y los comparamos con las palabras de rama partiendo del primer nodo. 2) La nica rama mas probable es la 11 (correspondiendo a un bit de entrada o ramificacin descendente),entonces el decodificador decide que el bit de entrada uno es la correcta decodificacin, y va al siguiente nivel. 3) En el tiempo t2, el decodificador recibe smbolos 00 y los compara con las palabras de rama disponibles 10 y 01 en este segundo nivel. 4) No hay mejores caminos, adems el decodificador toma arbitrariamente la entrada de bit cero ( o rama de palabra 10) y cuenta las incoincidencias, quedando registrado en 1. 5) En el tiempo t3, el decodificador recibe smbolos 01 y los compara con las palabras de rama disponibles 11 y 00 en este tercer nivel. 6) Nuevamente no hay mejor camino, entonces el decodificador toma arbitrariamente la entrada cero ( o rama de palabra 11), e incrementa el contador de incoincidencia a 2. 7) En el tiempo t4, el decodificador recibe smbolos 10 y los compara con las palabras de ramas disponibles 00 y 11 en este cuarto nivel. 30
8) Otra vez no hay mejores caminos y el decodificador vuelve a tomar el bit cero (o palabra de rama 00) e incrementa el contador de incoincidencias a 3. 9) Dado que el decodificador produce un cambio de criterio cuando el contador de discontinuidades llega a 3, este retrocede y trata un camino alternativo.El contador de incoincidencia vuelve a 2. 10) El camino alternativo es la entrada de bit 1 (o palabra de rama 11), en el cuarto nivel. 11) Se vuelve el contador a 3, el decodificador sale de este camino y el contador se resetea nuevamente a 2. Todas las alternativas han sido ahora en el nivel de t4,entonces el decodificador regresa al nodo t3, y resetea el contador a 1. 12) En el nodo t3, el decodificador compara los smbolos recibidos al tiempo t3, particularmente 01,con el camino 00 no probado. 13) En el nodo t4,el decodificador sigue la palabra de rama 10 que los comparo con los smbolos codificados 10,el contador se queda sin alteracin en 2. 14) En el nodo t5,no hay mejores caminos,entonces el decodificador sigue la rama superior como es el rulo, y el contador se incrementa a 3. 15) En este conteo, el decodificador vuelve atrs, resetea a 2 el contador y trata un nodo alternativo en t5. dado que la palabra de rama alternativa es 00, hay una incoincidencia con los smbolos codificados recibidos 01 en t5, y el contador es nuevamente incrementado a 3. 16) El decodificador sale de este camino y el contador es reseteado a 2. Todas estas alternativas no han atravesado el nivel 5, entonces el decodificador retorna al nivel t4 y resetea a el contador a 1. 17) El decodificador trata un camino alternativo en t4, el cual levanta la mtrica a 3 dado a que hay incoincidencias en dos posiciones en la palabra de rama. Ahora el decodificador debe regresar todos los niveles hasta t2, debido a que todos los otros caminos ya han sido probados. El contador es ahora decrementado a cero. 18) En t2 el decodificador sigue ahora la palabra de rama 01, y como hay una incoincidencia el contador se incrementa a 1. El decodificador sigue actuando de esta manera hasta que produce la secuencia del mensaje correctamente. La decodificacin secuencial puede ser vista como una tcnica de prueba y error para buscar el camino correcto en la codificacin rbol. Esta accin de bsqueda en forma secuencial acta de un camino a la vez. Si se hace una decisin incorrecta, las extensiones de los caminos estarn equivocadas. El decodificador puede conocer este error por monitoreo de la mtrica del camino. El algoritmo es similar a un viaje de un automvil siguiendo un mapa, siempre y cuando el viajante reconozca que las marcas terrenas coincide con el mapa sigue. Cuando nota que hay un lugar extrao el conductor asume que esta en un camino incorrecto y vuelve al punto donde el haba conocido el lugar (esta mtrica tiene un rango aceptable) y luego trata con otro camino.
31
32
En la figura 7.24, vemos algunos grficos tpicos de PB versus Eb/No para las dos soluciones mas conocidas para el problema de la decodificacin convoluvional. La decodificacin de Viterbi y la secuencial comparndose usando BPSK coherente, por un canal AWGN. La curva compara la decodificacin Viterbi ( rates y 1/3 decisin hard k=7) con otra Viterbi ( rates y 1/3 decisin soft k=7) Y con la decodificacin secuencial (rates y 1/3 decisin hard k=41)
Esto es lo que se indica con B en la figura 7.24. Nuevamente la lista de mtricas desde el principio del camino hasta el final, podemos encontrar que hay Mitad de mtricas ms altas 2,4,3,3 Mitad de mtricas ms bajas 3,1,4,4 Para la secuencia recibida se asume que la mtrica mnima se encuentra en la mitad inferior del bloque B. Por consiguiente, el segundo bit decodificado es uno. El mismo procedimiento contina hasta que se decodifica el mensaje completo. Un importante parmetro de diseo de los codificadores convolucionales con retroalimentacin es L, la longitud de lo que se mira hacia delante. Incrementando L aumenta la ganancia de decodificacin, pero aumentamos la capacidad de implementarlo.
34