You are on page 1of 7

DEPARTAMENTO DE CIENCIA Y TECNOLOGA

UNIVERSIDAD NACIONAL DE QUILMES


Roque Senz Pea 180 (B1876BXD) Bernal Buenos Aires Argentina



Cdigos convolucionales 1

COMUNICACIN DE DATOS

CDIGOS CONVOLUCIONALES

Como ltimo tema referido a los cdigos detectores y correctores de error estudiaremos
los cdigos convolucionales. Hasta ahora hemos estudiado cdigos de bloque. stos reciben
este nombre en virtud de que estn constituidos por bloques bien definidos de longitud fija
(dado un cierto cdigo). Es decir que, contamos con una aparatito que recibe k bits a su
entrada y entrega n bits a su salida, existiendo una relacin biunvoca entre la secuencia de k
bits de mensaje y la secuencia final de n bits. Adems, en el caso de los cdigos sistemticos,
tambin queda bien definida, dentro del bloque, cul es la parte del mensaje y cul es la parte
redundante o de bits de paridad.
Los cdigos convolucionales se describen normalmente mediante tres nmeros enteros,
n, k, y K, en donde k/n sigue siendo la tasa de cdigo al igual que en los cdigos de bloque.
Sin embargo, a diferencia de estos ltimos, n no define la longitud de bloque de un
cdigo convolucional. De hecho, la caracterstica distintiva de los cdigos convolucionales es
que no tienen un formato de bloque y por lo tanto no tienen una longitud de bloque. El entero
K indica el nmero de registros de desplazamiento que forman el codificador. Como veremos
ms adelante, la caracterstica del cdigo convolucional es que la salida del codificador no slo
depende de los k bits de entrada sino de los K 1 bits precedentes.
Un codificador convolucional se puede construir con K registros de desplazamiento y n
sumadores en mdulo 2, como se muestra en la Figura 1. Por cada unidad de tiempo que pasa
entran al registro k bits y simultneamente se produce k desplazamientos hacia la derecha de
los bits que ya estn dentro de los registros. Las salidas de los sumadores son muestreadas
secuencialmente produciendo el cdigo de salida. Ya que por cada k bits que entran en el
registro salen n bits, resulta que la tasa de cdigo es k/n, con k < n.

Figura 1. Codificador convolucional.
2 Cdigos convolucionales

A fin de simplificar el desarrollo del tema utilizaremos k = 1, que por otra parte
pertenece al codificador convolucional ms comn.
Representacin del codificador convolucional
La descripcin de un cdigo convolucional puede hacerse de varias maneras. Conexin
de vectores o polinomios, diagrama de estado, diagrama de rbol y diagrama trellis son los
esquemas utilizados.

Figura 2. Codificador convolucional (tasa , K = 3).

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 mdulo 2 y como k = 1 la
tasa de cdigo es k/n = . Cada vez que ingresa un bit se produce un desplazamiento, de un
lugar, 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 cdigo de salida.
Por cada bit que ingresa este cdigo est formado por u
1
y u
2
, como se muestra en la Figura 2.
Este proceso entonces se repite por cada bit de entrada. La eleccin de las conexiones de los
sumadores le da una caracterstica definida al codificador. Desde luego, esta eleccin no se
hace en forma arbitraria sino que se hace de manera conveniente para obtener buenas
propiedades de distancia entre los cdigos generados, cosa que no es para nada sencilla y que
normalmente requiere soluciones asistidas por computadoras.
Una manera de representar el codificador es especificando un conjunto de n vectores de
conexin, o sea, un vector de conexin por cada sumador. Cada vector tiene dimensin K y
describe las conexiones de los registros con los sumadores. Un 1 en la i-sima posicin del
vector indica que el i-simo registro est conectado al sumador. Un 0 en tal posicin indica que
ese registro no est conectado a ese sumador. Por ejemplo, los vectores que describen al
codificador de la Figura 2, son

101
111
2
1
=
=
g
g

donde g
1
describe a la rama superior y g
2
describe a la rama inferior.
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 t
1
, t
2
y
t
3
, como se muestra en la Figura 3. Al final de la secuencia, en los tiempos t
4
y t
5
, ingresan dos
ceros para permitir el ltimo 1 del mensaje m pueda llegar hasta el registro K. La secuencia de
Cdigos convolucionales 3
salida obtenida es 1110001011, donde los bits de ms a la izquierda se corresponden a los bits
de mensaje que ingresaron primero.

Figura 3. Secuencia de codificacin para el codificador convolucional
de la Figura 2.
Tambin es posible ver el codificador en trminos de su respuesta impulsiva, es decir la
respuesta a una entrada que es un solo bit 1 que se mueve a travs de los registros,
4 Cdigos convolucionales
completado con los ceros necesarios. Teniendo en cuenta esto y considerando otra vez el
codificador de la Figura 2, los registros y la salida varan de la siguiente manera:
Registros u
1
u
2

100 1 1
010 1 0
001 1 1

Secuencia de entrada: 1 0 0
Secuencia de salida: 11 10 11

La secuencia de salida correspondiente a esta entrada 1 se llama respuesta impulsiva
del codificador. Luego, para conocer la salida correspondiente al mensaje de entrada m = 101,
se debe hacer la suma superpuesta del producto entrada por respuesta impulsiva, de la
siguiente manera:
Entrada m Salida
1 11 10 11
0 00 00 00
1 11 10 11
Suma 11 10 00 10 11

