Convo Lucio Nal

download Convo Lucio Nal

of 17

Transcript of Convo Lucio Nal

Cdigo Convolucional sistemtico

Cdigo Convolucional sistemtico

El termino sistemtico se refiere a aquellos cdigos en los que una de sus ramas generadoras de los smbolos de cdigo emite justamente los bits de datos originales.

As con un codificador sistemtico tendr sus etapas conectadas solamente a r -1 sumadores, y la r-esima se reemplaza por una conexin directa desde la etapa correspondiente al conmutador.

La siguiente figura muestra un codificador sistemtico con R=1/2 y M=3

2. EL DECODIFICADOR DE MXIMA VEROSIMILITUD

Sea Y una secuencia codificada recibida. Esta palabra codificada puede ser una de las L posibles palabras codificadas transmitidas Xi (i=1,,L). El problema consiste en a partir de Y seleccionar cual fue la palabra Xi transmitida.

Segn el teorema de Bayes, se puede escribir que:

(1)

Donde se supone conocidas las probabilidades de error , las probabilidades de ocurrencia dentro de las palabras codificadas transmitidas p(Xi).

Resulta entonces de comparar la ecuacin (1) para los diferentes valores de i. Por ejemplo si sucede que:

(2)

Esto significa que, para la secuencia recibida Y, resulta ms probable que se haya transmitido Xi que Xj y por tanto se decide a favor de Xi. Utilizando (1) se tiene que:

(3)

S se admite que todas las secuencias: Xi; i=1,2,,L son equiprobables, entonces:

(4)

Un receptor que toma decisiones con base en la relacin (4) se denomina receptor de mxima verosimilitud. La probabilidad condicional se denomina funcin de verosimilitud.

Consideres un canal binario Simtrico(CBS), es decir, un canal que se puede representar por el siguiente grafo:

En la secuencia (tanto Y, como X) contienen N dgitos binarios entonces tomando p como probabilidad de cambio de digito por otro y considerando que la distancia(en el sentido de Hamming) entre Y y X es d, se puede escribir que:

(Funcin de verosimilitud)

Tomando el logaritmo de la funcin de verosimilitud se tiene que:

(5)

Para decir de forma abreviada: Para canales en general se demuestra que si todas las secuencias de datos de entrada son equiprobables, el decodificador que minimiza la probabilidad de error esd aquel que compara las probabilidades condicionales, tambin llamadas funciones de verosimilitud p(Y/Xi) donde Y es la secuencia total recibida y Xi es una de las posibles secuencias transmitidas y se decide a favor de un mximo.

Este es llamado decodificador de mxima verosimilitud.

Las funciones de verosimilitud se dan para cada canal en especfico.

El problema consiste en maximizar la funcin (probabilidad a posteriori)

(Funcin de mxima verosimilitud)

Segn el Teorema de Bayes y considerando equiprobables el conjunto de secuencias (posibles) a transmitir entonces ser .

Si p y N son constantes entonces la expresin (5) se puede escribir

(6)

