Вы находитесь на странице: 1из 8

Codificacin Convolucional En las transmisiones digitales actuales la codificacin es un proceso muy elaborado, con un diagrama de bloques general que

mostramos en la siguiente figura.

Este sistema contiene dos codificadores propiamente dichos: uno exterior de bloques, y uno interior convolucional. Estos dos codificadores introducen redundancia en los datos con objeto de poder detectar o corregir errores de transmisin. El sistema contiene adems dos entrelazados cuyo objetivo es hacer que bloques correlativos de bits no se transmitan juntos. Este es el esquema de codificacin empleado en la televisin digital DVB (Digital Video Bradcasting). El esquema de codificacin utilizado en la telefona mvil GSM es similar, pues usa un codificador de bloques, un codificador convolucional y un entrelazado. Los cdigos convolucionales son adecuados para usar sobre canales con mucho ruido (alta probabilidad de error). Los cdigos convolucionales son cdigos lineales, donde la suma de dos palabras de cdigo cualesquiera tambin es una palabra de cdigo. Y al contrario que con los cdigos lineales, se prefieren los cdigos no sistemticos. El sistema tiene memoria: la codificacin actual depende de los datos que se envan ahora y que se enviaron en el pasado. Un cdigo convolucional queda especificado por tres parmetros (n,k,m): n k es es el el nmero nmero de de bits bits de de la la palabra palabra codificada de datos

m es la memoria del cdigo o longitud restringida

La codificacin convolucional es una codificacin continua en la que la secuencia de bits codificada depende de los bits previos. El codificador consta de un registro de desplazamiento de K segmentos de longitud k (en total kK) que se desplaza k posiciones por ciclo y genera n funciones EXOR tambin por ciclo. La tasa de codificacin es, entonces, R=k/n. En el siguiente ejemplo mostramos un registro que se desplaza una posicin por ciclo (k=1), que consta de Kk=3 celdas y que genera N=3 funciones EXOR por ciclo.

Proceso de codificacin El proceso de codificacin de estos cdigos se realiza utilizando un dispositivo lgico en el codificador. Ejemplo: Codificador convolucional (4,3,5)

La palabra codificada se obtendra como el resultado de realizar una serie de operaciones lgicas entre determinados bits que estn almacenados en los registros intermedios. Ejemplo: Codificador convolucional (2,1,3)

El conmutador con las dos entradas hace el papel de un registro de desplazamiento de dos estados. El cdigo convolucional es generado introduciendo un bit de datos y dando una revolucin completa al conmutador. Inicialmente se supone que los registros intermedios contienen ceros.

En este ejemplo la palabra codificada se obtiene como resultado de sumas mdulo-2 entre los bits indicados que estn almacenados en los registros intermedios. supongamos que se quiere enviar la secuencia de bits 0101 (donde los bits ms a la derecha son los ms antiguos). El proceso de codficacin es el siguiente: Se introduce el primer bit de la secuencia en el codificador:

Se introduce el segundo bit de la secuencia en el codificador:

Se introduce el tercer bit de la secuencia en el codificador:

Se introduce el cuarto bit de la secuencia en el codificador:

Al final del proceso de codificacin obtenemos que la secuencia codificada es 01 01 01 11. Sigamos con la exposicin del proceso de codificacin. Debido a la memoria del cdigo es necesario de disponer de medios adecuados para determinar la salida asociada a una determinada entrada. Hay tres mtodos grficos: Diagrama rbol o rbol del cdigo: representacin mediante un rbol binario de las distintas posibilidades. Diagrama de estados: es la forma menos utilizada. Diagrama de Trellis o enrejado: es la forma ms utilizada porque es la que permite realizar la decodificacin de la forma ms sencilla. Para el ejemplo del codificador (2,1,3) anteriormente especificado tenemos el siguiente Arbol del cdigo:

La profundidad del rbol es 2 (m-1), y el nmero de estados es 2 (m-1) . k La interpretacin del rbol del cdigo es la siguiente: Hay dos ramas en cada nodo. La rama superior corresponde a una entrada de un 0. La rama inferior corresponde a la entrada de un 1. En la parte exterior de cada rama se muestra el valor de salida. El nmero de ramas se va multiplicando por dos con cada nueva entrada. A partir del segundo nivel el rbol se vuelve repetitivo. En realidad, solo hay cuatro tipos de nodos: A,B,C,D. Estos tipos de nodos en realidad son estados del codificador. A partir de estos nodos, se producen los mismos bits de salida y el mismo estado. Por ejemplo, de cualquier nodo etiquetado como C se producen el mismo par de ramas de salida: Salida 10 y estado A Y Salida 01 y estado B A partir de la identificacin de los estados del codificador se puede incorporar esta informacin en el DIAGRAMA DE TRELLIS. El diagrama de Trellis es un diagrama en forma de red. Cada lnea horizontal se corresponde con uno de los estados del codificador. Cada lnea vertical se correspondera con uno de los niveles del rbol del cdigo. Partimos del estado inicial del codificador en el primer nivel del rbol. A partir de aqu se trazan dos lneas desde este estado. Una para el caso de que la siguiente entrada fuera un 0 y otra para el caso de que fuera un 1. Estas lneas irn hasta el siguiente nivel del rbol al estado en el que queda el codificador despus de haber codificado las correspondientes entradas. Encima de cada una de estas lneas escribiremos la salida del codificador para esa codificacin. Codificador convolucional, c=conv_encode(G,x,k). G es la matriz generadora del codificador convolucional, puesta como una matriz de conexiones en binario, x es la secuencia de entrada, c es la secuencia codificada, y k es el nmero de posiciones que se desplaza el registro en cada ciclo. Esta funcin proporciona secuencia de salida hasta que el registro queda completamente vaco y vuelto al estado 0. Simulamos el codificador convolucional del ejemplo 1 de la siguiente forma: >> G= [ 1 0 0 ; 1 0 1 ; 1 1 1 ]; % matriz generadora >> k=1; % se desplaza 1 posicion por ciclo >> c= conv_encode(G,[0 1 1 0],k) % codificamos la secuencia [0 1 1 0] Algoritmo de Viterbi La codificacin convolucional se decodifica con ayuda del algoritmo de Viterbi. En la siguiente figura mostramos el algoritmo para la codificacin del ejemplo.

El algoritmo de Viterbi tambin se puede simular en octave, aunque slo disponemos de la funcin para codificadores que realizan un desplazamiento por ciclo (k=1). El comando correspondiente es, Algoritmo de Viterbi, y=viterbi(G,2*c-1). En esta funcin, G es la matriz generadora del codificador convolucional, c es la secuencia de entrada, e y es la secuencia decodificada. La entrada tiene que tener los valores +/-1, por lo que hemos puesto 2*c-1.

Para el ejemplo que tenemos, >> G= [ 1 0 0 ; 1 0 1 ; 1 1 1 ]; % matrix generadora >> c= encode_conv(G,[0 1 1 0],1); % codificamos [0 1 1 0] >> % ahora empieza la decodificacion >> y=viterbi(G,2*c-1) % recuperamos la secuencia

bibliografa http://trabajospracticos.4mg.com/cod/secc2.htm http://web.usc.es/~elusive/simula3.html

Вам также может понравиться