TEMA 5 - aholab · 5.6 EJERCICIOS ... En primer lugar, etiquetamos las ramas del diagrama con Dd...

38
TEMA 5 MODULACIONES CODIFICADAS TRELLIS Inmaculada Hernáez Rioja

Transcript of TEMA 5 - aholab · 5.6 EJERCICIOS ... En primer lugar, etiquetamos las ramas del diagrama con Dd...

Page 1: TEMA 5 - aholab · 5.6 EJERCICIOS ... En primer lugar, etiquetamos las ramas del diagrama con Dd siendo el exponente d la distancia de Hamming entre la secuencia de bits de salida

TEMA 5

M O D U L A C I O N E S C O D I F I C A D A S T R E L L I S

Inmaculada Hernáez Rioja

Page 2: TEMA 5 - aholab · 5.6 EJERCICIOS ... En primer lugar, etiquetamos las ramas del diagrama con Dd siendo el exponente d la distancia de Hamming entre la secuencia de bits de salida

TEMA 5 MODULACIONES CODIFICADAS PARA CANALES LIMITADOS EN

BANDA. 1-1

5.1 CÓDIGOS CONVOLUCIONALES.................................................................................................... 1-1

5.1.1 Árboles ................................................................................................................................... 1-1

5.1.2 Trellis ...................................................................................................................................... 1-3

5.1.3 Diagrama de Estados ........................................................................................................... 1-4

5.1.4 Ejemplo.................................................................................................................................. 1-4

5.2 FUNCIÓN DE TRANSFERENCIA DE UN CÓDIGO CONVOLUCIONAL ..................................... 1-6

5.3 DECODIFICACIÓN ÓPTIMA DE CÓDIGOS CONVOLUCIONALES .......................................... 1-10

5.3.1 Hard decision ...................................................................................................................... 1-11

5.3.2 Soft-decision........................................................................................................................ 1-14

5.3.3 Algoritmo de Viterbi .......................................................................................................... 1-16

5.3.4 Carga Computacional......................................................................................................... 1-19

5.3.5 Retardo de decodificación................................................................................................. 1-19

5.4 CÁLCULO DE LA PROBABILIDAD DE ERROR ........................................................................... 1-19

5.4.1 Probabilidad de error con decisión blanda..................................................................... 1-19

5.4.2 Probabilidad de error por bit de información................................................................ 1-21

5.4.3 Probabilidad de error para decodificación mediante decisiones duras ...................... 1-22

5.4.4 Ganancia de codificación .................................................................................................. 1-23

5.4.5 Otros efectos a considerar ................................................................................................ 1-23

5.5 MODULACIÓN CODIFICADA PARA CANALES LIMITADOS EN BANDA ................................ 1-23

5.5.1 Partición de conjuntos ....................................................................................................... 1-24

Page 3: TEMA 5 - aholab · 5.6 EJERCICIOS ... En primer lugar, etiquetamos las ramas del diagrama con Dd siendo el exponente d la distancia de Hamming entre la secuencia de bits de salida

5.5.2 Modulación codificada Trellis .......................................................................................... 1-27

5.6 EJERCICIOS .................................................................................................................................... 1-33

5.6.1 Problema 1........................................................................................................................... 1-33

5.6.2 Problema 2........................................................................................................................... 1-33

5.6.3 Problema 3........................................................................................................................... 1-34

5.7 BIBLIOGRAFÍA .............................................................................................................................. 1-35

Page 4: TEMA 5 - aholab · 5.6 EJERCICIOS ... En primer lugar, etiquetamos las ramas del diagrama con Dd siendo el exponente d la distancia de Hamming entre la secuencia de bits de salida

1-1

1. MODULACIONES CODIFICADAS PARA CANALES LIMITADOS EN BANDA.

1.1 CÓDIGOS CONVOLUCIONALES

Un código convolucional se genera pasando la secuencia de información a transmitir por un

registro de desplazamiento lineal. En general, el registro de desplazamiento consiste en L etapas de

k bits y n generadores de funciones algebraicas, como se muestra en la figura Fig. 5.1. :

1 2 k...

1 2 L

1 2 3 n

k bits de información1 2 k... 1 2 k...

n bits codificados (hacia el modulador)

1 2 k...1 2 k...

1 2 L

1 2 3 n

k bits de información1 2 k...1 2 k... 1 2 k...1 2 k...

n bits codificados (hacia el modulador)

Fig. 5.1.Codificador convolucional

La secuencia de entrada se desplaza k bits cada vez (cada golpe de reloj). Por cada k bits de entrada

se obtienen n bits de salida. Se define la ‘Velocidad de código’ (Code Rate) como: Rc= k/n.

Los códigos convolucionales suelen describirse mediante 3 representaciones: Árboles, Trellis y

Diagrama de estados. Las veremos a continuación.

1.1.1 ÁRBOLES

Para la descripción, utilizaremos un caso particular con L=3, k=1 y n=3. Consideramos el

codificador convolucional de la figura Fig. 5.2.

Page 5: TEMA 5 - aholab · 5.6 EJERCICIOS ... En primer lugar, etiquetamos las ramas del diagrama con Dd siendo el exponente d la distancia de Hamming entre la secuencia de bits de salida

1-2

Entrada Salida

1

2

3

Entrada Salida

1

2

3

Fig. 5.2. Codificador convolucional con Rc=1/3 y L=3

El árbol resultante se muestra en la figura Fig. 5.3.:

0

1

000

000

a

111

c

001

b

110

d101

d

b

010

100

c

a011

d

110

b001

c111

a

000000

111

111

Fig. 5.3. Árbol correspondiente al codificador convolucional de la Fig. 5.2.

Suponiendo que el codificador está en estado cero inicial:

- Si el primer bit es un 0, la secuencia de salida es 000.

- Si el primer bit es un 1, la secuencia de salida es 111.

La regla es siempre tomar la rama superior del árbol para el ‘0’ y la inferior para el ‘1’. Una

determinada secuencia de entrada determina un camino en el árbol.

Page 6: TEMA 5 - aholab · 5.6 EJERCICIOS ... En primer lugar, etiquetamos las ramas del diagrama con Dd siendo el exponente d la distancia de Hamming entre la secuencia de bits de salida

1-3

Observando el árbol vemos que la estructura se repite a si misma después de la tercera etapa. Esto

es debido a que la salida viene dada por el valor del bit actual y los bits anteriores. Comenzando el

cálculo de las salidas (el dibujo del árbol) por el estado todo ceros, el análisis termina cuando el bit

de entrada alcance la última etapa, de forma que se habrán producido ya todos los estados posibles.

En el caso general con k bits de entrada y L etapas, el análisis termina cuando el grupo de k bits de

entrada alcance la última etapa, es decir, al cabo de L etapas o L pasos de ramificación en el árbol.

Continuando con el ejemplo, se observan 4 estados diferentes para los registros de desplazamiento,

correspondientes a los 2 bits anteriores al bit actual. Estos estados se han etiquetado en el árbol

como:

a=00 b=01 c=10 d=11

Puede observarse que en la tercera etapa hay 2 nodos para cada estado. Los dos nodos

correspondientes al mismo estado son idénticos en el sentido de que generan las mismas salidas. La

asimilación de los nodos idénticos da lugar al diagrama de Trellis que estudiamos a continuación.

1.1.2 TRELLIS

En esta representación, los nodos iguales de un árbol se asimilan a un único nodo. La

representación del diagrama de Trellis para el ejemplo anterior se muestra en la figura Fig. 5.4.:

Fig. 5.4. Diagrama de Trellis para el codificador convolucional de la Fig. 5.2.