Ntese que la salida obtenida es igual a la de la Figura 3. El resultado de la tabla
anterior da cuenta de por qu estos cdigos se llaman convolucionales (la operacin hecha en
dicha tabla es una convolucin) y pone de manifiesto que se trata de un cdigo lineal.
Tambin 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 debera
ser. La razn 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 ms largo (como en realidad deben ser tratados los codificadores convolucionales)
entonces la relacin entre bits de entrada y bits de salida s tiende al valor .
Representacin polinomial
Otra manera de representar al codificador es mediante polinomios, similarmente al caso
de cdigos cclicos. En este caso la representacin se hace mediante n generadores
polinomiales, uno para cada sumador. Cada polinomio es de grado K 1 menos y describe la
conexin de los registros de desplazamiento con los sumadores, de manera parecida a los
vectores de conexin. El coeficiente de cada trmino del polinomio es 1 0, segn haya o no
haya conexin con el sumador, respectivamente. Una vez ms para el codificador de la
Figura 2, la representacin es:

2
2
2
1
1
1
X
X X
+ =
+ + =
g
g

El trmino de menor grado corresponde al registro de entrada. La secuencia de salida
se obtiene haciendo:
) ( ) ( con o intercalad ) ( ) ( ) (
2 1
X X X X X g m g m U =
Siguiendo con el ejemplo de la Figura 2 la operacin sera:
Cdigos convolucionales 5

11 10 00 10 11
) 1 , 1 ( ) 0 , 1 ( ) 0 , 0 ( ) 0 , 1 ( ) 1 , 1 ( ) (
0 0 0 1 ) ( ) (
0 1 ) ( ) (
1 ) 1 )( 1 ( ) ( ) (
1 ) 1 )( 1 ( ) ( ) (
4 3 2
4 3 2
2
4 3 2
1
4 2 2
2
4 3 2 2
1
=
+ + + + =
+ + + + =
+ + + + =
+ = + + =
+ + + = + + + =
U
U
g m
g m
g m
g m
X X X X X
X X X X X X
X X X X X X
X X X X X
X X X X X X X X

Representacin con diagrama de estados
El estado de un codificador convolucional de tasa 1/n est representado por el
contenido de los K 1 registros de ms a la derecha. El conocimiento de este estado ms el
conocimiento del bit de entrada son suficientes para determinar la salida y el estado siguiente.
Para el ejemplo que nos ocupa existen cuatro estados posibles, ya que K 1 = 2. En el
diagrama de estados, por convencin los estados de transicin se indican con una lnea
continua cuando la entrada es un 0 y con una lnea punteada cuando la entrada es un 1. Por
cada estado de transicin se indica adems la salida correspondiente. En nuestro caso, el
diagrama de estados queda como lo muestra la Figura 4.

Figura 4. Diagrama de estados para el codificador de la Figura 2.

Puede verse en la Figura 4 que existen solamente dos estados de transicin posibles
para cada estado, correspondientes a los dos valores posibles de los bits de entrada. Tambin
puede verse que hay transiciones que no son posibles, como por ejemplo del estado 00 al 11.
Diagrama de rbol
Aunque el diagrama de estado describe completamente al codificador, no hace una
representacin en funcin del tiempo. Es decir, con la observacin del diagrama de estados no
es posible determinar cul es la secuencia de salida del codificador. Para darle una dimensin
temporal, se recurre al diagrama de rbol, cuyo ejemplo para el codificador de la Figura 2 se
ve en la Figura 5. Por cada bit de entrada se manifiesta un movimiento hacia la derecha en el
diagrama de rbol. Cada rama del rbol indica la salida del codificador. Este diagrama es
construido a partir del diagrama de estados. Una vez construido el diagrama de rbol se puede
6 Cdigos convolucionales
armar el recorrido para determinar la secuencia de salida correspondiente a una determinada
entrada.

Figura 5. Diagrama de rbol para el codificador de la Figura 2.

Estando en un estado determinado (a, b, c d para este ejemplo), la regla es moverse
hacia abajo cuando el bit de entrada es un uno o moverse hacia arriba cuando el bit de
entrada es un cero, siempre avanzando hacia la derecha. Si suponemos que el estado inicial es
cero, para este ejemplo, entonces partimos del estado a de ms a la izquierda. Si suponemos
que el mensaje de entrada es m = 11011 y nos movemos dentro del rbol segn la regla
descripta, obtenemos el camino resaltado en negro en la Figura 5, que nos da la secuencia de
salida U = 1101010001.
Cdigos convolucionales 7
Indudablemente, la gran dificultad que presenta el diagrama de rbol es el crecimiento
exponencial del nmero de ramas. Ms an, si la secuencia de entrada tiene L bits el nmero
de ramas es de 2
L
.
Diagrama trellis
Observando el diagrama de rbol de la Figura 4 puede verse que para este ejemplo, a
partir del tiempo t
4
las sucesivas divisiones de las ramas comienzan a ser iguales. Es decir que
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 t
1
, produce dos nodos, a y b. Por cada rama
nueva el nmero de nodos se duplica. Despus 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 (t
4
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 situacin sugiere la idea de dibujar slo una mitad del rbol, a partir de t
4
.
El resultado es la obtencin de un nuevo tipo de diagrama llamado trellis
1
. El diagrama trellis
para el codificador de la Figura 2 se muestra en la Figura 6.

Figura 6. Diagrama trellis para el codificador de la Figura 2.

Para dibujar el trellis usamos la misma convencin que para el diagrama de estados.
Una lnea continua implica la entrada de un 0 y una lnea 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 nmeros encima de las
ramas del trellis indican la salida producida durante ese estado de transicin.

1
En Ingls significa enrejado.

You might also like