Upload
vankhue
View
217
Download
0
Embed Size (px)
Citation preview
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
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
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.
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.
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
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.:
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.
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.
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
=
+=
+=+=
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.
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:
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
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 ≠= ˆ)/(
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.
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.
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:
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
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..
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.
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.
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.
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(
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
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:
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.
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 ==
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
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. .
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
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.
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 =
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 =
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.
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:
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:
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?
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).