En el diagrama de Trellis se han empleado líneas continuas para las salidas generadas por un “0” de

entrada, y líneas discontinuas para las salidas generadas por un “1” a la entrada. Puede observarse

como después de un transitorio inicial se alcanza un estado estable después de 3 etapas. Intervienen

Page 7: TEMA 5 - aholab · 5.6 EJERCICIOS ... En primer lugar, etiquetamos las ramas del diagrama con Dd siendo el exponente d la distancia de Hamming entre la secuencia de bits de salida

1-4

4 nodos correspondientes a los 4 estados posibles, y a cada nodo entran dos caminos y salen

también dos caminos, correspondientes a las dos posibles entradas (“0” y “1”).

1.1.3 DIAGRAMA DE ESTADOS

Una forma aún más compacta de representar el código es el diagrama de estados, mostrado en la

figura Fig.5.5.:

Estado b 01

Estado c10Estado a

00

Estado d11

000

011100

001010

111

110

Diagrama de estados para Rc=1/3 y L=3

101

Estado b 01

Estado c10Estado a

00

Estado d11

000

011100

001010

111

110

Diagrama de estados para Rc=1/3 y L=3

101

Fig.5.5. Diagrama de estados correspondiente al codificador convolucional de la Fig. 5.2.

Este diagrama representa los posibles estados del codificador y las posibles transiciones entre ellos.

Al igual que en el trellis, las transiciones entre estados se representan con una línea continua si son

producidas por un bit de entrada “0” y con una línea discontínua si son producidas por una entrada

“0”. Los 3 bits asociados a las ramas son los bits de salida codificados.

1.1.4 EJEMPLO

Consideremos el código descrito por la figura Fig. 5.6.:

Page 8: TEMA 5 - aholab · 5.6 EJERCICIOS ... En primer lugar, etiquetamos las ramas del diagrama con Dd siendo el exponente d la distancia de Hamming entre la secuencia de bits de salida

1-5

Fig. 5.6. Codificador convolucional con k=2, n=3 y L=2

Los primeros 2 bits de entrada pueden ser 00, 01, 10 ó

11. A estas entradas les corresponden las siguientes

salidas:

00->000

01->010

10->111

11->101

Cuando llega la siguiente pareja de bits, la pareja anterior

se desplaza a la siguiente etapa. Los bits de salida

dependen del par de bits desplazados y de los nuevos de

entrada. Por eso:

- Hay 4 ramas por cada nodo en el árbol (4 posibles entradas).

- Como L=2, el árbol se repite a partir de la segunda etapa.

El diagrama de Trellis presenta cuatro estados, y hay cuatro ramas que entran y salen de cada

estado, correspondientes a las cuatro posibles entradas.

Page 9: TEMA 5 - aholab · 5.6 EJERCICIOS ... En primer lugar, etiquetamos las ramas del diagrama con Dd siendo el exponente d la distancia de Hamming entre la secuencia de bits de salida

1-6

En general:

- Un código con Rc=k/n, longitud restringida L (L etapas), tiene 2k ramas que emanan de

cada nodo del árbol.

- El Trellis y el diagrama de estados presentarán 2k(L-1) estados posibles.

- Hay 2k ramas entrando en cada estado y 2k ramas que lo abandonarán (en el Trellis,

después de los estados transitorios).

1.2 FUNCIÓN DE TRANSFERENCIA DE UN CÓDIGO CONVOLUCIONAL

Tratamos de calcular las propiedades de distancia y comportamiento frente a errores, utilizando el

diagrama de estados. Como se trata de un código lineal, el juego de distancias de Hamming

(número de bits diferentes) de las secuencias generadas hasta una cierta etapa en el árbol a la

secuencia nula, es el mismo que el juego de distancias para cualquier otra secuencia. Por eso, sin

pérdida de generalidad, suponemos como entrada la secuencia nula.

Utilizaremos de nuevo un ejemplo para demostrar el método para obtener las propiedades de

distancia de un código.

Partiendo del diagrama de estados de la figura Fig. 5.7.

Page 10: TEMA 5 - aholab · 5.6 EJERCICIOS ... En primer lugar, etiquetamos las ramas del diagrama con Dd siendo el exponente d la distancia de Hamming entre la secuencia de bits de salida

1-7

Fig. 5.7. Diagrama de estados del codificador convolucional de la Fig. 5.2. en el que se han

etiquetado las ramas con la distancia de Hamming de la secuencia de salida a la secuencia 000.

En primer lugar, etiquetamos las ramas del diagrama con Dd siendo el exponente d la distancia de

Hamming entre la secuencia de bits de salida y la secuencia todos ceros (secuencia de entrada). El

lazo 000 con distancia cero puede eliminarse porque no va contribuir en la medida.

En un segundo paso, el nodo ‘a’ lo dividimos en dos nodos, uno para la entrada al diagrama de

estados y otro para la salida:

Fig. 5.8. Diagrama de estados de la figura Fig. 5.7. con nodos de entrada y salida.

Finalmente, en un tercer paso, calculamos las ecuaciones de los nodos:

be

dcd

dcb

bac

XDX

XDXDX

DXDXXDXXDX

2

22

3

=

+=

+=+=

Page 11: TEMA 5 - aholab · 5.6 EJERCICIOS ... En primer lugar, etiquetamos las ramas del diagrama con Dd siendo el exponente d la distancia de Hamming entre la secuencia de bits de salida

1-8

La función de transferencia se define como: a

