Documentos de Académico
Documentos de Profesional
Documentos de Cultura
13 Códigos Convolucionales
13 Códigos Convolucionales
13 CÓDIGOS CONVOLUCIONALES
13 Códigos convolucionales 1
A fin de simplificar el desarrollo del tema utilizaremos k = 1, que por otra parte
pertenece al codificador convolucional más común.
Para discutir este tema utilizaremos el esquema de la Figura 2 como modelo. La figura
muestra un codificador (2, 1) con K = 3. Hay n = 2 sumadores en módulo 2, y como k = 1 la
tasa de código es k/n = ½. Cada vez que ingresa un bit se produce un desplazamiento de una
posición, de izquierda a derecha. Seguidamente, la llave de la salida muestrea la salida de
cada sumador (por ejemplo, primero el de arriba, luego el de abajo) formando el código de
salida. Por cada bit que ingresa este código está formado por u 1 y u2, como se muestra en la
Figura 2. Este proceso entonces se repite por cada bit de entrada. La elección de las
conexiones de los sumadores le da una característica definida a cada codificador. Desde luego,
esta elección no se hace en forma arbitraria sino que se hace de manera conveniente para
obtener buenas propiedades de distancia entre los códigos generados, cosa que no es para
nada sencilla y que normalmente requiere soluciones asistidas por computadoras.
g1 111
g2 101
Supongamos que el mensaje m = 101 ingresa al codificador. Los tres bits que
conforman este mensaje (en realidad, y esto no hay que perderlo de vista, es un fragmento de
una secuencia de bits de longitud indefinida) ingresan de a uno a la vez, en los tiempos t1, t2 y
t3, como se muestra en la Figura 3. Al final de la secuencia, en los tiempos t4 y t5, ingresan dos
ceros para permitir que el último 1 del mensaje m pueda llegar hasta el registro K. La
secuencia de salida obtenida es 1110001011, donde los bits de más a la izquierda se
corresponden a los bits de mensaje que ingresaron primero.
2 13 Códigos convolucionales
Figura 3. Secuencia de codificación para el codificador
convolucional de la Figura 2.
13 Códigos convolucionales 3
Registros u1 u2
100 1 1
010 1 0
001 1 1
Secuencia de entrada: 1 0 0
Secuencia de salida: 11 10 11
Entrada m Salida
1 11 10 11
0 00 00 00
1 11 10 11
Suma 11 10 00 10 11
También hay que observar en la Figura 3 que a una entrada de tres bits le correspondió
una salida de 10 bits, es decir que k/n = 3/10, bastante menos que ½, que es lo que debería
ser. La razón de esta diferencia está en el agregado de dos bits al final para permitir que el
mensaje de entrada recorra por completo a los tres registros de este codificador. Si el mensaje
es mucho más largo (como en realidad deben ser tratados los codificadores convolucionales)
entonces la relación entre bits de entrada y bits de salida sí tiende al valor ½.
g1 1 X X 2
g2 1 X 2
4 13 Códigos convolucionales
m( X )g1 ( X ) (1 X 2 )(1 X X 2 ) 1 X X 3 X 4
m( X )g2 ( X ) (1 X 2 )(1 X 2 ) 1 X 4
m( X )g1 ( X ) 1 X 0 X 2 X 3 X 4
m( X )g2 ( X ) 1 0 X 0 X 2 0 X 3 X 4
U( X ) (1,1) (1,0)X (0,0)X 2 (1,0)X 3 (1,1)X 4
U 11 10 00 10 11
Puede verse en la Figura 4 que existen solamente dos estados de transición posibles
para cada estado, correspondientes a los dos valores posibles de los bits de entrada. También
puede verse que hay transiciones que no son posibles, como por ejemplo del estado 00 al 11.
13 Códigos convolucionales 5
es un 0, siempre avanzando hacia la derecha. Si suponemos que el estado inicial es cero, para
este ejemplo, entonces partimos del estado a de más a la izquierda. Si suponemos que el
mensaje de entrada es m = 11011 y nos movemos dentro del árbol según la regla descripta,
obtenemos el camino resaltado en negro en la Figura 5, que nos da la secuencia de salida
U = 1101010001.
Diagrama trellis1
Observando el diagrama de árbol de la Figura 4 puede verse que para este ejemplo, a
partir del tiempo t4 las sucesivas divisiones de las ramas comienzan a ser iguales. Es decir que
1
En Inglés significa enrejado.
6 13 Códigos convolucionales
la estructura se repite (en general comienza a repetirse luego de K ramas o avances hacia la
derecha). En la figura se han etiquetado los cuatro estados posibles como a = 00, b = 10,
c = 01 y d = 11. La primera rama del árbol, en t1, produce dos nodos, a y b. Por cada rama
nueva el número de nodos se duplica. Después del tercer desplazamiento hay un total de 8
nodos: dos a, dos b, dos c y dos d. Se puede observar que, a partir de aquí, cada rama que
nace de nodos con iguales etiquetas (iguales estados) generan la misma secuencia de salida.
Es decir que, a partir de este punto (t4 en este caso) la mitad superior del árbol es igual a la
mitad inferior, por lo tanto es indistinto estar en el mismo estado en la parte superior o en la
parte inferior. Esta situación sugiere la idea de dibujar sólo una mitad del árbol, a partir de t4.
El resultado es la obtención de un nuevo tipo de diagrama llamado trellis. El diagrama trellis
para el codificador de la Figura 2 se muestra en la Figura 6.
Para dibujar el trellis usamos la misma convención que para el diagrama de estados.
Una línea continua implica la entrada de un “0” y una línea punteada significa la entrada de un
“1”. Los nodos del trellis corresponden a los estados del codificador: la primera fila
corresponde al estado a = 00, la segunda al estado b = 10, etc. Los números encima de las
ramas del trellis indican la salida producida durante ese estado de transición.
13 Códigos convolucionales 7