donde ( y ( son las constantes que dependen de N y p.

Resulta claro que maximizando la funcin log verosimilitud se minimiza la distancia de Hamming

Cdigo de Trellis

El cdigo Trellis genera smbolos para la transmisin utilizando una mquina secuencial de estados finitos utilizando longitudes de palabras arbitrarias. Este proceso de codificacin inserta las propiedades claves de memoria y de redundancia dentro de un flujo de datos, como en el caso de los cdigos de bloque. El proceso de codificacin busca cantidades secuenciales para ser relacionadas. Desde una perspectiva formal, no hay necesidad de bloques de mensajes en segmentos de una misma longitud.

Una descripcin genrica de un codificador Trellis es representada en la Fig. 2.1. Cada cambio de tiempo, es notado como j, un vector de k entradas de smbolos (usualmente bits) es designada por , smbolos que pueden haber sido extrados desde una serie de smbolos originales escritos en la forma de . El codificador produce un vector de n smbolos de cdigo, usualmente del mismo alfabeto, con n > k, introduciendo redundancia. Se define la memoria (tambin llamada el orden de la memoria m) del codificador como el nmero de vectores de entrada, que junto con el vector uj, condiciona la salida activa de xj. As como lo muestra la Figura 2.1, el codificador posee m (vectores) celdas de memoria o retraso.

El smbolo de cdigo producido cada cambio de tiempo puede ser conectado a un modulador en varias formas. Las aplicaciones ms sencillas involucran codificacin binaria, en la cual n smbolos binarios son serializados y cargados en un modulador binario, como el caso del PSK. Se puede alternativamente igualar la salida de los smbolos con un carcter dentro de un campo ms grande y producir un simple M-aria de un conjunto ms grande para cada intervalo de reloj. El mtodo preferido depende del tipo de aplicacin en la que se trabaje.

Se puede observar una cierta similaridad con la codificacin de bloque. Especficamente, si se tiene m = 0 entonces el codificador trellis produce n smbolos de cdigo estrictamente definidos por k entrada de smbolos que estn descritos para un codificador genrico. Se puede ver a la codificacin trellis como una generalizacin de los cdigos de bloque, donde la funcin de codificacin es permitida en bloques de entrada anteriores al bloque actual. Sin embargo, en la codificacin de bloque prctica n y k, normalmente son ms grandes, considerando que en la codificacin Trellis n y k son tpicamente pequeos, en un rango de 1 a 8. El poder de los cdigos trellis no deriva de hacer n y k grandes, pero si de adoptar una gran memoria de orden m. Una vez la entrada de secuencia del codificador Trellis es terminada, como con datos en paquetes, entonces el mapeo completo de los datos de entrada a la salida puede ser visto como un gran cdigo de bloque.

La primera apariencia de tales cdigos fue dada por Elias, quien formul el cdigo como una alternativa a los entonces cdigos de bloque estructurados existentes. Elias llam a esta clase de cdigos como: cdigos convolucionales. Desde entonces estos cdigos lineales fueron mapeados linealmente con datos de entrada codificados. Por medio de la interaccin de los datos, en un tiempo discreto, se puede obtener un alfabeto finito convolucional. Otro nombres, para el cdigo Trellis fueron cdigos recurrentes y cdigos de rbol, debido a su representacin grfica estructurada en forma de rbol. En el presente el nombre general de cdigo Trellis es usado para incorporar en estos cdigos clsicos un nuevo acercamiento no lineal de modulacin / codificacin que an mantiene un fundamento en mquinas de estados finitos.

El termino Trellis es debido a Forney, quien vio la asociacin de palabras de cdigo con caminos en una direccin regular sobre una grfica haciendo una reminiscencia al un jardn de trellis.

El cdigo convolucional fue introducido por P. Elias (1955) y consiste en una correspondencia de cualquier palabra de cdigo de longitud n con cualquiera de sus vecinas. Depende no solo de la informacin del mensaje correspondiente de longitud k (como en la teora de los cdigos lineales) sino tambin de la informacin de otros mensajes previamente codificado por lo cual es realmente importante porque se concatena la informacin, es decir, el proceso de codificacin posee memoria. En 1970 Shu Lin le dio la codificacin convolucional un tratamiento analtico que impulso al desarrollo formal y al uso de este cdigo.

El tratamiento que se le dar al cdigo trellis comenzar con lo ms simples y sencillo de los cdigos convolucionales. Conceptos que sern introducidos a travs de la codificacin binaria, extendindolo hasta la extensin de los cdigos convolucionales no binarios. El tipo de demodulacin-decodificacin usado para este tipo de cdigo es conocido como Viterbi, (debido a su inventor Viterbi A. J), que es capas de implementar un dispositivo con la mxima probabilidad de decodificacin para un canal general sin memoria.

En el mbito actual de las tcnicas de codificacin, las aplicaciones de los cdigos convolucionales (de hecho las binarias) han sido sin duda de gran importancia dentro de los sistemas de comunicaciones digitales. Su fuerza radica en la existencia de muchas posibilidades de decodificacin que proveen un rango de complejidad contra otras opciones de desempeo, y lo ms importante, es un algoritmo que provee una secuencia de decodificacin de mxima probabilidad en dispositivos sencillos para cdigos de memoria corta. Otro aspecto que ha llevado a los cdigos convolucionales a ser muy populares es la sincronizacin provista por un simple codificador, lo que en la prctica resulta ser de suma importancia.

Ejemplo 1. Cdigo Convolucional R = , m = 2.

Se toma como referencia la Fig. 2.2 (a) donde se puede hallar un simple registro teniendo dos celdas de retraso, as que el orden de la memoria es m = 2 y la constante de longitud es nE = n (m +1) = 6. Donde n denota el nmero de salidas. Este sistema de codificacin no sistemtico produce dos smbolos de salida de acuerdo con:

As que a la entrada de un 1, con un estado inicial de ceros. Se tendr y . En estos dos tiempos el vector convolucional llega a ser:

con G0 = [1 1], G1 = [1 0], G2 = [1 1]. En las tablas del codificador la informacin sobre el vector generador es comnmente expresada en representacin octal. Por ejemplo, el vector sera representado como 78 y . La notacin polinomial tambin es importante, el primer generador puede ser representado de esta forma por .

Si una entrada de mensajes es (110000....) y el codificador inicia su trabajo con todos sus registros en cero, entonces usando la ecuacin que representa el vector convolucional se tendr la siguiente secuencia:

x0 = (1,1), x1 = (0,1), x2 = (0,1), x3 = (1,1),...., xj = (0,0), con .

Estos bits pueden ser serializados en un flujo de salida (11010111000...) conservando el ancho de banda de una transmisin de dos bits producidos cada unidad de tiempo que podran ser mapeados en unas seal QPSK.

Ejemplo 2. Codificador convolucional R=2/3 m = 1.

El codificador de la Fig 2.2(d) se presenta como k = 2 por cada cambio de tiempo en dos registros, cada uno con una celda de retraso. Consecuentemente se puede decir que el orden de la memoria es m = 1 y que la constante de longitud es nE = 3 x 2 = 6. La siguiente ecuacin ayuda a analizar la Fig. 2.2(d) en la que se demuestra que kn = 6 que corresponde a las influencias de bits de entrada en las salidas.

, , , ,

Expresado en forma octal se tiene: 3,1,3 y 1,2,2 respectivamente.

Se puede tambin representar la accin del codificador en forma de vector convolucional:

Donde

Hay que anotar que la i-sima fila de la matiz Gi es simplemente la conexin del estado i-simo de un i-simo registro. As que la primera fila de G0 = (1,0,1), implica que la entrada de un bit 1 al registro de arriba. Una ayuda para construir la matriz Gi se muestra en la Fig. 2.4 donde se hace un manejo del los vectores dentro de un arreglo de k por (m +1)n. Entonces se reconoce que la matriz Gi es obtenida de la extraccin de las columnas del arreglo espaciado por m +1 unidades.

Ejemplo 3. Codificador Convolucional R = , m = 2.

En la Fig. 2.2 (e) se encuentra dibujado un codificador R = , el cual es casi sistemtico. Dando 12 respuestas a impulsos, cada una de una longitud m +1= 3, ubicando estas filas y columnas para determinar la matriz Gi. Si se toma la secuencia (1,0,0) y se distribuye cada bit como propone el codificador se tiene:

Una representacin alternativa de la relacin entrada salida para un codificador convolucional es provista por la representacin polinomial. Especficamente, se puede escribir la secuencia de entrada como un polinomio.

Donde es la representacin polinomial para la secuencia de la lnea de entrada i-sima. De igual manera se puede denotar la secuencia del vector de salida en forma polinomial de x (D), mediante la definicin de la matriz de transferencia G(D) como:

Entonces se puede expresar la relacin entrada salida:

x(D) = u(D) G(D)

As la respuesta del codificador de la Fig. 2.2(a) a una secuencia de entrada de 11000... puede ser representada por:

La cual corresponde a secuencias de salida de los sumadores 100100... y 111100.., cuando se multiplexan juntos.

OTRA VEZ RBOL DE CDIGO

Los mtodos grficos son una ayuda para simplificar los clculos operacionales, en lo referente al dominio del tiempo y de la frecuencia. El procedimiento del rbol es el siguiente: cada rama de rbol representa la entrada de un smbolo; un cero en la entrada del rbol implica seguir hacia la rama superior, codificndose con 00 y un 1 implica seguir hacia la rama inferior, codificndose 11, una vez se sigue avanzando de izquierda a derecha del rbol se continan codificando los datos de entrada segn los valores que obtiene cada rama.

El rbol de cdigo se vuelve repetitivo despus de la tercera rama. Esta repeticin del rbol implica que la salida del cuarto digito es la misma, ya sea que el bit de entrada sea un 1 o un 0, lo cual es debido a que el bit que apenas entra ya no es afectado por el bit que acaba de salir de los registros, significando que generan la misma salida despus del tercer grupo de dgitos.

Por ejemplo: una secuencia de datos de entrada para el circuito de la Fig. 2.2 (a) 10011 y dos bits en cero, estado inicial: registros 00, siguiendo la trayectoria por el rbol de cdigo tendremos la secuencia de codificacin como:

{Xi}= {11,10,11,11,01}

Los nodos marcados como a, b, c y d, pueden verse como estados del codificador, por esta razn se utiliza tambin otro mtodo para codificar la secuencia de entrada denominado diagrama de estados.

DIAGRAMA DE ESTADOS

El diagrama de estados se basa en el nmero de elementos de la memoria del circuito. Los bits utilizados para la codificacin del mensaje se representan como cambios de estado en un tiempo j. Estos estados pueden escribirse de la siguiente manera: para el ejemplo anterior se asumen los estados iniciales del codificador segn la siguiente tabla.

ESTADO REPRESENTACIN BINARIA

a00

b01

c10

d11

Una vez establecido esto se puede dar una representacin grfica dndole a cada nodo un estado. Tomemos en consideracin la posibilidad de ir de un estado (a) a un estado d, o sea de 00 a 11 puede irse por dos caminos, el primero es que entre un 1 y tendramos 01, que es un estado c, y despus que entre otro 1 para llegar al estado d, 11.

Ejemplo 1): para la entrada 011001, la secuencia es a a b d c a b que provoca siguiendo el diagrama, la siguiente serie.

{Xi}={00,11,01,01,11,11}

Ejemplo 2): para el circuito convolucional trabajado anteriormente con la entrada en 01001100 da como resultado la secuencia a b c b d c a, que provoca la codificacin:

