Sunteți pe pagina 1din 54

CAPTULO 3

EL ESQUEMA DE CODIFICACIN TAN BUSCADO: LOS TURBO-CDIGOS

3.1. Introduccin.
Los Turbo-cdigos fueron presentados a la comunidad cientfica en 1993 en la IEEE International Conference on Communications en Geneva, Suiza. Su invencin fue el resultado de una construccin pragmtica conducida por los franceses Claude Berrou y Alain Glavieux, quienes de acuerdo con [A.BERR] se basaron en las intuiciones de G. Battail, J. Hagenauer y P.Hoeher que a finales de los 80s remarcaron el inters del procesamiento probabilstico en receptores de comunicacin digitales. Desde su invencin, los Turbo-cdigos han sido ampliamente estudiados y adoptados por varios sistemas de comunicacin, permitiendo que sta se lleve a cabo a tasas de transmisin cercanas a la capacidad del canal y con probabilidades de error muy bajas debido a que este esquema de codificacin es capaz de operar a 0.1 dB de ese lmite terico descubierto por C. Shannon (ver Seccin 3.4). Tasas de transmisin elevadas permiten la entrega de contenido multimedia y de otras formas densas de informacin a dispositivos portables. De acuerdo con [A.LEVI], la ganancia de codificacin extra ofrecida por los Turbo-cdigos tambin puede utilizarse en los dispositivos inalmbricos para reducir la fuerza de sus seales, lo que conlleva a que ms dispositivos puedan compartir el mismo espectro de frecuencia al reducirse la interferencia inter-dispositivo. As mismo, decrementar la fuerza de las seales tambin se ve reflejado en un decremento de los

64

requerimientos de potencia, lo cual es una consideracin importante para los dispositivos inalmbricos alimentados por batera. De acuerdo con [BAR04], las tres reas clave en que los Turbo-cdigos proveen un mejoramiento en el desempeo son: capacidad (los Turbo-cdigos logran un desempeo cercano a los lmites tericos de la capacidad), eficiencia en el costo del sistema (un usuario es capaz de enviar la misma cantidad de informacin empleando nicamente la mitad del ancho de banda), y nmero de usuarios (un proveedor de servicio satelital es capaz de duplicar el nmero de usuarios sin incrementar la capacidad del satlite). Los Turbo-cdigos representan una clase de cdigos convolucionales concatenados en paralelo [A.SALA]. Esto quiere decir que un Turbo-codificador codifica la misma informacin dos (o ms) veces, pero de forma tal que la secuencia de informacin que ingresa a cada codificador convolucional independiente posea un orden distinto. Para lograr esto, la informacin a ser transmitida es almacenada en una memoria para ser permutada por medio de un (o ms) dispositivo(s) conocido(s) como interleaver(s). De esta forma se producen secuencias no correlacionadas que son codificadas y transmitidas. De acuerdo con [BAR04] este concepto es la clave del desempeo tan bueno de los Turbo-cdigos, y el tipo y tamao del (de los) interleaver(s) utilizado(s) juegan un papel muy importante en el desempeo que puede alcanzarse. La decodificacin de los Turbo-cdigos se basa en un procedimiento iterativo que permite que el proceso de decodificado no sea prohibitivamente complejo (y por consiguiente fsicamente irrealizable) y que este esquema de codificacin alcance niveles de desempeo tan elevados. Mediante este procedimiento, cada secuencia codificada recibida es decodificada de manera independiente por decodificadores distintos que intercambian (retroalimentan) sus decisiones suaves de decodificado de forma tal que el
65

proceso de Turbo-decodificacin se refuerza de manera global, logrando tasas de error muy bajas. Dicho intercambio de decisiones suaves entre decodificadores requiere tanto que estos ltimos sean del tipo SISO (Soft-In-Soft-Out) como de la utilizacin de algoritmos de decodificacin SISO en el proceso de Turbo-decodificacin. Los Turbo-cdigos deben visualizarse, ms que como un nuevo esquema de codificacin para control de errores, como una nueva forma de pensamiento en este campo de investigacin, una forma de pensamiento que de acuerdo con [A.BERR] [BAR04] se basa en la aplicacin de dos conceptos bsicos y poderosos al control de errores: la retroalimentacin y el concepto mundialmente vlido de divide y vencers.

3.2. El codificador Turbo.


Atendiendo a [A.LEVI], los Turbo-cdigos codifican la informacin mediante una combinacin de dos o ms codificadores, junto con un cierto nmero de permutadores o interleavers. Los codificadores son tpicamente codificadores convolucionales sistemticos recursivos (RSC), que son fciles de implementar dado que constan nicamente de un nmero relativamente pequeo de registros y sumadores mdulo-2. La combinacin de estos codificadores se conoce como concatenacin y para codificadores convolucionales puede realizarse de las siguientes maneras [A.BARB]: Concatenacin Paralela de Cdigos Convolucionales (PCCC) Concatenacin Serial de Cdigos Convolucionales (SCCC)

Concatenacin Hbrida de Cdigos Convolucionales (HCCC) A continuacin describiremos brevemente cada una de estas arquitecturas, pero en

lo que reste de este Captulo todo lo que se trate ser con relacin a la arquitectura PCCC,

66

ya que esta arquitectura representa la estructura tpica de la codificacin Turbo y la estructura empleada por la gran variedad de aplicaciones que adoptaron a los Turbocdigos como parte de sus estndares, como los sistemas de comunicacin inalmbrica UMTS y cdma2000.

3.2.1. Concatenacin de cdigos convolucionales. 3.2.1.1. Arquitectura PCCC. Este tipo de arquitectura es definitivamente la ms usada por los Turbo-cdigos y recibe ese nombre debido a que la misma secuencia de informacin es codificada dos (o ms) veces, en paralelo, utilizando las secuencias normal y permutada(s) de los bits de informacin [BAR04]. La siguiente Figura nos muestra el esquema general y bsico de la arquitectura PCCC.
u v(1)=u

v(2) Codificador 1

Iu INT Codificador 2

v(3)

Figura 3.1. Arquitectura PCCC bsica. [BAR04].

La Figura 3.1 nos muestra en realidad un Turbo-codificador que utiliza dos codificadores convolucionales (que tpicamente son del tipo RSC), un Interleaver (INT) y

67

una conexin directa entre una de las salidas y la entrada del codificador (que lo hace un codificador sistemtico). El Interleaver toma la secuencia de informacin u y la reordena en una manera pseudo-aleatoria, repetible y ajustada [A.LEVI] tal que si u = (u1, . . . , uk) es un k-tuple binario, entonces Iu tambin ser un k-tuple binario con la misma informacin de u pero ordenada en una forma completamente distinta. El Codificador 1 toma la secuencia de informacin u y produce la secuencia de paridad v(2), mientras que el Codificador 2 toma la secuencia Iu y produce la secuencia de paridad v(3). La secuencia de informacin v(1) = u, junto con las secuencias de paridad v(2) y v(3) forman la salida del Turbo-codificador, que de acuerdo con [T.ING98] est dada por: v = (v1(1), v1(2), v1(3), v2(1), v2(2), v2(3), . . . , vk(1), vk(2), vk(3)) (3.1)

Como se puede observar existen tres bits de salida por cada bit de entrada, por lo que decimos que el Turbo-cdigo de la Figura 3.1 tiene una tasa de cdigo r = 1/3. Es importante mencionar que los codificadores que forman parte de un Turbo-codificador no tienen que ser idnticos, aunque usualmente lo son. Para lograr tasas de codificacin ms altas, se pude utilizar un elemento conocido como Puncturer en un Turbo-codificador. Este elemento generalmente consiste en un switch de multiplexado que reduce la cantidad de bits a ser transmitidos descartando algunos de los bits de paridad producidos por los codificadores del Turbo-codificador. De acuerdo con [A.LEVI], para estos casos el Turbo-decodificador asumir que los bits descartados eran todos 1s o todos 0s. La Figura 3.2 nos muestra la implementacin de un Turbo-cdigo de tasa r = 1/2 que utiliza dos RSCs y un puncturer, y cuya secuencia de salida est dada por: v = (v1(1), v1(2), v2(1), v2(3), v3(1), v3(2), v4(1), v4(3), . . .). Ntese que los

68

RSCs utilizados son de tasa r = 1/2 y que en cada uno la salida correspondiente a su secuencia de informacin se elimina para formar el Turbo-codificador (ver Seccin 2.3.3).

V(1)= u + + +

+ + INT + + +

V(2)

+ V(3)

Figura 3.2. Turbo-codificador de tasa r = . [A.BARB].

De manera contraria, si lo que se desea es obtener tasas de codificacin ms bajas, entonces lo que puede hacerse es incrementar el nmero de interleavers y de codificadores en el Turbo-codificador para formar un Turbo-cdigo n-dimensional de baja tasa de codificacin como el que se muestra en la siguiente Figura:

69

u V(1)= u

V(2) Codificador 1

V(3) INT1 Codificador 2

V(4) INT2 Codificador 3

V(n+1) INTn Codificador n

Figura 3.3. Turbo-codificador n-dimensional de tasa baja. [BAR04].

De acuerdo con [A.BARB] el primer sistema de comunicacin comercial que utiliz Turbo-cdigos fue diseado en el Institute for Telecommunications Research (ITR) y se bas en una estructura PCCC como la mostrada en la Figura 3.2. Atendiendo a [BAR04] uno de los problemas que presenta la arquitectura PCCC consiste en que no resulta ser una solucin ptima si se requiere lograr una BER muy baja (como p. ej. 10-10 para transmisiones de datos).

3.2.1.2. Arquitectura SCCC. Una alternativa a la arquitectura PCCC la constituye la estructura SCCC. La siguiente Figura nos muestra un ejemplo de una arquitectura SCCC cuya tasa de codificacin es r = 1/3.

70

Codificador 1 r= 1/2

INT

Codificador 2 R=2/3

V(1) V(2) V(3)

Figura 3.4. Arquitectura SCCC de tasa r = 1/3. [A.BARB].

En la Figura 3.4 el Codificador 1 se conoce como codificador externo y el Codificador 2 como codificador interno. Es importante notar la presencia del interleaver entre ambos codificadores convolucionales, que provoca que este dispositivo produzca efectos distintos en el desempeo de las arquitecturas PCCC y SCCC. De acuerdo con [A.BARB], una caracterstica de los esquemas PCCC es que presentan un mejor desempeo que las arquitecturas SCCC a bajas SNRs (SNR = Signal-to-Noise Ratio); sin embargo, a SNRs elevadas los esquemas SCCC superan en desempeo a las arquitecturas PCCC. El tamao y diseo del interleaver definen el punto de la SNR en que el desempeo de una estructura PCCC deja de ser mejor que el de una estructura SCCC en particular.