eXXDT =)(

Y para este ejemplo se obtiene:

∑∞

==++++=

−=

6

1210862

6...842

21)(

d

dd DaDDDD

DDDT

en donde ⎪⎩

⎪⎨⎧

=−

impardparda

d

d0

2 26

La función de transferencia T(D) nos dice:

D6: Hay un único camino con distancia d=6 al camino nulo, que empieza y termina en el

mismo nodo (por tanto el camino se junta con la secuencia todo ceros). Vemos que es el camino

verde en línea continua acbe. No hay ningún otro camino del nodo ‘a’ al ‘e’ con d=6.

2D8: Hay 2 caminos con distancia d=8 del nodo ‘a’ al nodo ’e’. Se ve que son los caminos en

azul acdbe y acbcbe.

4D10: Hay 4 caminos con distancia d=10 de ‘a’ a ‘e’.

etc...

Fig. 5.9. Diagrama de Trellis correspondiente al codificador convolucional de la Fig. 5.2. en el que

se muestran los posibles caminos.

Page 12: TEMA 5 - aholab · 5.6 EJERCICIOS ... En primer lugar, etiquetamos las ramas del diagrama con Dd siendo el exponente d la distancia de Hamming entre la secuencia de bits de salida

1-9

La mínima distancia del código se llama “Distancia Libre Mínima” dfree. En nuestro ejemplo

dfree=6

Mediante este parámetro también se puede definir la GANANCIA DEL CÓDIGO Gc:

Gc=10 log(dfreeRc)

La función de transferencia puede darnos más información. Supongamos que introducimos un

factor N en todas las transiciones o ramas causadas por la entrada de un 1. Así según se hacen

transiciones entre estados, el exponente de N crece sólo si la transición ha sido causada por un 1

(ver Fig. 5.10. ).

Por otro lado, adicionalmente introducimos un factor J en cada rama del diagrama de estados, de

forma que el exponente de J servirá para contar el número de ramas en un camino desde ‘a’ hasta

‘e’. El resultado se muestra en la figura Fig. 5.10. .

Fig. 5.10. Diagrama de estados del codificador convolucional de la Fig. 5.2. en que se han

etiquetado las distancias de Hamming a la secuencia 000 (D), el factor N cuando la transición ha

sido causada por un ‘1’ de entrada, y el factor J en cada transición.

Las ecuaciones que se obtienen ahora para la función de transferencia son:

be

dcd

dcb

bac

XJDX

XJNDXJNDX

JDXJDXXJNDXXJNDX

2

22

3

=

+=

+=+=

Resolviendo estas ecuaciones para a

eXX

se obtiene la función de transferencia:

Page 13: TEMA 5 - aholab · 5.6 EJERCICIOS ... En primer lugar, etiquetamos las ramas del diagrama con Dd siendo el exponente d la distancia de Hamming entre la secuencia de bits de salida

1-10

....2

)1(1),,(

10371036103582582463

2

63

++++++=

=+−

=

DNJDNJDNJDNJDNJNDJ

JJNDNDJJNDT

El primer término 63 NDJ indica que hay un camino que se reúne con la secuencia todo ceros por

primera vez con distancia d=6 de longitud 3 ramas y de los 3 bits de información uno es un ‘1’. Los

términos 824 DNJ y 825 DNJ corresponden a caminos que se reúnen con la secuencia todo

ceros con distancia d=8. El primero es de longitud 4 ramas y el segundo de 5 ramas, y en ambos

dos de los bits de información son ‘1’.

Así:

- el exponente de J indica la longitud del camino que se reúne por primera vez con la

secuencia todo ceros.

- el exponente de N indica el número de ‘1’s en la secuencia de información.

- el exponente de D la distancia a la secuencia todo ceros.

Hasta ahora hemos considerado únicamente códigos de entrada y de salida binarios. Si los códigos

considerados no son binarios, el diagrama de estados y por tanto la función de transferencia que se

obtienen para un mismo codificador convolucional son diferentes de los obtenidos considerando

código binario.

1.3 DECODIFICACIÓN ÓPTIMA DE CÓDIGOS CONVOLUCIONALES

Consideremos ahora el proceso de transmisión de una secuencia de bits:

El modulador puede ser cualquiera. Podemos por ejemplo suponer que se trata de un sistema

binario polar banda base ó PSK que en el detector, recupera los valores de los símbolos ‘+1’ ó ‘-1’

(correspondientes a los bits ‘1’ y ‘0’).

DEM DECOD

y C

Page 14: TEMA 5 - aholab · 5.6 EJERCICIOS ... En primer lugar, etiquetamos las ramas del diagrama con Dd siendo el exponente d la distancia de Hamming entre la secuencia de bits de salida

1-11

En una decodificación bit a bit, para estimar el valor del símbolo transmitido, analizamos las

probabilidades P(y/’1’) (Probabilidad de obtener el valor ‘y’ cuando el símbolo transmitido ha sido

el ‘1’, y P(y/’0’), y elegiremos el símbolo que tenga mayor probabilidad. Es decir, la métrica

utilizada para la decodificación es la medida P(y/’ak’).

Cuando empleamos un codificador convolucional, no decidiremos el valor de un único bit recibido,

sino que tomaremos la decisión sobre toda una secuencia de bits. Las secuencias completas deben

comenzar y terminar en el camino nulo (el camino de la secuencia todo ceros). La secuencia final

será el resultado de recorrer B tramas en el trellis sobre un camino ‘r’, sobre el cual calcularemos la

métrica:

∑=

=B

j

rjr

1µµ

en donde ∏=

==n

m

rjmjm

rjjj CyPCYP

1)/(log)/(log

rrµ

siendo jYr

={yj1, yj2 ... yjm} es el vector de datos recibido en la rama j-ésima, y jCr

={cj1, cj2 ...

cjm} es el vector de datos codificados transmitidos.

El cálculo de )/( jmjm CyP depende de si el sistema toma decisiones duras (Hard-Decision) o

blandas (Soft-Decision). Estudiaremos ambos casos por separado.

1.3.1 HARD DECISION

En un sistema de este tipo, primero se decide sobre el dato recibido de forma individual para cada

bit, y posteriormente se evalúa la métrica. Llamando jmC al dato ‘decidido’ por el sistema, la

probabilidad p de cometer un error sobre este bit de forma individual, depende del sistema en

estudio. Por ejemplo, en un sistema Unipolar ⎟⎟⎠

⎞⎜⎜⎝

⎛=

0NE

Qp b y en un sistema Polar

⎟⎟⎠

⎞⎜⎜⎝

⎛=

0

2NE

Qp b .

Así:

jmjmjmjm CCsipCyP ≠= ˆ)/(

Page 15: TEMA 5 - aholab · 5.6 EJERCICIOS ... En primer lugar, etiquetamos las ramas del diagrama con Dd siendo el exponente d la distancia de Hamming entre la secuencia de bits de salida

1-12

jmjmjmjm CCsipCyP =−= ˆ1)/(

Ejemplo

Vamos a realizar el cálculo de la métrica para el codificador convolucional de la figura Fig. 5.2.

cuyo diagrama de Trellis se muestra en la figura Fig. 5.9..Supongamos que a la salida del

demodulador obtenemos la secuencia Yr

={yjm}

j=1 j=2 j=3

yjm 101 000 100

La métrica asociada a los posibles caminos de longitud 3 será:

[ ]∑=

=3

1332211 )/()/()/(log

jjjjjjj

r CyPCyPCyPµ

y elegiremos aquel camino r que tenga la mayor métrica rµ (el camino con mayor probabilidad).

La calculamos para cada uno de los posibles caminos de longitud 3. Comenzando por la secuencia

000 000 000:

[ ] ( ) [ ] )1log(6log3)1(log1log)1(log 230 pppppppp −+=−+−+−=µ

Nótese que el coeficiente de log(p) es el número de errores, y el de log(1-p) el número de aciertos

en la secuencia completa. Siendo log(p) una función creciente, y teniendo en cuenta que p es la

probabilidad de error y que ésta será siempre p<0.5, y por tanto (1-p)>0.5, y logp < log (1-p). La

figura Fig. 5. 11. muestra cómo la métrica utilizada es una función creciente con el número de

aciertos N. Por eso, una medida equivalente es la selección de la secuencia con la menor distancia

de Hamming.

Page 16: TEMA 5 - aholab · 5.6 EJERCICIOS ... En primer lugar, etiquetamos las ramas del diagrama con Dd siendo el exponente d la distancia de Hamming entre la secuencia de bits de salida

1-13

2 4 6 8N

-17.5

-15

-12.5

-10

-7.5

-5

-2.5

µ

Fig. 5. 11. Métrica µ en función del número de bits correctos N, calculada para p=0.01.

El otro camino completo (que empieza y termina en la secuencia nula) de longitud 3 es el camino

que genera la secuencia 111 001 011:

)1log(4log51 pp −+=µ

La Tabla 1-1 muestra los resultados de realizar el cálculo de las métricas rµ para los 7 caminos

posibles de longitud 3, que serían las métricas intermedias obtenidas para una secuencia más larga

cuando el trayecto ha recorrido 3 ramas.

yjm 0.5 -0.7 0.7 -0.8 -0.9 -0.2 0.1 -0.3 -0.4 rµ

Cjm 101 000 100 rµ

r=0 000 000 000 )1log(6log3 pp −+

r=1 111 001 011 )1log(4log5 pp −+

r=2 111 001 100 )1log(7log2 pp −+

r=3 111 110 010 )1log(4log5 pp −+

r=4 111 110 101 )1log(4log5 pp −+

r=5 000 111 001 )1log(2log7 pp −+

r=6 000 111 110 )1log(2log7 pp −+

Tabla 1-1 Resultados de las métricas para los caminos del trellis de la Fig. 5.9.

Page 17: TEMA 5 - aholab · 5.6 EJERCICIOS ... En primer lugar, etiquetamos las ramas del diagrama con Dd siendo el exponente d la distancia de Hamming entre la secuencia de bits de salida

1-14

Si la transmisión correspondiera a la secuencia completa, la secuencia seleccionada correspondería

al camino r=1. Si es una transmisión parcial, en la tercera etapa, la mejor secuencia hasta ese estado

sería la correspondiente al camino r=2.

1.3.2 SOFT-DECISION

En estos sistemas no se realiza la detección independiente de cada símbolo, sino que se realiza la

estimación sobre toda la secuencia completa de datos recibidos yjm.

Consideremos un sistema binario, en donde los símbolos se transmiten con amplitudes

)12·( −= jmjm CAa . El valor recibido nay jmjm += en donde n es el ruido gausiano

introducido por el sistema. La probabilidad de recibir el valor yjm cuando el símbolo transmitido ha

sido el Cjm será:

[ ]⎥⎥

⎢⎢

⎡ −−=

2

2

·2

)12·(exp

21)/(

n

jmjm

njmjm

CAyCyP

σσπ

La probabilidad asociada a la rama j-ésima:

[ ]=

⎪⎪

⎪⎪

⎪⎪

⎪⎪

⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

⎡−−

−⎥⎥⎦

⎢⎢⎣

⎡==

∑∏ =

=2

1

2

1 ·2

)12(exp

21log)/(log

n

n

mjmjmn

n

n

mjmjmj

CAyCyPP

σσπ

[ ]n

nn

n

mjmjm eCAy

⎥⎥⎦

⎢⎢⎣

⎡+−−−= ∑

=22

1

2

2

1log)·log(2

1·)12(σπσ

La probabilidad para todo el trayecto resultará de sumar las probabilidades Pj de cada una de las

tramas del trayecto. El sumando ⎥⎥⎦

⎢⎢⎣

⎡22

1lognσπ

y el factor )log(2

12 enσ

afectarán de igual forma a

todas las ramas, y también a todos los caminos. Por tanto no aportan nada en el cómputo de la

métrica.

Desarrollando el término restante:

Page 18: TEMA 5 - aholab · 5.6 EJERCICIOS ... En primer lugar, etiquetamos las ramas del diagrama con Dd siendo el exponente d la distancia de Hamming entre la secuencia de bits de salida

1-15

( )[ ] ( )[ ]∑ ∑∑∑∑∑= ==== = ⎥

⎥⎦

⎢⎢⎣

⎡−−−+−=−−−

B

j

n

mjmjm

n

mjm

n

mjm

B

j

n

mjmjm CAyCAyCAy

1 11

2

1

2

1 1

2 )12(21212

El término ∑∑= =

B

j

n

mjmy

1 1

2 afecta a todos los caminos por igual, y por tanto puede eliminarse del

cómputo. Lo mismo ocurre con el segundo sumando, ∑∑= =

−B

j

n

mjmCA

1 1

22 )12( ya que

1)12( 2 =−jmC independiente por tanto del símbolo transmitido. Así, para la comparación de la

métrica obtenida en cada uno de los caminos únicamente queda:

∑∑= =

−=B

j

n

m

rjmjmr Cy

1 1)12(µ

y seleccionaremos el camino r que tenga la mayor métrica rµ (mayor probabilidad).

Ejemplo

Vamos a realizar el cálculo de las métricas asociadas a los caminos del Trellis de la figura Fig. 5.9. ,

para una secuencia de datos recibida: {0.5 -0.7 0.7 -0.8 -0.9 -0.2 0.1 -0.3 -0.4} . Los resultados se

muestran en la Tabla 1-2.

yjm 0.5 -0.7 0.7 -0.8 -0.9 -0.2 0.1 -0.3 -0.4 rµ

r=0 000 000 000

-1 -1 -1 -1 -1 -1 -1 -1 -1 2

r=1 111 001 011

+1 +1 +1 -1 -1 +1 -1 +1 +1 1.2

r=2 111 001 100

+1 +1 +1 -1 -1 +1 +1 -1 -1 2.8

r=3 111 110 010

+1 +1 +1 +1 +1 -1 -1 +1 -1 -1

r=4 111 110 101

+1 +1 +1 +1 +1 -1 +1 -1 +1 -1

r=5 000 111 001

-1 -1 -1 +1 +1 +1 -1 -1 +1 -2.6

r=6 000 111 110

-1 -1 -1 +1 +1 +1 +1 +1 -1 -2.2

Page 19: TEMA 5 - aholab · 5.6 EJERCICIOS ... En primer lugar, etiquetamos las ramas del diagrama con Dd siendo el exponente d la distancia de Hamming entre la secuencia de bits de salida

1-16

Tabla 1-2.- Métricas asociadas a los caminos del Trellis de la Fig. 5.9. en un sistema con decisión blanda.

El resultado obtenido en nuestro ejemplo para ambos tipos de decodificación (Hard y Soft) ha sido

el mismo. Sin embargo, por lo general, la decodificación blanda proporcionará mejores resultados, a

coste de una mayor complejidad en el receptor.

1.3.3 ALGORITMO DE VITERBI

Consideremos el punto de la tercera etapa en el Trellis de la figura Fig. 5.9. y continuemos el

camino. Fijémonos en el estado a, al cual llegan los caminos r0(r=0) y r1(r=1). La siguiente rama

añadirá la mima distancia al camino r0 que al camino r1. Como m0>m1, seguirá siéndolo en la

cuarta etapa y en el estado ‘a’. Esto implica que podemos descartar el camino r1 frente al r0. El

camino r0 correspondiente a la mejor métrica en el nodo se conoce como Superviviente.

De la misma forma podemos proceder con el resto de nodos. Uno de los dos caminos que llegan al

estado b en la cuarta etapa podrá ser eliminado en base a las métricas correspondientes, y de forma

similar se puede proceder con los nodos correspondientes a los estados c y d.

Es decir, cuando se recibe y detecta una secuencia, se calculan las métricas asociadas a cada nodo,

una para cada uno de los caminos que alcanzan el nodo. El valor de la métrica asociada al camino r

obtenida en la etapa l para un cierto nodo tendrá dos componentes:

- un valor asociado a cada uno de los caminos que llegan hasta el nodo, igual a la métrica

obtenida en la etapa anterior rl 1−µ (métrica acumulada hasta el estado anterior en el

camino r).

- un valor correspondiente a la probabilidad de recibir esa secuencia de datos condicionado a

la transmisión de la secuencia asociada a la rama, rjµ , métrica local asociada a la transición

de la rama j.

El camino seleccionado en la etapa l para cada estado, será aquél que haga máxima la métrica

asociada al nodo, y el valor de ésta será:

{ }rj

rl

rl µµµ += −1max

Esto se muestra esquemáticamente en la figura Fig. 5. 12..

Page 20: TEMA 5 - aholab · 5.6 EJERCICIOS ... En primer lugar, etiquetamos las ramas del diagrama con Dd siendo el exponente d la distancia de Hamming entre la secuencia de bits de salida

1-17

0jµ

1jµ

0u

1u

( ) ( ){ }1100 ,max jj uuu µµ ++=

métrica acumulada hasta el estado anterior

0jµ

1jµ

0u

1u

( ) ( ){ }1100 ,max jj uuu µµ ++=

métrica acumulada hasta el estado anterior

Fig. 5. 12. Selección del camino superviviente en un nodo.

El procedimiento descrito se repite para cada uno de los nodos del Trellis en cada etapa, y para

todas las etapas. De esta forma, sólo uno de los caminos que alcanza cada nodo sobrevivirá. Al final

de la transmisión, seleccionaremos el estado con la máxima métrica, y podremos recuperar el

camino óptimo, es decir, la secuencia detectada.

El algoritmo de programación dinámica descrito permite la selección del camino óptimo sin que sea

necesario el cálculo exhaustivo de todos los caminos posibles, y reduce dramáticamente la

complejidad del detector. Fue propuesto por primera vez por A. Viterbi en 1967 (ver Bibliografía).

La naturaleza óptima del algoritmo de Viterbi se deriva del “Principio de optimalidad” de Bellman,

aplicable en un problema de decisiones secuenciales en el que la función global de coste es la suma

de las funciones de coste en las transiciones entre estados intermedios. La idea básica es que si un

camino es óptimo globalmente, también es óptimo en cualquier estado intermedio (ver figura Fig.

5. 13. ).

Fig. 5. 13. Principio de optimalidad: el mejor camino global es una extensión de caminos locales

óptimos.

Page 21: TEMA 5 - aholab · 5.6 EJERCICIOS ... En primer lugar, etiquetamos las ramas del diagrama con Dd siendo el exponente d la distancia de Hamming entre la secuencia de bits de salida

1-18

Ejemplo:

Realizamos la planificación de un viaje utilizando el principio de optimalidad. Con referencia al

mapa de la figura Fig. 5. 14. , supongamos que comenzamos el viaje en Zurich. Viajamos hacia el

Este y al final de la primera etapa podemos visitar Moscú o El Cairo. La siguiente parada puede ser

Tashkent o Delhi, etc.

Fig. 5. 14. Planificación de un viaje siguiendo el “principio de optimalidad”.

A cada segmento de la ruta le asignamos una métrica, por ejemplo, la capacidad adquisitiva en dicha

ciudad, o el precio del viaje entre las dos ciudades, la distancia entre las dos ciudades, el tiempo de

tránsito entre ellas o una combinación de ellas. Una posibilidad para la planificación es la búsqueda

exhaustiva entre todas las posibles rutas. Pero, supongamos que estamos en Hong-Kong. Hemos

podido llegar allí desde Tashkent o desde Delhi. Uno de las dos posibilidades será mejor que la otra

según nuestro criterio de coste. Por tanto, para avanzar en nuestro camino, no será necesario

conservar las dos rutas, sino tan solo la mejor de ellas, ya que si el camino óptimo pasa por Hong-

Kong, también es óptimo hasta Hong-Kong. Lo mismo ocurrirá en Perth: podremos descartar una

de las dos rutas que llegan Perth. Si el camino óptimo pasa por Perth o por Hong-Kong, no lo

sabremos hasta que realizamos el cálculo en la última etapa de la ruta, en el retorno a Zurich. En

esta última etapa, seleccionaremos la mejor ruta entre la que llega de Londres y la que llega de

Dakar, y volviendo hacia atrás de nuevo conoceremos la ruta óptima.

Page 22: TEMA 5 - aholab · 5.6 EJERCICIOS ... En primer lugar, etiquetamos las ramas del diagrama con Dd siendo el exponente d la distancia de Hamming entre la secuencia de bits de salida

1-19

1.3.4 CARGA COMPUTACIONAL

Para un código con k bits entrando simultáneamente al codificador, y longitud restringida L, hay

2k(L-1) estados posibles. Ello requerirá seguir la pista de 2k(L-1) caminos, y guardar la métrica

asociada a los 2k(L-1) estados o nodos en cada etapa del Trellis. Además, a cada nodo llegan 2k

caminos para los que será necesario calcular la métrica. Por tanto, la carga computacional a realizar

en cada etapa del Trellis aumenta exponencialmente con k y con L.

1.3.5 RETARDO DE DECODIFICACIÓN

Si la secuencia transmitida es muy larga, el retardo de decodificación será también largo, y la

memoria necesaria para almacenar los caminos supervivientes crece también. Una solución a este

problema es introducir una modificación en el algoritmo, tomando decisiones intermedias, que

harán el algoritmo subóptimo, pero mantendrán un retardo de decodificación constante. La

modificación consiste en retener en un momento determinado sólo los δ símbolos más recientes

recibidos. Cuando se recibe un nuevo símbolo, se toma una decisión definitiva sobre el símbolo

recibido δ ramas hacia atrás en el Trellis, en base a las métricas supervivientes en esa etapa. Si δ es

suficientemente largo, con mucha probabilidad todas las secuencias supervivientes en la etapa t

nacen del mismo nodo de la etapa t-δ.

Experimentalmente se demuestra que si L5≥δ la degradación del comportamiento en el algoritmo

con respecto al Viterbi óptimo es despreciable.

1.4 CÁLCULO DE LA PROBABILIDAD DE ERROR

1.4.1 PROBABILIDAD DE ERROR CON DECISIÓN BLANDA

En este apartado se va a analizar el comportamiento de la tasa de error del algoritmo de Viterbi en

un canal con ruido gausiano blanco aditivo con codificación con decisión blanda.

En el análisis de la probabilidad de error en los códigos convolucionales se utiliza el hecho de que

los códigos son lineales para simplificar los cálculos y demostraciones. Es decir, suponemos que se

ha transmitido la secuencia todo ceros y calculamos la probabilidad de decidir a favor de otra

secuencia. Así, se producirán errores cuando en un nodo el camino elegido se separe de la secuencia

nula. La probabilidad de error puede acotarse superiormente mediante la expresión:

∑≤erróneoscam

erróneocamPPe.

).(

ya que pueden producirse solapamientos entre los caminos erróneos.

Page 23: TEMA 5 - aholab · 5.6 EJERCICIOS ... En primer lugar, etiquetamos las ramas del diagrama con Dd siendo el exponente d la distancia de Hamming entre la secuencia de bits de salida

1-20

La métrica para elegir el camino será la utilizada anteriormente:

∑∑= =

−=B

j

n

m

rjmjmr Cy

1 1)12(µ

La métrica asociada al camino nulo ( 00 =jmC ) valdrá: ∑∑= =

−=B

j

n

mjmy

1 10µ

La métrica asociada a cualquier otro camino (camino erróneo) será:

∑∑= =

−=B

j

n

m

djmjmd Cy

1 1)12(µ

Cometeremos un error si ocurre que 0µµ >d , es decir si:

∑∑= =

>=−B

j

n

m

djmjmd Cy

1 10 0·2·µµ

Los bits de valor cero de la secuencia Cjm no contribuyen al cálculo anterior. Por eso, si en la

secuencia Cjm hay d unos, podemos decir que la probabilidad de elegir un camino erróneo

(probabilidad de que el camino se separe del camino nulo) con d bits erróneos es la probabilidad de

que la suma de los valores recibidos para los d bits de valor ‘1’ del camino sea positiva:

( ) ( ) ⎟⎟⎠

⎞⎜⎜⎝

⎛>== ∑

=0.

1

d

llyPdPerróneocamP

El dato recibido yl=al+n, es una v.a. gausiana, de media ym y varianza σy. La variable aleatoria

suma ∑=

=d

lld yy

1, será también gausiana, con media: d· ym y varianza d· σy

2. Por tanto,

⎟⎟⎠

⎞⎜⎜⎝

⎛=

⎟⎟

⎜⎜

⎛=>

y

m

y

md

ydQ

dyd

QyPσσ

·)0(

Page 24: TEMA 5 - aholab · 5.6 EJERCICIOS ... En primer lugar, etiquetamos las ramas del diagrama con Dd siendo el exponente d la distancia de Hamming entre la secuencia de bits de salida

1-21

Así, en un sistema PSK binario, ησ

s

y

m Ey 2= siendo Es la energía del símbolo. En nuestro caso,

dado que los datos están codificados, la energía del símbolo será: bc EnkE = en donde Eb es la

energía del bit sin codificar. Así, la probabilidad asociada al camino erróneo con distancia de

Hamming d al camino nulo será:

( )dRQnkdE

QdE

Q cbbc γηη

222

=⎟⎟⎠

⎞⎜⎜⎝

⎛=⎟

⎟⎠

⎞⎜⎜⎝

en donde η

γ bb

E= es la SNR por bit de información.

Hemos calculado la probabilidad asociada al camino erróneo con distancia de Hamming d. La

probabilidad de error total deberá considerar todos los posibles caminos erróneos:

( )∑∑∞

=

=≤≤

freefree ddcbd

ddd dRQadPaPe γ2)(

en donde ad es el número de caminos con distancia d en el Trellis. Esta expresión será una cota

superior de la probabilidad de error, ya que en general, se producirán superposiciones entre los

distintos caminos.

Sabiendo que 2

2

21)(

x

exQ−

< podemos poner:

cRb

cRbfreefree

cbeD

eDdd

dd

dd

dRd DTDaeaPe γ

γ

γ−

−=

=

=

=

− ≤≤≤ ∑∑ )(21

21

21

Esta expresión nos proporciona la probabilidad de error en la palabra código. Un valor más

interesante de obtener es la probabilidad de error por bit de información.

1.4.2 PROBABILIDAD DE ERROR POR BIT DE INFORMACIÓN

Como estamos comparando la secuencia detectada con la secuencia todo ceros, la secuencia de

información correcta será la secuencia todo ceros, y se producirá un error cuando se decodifique un

“1”. La probabilidad de error asociada a un camino dado con distancia de Hamming ‘d’ al camino

Page 25: TEMA 5 - aholab · 5.6 EJERCICIOS ... En primer lugar, etiquetamos las ramas del diagrama con Dd siendo el exponente d la distancia de Hamming entre la secuencia de bits de salida

1-22

de todo ceros se puede calcular como )()·( dPdf , siendo f(d) el número de “1”’s en el camino con

distancia “d”, y por tanto el número de bits de información incorrectamente decodificados, y

dRQdP cbγ2)( = es la probabilidad de encontrarnos en un camino erróneo con distancia de

Hamming d.

Sumando para todos los caminos erróneos posibles, obtendremos la probabilidad de error por bit

de información:

∑∞

=≤

freedddb dPdfaP )()(

La función de transferencia T(D,N) nos dice cuántos “1”s de información hay en una determinada

secuencia con distancia al camino nulo d:

∑∞

==

freedd

dfdd NDaNDT )(),(

en donde f(d) es el exponente de N en función de “d”. Derivando la función de transferencia y

evaluando el resultado en N=1:

∑∞

=

−=freedd

dfdd NdfDa

dNNDdT 1)()(),(

∑ ∑∞

=

==

==free freedd dd

dd

dd

NDdfDa

dN

NDdTβ)(

),(

1 con )(dfadd =β

cRbfreefree free

cb

free eDdd

dd

dd dd

dRdd

dddb DedPdPdfaP

γ

βββ γ

−=

=

=

=

−∞

=∑∑ ∑∑ =≤=≤

21·)()()(

cRbeDNb dN

NDdTPγ−==

≤,1

),(

1.4.3 PROBABILIDAD DE ERROR PARA DECODIFICACIÓN MEDIANTE DECISIONES DURAS

El procedimiento seguido es similar al anterior, pero en este caso la métrica utilizada es la distancia

de Hamming. Para la probabilidad de camino erróneo se obtiene:

Page 26: TEMA 5 - aholab · 5.6 EJERCICIOS ... En primer lugar, etiquetamos las ramas del diagrama con Dd siendo el exponente d la distancia de Hamming entre la secuencia de bits de salida

1-23

( ) 2)1(4)( dppdP −≤ y para la probabilidad de error Pe en la secuencia decodificada se obtiene:

[ ] )1(42 )()1(4 ppD

dd

dde DTppaP

free−=

==−≤ ∑

La probabilidad de error por bit de información:

∑∞

= −==≤≤

freedd ppDNdb dN

NDdTdPP)1(4,1

),()(β

1.4.4 GANANCIA DE CODIFICACIÓN

Se define como la diferencia en dB en γb necesaria para obtener la misma Pe con y sin codificación.

Comparando las expresiones obtenidas para las probabilidades de error con y sin codificación:

Para PSK sin codificación )2( be QP γ=

Con codificación, en el mejor de los casos: )2( cfreebc

e RdQP γ=

Y la ganancia de codificación Asintótica (ya que expresa la máxima mejora):

)log(10 cfreec RdG =

1.4.5 OTROS EFECTOS A CONSIDERAR

Si en la transmisión se desea retardo de codificación fijo, el camino va a ser truncado a una

determinada longitud. Esto deteriora el comportamiento del algoritmo.

Por otro lado, la cuantificación de los valores obtenidos del demodulador (datos de entrada al

decodificador de Viterbi) introducirá también degradación en el comportamiento del sistema:

1.5 MODULACIÓN CODIFICADA PARA CANALES LIMITADOS EN BANDA

El control de errores por codificación implica un incremento del ancho de banda a cambio de una

reducción en la relación S/N requerida (Ganancia de Codificación Gc). El ancho de banda se

incrementa (a igualdad de sistema de modulación) por un factor de 1/Rc.

Page 27: TEMA 5 - aholab · 5.6 EJERCICIOS ... En primer lugar, etiquetamos las ramas del diagrama con Dd siendo el exponente d la distancia de Hamming entre la secuencia de bits de salida

1-24

Desde otro punto de vista, Ungerboeck (1982) razonaba que el conjunto de símbolos del

modulador podría ser ampliado (con respecto al utilizado sin codificación), manteniendo la

dimensionalidad por bit de información. Por ejemplo, supongamos que usamos un sistema que

empleando una modulación (sin codificación) PSK-4 (QPSK) consigue R/W=2 bits/seg/Hz para

una probabilidad de error Pb = 10-6. Para esta probabilidad de error la relación S/N por bit es γb

=10,5 dB. Podemos intentar reducir la relación S/N necesaria utilizando señales codificadas pero

sin que aumente el ancho de banda. Si elegimos un código con Rc = 2/3, debe ser acompañado de

un incremento en el número de símbolos, es decir, pasamos de 4 símbolos (2 bits/símbolo) a 8

símbolos (3 bits/símbolo). Este incremento en el número de símbolos requiere un aumento en γb

de aproximadamente 4dB para mantener la Pb. Por tanto, para proporcionar un beneficio, la

ganancia de codificación debe proporcionar esos 4dB.

Si los procesos de modulación y codificación se realizan por separado, se requieren códigos muy

potentes, con L grande. Pero si la modulación es parte integral del proceso de codificación, y se

diseña conjuntamente con el código para incrementar la distancia Euclídea mínima entre pares de

señales codificadas, se alcanzan altos valores de ganancia de codificación. La clave es diseñar

métodos efectivos para mapear los bits codificados de la señal de manera que se maximice la

mínima distancia Euclídea entre los símbolos.

1.5.1 PARTICIÓN DE CONJUNTOS

Desarrollaremos este apartado utilizando algunos ejemplos.

Ejemplo 1.- Partición de la constelación 8-PSK

Consideremos una constelación 8-PSK como la de la figura Fig. 5. 15. Particionamos la

constelación en subconjuntos en los cuales se incrementa sucesivamente la distancia Euclídea

mínima entre símbolos. En el espacio de las 8 señales los puntos están situados sobre un círculo de

radio E y tienen una distancia mínima de:

EEd 765.08

sin20 ==π

. Ed 585.020 =

En la primera partición, los 8 puntos se subdividen en 2 subconjuntos de 4 puntos cada uno, de

forma que la mínima distancia crece hasta:

EdEd 22 211 ==

Page 28: TEMA 5 - aholab · 5.6 EJERCICIOS ... En primer lugar, etiquetamos las ramas del diagrama con Dd siendo el exponente d la distancia de Hamming entre la secuencia de bits de salida

1-25

En la siguiente partición, en la que obtenemos 4 subconjuntos de dos puntos cada uno, la mínima

distancia Euclídea aumenta a

EdEd 42 222 ==

La secuencia de bits asignada a las ramas izquierda y derecha produce etiquetas de 3 bits para los

puntos de la constelación. La asignación de bits no es importante hasta el momento de construir el

codificador. Podemos ver la partición en la figura Fig. 5. 15.

Fig. 5. 15. Partición de la constelación PSK-8

Page 29: TEMA 5 - aholab · 5.6 EJERCICIOS ... En primer lugar, etiquetamos las ramas del diagrama con Dd siendo el exponente d la distancia de Hamming entre la secuencia de bits de salida

1-26

Ejemplo 2.- Partición de la constelación 16-QAM

La estructura genérica de esta constelación se conoce como Lattice Z2. En la figura Fig. 5.16. se

muestra la constelación rectangular de 16 puntos. En primer lugar se divide en dos subconjuntos

asignando puntos alternados a cada uno de ellos. La distancia entre puntos de cada subconjunto se

va incrementando por 2 en cada partición, es decir, la distancia al cuadrado di2 se incrementa por

2.

EEEEdi 3216842 →→→

EEEEdi 244222 →→→

Fig. 5.16. Partición de una constelación 16-QAM

En estos dos ejemplos se ha realizado una partición hasta el límite, donde cada subconjunto

contiene sólo un punto. En general esto puede no ser necesario. El grado en que se particiona la

señal depende de las características del código. En general, el proceso de codificación se lleva a

cabo como muestra la figura Fig. 5. 17. .

Page 30: TEMA 5 - aholab · 5.6 EJERCICIOS ... En primer lugar, etiquetamos las ramas del diagrama con Dd siendo el exponente d la distancia de Hamming entre la secuencia de bits de salida

1-27

Fig. 5. 17. Estructura general de un modulador/codificador combinado.

Un grupo de m =k1 + k2 bits se separa en dos grupos de k1 y k2 bits. Los k1 bits se codifican en n

bits y los k2 restantes se dejan sin codificar. Los n bits codificados se usan para seleccionar uno de

los 2n posibles subconjuntos en las particiones, mientras que los otros k2 bits se utilizan para

seleccionar uno de los 22k puntos de la señal en cada subconjunto. Si k2 = 0 los m bits de

información se codifican.

1.5.2 MODULACIÓN CODIFICADA TRELLIS

Consideremos el codificador de la figura Fig. 5. 18. El convolucionador tiene el diagrama de Trellis

de la figura Fig. 5.19. Este Trellis sólo considera los bits de salida codificados c1 y c2. Para

considerar también el bit no codificado c3, en cada rama encontramos dos posibles caminos entre

dos estados, generados por la entrada k2 (bit c3). Así se obtienen las ramas dobles que se muestran

en el trellis final de la figura Fig. 5. 20..

Fig. 5. 18. Codificador convolucional 2/3

c1

c2 c3

k1

k2

Page 31: TEMA 5 - aholab · 5.6 EJERCICIOS ... En primer lugar, etiquetamos las ramas del diagrama con Dd siendo el exponente d la distancia de Hamming entre la secuencia de bits de salida

1-28

00

10

01

11

0/00

1/11

0/11

1/00

0/01

1/10

0/10

1/01

00

10

01

11

0/00

1/11

0/11

1/00

0/01

1/10

0/10

1/01

Fig. 5.19. Trellis de 4 estados correspondiente al codificador de la figura Fig. 5. 18. considerando

únicamente la entrada k1 y los bits codificados c1 yc2

00

10

01

11

0/000

0/001

1/1101/111

0/110

0/111

1/000

1/001

0/0100/011

1/100

1/100

0/100 0/101

1/0101/011

00

10

01

11

0/000

0/001

1/1101/111

0/110

0/111

1/000

1/001

0/0100/011

1/100

1/100

0/100 0/101

1/0101/011

Fig. 5. 20. Trellis de 4 estados correspondiente al codificador de la figura Fig. 5. 18.

En este caso, k1=1 y k2=1. Los n=2 bits codificados se utilizarán para seleccionar uno de los 4

subconjuntos {C0, C1, C2, C3} de las particiones de la constelación 8-PSK de la figura Fig. 5. 15.

Cada uno de estos subconjuntos contiene 2 puntos de la constelación. El mapeo de bits para este

caso se realiza como se muestra en la figura Fig. 5.21.

Page 32: TEMA 5 - aholab · 5.6 EJERCICIOS ... En primer lugar, etiquetamos las ramas del diagrama con Dd siendo el exponente d la distancia de Hamming entre la secuencia de bits de salida

1-29

000

001

110111

010

011

100

101

000

001

110111

010

011

100

101

Fig. 5.21. Mapeo correspondiente al Trellis de la figura Fig. 5. 20.

Para comprender el mapeo realizado, vamos a calcular la ganancia obtenida a través de esta

modulación codificada.

Con el mapeo descrito, el trellis podemos representarlo como en la figura Fig. 5. 22.

00

10

01

11

C1

C3

C3

C1

C2

C0

C0

C2

00

10

01

11

C1

C3

C3

C1

C2

C0

C0

C2

Fig. 5. 22. Trellis de cuatro estados de la Fig. 5. 20.con el mapeo de bits de la figura Fig. 5.21.

Cada uno de los subconjuntos Ci contienen dos puntos de la constelación: C1=(0,1), C3=(6,7)

C2=(2,3) y C0=(4,5) (expresados en octal). Los dos puntos dentro de un subconjunto están

separados por una distancia Ed 22 = . En cada transición entre estados encontramos por tanto

dos caminos paralelos, correspondientes a los dos puntos de la constelación del subconjunto Ci,

con distancia Euclídea entre ellos de Ed 22 = .

Con objeto de calcular la ganancia de codificación del sistema, analizamos los caminos que salen de

un estado y vuelven al mismo estado (Fig. 5. 23.) . Encontramos:

-caminos que van por las ramas paralelas, para los cuales la distancia Euclídea es siempre

Ed 22 =

Page 33: TEMA 5 - aholab · 5.6 EJERCICIOS ... En primer lugar, etiquetamos las ramas del diagrama con Dd siendo el exponente d la distancia de Hamming entre la secuencia de bits de salida

1-30

- caminos de longitud 3, cuya distancia al camino nulo vale:

20

22

21

20

2131

212

231

22 ),(),(),( dddddCCdCCdCCdd +=++=++=

Por tanto, la mínima distancia al camino nulo será Ed 22 = . Esta distancia mínima en el código

trellis se denomina Distancia Euclídea Libre, Dfed.

00

10

01

11

C1

C3

C3

C1

C2

C0

C0

C2

C2

C1 C1

C3

00

10

01

11

C1

C3

C3

C1

C2

C0

C0

C2

00

10

01

11

C1

C3

C3

C1

C2

C0

C0

C2

C2

C1 C1

C3

Fig. 5. 23. Caminos en el trellis de 4 estados.

Para realizar una comparación, utilizamos como referencia una modulación 4-PSK (ya que tenemos

dos bits de entrada, necesitaremos una modulación con M=4 niveles). En 4-PSK sin codificación,

emplearemos cualquiera de los subconjuntos B0 o B1 de la figura Fig. 5. 15. A esta modulación, le

correspondería un diagrama trivial de un Trellis con un único estado y 4 ramas en paralelo de

transición entre estados, en las cuales se emitirían los simbolos D0, D2, D4 D6 (o bien D1, D3, D5

y D7) (ver Fig. 5. 24. ).

D0

D2

D4

D6

D0

D2

D4

D6

Fig. 5. 24. Trellis de un estado correspondiente a una modulación 4-PSK sin codificar.

La distancia mínima en este caso sería Ed 21 = .

Por lo tanto la ganancia lograda con la codificación será de dBEE 3

22log20 =

Page 34: TEMA 5 - aholab · 5.6 EJERCICIOS ... En primer lugar, etiquetamos las ramas del diagrama con Dd siendo el exponente d la distancia de Hamming entre la secuencia de bits de salida

1-31

El código Trellis de 4 estados que hemos utilizado en nuestro ejemplo es óptimo porque

proporciona la máxima Distancia Euclídea libre. Pueden construirse muchos otros códigos trellis de

4 estados, pero ninguna otra configuración de 4 estados proporciona una Dfed mejor que la

estudiada.

La construcción del código Trellis de 4 estados óptimo para los 8 puntos de la constelación se ha

realizado siguiendo las siguientes reglas heurísticas:

a) Las transiciones paralelas, cuando ocurren, se asignan a los puntos de la constelación

separados por la máxima distancia euclídea.

b) A la transición que se origina y termina en un estado dado, se le asignan los subconjuntos