{Xi} ={11,10,11,11,01}

lo que es exactamente igual a la formulada por rbol de cdigo. El diagrama de estados tambin es conocido como mquina de estados finitos, FSM, (Finite-state machine).

RBOL DE CODIFICACIN DE TRELLIS

El rbol de Trellis es otra forma de representacin del rbol de cdigo. El rbol de Trellis se basa en los estados del codificador y en sus posibles caminos. De cada nodo parten ramas hacia los nodos siguientes; por ejemplo del nodo "a" puede ir al nodo "b", o al mismo "a" pero no puede directamente al "c".

Si al codificador de Trellis entra un 1 se pinta la trayectoria hacia el otro estado con lnea puntada, de lo contrario se pinta con lnea contina. El estado inicial es el estado "a" = 00 y las trayectorias se pintan de izquierda a derecha. El nmero de niveles del codificador es L + k

Una vez se tiene el rbol de Trellis dibujado, el cdigo aparece siguiendo las trayectorias que indica la secuencia de datos de entrada. Cada trayectoria se marca con el valor de la salida del circuito codificado dependiendo del estado en que se encuentre.

En la siguiente grfica se representa un rbol de trellis.

Ejemplo: si tenemos una secuencia de datos para codificador 01110 y 00 para borrar los datos, en el circuito convolucional anteriormente estudiado. Entramos por la lnea superior, estado inicial a.