3.2.1.3. Arquitectura HCCC. Una alternativa ms a la concatenacin de cdigos convolucionales la constituye la arquitectura HCCC. Esta estructura se conoce como hbrida debido a que es una combinacin de las concatenaciones paralela y serial, como se puede apreciar en la Figura 3.5.

INT2

Codificador 3

V(1)

Codificador 1

INT1

Codificador 2

V(2)

Figura 3.5. Arquitectura HCCC de tasa r = . [A.BARB].

71

Este tipo de arquitectura an no ha sido estudiada con profundidad, sin embargo s se sabe que constituye un mejoramiento definitivo de la estructura SCCC.

3.2.2. El Interleaver. De acuerdo con [T.ING98] el interleaver es un dispositivo que permuta los bits de informacin en una manera predefinida, de forma tal que dos bits que estn muy cercanos en la secuencia de informacin original queden lo ms separados que se pueda en la secuencia de informacin permutada. De acuerdo con [BAR04], el principal papel del interleaver en un proceso de Turbocodificacin consiste en tratar que los decodificadores hagan estimados no correlacionados de los valores suaves del mismo bit de informacin, ya que entre menos correlacionados estn ambos estimados, mejor ser la convergencia del algoritmo de decodificacin iterativa (Barbulescu, 2004: 52). Es por esto que el diseo y el tamao del interleaver son factores clave que determinan el buen desempeo de un Turbo-cdigo. Atendiendo a [T.VAL99], el interleaver debe tener una estructura establecida y debido a esto trabaja con los bits de informacin por bloques y no de manera secuencial. Es por esto que los Turbo-cdigos podran considerarse cdigos de bloque, y si el interleaver tiene un tamao ajustado y los codificadores RSC de un Turbo-codificador estn inicializados a cero, entonces estaramos hablando de un cdigo de bloque lineal. Una caracterstica deseable de los cdigos de bloque lineales es que su peso de Hamming (ver ecuacin (2.4), Captulo 2) o distancia mnima sea alta. La combinacin del interleaving y la codificacin RSC asegura que la mayora de las palabras de cdigo producidas por un

72

Turbo-codificador tengan un alto peso de Hamming, lo que permite que los Turbo-cdigos ofrezcan un buen desempeo a bajas SNRs. De acuerdo con [T.ING98], los interleavers pueden dividirse en dos grupos: interleavers de bloque e interlerleavers convolucionales. Todo lo expresado en el prrafo anterior tiene que ver con interleavers de bloque. Los interleavers convolucionales son capaces de trabajar con los bits de informacin de manera secuencial, y son utilizados en una clase de Turbo-codificacin conocida como Stream-oriented Turbo-codes que generalmente se emplea en aplicaciones que tienen que ver con conmutacin de circuitos (como la Red de Telefona Pblica Conmutada - PSTN). En esta Tesis nicamente nos enfocaremos a la Turbo-codificacin clsica y por lo tanto slo trataremos con interleavers de bloque. A continuacin exponemos algunos de los interleavers de bloque ms utilizados en la Turbo-codificacin, siguiendo una presentacin similar a la ofrecida por

[A.BARB][BAR04].

3.2.2.1. Interleaver Rengln-Columna. Este es el interleaver ms simple que se conoce y consiste en una memoria en la que la informacin es escrita a lo largo de los renglones y leda a lo largo de las columnas [A.BARB]. La siguiente tabla nos ilustra un ejemplo de la memoria de un interleaver de este tipo.

73

Tabla 3.1. Ejemplo de la memoria de un interleaver Rengln-Columna [A.BARB].

X1 X4 X7 X10 X13 X16 X19

X2 X5 X8 X11 X14 X17 X20

X3 X6 X9 X12 X15 X18 X21

De acuerdo con su definicin, la salida de este interleaver estar dada por: X1, X4, X7, X10, X13, X16, X19, X2, X5, X8, X11, . . .

3.2.2.2. Interleaver Espiral. Un interleaver de este tipo consiste en una memoria en que la informacin es escrita como en la Tabla 3.1 pero leda en forma diagonal [A.BARB]. De acuerdo con su definicin, la salida de este interleaver estar dada por: X19, X17, X15, X10, X8, X6, X1, X20, X18, X13, ...

3.2.2.3. Interleaver Impar-Par. De acuerdo con [BAR04] este tipo de interleaver ofrece un mejoramiento significativo cuando se utiliza en el diseo de un Turbo-codificador de tasa r = 1/2 como el mostrado en la Figura 3.2. Por ejemplo, supongamos que tenemos una secuencia binaria de informacin que entra al RSC superior de la Figura 3.2 y que slo almacenamos los bits codificados que estn en las posiciones impares. La siguiente tabla resulta:
74

Tabla 3.2. Bits codificados en las posiciones impares [A.BARB].

X1 Y1

X2 -

X3 Y3

X4 -

X5 Y5

X6 -

X7 Y7

X8 -

X9 Y9

X10 X11 X12 X13 X14 X15 Y11 Y13 Y15

Un interleaver Impar-par es un interleaver Rengln-Columna cuya memoria tiene un nmero impar de renglones y un nmero impar de columnas [A.BARB]. Para nuestra secuencia de informacin la memoria del interleaver quedara escrita de acuerdo a la siguiente tabla:
Tabla 3.3. Ejemplo de la memoria de un interleaver Impar-Par 3 x 5 [A.BARB].

X1 X6 X11

X2 X7 X12

X3 X8 X13

X4 X9 X14

X5 X10 X15

Suponiendo que la secuencia de salida de este interleaver es codificada por el RSC inferior de la Figura 3.2 y que almacenamos los bits codificados que estn en las posiciones pares, la siguiente Tabla resulta:
Tabla 3.4. Bits codificados en las posiciones pares [A.BARB].

X1 -

X6 Z6

X11 -

X2 Z2

X7 -

X12 Z12

X3 -

X8 Z8

X13 -

X4 Z4

X9 -

X14 Z14

X5 -

X10 X15 Z10 -

Como podremos observar a partir de las Tablas 3.2 y 3.4, los 15 bits de informacin tienen un bit codificado asociado a cada uno de ellos, lo cual se traduce en que la potencia de codificacin est uniformemente distribuida. Las dos salidas v(1) y v(2)-v(3) del Turbocodificador considerado estarn dadas por la siguiente tabla:

75

Tabla 3.5. Salidas del Turbo-codificador de la Figura 3.2 considerando la utilizacin de un interleaver Impar-Par 3 x 5.

v(1)

X1 X2 X3 X4 X5 X6

X7 Y7

X8 Z8

X9 Y9

X10 X11 X12 X13 X14 X15 Z4 Y11 Z14 Y13 Z10 Y15

v(2)-v(3) Y1 Z6 Y3 Z2 Y5 Z12

3.2.2.4. Interleaver Pseudo-aleatorio. Un interleaver Pseudo-aleatorio, de acuerdo con [T.ING98], es aquel en que la secuencia de informacin es escrita en su memoria en un orden pseudo-aleatorio y posteriormente es leda de la memoria columna por columna. Atendiendo a [A.BARB], los interleavers de este tipo son definidos por un generador pseudo-aleatorio de nmeros donde todos los enteros entre 1 y N (el tamao del interleaver) pueden ser generados.

3.2.2.5. Interleaver de 3G. De acuerdo con [BAR04] el proceso de implementacin del interleaver empleado en 3G (en particular en el sistema UMTS) consiste de dos pasos: generacin del interleaver madre y descarte de bits. Existen 207 conjuntos de interleavers madre que pueden seleccionarse de acuerdo con el tamao del bloque de informacin. Una vez que se selecciona un conjunto en particular, algunos bits son descartados con la finalidad de ajustar el tamao al tamao original del bloque de informacin. La generacin del interleaver madre se consigue en tres pasos [BAR04]: la secuencia de entrada es almacenada a lo largo de los renglones en una matriz rectangular; a continuacin se efecta una permutacin inter-fila (entre renglones); y finalmente se realiza una permutacin intra-fila (en cada rengln). El nmero de filas y de columnas de la matriz

76

es una funcin del tamao del bloque de informacin que a su vez puede variar entre 40 y 5114 bits. Atendiendo a [BAR04], existen tablas con races primitivas que se utilizan para las permutaciones inter e intra-fila. En el siguiente Captulo de esta Tesis hablaremos con mayor detalle sobre este interleaver.

3.2.2.6. El mejor interleaver... Debido a que los interleavers son diseados con base en los requerimientos especficos del sistema en que se empleen, podemos decir que no existe una frmula o regla universal que permita disear un mejor interleaver. Por ejemplo, en [A.BARB] se comenta que para tamaos pequeos de bloque y una relacin Eb/N0 baja, un interleaver Impar-par ofrece un mucho mejor desempeo que un interleaver Pseudo-aleatorio y viceversa (para una relacin Eb/N0 alta).

3.3. La decodificacin Turbo.


A partir de la Teora de Codificacin sabemos que entre mayor sea la longitud de una palabra de cdigo, para el caso de cdigos de bloque, o el tamao de la memoria en un codificador convolucional, podemos conseguir mayores ganancias de codificacin a bajas tasas de error de bit (BERs) para un tipo de cdigo en particular (teorema de codificacin del canal de Shannon). Este teorema consideraba que la estrategia de decodificado para poder lograr esto era la decodificacin de mxima probabilidad. Sin embargo como vimos en la seccin 2.3.2. de esta Tesis, a pesar de ser en general una estrategia ptima, este tipo de decodificacin presenta la gran problemtica de que su complejidad se incrementa

77

exponencialmente con la longitud de las palabras de cdigo (o el incremento de la memoria del codificador para el caso de cdigos convolucionales) y por lo tanto se vuelve un esquema de decodificacin imprctico si se busca alcanzar el desempeo ptimo de un cdigo con ayuda de ste. A travs de los aos y hasta antes del nacimiento de los Turbo-cdigos, conforme los expertos en el campo de la Teora de Codificacin trataban de mejorar los esquemas de codificacin existentes y de crear otros nuevos, el precio por conseguir buenas ganancias de codificacin a tasas de error bajas permaneca inalterable: una gran complejidad en el proceso de decodificacin. Esto llev a la necesidad de buscar nuevos esquemas de codificacin con los que se pudieran reemplazar los algoritmos de decodificacin de mxima probabilidad (MLDA, por sus siglas en ingls de Maximum Likelihood Decoding Algorithms) por estrategias de decodificado ms simples. Esta bsqueda dominara el campo de la codificacin para control de errores por casi medio siglo... Fue hasta 1993, con la aparicin de los Turbo-cdigos, que cesara la bsqueda por encontrar un esquema de codificacin que fuera capaz de alcanzar los lmites de la capacidad formulados por Shannon al poder procesar en una manera no compleja palabras de cdigo tan grandes como para poder vencer los efectos indeseables del ruido presente en el canal de comunicacin. Los Turbo-cdigos son capaces de lograr ganancias de codificacin nunca antes logradas por ningn otro esquema de codificacin del canal a tasas de error muy bajas. Esto se debe principalmente a la introduccin del interleaver a la arquitectura del Turbocodificador (que permite una generacin de palabras de cdigo en cierta forma aleatorias y por ende ms resistentes al ruido) y a la estrategia de decodificado empleada por este
78