(C0, C2) ó (C1, C3), que tienen máxima distancia Ed 21 = .

c) Los puntos de la constelación deben ocurrir con igual frecuencia.

Las reglas a) y b) garantizan que la distancia euclídea asociada a caminos simples y múltiples que

divergen de un estado y vuelven al mismo estado supera la distancia euclídea de 4-PSK sin

codificación. La regla c) garantiza que el código trellis tendrá una estructura regular.

En el código trellis de 4 estados estudiado la las transiciones paralelas están separadas la distancia

euclídea Ed 21 = , que es además Dfed. Por tanto, la ganancia de codificación de 3 dB está

limitada por la distancia de las transiciones paralelas. Se pueden conseguir ganancias mayores

utilizando códigos trellis con más estados, que permiten eliminar las transciones paralelas.

Por ejemplo, en la figura Fig. 5. 25. se muestra un código para la constelación 8-PSK. En este caso,

la distancia euclídea mínima es:

EddDDdDDdDDdD fed 585.42),(),(),( 20

2102

205

206

22 =+=++=

que cuando se compara con 4PSK sin codificar representa una ganancia de 3.6dB.

Page 35: TEMA 5 - aholab · 5.6 EJERCICIOS ... En primer lugar, etiquetamos las ramas del diagrama con Dd siendo el exponente d la distancia de Hamming entre la secuencia de bits de salida

1-32

Fig. 5. 25. Trellis 8PSK 8 estados

Podemos estimar la probabilidad de error utilizando el procedimiento utilizado para el cálculo en

los códigos convolucionales: calculamos la probabilidad de elegir un camino erróneo y sumamos

para todos los posibles caminos erróneos. Si la relación SNR del sistema es suficientemente alta,

esta probabilidad estará dominada por los caminos que tengan distancia Dfed:

Page 36: TEMA 5 - aholab · 5.6 EJERCICIOS ... En primer lugar, etiquetamos las ramas del diagrama con Dd siendo el exponente d la distancia de Hamming entre la secuencia de bits de salida

1-33

⎟⎟⎟

⎜⎜⎜

⎛=

η2

2fed

fedeD

QNP

en donde Nfed es el número de secuencias con distancia Dfed que se separan de un estado y vuelven

al mismo.

Además de las modulaciones PSK codificadas trellis vistas aquí, se han desarrollando potentes

códigos para modulaciones PAM y QAM.

1.6 EJERCICIOS

1.6.1 PROBLEMA 1

Un canal con interferencia entre símbolos puede verse como una secuencia generada por registros

de desplazamiento. Suponga un canal con una respuesta como la mostrada en la figura 1,

introduciendo por tanto interferencia entre símbolos. Suponemos entradas binarias (Ak=0,1) de

forma que tenemos dos estados, correspondientes a los dos posibles valores de Ak-1.

Z-1

+

+

Ak

1 0.5

sk

nk

yk

Z-1

+

+

Ak

1 0.5

sk

nk

yk

a) Dibuja el diagrama de estados correspondiente. Etiqueta los arcos (las flechas de transiciones entre estados) indicando el valor de la entrada Ak y el valor correspondiente de la salida Sk.