Y siguiendo el algoritmo tenemos,

{Xi}={00,11,01,10,01,11,00}.

3. EL ALGORITMO DE VITERBI. DECODIFICACION DE LOS CODIGOS CONVOLUCIONALES

Un mtodo de fuerza bruta de decodificar una secuencia utilizando el principio de mxima verosimilitud es calcular la distancia entre la secuencia recibida y todas las posibles secuencias transmitidas, seleccionado entonces la de mnima distancia. Es decir, si se reciben palabras codificadas de N bits de longitud, entonces habr que hacer 2N clculos de distancia. Esto implica que a medida que N aumenta se hace impractica la carga computacional de tal mtodo.

El algoritmo de Viterbi esencialmente lleva a cabo el proceso de decodificacin segn el principio de mxima verosimilitud; sin embargo reduce la carga de cdigo, pero tomando ventaja del rbol de cdigo. Principio general: Se basa en el principio de calcular la distancia entre la seal recibida en el tiempo ti y todas las trayectorias o caminos del esquema del enrejado de Trellis en cada tiempo ti, desechando aquellos caminos que no son candidatos posibles para escoger los de mxima probabilidad. Cuando 2 caminos entran al mismo estado, se escoge el que tenga mayor mtrica, el cual se llama camino superviviente.La seleccin de caminos supervivientes se efectua por todos los estados.