esquema de codificacin. Esta estrategia combina cdigos simples de forma tal que cada uno de estos cdigos puede decodificarse de manera independiente por medio de decodificadores SISO (Soft-In-Soft-Out) no complejos que pueden emplear un algoritmo de decodificacin de mxima probabilidad. De acuerdo con [BAR04], utilizando decodificadores SISO la informacin puede ser pasada de un decodificador al siguiente en un modo iterativo. Esta es una estrategia de divide y vencers que en un proceso iterativo bien puede aproximarse al desempeo de los MLDA (Barbulescu, 2004: 18). Como ejemplo, en un Turbo-codificador con una memoria total de 1000 clulas, 992 representan la memoria empleada para el proceso de interleaving y las restantes 8 la memoria empleada por los codificadores RSC que componen al Turbo-codificador [BAR04]. De esta manera, el nmero de estados posibles en el trellis de cada codificador RSC es muy pequeo y por lo tanto cada decodificador individual correspondiente en el Turbo-decodificador tendr una tarea simple de llevar a cabo al tener que encontrar la trayectoria de mxima probabilidad a travs de un trellis no tan complejo. Sin embargo, ntese que el tamao del interleaver debe ser grande para que un Turbo-cdigo alcance un desempeo cercano a los lmites tericos de Shannon empleando codificadores y decodificadores simples en el Turbo-codificador y Turbo-decodificador, respectivamente. El proceso iterativo, pues, demostr ser la respuesta clave de ingeniera para lograr un desempeo muy cercano a la solucin ptima con una complejidad en la implementacin no prohibitiva (Barbulescu, 2004: 24).

3.3.1. El decodificador Turbo y el proceso de decodificacin iterativa. Consideremos la estructura general del Turbo-decodificador iterativo que se muestra en la siguiente Figura.
79

Sistemtica Entradas suaves Paridad Decodificador 1

+
Interleaver

Interleaver

Decodificador 2 Paridad

De-Interleaver

De-interleaver y toma de decisiones duras

Salida

Figura 3.6. Esquema general de un Turbo-decodificador. [A. WOOD].

Este Turbo-decodificador corresponde a un Turbo-codificador de tasa r = 1/3 ( r = 1/2 si se utiliza un puncturer) como el mostrado en la Figura 3.1 ( en la Figura 3.2), y representa el tipo de decodificador iterativo ms utilizado para la decodificacin de Turbo-cdigos. Como se podr observar, cada decodificador tiene tres entradas: los bits de salida del canal codificados sistemticamente, los bits de paridad generados por el codificador correspondiente en el Turbo-codificador, y la informacin proveniente del otro decodificador acerca de los valores probables de los bits decodificados. Esta informacin proveniente del otro decodificador se conoce como informacin a-priori [A.WOOD].

80

Ambos decodificadores componentes del Turbo-decodificador deben explotar tanto las entradas provenientes del canal como la informacin a-priori proporcionada a cada uno de ellos. Estos decodificadores deben generar salidas suaves para los bits decodificados, lo que significa que no slo deben proveer la secuencia de bits decodificados sino tambin la probabilidad asociada a cada bit de que ste haya sido decodificado correctamente. De acuerdo con [A.WOOD], estas salidas suaves se representan generalmente en trminos de las llamadas relaciones Log-likelihood (LLRs, por sus siglas en ingls de Log-Likelihood Ratios) cuyas magnitudes y amplitudes dan informacin sobre el signo de cada bit y la probabilidad de una decisin correcta, respectivamente. La LLR para el valor de un bit decodificado uk est dada por:
P(u k = +1) L(uk) = ln P(u = 1) k

(3.1)

donde P(uk = +1) es la probabilidad de que el bit uk = +1 (1 binario) y P(uk = -1) es la probabilidad de que el bit uk = -1 (0 binario). Una LLR positiva y alta indicar una probabilidad alta de que el bit decodificado sea un 1, mientras que una LLR negativa y alta indicar una probabilidad alta de que el bit decodificado sea un 0. En la Figura 3.6 podemos ver que las entradas al Turbo-decodificador provenientes del canal tambin deben ser suaves. Esto implica que en el sistema de comunicacin deber utilizarse un demodulador de decisiones suaves, de salida no-cuantizada, y que previo al Turbo-decodificador deber existir un estimador de la LLR de cada bit, cuya funcin ser precisamente la de calcular las relaciones log-likelihood para cada bit recibido de la seal demodulada.

81

De este modo, los decodificadores del Turbo-decodificador debern ser capaces tanto de generar como de recibir salidas y entradas suaves, respectivamente. Para que esto se cumpla, es necesaria la utilizacin de algoritmos de decodificacin SISO. De acuerdo con [BAR04], existen dos categoras importantes de algoritmos de decodificacin SISO: los algoritmos que minimizan la probabilidad de error de smbolo y los algoritmos de decodificacin de mxima probabilidad, que minimizan la probabilidad de error de palabra o secuencia. A la primer categora pertenece el algoritmo MAP (Maximum A Posteriori) y a la segunda el algoritmo SOVA (Soft Output Viterbi Algorithm), ambos algoritmos muy utilizados en Turbo-decodificacin y de los cuales hablaremos ms adelante. Antes de describir el proceso de decodificacin iterativa del Turbo-decodificador de la Figura 3.6 es necesario que expongamos algunos conceptos de gran importancia dentro de este contexto. Para poder describir de manera clara y precisa dicho proceso consideraremos que los decodificadores componentes del Turbo-decodificador de la Figura 3.6 corresponden a codificadores RSC en el Turbo-codificador y que dichos decodificadores emplean el algoritmo de decodificacin SISO MAP, las cuales corresponden a las caractersticas propias de un tpico esquema de codificacin Turbo. El algoritmo MAP entrega para cada bit decodificado uk la probabilidad de que ste sea +1 o 1, dada la secuencia y de smbolos recibidos del canal. Esto es equivalente a encontrar la LLR a-posteriori L(uky), dada por [A.WOOD]: P u k = +1 y L(uky) = ln P u k = 1 y

(3.2)

82

De acuerdo con [A.WOOD] para un cdigo sistemtico, como un cdigo RSC, la salida de un decodificador MAP puede escribirse como: L(uky) = L(uk) + Lcyks + Le(uk) (3.3)

donde L(uk) es la LLR a-priori del bit decodificado uk, Lcyks es la entrada suave al Turbodecodificador (proveniente del canal) correspondiente al bit sistemtico transmitido uk (yks es la versin ruidosa recibida del bit sistemtico transmitido uk y el factor Lc es una medida conocida como medida de confiabilidad del canal), y Le(uk) es la LLR extrnseca o informacin extrnseca para el bit uk. Hasta este punto hemos mencionado tres conceptos cuya definicin es conveniente dar aqu de manera formal, basndonos en [A.WOOD]: LLR o informacin a-priori de un bit.- es la informacin que se conoce del bit antes de que comience el proceso de decodificado, proveniente, en forma ideal, de un conducto de informacin independiente de la secuencia y de smbolos recibidos del canal por un decodificador. Tambin se conoce como informacin intrnseca. LLR o informacin extrnseca de un bit uk.- es la informacin que provee un decodificador basndose en la secuencia y de smbolos recibidos del canal y en la secuencia de LLRs a-priori proveniente de otro decodificador, excluyendo el bit sistemtico recibido yks y la informacin a-priori del bit uk, L(uk). Tpicamente, un decodificador provee esta informacin utilizando las restricciones impuestas a la secuencia transmitida por el cdigo usado. La informacin extrnseca para un decodificador MAP puede obtenerse restando los trminos L(uk) y Lcyks de la salida suave del decodificador L(uky), dada por la ecuacin (3.3).

83

LLR o informacin a-posteriori de un bit.- es la informacin que provee un decodificador basndose en todas las fuentes disponibles de informacin acerca de ese bit. En otras palabras, es la salida del algoritmo MAP L(uky). Para describir cmo es que el proceso de decodificacin iterativa de los Turbo-

cdigos se lleva a cabo nos basaremos en [A.BARB] [A.WOOD] [BAR04]. El proceso comienza en el Decodificador 1 de la Figura 3.6, con la primera iteracin. Este decodificador recibe la secuencia del canal Lcy(1) que contiene las versiones suaves recibidas de los bits sistemticos transmitidos (Lcyks) y de los bits de paridad generados por el codificador correspondiente en el Turbo-codificador (Lcykl). Si en el Turbo-codificador se utiliz un puncturer para lograr una tasa de codificacin ms alta, el Turbo-decodificador deber insertar ceros en las salidas suaves del canal Lcykl que correspondan a los bits eliminados por el puncturer. En esta primera iteracin el Decodificador 1 no cuenta con informacin a-priori acerca de los bits decodificados. Una vez hecho esto, el Decodificador 1 procesa las entradas suaves provenientes del canal y produce su estimado L11(uky) de los LLRs condicionales de los bits de informacin uk para k = 1, 2, ... , N. En la notacin utilizada, el subndice 11 en L11(uky) indica que este es el LLR a-posteriori producido en la primera iteracin por el Decodificador 1. Seguido de esto, el Decodificador 2 de la Figura 3.6 entra en operacin al recibir la secuencia del canal Lcy(2) que contiene la versin suave de los bits de paridad generados por el codificador correspondiente en el Turbo-codificador y la versin permutada (pasada por el interleaver) de la versin suave de los bits sistemticos recibidos. Nuevamente el Turbodecodificador deber insertar algunos ceros en las salidas suaves del canal correspondientes

84