b) Dibuja el diagrama de Trellis asociado. c) Tomando como métrica la distancia Euclídea |yk-sk|2 emplea el algoritmo de Viterbi para

calcular la secuencia detectada si los datos recibidos son yk=(0.2, 0.6, 0.9, 0.1). d) Compara el resultado anterior con la decisión de un detector por umbral. Comenta los

resultados.

1.6.2 PROBLEMA 2

Considere el codificador convolucional 1/2 de la figura:

Page 37: TEMA 5 - aholab · 5.6 EJERCICIOS ... En primer lugar, etiquetamos las ramas del diagrama con Dd siendo el exponente d la distancia de Hamming entre la secuencia de bits de salida

1-34

c1

c2

k1

c1

c2

k1

a) ¿Cuál es su longitud restringida L?

b) Dibuje el diagrama de estados

c) Dibuje el diagrama de Trellis

d) Cuanto vale la distancia libre del código dfree?

e) Suponga que el codificador genera la secuencia todo ceros y ésta se transmite a través de un canal

binario simétrico, y se recibe la secuencia 0100010000 ...es decir, se producen errores en la

transmisión. Demuestre empleando el algoritmo de Viterbi que el código es capaz de corregir

dichos errores.

f) Suponiendo de nuevo la transmisión de la secuencia todo ceros, ¿cuantos errores ‘próximos’ es

capaz de corregir este codificador? Justifique su respuesta.

1.6.3 PROBLEMA 3

La figura muestra un convolucionador binario de dos etapas.

a) Dibuja el el árbol, el diagrama de Trellis y el diagrama de estados que le corresponden. b) Calcula la función de transferencia T(D, N, J). Explica cómo lo haces. c) ¿A partir del resultado anterior, cuál es la distancia libre del código? ¿Qué más información

puedes extraer de dicha función de transferencia?

Page 38: TEMA 5 - aholab · 5.6 EJERCICIOS ... En primer lugar, etiquetamos las ramas del diagrama con Dd siendo el exponente d la distancia de Hamming entre la secuencia de bits de salida

1-35

1.7 BIBLIOGRAFÍA

John G. Proakis, “Digital Communications”, McGraw-Hill, 3rd ed., 1995

A. J. Viterbi, “Error Bounds for Convolutional Codes and an Asymptotically Optimum Decoding

Algorithm”, IEEE Trans. On Information Theory, IT-13, pp. 260-269 (April 1967)

Ungerboeck, G. (1982) “Channel Coding with Multilevel/Phase Signals” IEEE Trans. On

Information Theory, Vol I.T.28, pp. 55-67, (January 1982).