El decodificador continua de esta forma avanzando en profundidad en el enrejado ejecutando decisiones que eliminan los caminos menos probables.

TALLER CODIGOS CONVOLUCIONALES1. En que se difieren los cdigos sistemticos de los no sistemticos?

2. Explique con un ejemplo en que consiste el algoritmo de mxima verosimilitud

3. Realice dos ejemplos en los que se determine el uso de un rbol de cdigo, un diagrama de estados y el rbol de codificacin de Trellis4. Cul es el camino en el rbol de cdigo para la serie 01010?

5. Cul es el camino en el rbol de cdigo para la serie 11011?

6. Para el camino cul es la serie codificada?

7. Para el camino Cules son los bits de entrada?

8. Utilizando el diagrama de estados del codificador convolucional (3,2,2) la salida codificada de la serie de entrada 10110100 cual es?: (tenga en cuenta condiciones iniciales)

9. Utilizando el diagrama de estados del codificador convolucional (3,2,2) si la salida es: {111,000,110,111} partiendo de condiciones iniciales la secuencia de estados cul es:

10. Cul es el camino en el rbol trellis para la serie de entrada 1101000100?

11. Para el rbol de trellis diga: Cul es el camino en el rbol trellis para la serie de entrada 1010010000?

12. Para el rbol de trellis diga: Para el camino en el rbol trellis cul es la serie codificada?

13. Averige ms sobre el algoritmo de Viterbi y EjemplifiqueDatos

(

Cdigo

0

1

0

1

P(1/1)=q

P(0/0)=q

P(1/0)= P(0/1)=p

Conjunto de secuencias transmitidas

Secuencia de salida

X1

X2

.

.

.

XM

Y

P(Y/XM)

P(Y/X1)

Tomado de Tutor de Cdigo de Trellis en:

PAGE 17

_1145545490.unknown

_1145548609.unknown

_1145557703.unknown

_1145557720.unknown

_1145557852.unknown

_1145548726.unknown

_1145546059.unknown

_1145547583.unknown

_1145545844.unknown

_1145544558.unknown

_1145544638.unknown

_1145264715.unknown