a los bits de paridad recibidos en caso de que se haya utilizado un puncturer en el Turbocodificador. Sin embargo, la secuencia Lcy(2) no es la nica secuencia recibida por el Decodificador 2. Una secuencia de LLRs a-priori L(uk) tambin es recibida por este decodificador en la primera iteracin del proceso de decodificacin iterativa. En un Turbodecodificador, la versin permutada de los LLRs extrnsecos Le(uk) extrados de los LLRs condicionales L11(uky) (los restadores mostrados en el Turbo-decodificador de la Figura 3.6 son debidos a este hecho) constituye dicha secuencia de LLRs a-priori. Ntese que estamos hablando de una versin permutada de LLRs extrnsecos debido a que el Decodificador 2 debe recibir los LLRs a-priori en el mismo orden en que los bits de informacin fueron codificados por el codificador correspondiente a este decodificador. Pero, por qu tienen que ser los LLRs extrnsecos Le(uk) y no los LLRs a-posteriori generados por un decodificador los que se conviertan en LLRs a-priori para el otro decodificador?. De acuerdo con [A.WOOD][T.SEG95] esto se debe a que, como ya se mencion anteriormente, en un proceso de decodificacin iterativo lo ideal sera que la informacin a-priori utilizada por los decodificadores proviniera de una fuente de informacin independiente de la secuencia y de smbolos recibidos por los mismos. Sin embargo, como ya se describi anteriormente, los LLRs extrnsecos Le(uk) generados por un decodificador (y utilizados por el otro como informacin a-priori) utilizan la secuencia y de smbolos recibidos del canal excluyendo al bit sistemtico recibido yks; dado que en esta secuencia estn incluidos los bits sistemticos transmitidos, podemos decir que la informacin a-priori utilizada por cada decodificador dentro del Turbo-decodificador no es realmente independiente de la secuencia y de entrada a cada uno de ellos, puesto que dichos

85

bits son empleados por ambos. Gracias a la combinacin, sin embargo, de la utilizacin de un Interleaver en el proceso de Turbo-codificacin junto con la utilizacin del concepto de informacin extrnseca, se consigue que la informacin a-priori empleada por los decodificadores componentes del Turbo-decodificador est muy poco correlacionada con la secuencia y de entrada a cada uno de ellos, haciendo de la decodificacin iterativa una estrategia de decodificacin cuasi-ptima. Es por esto que el diseo del Interleaver es un factor clave que determina el buen desempeo de un Turbo-cdigo, como se mencion en la seccin 3.2.2. De este modo, el Decodificador 2 utiliza la secuencia del canal recibida Lcy(2) y la secuencia de LLRs a-priori L(uk) para producir sus LLRs a-posteriori L12(uky). As termina la primera iteracin del proceso de Turbo-decodificacin. Para la segunda iteracin el Decodificador 1 nuevamente procesa su secuencia recibida del canal Lcy(1), pero ahora tambin cuenta con una secuencia de LLRs a-priori L(uk) suministrada por la parte extrnseca Le(uk) de los LLRs a-posteriori L12(uky) calculados por el Decodificador 2, y por lo tanto genera un LLR a-posteriori L21(uky) mejorado para cada bit de informacin decodificado. Ntese, a partir de la Figura 3.6, que la secuencia de LLRs a-priori L(uk) recibida por el Decodificador 1 se encuentra ordenada en la misma forma en que los bits de informacin fueron codificados por el codificador correspondiente a este decodificador gracias al De-interleaver, cuya funcin es opuesta a la del interleaver. La segunda iteracin contina, entonces, con el Decodificador 2 que utiliza como informacin a-priori la versin permutada de la parte extrnseca de los LLRs a-posteriori L21(uky) para calcular, junto con su secuencia recibida del canal Lcy(2), sus LLRs

86

a-posteriori L22(uky) mejorados. De este modo termina la segunda iteracin del proceso de decodificacin iterativa. De la misma manera descrita hasta este momento contina el proceso de Turbodecodificacin, decrementndose con cada iteracin nueva la BER de los bits decodificados. Sin embargo, la ganancia de codificacin de una iteracin a otra se decrementa con el nmero de iteraciones. Por esta razn y por motivos de complejidad en la implementacin del Turbo-decodificador, generalmente slo se efectan de 6 a 8 iteraciones en un proceso de decodificacin Turbo [A.WOOD]. La complejidad total de un Turbo-decodificador depender de qu tan eficientemente est implementado el algoritmo de decodificacin [BAR04]. El proceso de Turbo-decodificacin finaliza con una secuencia de LLRs a-posteriori Li2(uky) a la salida del Decodificador 2 de la Figura 3.6, donde el subndice i en Li2(uky) representa el nmero total de iteraciones efectuadas en dicho proceso. Estos LLRs son convertidos en 1s y 0s mediante una toma de decisiones duras (que se basa en las magnitudes y amplitudes de los LLRs) y posteriormente son pasados a travs de un De-interleaver para proporcionar los bits decodificados en el orden correcto a la salida del Turbo-decodificador.

3.3.2. Algoritmos de decodificacin SISO. En 1974 el algoritmo MAP (Maximum A Posteriori) fue propuesto por L. R. Bahl, J. Cocke, F. Jelinek y J. Raviv en [A.BAHL] para estimar las probabilidades a-posteriori de los estados y las transiciones de una fuente Markov observada en ruido sin memoria

87

[A.WOOD]. Debido a las iniciales de los apellidos de sus descubridores, este algoritmo tambin se conoce como algoritmo BCJR. Bahl, Cocke, Jelinek y Raviv mostraron la forma en que este algoritmo poda ser utilizado para decodificar tanto cdigos de bloque como cdigos convolucionales. Mostraron que si se utiliza para decodificar cdigos convolucionales, el algoritmo es ptimo en trminos de minimizar la BER, lo cual es distinto a lo que hace el algoritmo de decodificacin de Viterbi, que minimiza la probabilidad de que el decodificador seleccione una trayectoria incorrecta a travs del trellis del cdigo convolucional que est en consideracin. Sin embargo este hecho implica que el algoritmo BCJR tenga que examinar cada trayectoria posible a travs del trellis del decodificador convolucional y por lo tanto resulta ser un algoritmo complejo. Debido a su complejidad y al hecho de que su desempeo result ser casi idntico al del algoritmo de Viterbi para decodificacin de salidas duras, el algoritmo MAP casi no se utiliz antes del descubrimiento de los Turbocdigos. Sin embargo el algoritmo MAP no slo provee la secuencia de bits estimada, sino tambin las probabilidades para cada bit de que haya sido decodificado correctamente. Esto es esencial para el proceso de decodificacin iterativa para Turbo-cdigos y por lo tanto, a raz de la invencin de este poderoso esquema de codificacin, el algoritmo MAP se convirti en una gran opcin para ser utilizado en la decodificacin de salidas suaves de los cdigos convolucionales componentes de los Turbo-cdigos. Desde entonces se ha invertido un gran esfuerzo en la investigacin para reducir la complejidad de este algoritmo a un nivel razonable, y hasta ahora slo se han logrado desarrollar dos algoritmos que ofrecen un desempeo casi idntico al ofrecido por MAP pero a una complejidad menor: el algoritmo Max-Log-MAP y el algoritmo Log-MAP.
88

De acuerdo con [T.VAL99], la gran complejidad del algoritmo MAP se debe principalmente a que debe efectuar una enorme cantidad de multiplicaciones y adiciones por cada estimado que produce de la probabilidad a-posteriori de cada bit de informacin decodificado. Este problema se puede aminorar si el algoritmo entero se lleva a cabo en el dominio logartmico, en vez de esperar hasta el ltimo paso para tomar el logaritmo de la LLR. El principal beneficio de ejecutar el algoritmo en el dominio logartmico consiste en que la multiplicacin se convierte en suma. Esta es la idea principal en la que se basan los algoritmos Max-Log-MAP y Log-MAP para reducir la complejidad del algoritmo MAP. La diferencia entre los algoritmos Max-Log-MAP y Log-MAP radica

principalmente en la forma en que efectan la operacin de suma en el dominio logartmico. Para ilustrar la forma en que se efecta una operacin de suma en el dominio logartmico consideremos el logaritmo Jacobiano, que de acuerdo con [T.VAL99] est dado por: ln (ex + ey) = max (x, y) + ln ( 1 + exp[-y - x] ) = max (x, y) + fc(y - x) (3.4)

Como podemos observar, la suma en el dominio logartmico se convierte en una operacin de maximizacin seguida por una funcin de correccin fc [T.VAL99]. Una aproximacin a la ecuacin (3.4) est dada por: ln (ex + ey) max (x, y) (3.5)

En el dominio logartmico, el algoritmo Max-Log-MAP efecta la operacin de suma como en la ecuacin (3.5), mientras que el algoritmo Log-MAP efecta dicha operacin como en la ecuacin (3.4). Esto nos permite decir que, de acuerdo con [A.WOOD], el desempeo del algoritmo Max-Log-MAP en comparacin con el del algoritmo MAP es sub-ptimo debido a que utiliza una aproximacin para efectuar las

89

operaciones de suma en el dominio logartmico. El algoritmo Log-MAP fue propuesto para corregir dicha aproximacin y su desempeo es idntico al del algoritmo MAP. Sin embargo tal como se mencion anteriormente, tanto el algoritmo Log-MAP como el Max-Log-MAP reducen en buena medida la complejidad del algoritmo MAP. Atendiendo a [A.WOOD], el algoritmo Max-Log-MAP fue propuesto por W. Koch y A. Baier en [A.KOCH] en 1990. El algoritmo Log-MAP lo propusieron P. Robertson, E. Villebrun y P. Hoeher en [A.ROBE] en el ao de 1995. Otra gran opcin para ser utilizado en la decodificacin de salidas suaves de los cdigos convolucionales componentes de los Turbo-cdigos la constituye el algoritmo SOVA (Soft Output Viterbi Algorithm). A pesar de que el algoritmo de Viterbi (ver seccin 2.3.2.1.) puede aceptar entradas suaves, nicamente es capaz de producir salidas duras y por lo tanto es inadecuado para Turbo-decodificacin. De acuerdo con [T.VAL99], en 1989 J. Hagenauer y P. Hoeher propusieron una modificacin al algoritmo de Viterbi en [A.HAGE] que produce las probabilidades a-posteriori de las transiciones de estado, o equivalentemente la confiabilidad de los estimados de bit. Este algoritmo se conoce como SOVA y de acuerdo con [A.WOOD] tiene dos modificaciones con respecto al algoritmo de Viterbi clsico que lo hacen adecuado para ser utilizado en decodificacin Turbo: la primera consiste en que las mtricas de trayectoria usadas son modificadas para tomar en cuenta informacin a-priori cuando se selecciona la trayectoria de mxima probabilidad a travs del trellis, y la segunda radica en que el algoritmo provee una salida suave en forma del LLR a-posteriori L(uky) para cada bit decodificado. Este algoritmo es el menos complejo de los algoritmos de decodificacin SISO mencionados hasta este momento, sin embargo tambin es el menos preciso de estos

90

algoritmos. De acuerdo con [A.WOOD], cuando el algoritmo SOVA se utiliza en un Turbodecodificador su complejidad es aproximadamente la mitad de la complejidad del algoritmo Max-Log-MAP, pero su desempeo es cerca de 0.6 dB peor que el desempeo que ofrece el algoritmo MAP. En general la complejidad relativa de los algoritmos de decodificacin SISO depende de la constraint length de los cdigos convolucionales utilizados en el proceso de codificacin Turbo. La complejidad y el desempeo de estos algoritmos ascienden en el mismo orden cuando se utilizan en un proceso de decodificacin iterativa [A.WOOD]: la menor complejidad y el peor desempeo los ofrece el algoritmo SOVA, a continuacin se encuentra el algoritmo Max-Log-MAP, luego el algoritmo Log-MAP, y finalmente el algoritmo MAP, siendo este ltimo el algoritmo ptimo para el decodificado de Turbocdigos pero a su vez un algoritmo extremadamente complejo. Atendiendo a [T.VAL99], en canales AWGN el algoritmo Max-Log-MAP provee un aproximado de 0.5 dB ms de ganancia de codificacin que la que provee el algoritmo SOVA, y el algoritmo Log-MAP provee un aproximado de 0.5 dB ms de ganancia de codificacin que la que provee el algoritmo Max-Log-MAP. Adems de los algoritmos MAP, Log-MAP, Max-Log-MAP y SOVA, existen otros algoritmos que se desarrollaron despus que stos y que tambin pueden ser utilizados en un Turbo-decodificador; por ejemplo, en 1998 V. Franz y J. B. Anderson propusieron en [A.FRAN] un algoritmo MAP de bsqueda reducida que de acuerdo con los autores es capaz de reducir la complejidad computacional de un Turbo-decodificador. Sin embargo, estos algoritmos no son tan ampliamente utilizados por los Turbo-cdigos como los primeros debido a que no representan en realidad una mejora en el desempeo que puede alcanzarse con la utilizacin de los algoritmos MAP o Log-MAP, ni tampoco una reduccin
91

en la complejidad algortmica mayor que la que puede conseguirse con los algoritmos MaxLog-MAP o SOVA. A continuacin exponemos los algoritmos de decodificacin SISO ms utilizados en el proceso de decodificacin iterativa de los Turbo-cdigos. Debido a la gran complejidad matemtica con la que tratan estos algoritmos slo presentaremos una descripcin precisa de cada uno de ellos, siguiendo una presentacin similar a la ofrecida por [BAR04]. Una descripcin matemtica completa de estos y otros algoritmos de decodificacin iterativa puede consultarse en [A.WOOD][T.VAL99].

3.3.2.1. Algoritmo SOVA. Consideremos el diagrama de Trellis de un cdigo convolucional en el que dos trayectorias divergen en la unidad de tiempo i-d y se vuelven a unir en la unidad de tiempo i+1. Las trayectorias sobrevivientes para los dos estados A y B en la unidad de tiempo i, desde las cuales las dos trayectorias volvern a unirse, estn dadas por [BAR04]: VA1 = { u1,(i 1), u1,(i 2), . . . u1,(i d), u(i d - 1), . . . . } VB1 = { u2,(i 1), u2,(i 2), . . . u2,(i d), u(i d - 1), . . . . } donde u(i d - 1) es la salida suave comn previa a la divergencia. Sea MA,i la mtrica de trayectoria en la unidad de tiempo i para la trayectoria proveniente del estado A, zi la observacin en la unidad de tiempo i, y y1,i la salida deseada para la trayectoria 1. En la unidad de tiempo i+1, la mtrica de trayectoria para la trayectoria proveniente del estado A est dada por [BAR04]: (3.6) (3.7)

m1 = MA,i + zi - y1,i2
Una definicin similar aplica para la trayectoria proveniente del estado B [BAR04]:

(3.8)

92

m2 = MB,i + zi - y2,i2

(3.9)

Atendiendo a [BAR04] si m1 < m2, un decodificador Viterbi de salidas duras generara la siguiente trayectoria sobreviviente: V1,(i + 1) = { u1,i, u1,(i 1), u1,(i 2), . . . u1,(i d), u(i d - 1), . . . . } (3.10)

En el caso de un decodificador Viterbi de salidas suaves (SOVA), su salida est dada por [BAR04]: V1,(i + 1) = {[(1 D)u1,i + Du2,i], . . . [(1 D)u1,(i d) + Du2,(i d)], u(i d - 1), . . . . } (3.11)

donde D = exp(-m1/22) / [exp(-m1/22) + exp(-m2/22)] para el caso de un canal AWGN en el que 2 es la varianza del ruido. De acuerdo con [BAR04], la informacin extrnseca producida por un decodificador SOVA est altamente correlacionada con la informacin a-priori que ingres al decodificador, lo cual se debe a que el algoritmo SOVA produce la salida suave considerando, en vez de todas las trayectorias, nicamente dos: la trayectoria de mxima probabilidad y la segunda mejor trayectoria. Esto ocasiona que el desempeo ofrecido por SOVA no sea ptimo. 3.3.2.2. Algoritmo MAP. De acuerdo con [BAR04], el algoritmo MAP implica el clculo de mtricas de estado hacia adelante (forward state metrics)

m i

para cada estado m y tiempo I, como se muestra en

la Figura 3.7. Estas mtricas se basan en mtricas de estado previas rama previas i 1 .
k ,m

mj i 1

y en mtricas de

93

tiempo i - 1

tiempo i

Figura 3.7. Clculo de las mtricas de estado hacia adelante. [BAR04].

El clculo de un nuevo estado est tpicamente dado por [BAR04]:

=
m m0 i i 1

0,m i 1

+ i 11 i 1
m

1, m

(3.12)

donde m0 ( m1) es el estado a partir del cual, dado un bit de entrada cero ( uno), el estado del codificador cambia al estado m. Dado que existen 2v estados, donde v es el tamao de la memoria del codificador, se requiere calcular 2v mtricas de estado nuevas. En la prctica el codificador parte del estado cero con cada bloque nuevo, por lo que las mtricas de estado hacia adelante son inicializadas a cero exceptuando a la mtrica de estado cero [BAR04]. Las mtricas de rama se calculan por medio de [BAR04]:

k ,m i

= P(d i = k ) exp( Lc ( xi k + yi c k ,m ))

(3.13)

94

donde di es el bit de informacin, xi es el smbolo de informacin recibido, c es el bit codificado, yi es el smbolo codificado recibido, k puede ser 0 o 1, y Lc = 2/(2). Para cada xi e yi recibidas existen nicamente cuatro posibles combinaciones de di y ci, por lo que se requiere calcular nicamente cuatro mtricas de rama diferentes. La ecuacin de las mtricas de estado hacia adelante necesita dos de las cuatro mtricas de rama para cada clculo nuevo de mtricas de estado [BAR04]. Las mtricas de estado nuevo tambin deben ser calculadas yendo hacia atrs en el tiempo (comenzando al final del bloque), como se muestra en la Figura 3.8. Estas mtricas se representan por

m i

y un clculo tpico es [BAR04]:

el estado del codificador es m.

m i

m0

i +1

0,m i

m1

i +1

1, m i

(3.14)

donde m0 ( m1) es el siguiente estado del codificador si el bit de entrada es cero ( uno) y

tiempo i

tiempo i + 1

Figura 3.8. Clculo de las mtricas de estado hacia atrs. [BAR04].

Si el Trellis no es terminado en un estado conocido (generalmente el estado cero), las mtricas de estado hacia atrs o backward state metrics valor.
95

m i

se inicializan al mismo

La salida producida por el algoritmo MAP est dada por [BAR04]:

=
m i m

m i m i

i1,m im1 +
1 0

i0,m im1 +

(3.15)

La implementacin del algoritmo MAP requiere calcular y almacenar las mtricas de estado hacia adelante

m i

para el bloque completo. Una vez que el bloque entero es

recibido, las mtricas de estado hacia atrs calculadas.

m i

y las salidas suaves i pueden ser

3.3.2.3. Algoritmo Log MAP.

En este algoritmo las multiplicaciones involucradas en el algoritmo MAP son convertidas en sumas, lo cual reduce la complejidad de decodificado de este ltimo algoritmo debido a que un sumador es ms fcil de implementar que un multiplicador. De acuerdo con [BAR04], en el algoritmo Log-MAP las sumas involucradas en el algoritmo MAP son convertidas en el operador E dado por: a E b - logc(c-a + c-b) = min(a, b) - logc(1 + c-a - b) donde c = exp(2A/2), 2 es la varianza del ruido, y A es la amplitud de la seal. Consideremos las siguientes expresiones, donde L es la relacin Log-likelihood (LLR) producida por el decodificador Log MAP, A es la mtrica de estado hacia adelante, B es la mtrica de estado hacia atrs, D es la mtrica de rama, i es el indicador del tiempo, y m es el indicador del estado: Li = - logc i (3.17)
m

(3.16)

= log c i

(3.18)

96

m i

= log c

m i k ,m

(3.19) (3.20)

D
2 v 1 m =0

k ,m i

= log c i

El algoritmo Log-MAP est dado, entonces, por [BAR04]:

E ( Ai + Di + B1+i
m

1, m

f (1, m )

2 v 1 m =0

E (A + D
m i
k ,b ( k , m )

0,m i

+ B1+i

f ( 0,m )

(3.21)

E (A
i =0

b ( k ,m ) i 1

+ Di 1 + Bi +1

(3.22)

B
donde
t 1

m i

E (D
i =0

k ,m i

f ( k ,m )

(3.23)

Ea
j =0

= a 0 Ea 1 E K Ea t 1 ; b(k, m) es el estado del codificador a partir del cual, dado

el bit de entrada k, el estado del codificador cambia al estado m; y f(k, m) es el siguiente estado del codificador si el estado actual es m y el bit de entrada es k.

3.3.3. Complejidad de decodificacin de un Turbo-cdigo.

Anteriormente mencionamos que la gran complejidad del algoritmo MAP es debida al elevado nmero de operaciones que este algoritmo debe efectuar para producir el estimado de la probabilidad a-posteriori de cada bit de informacin decodificado. Del mismo modo, es comn medir la complejidad de decodificacin de Turbo-cdigos en trminos de la cantidad de operaciones que un Turbo-decodificador debe efectuar para producir cada bit decodificado. De acuerdo con [T.SEG95], la complejidad de decodificacin de un cdigo o de un algoritmo de decodificacin cualesquiera se mide como el nmero de operaciones por bit de informacin que se requieren para decodificar. (Seghers, 1995: 49).

97

La Tabla 3.6 nos muestra el nmero total de operaciones requeridas por el algoritmo MAP para decodificar un bit de informacin codificado por un codificador RSC con una memoria de tamao M (complejidad de decodificado del algoritmo MAP). Tambin nos muestra la complejidad de decodificacin de un Turbo-cdigo considerando un proceso de decodificacin de 1 y 18 iteraciones y un Turbo-codificador cuyos codificadores componentes tienen una memoria de tamao M y M = 4, respectivamente. Ntese que la complejidad del proceso de decodificacin de 1 iteracin es el doble de la complejidad de decodificado del algoritmo MAP, lo cual resulta ser algo obvio si tomamos en cuenta que cada iteracin de un proceso de decodificacin iterativa requiere que el algoritmo MAP sea aplicado dos veces.
Tabla 3.6. Complejidad de la decodificacin de un Turbo-cdigo [T.SEG95]. Sumas 4 2M 8 2M 2304 Multiplicaciones 6 2M + 1 12 2M + 2 3492

Decodificador MAP Turbo-decodificador (1 iteracin) Turbo-decodificador (18 iteraciones, M = 4)

Ntese que la complejidad de decodificacin de un Turbo-cdigo nicamente depende del tamao de la memoria (M) de los codificadores componentes del Turbocodificador. Es importante mencionar que a pesar de que la complejidad de decodificacin de un Turbo-cdigo parece ser alta (ver Tabla 3.6), la complejidad de decodificado de un cdigo convolucional que empleando el algoritmo de Viterbi ofreciera un desempeo similar al de un Turbo-cdigo de alto desempeo sera, simplemente, inaceptable.

98

3.4. Desempeo de un Turbo-cdigo en funcin de sus parmetros CODEC.


En el Captulo 1 mencionamos que uno de los resultados ms notables del trabajo de Claude Shannon, A Mathematical Theory of Communication, lo constituye el haber definido el lmite fundamental de la velocidad a la que es posible lograr una transmisin de informacin confiable, virtualmente libre de errores, en un sistema de comunicacin y la herramienta que debe utilizarse para poder alcanzar ese lmite: nos referimos a la capacidad del canal y a la codificacin para control de errores. Shannon estipul que mediante la utilizacin de esquemas de codificacin del canal adecuados es posible lograr una comunicacin que ocurra a una velocidad igual a la capacidad del canal y con una probabilidad de error de smbolo (BER) muy baja. Al principio de este Captulo se mencion que los Turbo-cdigos representan un esquema de codificacin muy poderoso e innovador debido a que le permiten a un sistema de comunicacin operar a tan slo 0.1 dB de distancia de la capacidad del canal, sin embargo no se profundiz ms sobre este asunto. Nos encontramos en un punto en el que debemos considerar nuevamente y ms a fondo esta importante afirmacin sobre los Turbocdigos y, sobre todo, debemos estudiar los ms importantes de los distintos parmetros que afectan el desempeo de este esquema de codificacin. De esta manera, el lector de esta Tesis podr visualizar a travs de grficas de BER vs Eb/No las curvas de desempeo de distintas arquitecturas de Turbo-cdigos (cdigos Turbo caracterizados por parmetros diferentes) y as comprobar por s mismo que existe ms de una combinacin de parmetros que hacen que este esquema de codificacin constituya una respuesta directa a las predicciones de Shannon.

99

Algunos de estos parmetros son: el algoritmo de decodificacin SISO utilizado, el nmero de iteraciones utilizado en el proceso de decodificado, el tamao del interleaver utilizado, y la tasa de cdigo utilizada en el proceso de codificado. Es importante recordar que en esta Tesis se estudia el esquema de codificacin Turbo aplicado a canales AWGN, por lo que los resultados que se presenten en este sub-captulo correspondern a la forma en que se comportaran (desempeo) los distintos Turbo-cdigos si operaran en sistemas de comunicacin cuyo canal fsico fuera afectado exclusivamente por ruido blanco Gaussiano. Pero, para empezar, qu significa que los Turbo-cdigos le permitan a un sistema de comunicacin operar a tan slo 0.1 dB de distancia de la capacidad del canal?. Retomemos la ecuacin (1.11):

C ER = log 2 1 + b s W N 0W

(3.24)

En esta ecuacin C representa la mxima tasa a la que podemos transmitir informacin con un nivel de confiabilidad tan alto como se desee a travs de un canal continuo AWGN limitado en banda a W Hertz; Rs representa la tasa de transferencia de informacin del sistema de comunicacin que se considere y Eb/No representa la SNR requerida por dicho sistema para entregar cada bit de informacin con un nivel de confiabilidad deseado. Consideremos un sistema digital codificado que emplea un codificador de tasa de cdigo r. De acuerdo con la seccin 1.3 de esta Tesis, la tasa de transmisin de informacin del sistema ser de r/T bits por segundo (donde 1/T representa la tasa de transmisin de smbolos codificados dada en smbolos por segundo), y el ancho de banda del sistema deber ser de W = 1/( 2T ) Hertz para minimizar el efecto de la distorsin de canal en el proceso de deteccin de seales. El desempeo ptimo de un sistema de este tipo se alcanzar si su tasa de transmisin es igual a C bits/seg. y cada bit de informacin es
100

entregado al receptor con un alto nivel de confiabilidad. Si hacemos C = r/T, W = 1/( 2T ), y Rs = C, y sustituimos estos valores en la ecuacin (3.24), obtendremos la relacin Eb/No a
la que el sistema lograra su desempeo ptimo, denotada por (Eb/No)op:

r r Eb 2r T Eb op = 2 1 T = log 1 + 2 1 N0 2r 1 N0 2T 2T

(3.25)

A partir de la ecuacin (3.25) podemos ver que dicha relacin es una funcin de la tasa de cdigo del codificador empleado por el sistema. Para una tasa de cdigo r = 1/2, la relacin (Eb/No)op = 1 ( 0 dB). De acuerdo con [BAR04], simulaciones realizadas en [A.GLAV] indican que el Turbo-cdigo considerado ah, cuya tasa es r = y su interleaver de longitud L = 65536 bits, es capaz de alcanzar una BER = 10-6 empleando una SNR por bit de informacin (Eb/No) igual a 0.7 dB. As mismo, en [BAR04] se comenta que en [A.BRIN] se presenta un esquema SCCC de tasa r = con un interleaver de longitud L = 1,000,000 bits que alcanza una BER igual a 10-5 empleando una SNR por bit de informacin de 0.28 dB. Numerosos artculos cientficos afirman que existen Turbocdigos de tasa r = capaces de alcanzar una BER = 10-5 empleando una relacin Eb/No = 0.1 dB, lo que nos permite reafirmar lo dicho anteriormente: los Turbo-cdigos representan un esquema de codificacin muy poderoso debido a que le permiten a un sistema de comunicacin operar a tan slo 0.1 dB de distancia de la capacidad del canal. En [BAR04] se realizaron simulaciones con 4 Turbo-cdigos del tipo PCCC que emplean un interleaver de longitud L = 10200 bits y cuyas tasas de codificacin son r = 1/2, 1/3, 1/4 y 1/6. La relacin Eb/No requerida por estos cdigos para alcanzar una BER de

101

10-6 se muestra en la siguiente tabla, en la que tambin se muestra la relacin (Eb/No)op para estas tasas de cdigo.
Tabla 3.7. Relacin (Eb/No)op en funcin de la tasa de cdigo.

Tasa de cdigo

(Eb/No)op (dB)

Eb/No de simulaciones realizadas en [BAR04]

1/2 1/3 1/4 1/6 0

0.00 -0.55 -0.82 -1.08 -1.59

0.98 0.37 0.13 -0.12 -----

En esta tabla se puede apreciar el gran desempeo que se puede lograr con un Turbo-cdigo: para una longitud de frame no excesivamente grande (10200 bits) los Turbocdigos simulados ofrecen una probabilidad de error de smbolo considerablemente baja (10-6) estando, en promedio, a tan slo 0.95 dB de distancia de la relacin (Eb/No)op (y por consiguiente de la capacidad del canal). Ntese que el desempeo ofrecido por los 4 Turbocdigos es muy similar: los cuatro alcanzan una BER de 10-6 estando casi a la misma distancia de la capacidad del canal ( 0.95 dB); esto nos permite concluir que sin importar su tasa de cdigo, un Turbo-cdigo se comporta de manera similar, ofreciendo un muy buen desempeo [BAR04]. En la tabla 3.7 tambin podemos ver que la ganancia de codificacin de un Turbo-cdigo de tasa r con respecto al Turbo-cdigo de tasa 1/2 es mayor conforme r se decrementa. Esto se puede apreciar mejor en la siguiente tabla, en la que se muestra la SNR por bit de informacin requerida para alcanzar una BER de 10-6, en funcin de la tasa de cdigo, para los Turbo-cdigos simulados en [BAR04] y cuatro cdigos convolucionales considerados en [A.LEE]:
102

Tabla 3.8. Eb/No requerida para una BER = 10-6 para CCs y TCs [BAR04]. Tasa de cdigo Eb/No (en dB) requerida para BER = 10-6 Cdigo Convolucional Turbo-cdigo Ganancia de codificacin (en dB) con respecto al cdigo de tasa r = 1/2 Cdigo Convolucional Turbo-cdigo

1/2 1/3 1/4 1/6

4.80 4.49 4.37 4.28

0.98 0.37 0.13 -0.12

0.00 0.31 0.43 0.52

0.00 0.61 0.85 1.10

A partir de la tabla podemos ver que la ganancia de codificacin que presentan los Turbo-cdigos con respecto al cdigo Turbo de tasa r = 1/2 es casi del doble de aquella presentada por los cdigos convolucionales con respecto al cdigo convolucional de tasa r = 1/2. Esto nos permite concluir, de acuerdo con [BAR04], que decrementar la tasa de un Turbo-cdigo produce una ganancia de codificacin considerablemente mayor que aquella que se produce al decrementar la tasa de un cdigo convolucional. Ntese el impresionante desempeo que ofrece un Turbo-cdigo en comparacin con el desempeo ofrecido por un cdigo convolucional: en la tabla 3.8 se puede ver que para las tasas de cdigo consideradas y para una BER = 10-6 los Turbo-cdigos presentan, en promedio, una ganancia de codificacin de 4 dB con respecto a los cdigos convolucionales. Para que un cdigo convolucional ofreciera un desempeo semejante al ofrecido por un Turbo-cdigo su memoria tendra que ser de un orden muy alto, lo que implicara una decodificacin de Viterbi extremadamente compleja e intil en la prctica. He ah la necesidad que se tena de encontrar un nuevo y mejor esquema de codificacin!. En realidad, y estrictamente hablando, la gran necesidad que se tena antes de la invencin de los Turbo-cdigos era la de encontrar un esquema de decodificacin que fuera
103

capaz de ofrecer un desempeo muy cercano a la solucin ptima con una complejidad en la implementacin no prohibitiva. En otras palabras, lo que se buscaba era obtener un algoritmo de decodificacin que pudiera decodificar una secuencia de informacin a partir de palabras de cdigo complejas, en una manera til en la prctica y ofreciendo un desempeo lo ms cercanamente posible al que ofrecera un algoritmo de decodificacin de mxima probabilidad (MLDA). De esta manera, sera posible alcanzar tasas de error (BER) muy bajas empleando un mnimo de energa para transmitir en los sistemas digitales de comunicacin reales. Dado que el Interleaver de un Turbo-codificador tiene una estructura fija y trabaja con los bits de informacin por bloques, los Turbo-cdigos se consideran cdigos de bloque (ver seccin 3.2.2.). Si recordamos que el Teorema de Codificacin del Canal de Shannon (ver seccin 1.2.1.) implica que se puede alcanzar una BER muy baja por medio de un cdigo de bloque si la longitud n de sus palabras de cdigo se hace grande, entonces el esquema de decodificacin iterativa de los Turbo-cdigos constituye la respuesta a esa bsqueda del algoritmo de decodificacin ideal, al permitirle a este esquema de codificacin trabajar con palabras de cdigo muy largas para producir tasas de error muy bajas. Pero, qu tan lejos o cerca est el desempeo ofrecido por este esquema de decodificacin de aqul que ofrecera una decodificacin ptima, de mxima probabilidad?. De acuerdo con [A.WOOD][BAR04], esta tcnica iterativa es una forma muy eficiente de decodificar a los Turbo-cdigos pues ofrece un desempeo cuasi-ptimo. En [A.MON][A.DIV] se obtienen curvas de desempeo tericas para distintos tipos de arquitecturas PCCC que marcan el mximo desempeo en trminos de BER vs Eb/No que con ellas se alcanzara empleando un algoritmo de decodificacin de mxima probabilidad.
104

Ah mismo se efectan simulaciones que permiten ver que las curvas de desempeo obtenidas por medio de una decodificacin iterativa convergen con las curvas tericas de mximo desempeo conforme el nmero de iteraciones se incrementa, evidenciando as la gran eficiencia del procedimiento iterativo de decodificacin.

3.4.1. El Turbo-cdigo visto como un Cdigo de Bloque Lineal.

Como ya se dijo, los Turbo-cdigos se consideran cdigos de bloque. Si el Interleaver tiene un tamao fijo y ambos codificadores RSC del Turbo-codificador comienzan a codificar con sus registros inicializados a cero, entonces el Turbo-cdigo se considera un cdigo de bloque lineal [T.VAL99]. En la seccin 2.2.1. vimos que la distancia de Hamming de un cdigo de bloque (tambin llamada distancia mnima, dmin) es un buen estimado, de primer orden, del desempeo del cdigo. Para cdigos de bloque lineales la distancia mnima corresponde al peso de Hamming ms pequeo, diferente de cero, de todas las palabras de cdigo en el cdigo. Un objetivo primordial en el diseo de cdigos de bloque en general siempre ha sido tratar de maximizar dmin. Atendiendo a [T.VAL99], la combinacin del Interleaver y de una codificacin RSC asegura que la mayora de las palabras de cdigo producidas por un Turbo-cdigo tengan un alto peso de Hamming. Dado que un codificador RSC tiene una respuesta infinita al impulso, su salida generalmente tiene un alto peso de Hamming, aunque existen algunas secuencias de entrada que provocan que un codificador RSC produzca salidas de bajo peso. Sin embargo, debido a la presencia del Interleaver los dos codificadores RSC del Turbo-codificador reciben secuencias de entrada distintas (en distinto orden), por lo que si uno de los codificadores recibe una secuencia que origina una salida de bajo peso, es poco probable que el otro codificador tambin reciba una secuencia
105

que origine una salida con bajo peso de Hamming. Lamentablemente siempre existirn algunos mensajes de entrada al Turbo-codificador que provocarn que ambos codificadores RSC produzcan salidas de bajo peso y por consiguiente la distancia mnima de un Turbocdigo no es, en general, particularmente alta. Pero, de acuerdo con [T.VAL99], la multiplicidad de palabras de cdigo de bajo peso producidas por un Turbo-codificador bien diseado es baja, lo que permite que un Turbo-cdigo ofrezca un buen desempeo a bajas SNRs. Lamentablemente el desempeo de un Turbo-cdigo a SNRs ms altas se ve limitado por la relativamente pequea distancia mnima del cdigo. Es por ello que mientras el objetivo del diseo tradicional de cdigos consiste en incrementar la distancia mnima del cdigo, el objetivo del diseo de Turbo-cdigos consistir en reducir la multiplicidad de palabras de cdigo de bajo peso. (Valenti, 1999: 37). Considrese, por ejemplo, el Turbo-codificador ilustrado en la Figura 3.2. La siguiente figura nos muestra el desempeo ofrecido por este Turbo-cdigo en un canal AWGN utilizando un Interleaver de 65536 bits (advirtase que un codificador de este tipo producir palabras de cdigo muy largas) y 18 iteraciones en el proceso de decodificacin empleando el algoritmo log-MAP [T.VAL99].

106

Figura 3.9. Desempeo de un Turbo-cdigo de tasa r = con I = 65536 bits. [T.VAL99].

En la Figura 3.9 se puede apreciar claramente el buen desempeo de este Turbocdigo para una relacin Eb/No < 0.7 dB. Sin embargo, ntese cmo la curva de desempeo del Turbo-cdigo sufre un cambio radical en su pendiente a una Eb/No 0.7 dB; esto se traduce en un desempeo limitado de este cdigo para una Eb/No > 0.7 dB. Este cambio en la pendiente de la curva de desempeo de un Turbo-cdigo constituye un rasgo distintivo clave de este esquema de codificacin, y de acuerdo con [BAR04][T.VAL99] se conoce comnmente como el piso de la tasa de error de bit ( BER-floor, en Ingls). La BER a la que se produce el BER-floor en la curva de desempeo de un Turbo-cdigo es una funcin, principalmente, del tamao del Interleaver. Esto se

107

puede apreciar muy bien en la siguiente figura, en la que se aaden otras tres curvas de desempeo a la Figura 3.9 obtenidas, en [T.VAL99], de simular el mismo Turbo-cdigo de la Figura 3.2 utilizando Interleavers de tamao L distinto. Para la obtencin de estas curvas tambin se utilizaron 18 iteraciones en el proceso de decodificacin empleando el algoritmo log-MAP.

Figura 3.10. Desempeo de 4 T.C. de tasa r = con I = 1024, 4096, 16384, 65536 b. [T.VAL99].

Ntese, a partir de la Figura 3.10, cmo el desempeo de un Turbo-cdigo est fuertemente relacionado con el tamao del Interleaver utilizado. Podemos ver que entre mayor es el Interleaver que se utiliza se obtiene un mejor desempeo del Turbo-cdigo, por lo que podramos suponer y no de manera errnea que con un Interleaver extremadamente grande un Turbo-cdigo ofrecera un magnfico desempeo (esto es vlido no slo para un Turbo-cdigo de tasa r = , sino para un Turbo-cdigo de cualquier tasa r;

108

adems, dado que el proceso de decodificacin de un Turbo-cdigo es iterativo, estamos considerando que el Interleaver produce una secuencia muy poco correlacionada con la secuencia original de informacin, ya que de lo contrario el algoritmo de decodificacin iterativa no ofrecera un desempeo cuasi-ptimo y el desempeo del Turbo-cdigo sera pobre, sin importar cun grande fuese el Interleaver utilizado.). De esto podemos concluir que el tamao del Interleaver es uno de los factores que ms influyen en el desempeo de un Turbo-cdigo. Lamentablemente, entre ms grande sea el Interleaver utilizado mayor ser la memoria y el tiempo requeridos por el Turbo-decodificador para producir su secuencia de salida (mensaje decodificado); es por esto que el tamao del Interleaver debe elegirse de forma tal que se satisfagan los requerimientos del sistema de BER, tardanza de decodificacin y memoria utilizada por el decodificador. (Valenti, 1999: 44). Este ltimo punto es muy importante ya que para muchas aplicaciones, como los sistemas de transmisin de voz, los largos retardos ocasionados por la transmisin de bloques de informacin, frames, muy largos (k > 500 bits) son inaceptables. Transmitir frames arriba de 2000 bits sera til nicamente para sistemas de transmisin de datos sistemas que no requieran de una transmisin en tiempo real. Esto podra hacernos dudar por un instante de la importancia de utilizar Turbo-cdigos en sistemas de telefona celular y, por consiguiente, de la importancia de esta Tesis!. Sin embargo, de acuerdo con [A.WOOD], para un sistema que utilizara 169 bits por frame los Turbo-cdigos an brindaran buenos resultados, comparables mejores que aquellos que ofrecera un cdigo convolucional con una memoria de orden m = 8, y con una complejidad en el proceso de decodificado un tercio menor que la del cdigo convolucional. Adems los estndares de

109

telefona celular no slo utilizan canales de transmisin de voz (en los que se requiere una transmisin en tiempo real), sino tambin canales de datos, y es en estos canales en los que en los ms recientes estndares de telefona celular de 3G se decidi utilizar a los Turbo Cdigos, por los grandes beneficios que, como veremos en el captulo siguiente, traa consigo su utilizacin. Por si esto fuera poco, un rea importante de investigacin sobre codificacin-Turbo ya ha conseguido obtener en sistemas de frames cortos resultados tan sorprendentes como los obtenidos en sistemas de frames largos, gracias a la utilizacin de los Turbo-cdigos. Por ejemplo, en [A.SALA] se presenta una forma de mejorar considerablemente el desempeo de un Turbo-cdigo para frames cortos, mediante una distribucin desigual y especfica de energa entre los bits sistemticos y de paridad de las palabras de cdigo producidas por el Turbo-codificador.

3.4.2. Parmetros importantes que afectan el desempeo de un Turbo-cdigo.

Como se mencion al principio de este sub-captulo, adems del tamao del Interleaver existen otros parmetros que pueden repercutir de manera importante en el desempeo de un Turbo-cdigo. Hasta este punto slo hemos visto que uno de esos parmetros lo constituye la tasa de cdigo r de un Turbo-cdigo: mientras ms pequea sea su tasa, mejor ser el desempeo de un Turbo-cdigo (ver Tabla 3.8). El diseo del Interleaver tambin constituye un parmetro importante, pero slo a SNRs altas. De acuerdo con [T.VAL99], a una SNR baja los Turbo-cdigos ofrecen un buen desempeo utilizando casi cualquier tipo de Interleaver (considerando que ambos RSCs del Turbo-codificador reciben secuencias distintas y muy poco correlacionadas), pero a una SNR alta el desempeo de un cdigo Turbo es afectado por las palabras de
110

cdigo con un bajo peso de Hamming (que provocan que dmin sea relativamente pequea), mismas que son significantemente influenciadas por el diseo del Interleaver. Atendiendo a [A.WOOD], a pesar de que se han propuesto varios algoritmos, como por ejemplo en [A.ROBE], para disear buenos Interleavers que maximicen la distancia mnima (dmin) de un Turbo-cdigo, este proceso es muy complicado, y los Interleavers resultantes no son necesariamente ptimos. En [A.WOOD] se muestra que los Interleavers aleatorios ofrecen el mejor desempeo cuando se utilizan en Turbo-cdigos para frames largos, mientras que para sistemas de frames cortos el mejor desempeo se obtiene utilizando un Interleaver de bloque con un nmero impar de renglones y de columnas. Situados en este contexto podemos decir que un buen Interleaver es aqul que: tiene un tamao relativamente grande y est diseado tanto para producir una secuencia que est muy poco correlacionada con la secuencia original de informacin, como para tratar de maximizar la distancia mnima del Turbo-cdigo. Es importante mencionar que la distancia mnima de un Turbo-cdigo tambin es afectada por los polinomios generadores
g(a)(D) y g(b)(D) que se utilicen en los codificadores componentes del Turbo-codificador

(ver seccin 2.3.3.); sin embargo, de acuerdo con [A.WOOD], los Turbo-cdigos casi siempre utilizan RSCs cuyos polinomios generadores optimizan la mnima distancia libre (dfree) de estos ltimos, haciendo que la distancia mnima de los primeros no se vea afectada negativamente por este parmetro. Otros dos parmetros que repercuten de manera importante en el desempeo de un Turbo-cdigo los constituyen el tipo de algoritmo de decodificacin SISO utilizado en el proceso de Turbo-decodificacin y el nmero de iteraciones utilizado en el mismo. La siguiente figura nos muestra el efecto que produce en la curva de desempeo de un Turbo-cdigo el variar el nmero de iteraciones utilizado en el proceso de
111

decodificacin iterativa, empleando el algoritmo de decodificacin MAP. Las curvas que se presentan fueron obtenidas en [A.WOOD] luego de simular, para un nmero variable de iteraciones, un Turbo-cdigo de tasa r = que utiliza dos codificadores RSC idnticos, de tasa r = y polinomios generadores g(a)(D) = 1 + D2 y g(b)(D) = 1 + D + D2, y un Interleaver Impar-Par de 1000 bits. Para estas simulaciones se emple una modulacin BPSK sobre un canal AWGN.

Figura 3.11. Desempeo de un Turbo-cdigo en funcin del nmero de iteraciones. [A.WOOD].

La Figura 3.11 tambin nos muestra la curva BER que resulta de no utilizar una codificacin para el control de errores y la curva BER que resulta de utilizar un cdigo convolucional (2, 1, 2) NSNR, con polinomios generadores g(1)(D) = 1 + D + D2 y g(2)(D) = 1 + D2. Ntese que despus de una iteracin el desempeo del Turbo-cdigo es similar al ofrecido por el cdigo convolucional; sin embargo, podemos ver que conforme el nmero de iteraciones utilizadas por el Turbo-decodificador se incrementa, el desempeo del

112

cdigo Turbo mejora significantemente: despus de apenas 2 iteraciones el Turbo-cdigo ya presenta una ganancia de codificacin sobre el cdigo convolucional de aproximadamente 2.25 dB para una BER = 10-4. Es importante notar, sin embargo, que despus de ocho iteraciones ya no se obtiene una mejora considerable en el desempeo del Turbo-cdigo conforme este nmero se incrementa, lo cual coincide con lo que se dijo al final de la seccin 3.3.1. Este mismo efecto que se observa en la Figura 3.11 se producir en el desempeo de cualquier Turbo-cdigo, sin importar que utilice otro algoritmo de decodificacin SISO (distinto a MAP): entre ms grande sea el nmero de iteraciones utilizado por el Turbodecodificador mejor ser el desempeo de un Turbo-cdigo, aunque la diferencia entre usar 8 iteraciones ms ya no ser muy significativa. Sin embargo, es importante hacer notar que entre ms grande sea el nmero de iteraciones utilizado, la duracin del proceso de Turbo-decodificacin (retardo de decodificacin) ser cada vez mayor. Podra pensarse que ste es un punto dbil de los Turbo-cdigos, pues muchas aplicaciones requerirn que el retardo de decodificacin sea lo ms corto posible; mas de acuerdo con [BAR04] hoy en da contamos con la tecnologa suficiente como para implementar Turbo-decodificadores capaces de producir su secuencia decodificada empleando un nmero considerable de iteraciones y un mnimo de tiempo en su proceso completo de decodificacin, de hasta menos de 0.3s por bit decodificado. Para un nmero de iteraciones dado, el tipo de algoritmo de decodificacin SISO que se utilice en el proceso de Turbo-decodificacin tambin repercute de manera importante en el desempeo de un Turbo-cdigo, como se mencion lneas atrs. Como ejemplo de ello considrese la Figura 3.12, en la que se muestran las curvas de desempeo

113

obtenidas en [A.WOOD] luego de simular, para distintos tipos de algoritmos de decodificacin SISO utilizados, un Turbo-cdigo de tasa r = que utiliza dos codificadores RSC idnticos, de tasa r = y polinomios generadores g(a)(D) = 1 + D2 y
g(b)(D) = 1 + D + D2, y un Interleaver Impar-Par de 1000 bits. Para estas simulaciones se

emple una modulacin BPSK sobre un canal AWGN y 8 iteraciones en el proceso de Turbo-decodificacin. Ntese, a partir de la Figura 3.12, cmo el desempeo del Turbo-cdigo depende del algoritmo de decodificacin SISO que utilice, cumplindose lo previamente dicho en la seccin 3.3.2: los algoritmos Max-Log-MAP y SOVA degradan el desempeo de un Turbocdigo con respecto a aqul que se obtiene de utilizar los algoritmos MAP y Log-MAP (cuyo desempeo es casi idntico). A una BER = 10-4 esta degradacin es de aproximadamente 0.1 dB para el algoritmo Max-Log-MAP y de alrededor de 0.6 dB para el algoritmo SOVA.

Figura 3.12. Desempeo de un T.C. en funcin del tipo de algoritmo de decodificacin. [A.WOOD].

114

En [A.WOOD] se muestra que un Turbo-cdigo de tasa r = 1/3 y un Turbo-cdigo con un Interleaver de longitud L = 169 bits (ambos con las otras caractersticas iguales a las del Turbo-cdigo simulado para obtener la Figura 3.12) presentan curvas de desempeo en las que se aprecia el mismo tipo de degradacin. Sin embargo, es importante recordar que el desempeo de un algoritmo de decodificacin SISO es proporcional a su complejidad (ver seccin 3.3.2.). Un ltimo parmetro que podra considerarse importante por repercutir de alguna manera en el desempeo de un Turbo-cdigo lo constituye la constraint length de los cdigos RSC utilizados por el Turbo-codificador, aunque de acuerdo con [T.VAL99] este parmetro no tiene una influencia significativa en el desempeo de un Turbo-cdigo a una SNR baja. Por esta razn, los Turbo-cdigos casi siempre utilizan cdigos RSC simples, con una constraint length 3 nA 5. Sin embargo, para longitudes de frame suficientemente grandes, este parmetro puede ser un determinante secundario de la ubicacin del BER-floor en la curva de desempeo de un Turbo-cdigo. (Valenti, 1999: 46). Como podemos ver existen varios parmetros que pueden repercutir de manera importante en el desempeo de un Turbo-cdigo. La eleccin del tipo de cada uno de estos parmetros deber hacerse de forma tal que se satisfagan los distintos requerimientos del sistema en consideracin, pues como habremos podido notar dicha eleccin generalmente lleva consigo, no slo ventajas, sino tambin desventajas que pueden resultar inaceptables para un sistema digital en particular.

115

3.5. Conclusiones del captulo.


En este Captulo presentamos una descripcin completa del esquema de codificacin para control de errores que revolucion por completo este campo, al ofrecer la posibilidad tan buscada de ser capaces de transmitir a tasas muy cercanas a la capacidad del canal, con una probabilidad de error muy baja, empleando un mnimo de energa por bit de informacin para transmitir. Nos referimos a los Turbo-cdigos. Se mostraron las distintas arquitecturas que puede tener un codificador Turbo, siendo la ms importante de stas la concatenacin paralela de cdigos convolucionales (PCCC), pues es la arquitectura empleada por la gran mayora de las aplicaciones que adoptaron a los Turbo-cdigos como parte de sus estndares, entre ellas, las aplicaciones de telefona celular de 3G. En base a esto, se analiz el proceso de decodificacin iterativa correspondiente a una arquitectura PCCC (las arquitecturas SCCC y HCCC tambin siguen un proceso de decodificacin iterativo, muy similar en esencia al analizado en este captulo, pero distinto en el aspecto de la estructura del decodificador, ya que los codificadores PCCC, SCCC y HCCC tienen una estructura distinta entre s); este proceso constituye una parte fundamental en el gran desempeo que logra el esquema de codificacin Turbo, pues su descubrimiento hizo posible el decodificado de palabras de cdigo muy grandes, con una aproximacin muy cercana al desempeo que ofrecera un algoritmo de decodificacin de mxima probabilidad (MLDA), pero con una complejidad en su implementacin no prohibitiva.

116

As mismo, se describieron los distintos algoritmos de decodificacin SISO que pueden ser empleados en el proceso de decodificacin iterativa para decodificar las

palabras de cdigo enviadas por cada uno de los codificadores RSC que forman parte del Turbo-codificador. Finalmente, se presentaron los distintos parmetros que pueden ser variados en un esquema de codificacin Turbo en particular, as como los efectos que tales variaciones producen en el desempeo del mismo; algunos de estos parmetros son: el algoritmo de decodificacin SISO utilizado, el nmero de iteraciones utilizado en el proceso de decodificado, la tasa de cdigo utilizada en el proceso de codificado, y el tamao y diseo de un elemento muy importante, constituyente de todo esquema de codificacin Turbo: el Interleaver. Este componente se encuentra presente tanto en el Turbo-codificador como en el Turbo-decodificador, y su importancia radica en que brinda a las palabras de cdigo generadas por un codificador Turbo, un toque de aleatoriedad que las hace ms resistentes al ruido. En este captulo, se presentaron los distintos tipos de Interleavers que ms se utilizan en la Turbo-codificacin. Nos encontramos, pues, en un punto en el que nuestros conocimientos acerca de este revolucionario e innovador esquema de codificacin, son bastante amplios como para comprender de manera clara la relevancia de su utilizacin en los estndares de telefona celular de 3G, que estudiaremos en el captulo siguiente.

117

S-ar putea să vă placă și