Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Curso 2008-09
Codificación de canal
Codificación por bloques
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 1
Índice
• Introducción. Concepto y objetivo de la codificación de
canal
• Sistemas basados en ARQ
• Modelos de canal. Decisión dura vs. Decisión blanda
• Capacidad del canal. Límite de Shannon
• Esquemas FEC
– Parámetros característicos de un código
– Códigos de bloques. Códigos de Hamming, Golay, BCH, Reed-
Solomon
– Códigos convolucionales. Decodificador de Viterbi. Ejemplo
– Aspectos de implementación
• Modulación codificada (TCM)
• Turbocódigos
• Códigos LDPC
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 2
Codificación
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 3
Familias de códigos
Redundancia estructurada
ARQ FEC
-Hamming
-Cíclicos binarios
-Golay
-CRC TCM Turbocódigos
-BCH
-Reed-Solomon
- Parada y espera
- Continua con vuelta atrás LDPC
- Transmisión selectiva
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 4
Usos de la Codificación
• Detección de error y retransmisión (ARQ)
– Utiliza los bits de paridad (bits redundantes añadidos a los de
datos) para detectar la presencia de errores.
– El terminal receptor no intenta corregir los errores y simplemente
pide al transmisor una retransmisión de los datos.
– Se requiere por tanto un enlace doble (ida y vuelta) para
establecer este diálogo entre transmisor y receptor.
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 5
Ganancia de Codificación
Mejora de BER
BER
10-4 10-8
Ganancia Codificación
< 5 dB
Eb/No (dB)
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 6
Tipos de Conexión
• Simplex
– Un terminal A se conecta a otro B en una sola dirección
– La transmisión se realiza siempre de A a B y nunca en
sentido inverso.
• Semiduplex
– Las transmisiones pueden realizarse entre los dos terminales en
ambas direcciones pero no simultáneamente.
• Duplex
– Hay un doble enlace entre los dos terminales
– Las transmisiones pueden realizarse en las dos direcciones
simultáneamente.
A B A B A B
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 8
ARQ versus FEC (1)
• Con errores a ráfagas: ARQ funciona mejor que los FEC
simples
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 9
ARQ versus FEC (2)
• La ventaja del ARQ sobre el FEC es que el equipo de
detección de errores es mucho más simple y se requiere
el uso de menos redundancia en los códigos.
– la conexión es simplex,
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 10
Códigos de Bloques
• Los datos (símbolos binarios o bits) se segmentan en bloques
de k-bits, donde k es la longitud de bloque.
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 11
Códigos de Bloques
• La relación entre los bits de información y los bits totales de
una palabra de código se denomina tasa de codificación R
= k/n.
•• Hay
Hayuna
unacorrespondencia
correspondenciabiunívoca
biunívocaentre
entrelos
losbloques
bloquesde
deinformación
informaciónyy
las palabras
las palabras código.
código.
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 13
Redundancia de la Codificación
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 14
Codificación Convolucional
• Los datos de información se hacen pasar por un registro de
desplazamiento de M etapas que desplazan k bits al
tiempo.
In Out
101010111010… 11100011011101111…
+
Parámetros del código:
• M=número de etapas del registro de desplazamiento
• k=número de símbolos de entrada
• n=número de circuitos lógicos
• R=k/n=tasa de codificación
• Rc: velocidad binaria a la salida del codificador
Unbit
Un bitde
deinformación
informaciónpermanece
permaneceen enelelregistro
registrode
dedesplazamiento
desplazamientodurante
durante
M/k cambios
M/k cambios ee influye
influye en
en el
el valor
valor de
de nM/k
nM/k bits
bits de
de código.
código. Por
Por ello,
ello, el
el
codificadorconvolucional
codificador convolucionalesesun
undispositivo
dispositivoconconmemoria.
memoria.
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 16
Canal Discreto
AWGN
Canal
r
Usuario Decod. Demod. A/D LNA
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 17
Canal Discreto
El canal discreto sin memoria (DMC) se caracteriza por:
un conjunto de símbolos de entrada M-arios, que son invariantes e
independientes símbolo a símbolo.
símbolos de salida Q-arios
probabilidades de transición Pr(j|i), 0<= i <= M-1, 0 <=j <= Q-1 donde
i es un símbolo a la entrada del modulador,
j es un símbolo a la salida del demodulador y
Pr(j|i) es la probabilidad de recibir j cuando se ha transmitido i
1-p Pr(0|0) 0
0 0
0 Pr(1|0)
1
p
p 1 Pr(q-1|0)
1-p
1 1 Pr(q-1|1)
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 18
q-1
Canal Binario Simétrico con Decisión Dura
• El canal DMC más usual es canal binario simétrico BSC
– se utiliza modulación binaria (M=2),
– la salida del demodulador está cuantificada a Q=2 niveles
– Pr(0|1) = Pr(1|0) = p y Pr(1|1) = Pr(0|0) = 1 - p.
0 probabilidad
Tensió entrada
n
+
Tensión salida
Tensión entrada
111
1
110
- 101
100
011
010
001 Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 21
000
1
Decisión Dura vs Blanda
p(z|s2)=p(z|0) p(z|s1)=p(z|0)
z(T)
Decisión blanda 000 001 010 011 100 101 110 111
de 8 niveles
Información
enviada el
detector
Decisión dura
(2 niveles)
0 1
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 22
Capacidad del Canal
Para un canal con ruido aditivo blanco gaussiano la capacidad, según el
teorema de Shannon, es:
C
2 bps
H B log 1
N 0B
siendo B= el ancho de banda del canal en Hz.
C= la potencia de la señal en watios.
No = la densidad espectral de potencia de ruido en banda única.
B
H log 2 1 E b H Eb 2
B
N0 B N0 H1
B
EbNo( BHR
)
-1.59dB
-1.59 dB
2
0.1 BHR 8
1 1 E b 0.282
E b
BER 12 erfc E b
exp
exp
0 0 0
N N N
2
Eb 0.282
BER 10-10 : ln 21.76 13.38
No 10 dB
10
Margen
H
Margen
Eb
11.62dB
11.62
2
2B
Límite de 2 1.5 1.76 dB
N0 1 1
2 dB
Shannon : H
Lacodificación
La codificaciónpermite,
permite,sobre
sobreBtodo
todopara
paracondiciones
condicionesEb/No
Eb/Nobajas,
bajas,mantener
mantener
la BER
la BER sinsin incrementar
incrementar excesivamente
excesivamente elel ancho
ancho de
de banda,
banda, acercándonos
acercándonos al
al
límiteteórico.
límite teórico.
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 25
Codificación para detección de errores
• Es una técnica por la que añadiendo bits redundantes a una
secuencia de datos podemos detectar un error en la
misma.
k n
n
Pe (k ) p (1 p
k
k )
n n
k !(n!
k
k )!
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 27
Probabilidad de Error
•En el caso de un código ASCII la probabilidad de que haya 2
bits erróneos será mucho mayor que la de que haya 4 y por tanto
la probabilidad de que haya un error no detectado será:
8 2
Pwc Pe (2) p (1 p ) 6 28p
2
2
si la probabilidad de bit erróneo en el enlace es p << 1.
•Si no se hubiese utilizado el bit de paridad la probabilidad de
tener un error en el carácter de 7 bits sería:
7
Puc p u (1 pu )7 7p u
1
28p 2
4
7p u p
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 28
Probabilidad de Error
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 29
BER en el canal con y sin Codificación
0.1 0.1
6 8
10 10
0 EbNo 12 0 EbNo 12
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 30
Ganancia de Codificación
0.1
Pw
Pb
7
Pb( EbNo)
Pbc( EbNo
)
Pwc
Pb c
7
6
10
0 EbNo 12
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 31
Códigos de Bloques (n,k)
Un código de bloques es aquél en el que se pueden enviar 2k mensajes distintos,
de k bits cada uno, a los que se añaden (n-k) bits redundantes que se generan
a partir de los k bits del mensaje siguiendo una regla predeterminada.
Un código de bloques es sistemático si los primeros (últimos) k bits son el
mensaje y los restantes (n-k) son los de chequeo. Al bloque de n bits se le llama
palabra de código. Los códigos de bloques se designan como (n,k), p.e. el
código ASCII sería un código (8,7).
Un código de bloques es lineal cuando la suma módulo 2 de dos palabras de
código es también otra palabra de código. La forma general de obtener una
palabra de código lineal es:
C D 1, k G k ,
donde D es un mensaje (vector de k elementos) y G es la matriz generadora (con
n ambas (módulo 2) se obtiene la palabra de
k filas y n columnas). Al multiplicar
código de n elementos.
La forma general de G, para un código sistemático, es:
G I k Pk ,n k G P I
k
n
donde Ik es la matriz identidad. Dek esta
n forma, al multiplicar por D, los k primeros
(últimos) elementos de C son los dek ,n D.
k
k
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 32
Chequeo de paridad y Síndrome
Las palabras codificadas se llaman también vectores de código.
Para detectar errores en los vectores de código usamos la matriz de chequeo de
paridad H: H In k P
H PT I
T
nk
n k
n
n k
n
siendo P la traspuesta de Pk,n-k e In-k la matriz identidad.
T
Dado que todas las palabras de código C son tales que: CxHT = 0, si el resultado
de RxHT es cero la palabra recibida será una palabra del código. Si el producto
no es cero habrá un error E de manera que R=C+E.
S R H T C E H T C H T E H T
y por tanto será cero si no hay error (E=0). Por contra, si no es cero, habráCSAT 33
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo
error.
Códigos de Bloques
Mensaje bloques de k bits 2k mensajes distintos
Palabra código bloques de n bits (n>k) 2k palabras código distintas
SubespacioVVk k
Subespacio
22k-n
k-n tuplas
tuplas Espacio Vn
Palabrascódigo
Palabras código 2n-n
… tuplas
Ejemplo:
Espacio V4={0000 0001 0010 0011 0100
0101 0110 0111
1000 1001 1010 1011 1100
1101 1110 1111}
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 34
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 35
Matriz generadora G
Dos opciones de implementación:
1) Look-up tables 2k entradas
Si (127,92) 292~5·1027 palabras código Memoria, Tiempo de búsqueda
...
V1 v11 v12
V v 21 22 2n
G ...2 U mG
v1n
V ...
k v k1 vk ... v
2 kn
kn Miguel Calvo
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, CSAT 36
Códigos bloque sistemáticos
Un código de bloques es sistemático si los primeros (últimos) k bits son el
mensaje y los restantes (n-k) son los de chequeo.
Pk ,n k I k
k n
101 011101
011 110011 G k
111 000111
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo
n
CSAT 37
Matriz G para códigos sistemáticos
En el ejemplo anterior de código (6,3):
V1 1 1 0 1 0 0
G V 2 0
1 1 0 1 0
V3 0 1 0 0 13
6
1
P33
I33
V1 1 1 0 1 0
Para
mG 1 1 0m=[1
elbloque 1 0] , operando
1 1 en
0 modulo-2, 1 1
1 0 1 0se1 tiene:
V2 1 000
0
1 m
V3 1 0 1 0 0 1
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 38
Matriz de chequeo de paridad H
Nos permite decodificar la palabra recibida
Si G (kn) es la matriz generadora, existe H (n-kn) cuyas filas son
ortogonales a las de G:
G HT 0
H In P T nk H T
I n k
P
k n
nn k
Cuando se recibe una palabra código sin errores, se
cumple que:
U mG U H T mG H T m G H T
0
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 39
Síndrome
Si r=[r1 r2 … rn] es la palabra recibida, puede descomponerse la palabra
código transmitida U más el vector de errores producidos en el canal es:
rUe
Si multiplicamos por H, obtenemos el síndrome S:
S r H T U e H T U H T e H T e H T
Por tanto:
• Si r no tiene errores S=0
• Si r tiene errores detectables S0 en alguna posición
• Si r contiene errores corregibles S nos da información de la
posición
Propiedad de los códigos de bloques lineales: existe una
correspondencia biunívoca entre los patrones de error y los síndromes.
Propiedad de los códigos de bloques lineales: existe una
correspondencia biunívoca entre los patrones de error y los síndromes.CSAT 40
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo
Síndrome. Ejemplo
Se envía U=[1 0 1 1 1 0] (palabra código de m=[1 1 0]),
y se recibe r=[0 0 1 1 1 0].
El primer bit se detecta erróneamente.
Calculamos el síndrome: 1 0 0
0 1 0
S r HT e HT
0 1 1 1 0
0 0 1
1 0
0
1 1 0
0 1 1
1 0 lineales
Este sistema de n-k ecuaciones 1 tiene
2k soluciones Hay 2k patrones de error con
el mismo síndrome
En un canal BSC, se selecciona el patrón con
más ceros como error más probable
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 41
Matriz típica o estándar
•Empezamos colocando en la primera fila los 2k vectores del código con el
vector nulo U1=(0,0...,0) como primer elemento.
• La primera fila está formada por todos los patrones de error corregibles
•De las 2n-2k n-tuplas restantes se toma una e2 como vector de error y se
sitúa debajo del U1, obteniendo el resto de elementos de la fila como suma
de e2 con los vectores código de la fila primera poniendo e2+Ui bajo el vector
Uj. Para la tercera fila se coge otro que no se encuentre en las dos primeras y
se le llama e3. El resto de la fila lo forman las palabras e3+Ui que se sitúa bajo
Uj.
U1 U2 ... U i ... U 2 k
Coconjunto
(coset) e2 U 2 e2 ... U i e 2 ... U 2 k
e32 U 2 e3 U i e3 ... U 2 e 3
k
2)En una fila de una matriz típica no existen dos n-tuplas iguales. Cada
n-tupla aparece en una y sólo una fila.
c1
1
2 c2
CONVERSOR
CONVERSOR CONVERSOR
CONVERSOR
SERIE
SERIE ROM ck PARALELO
ROM PARALELO
PARALELO
PARALELO SERIE
SERIE
K
cn
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 45
Decodificador de Bloques
R
CONVERSOR
CONVERSORSERIE/PARALELO
SERIE/PARALELO
R1 R2 Rn
CALCULADOR
CALCULADORDEDESINDROME
SINDROME
(ROM)
(ROM)
S1 S2
Sn-k
GENERADOR DEL VECTOR DE ERROR
GENERADOR DEL VECTOR DE ERROR
(ROM)
(ROM)
R1 E1 E2 Rn
En
+ + R2 +
PALABRA DECODIFICADA
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 46
Peso y Distancia de Hamming
Los códigos de bloques lineales forman un espacio vectorial lineal y tienen
la propiedad de que dos palabras de código pueden sumarse módulo 2 y
formar otra palabra de código.
Unparámetro
Un parámetroimportante
importantede
delos
loscódigos
códigosde
debloques
bloquesesesla
ladistancia
distanciamínima
mínimaque
que
determina la
determina la capacidad
capacidad de
de corrección
corrección de
de errores
errores del
del código.
código.
Claramente d(u,v) = w(u v), donde u v = (001101) es otra palabra del CSAT 47
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo
código.
Distancia Mínima (n,k,dmin)
De la discusión anterior resulta claro que la distancia mínima dmin de un código
es igual al peso mínimo de sus palabras de código no nulas:
d m in w m in min w v , v 0
d v , r d u, r d v , u d m in
d u, r d m in t CSAT 48
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo
Capacidad de Corrección
En base a la regla de decodificación de máxima verosimilitud la secuencia
recibida r será decodificada correctamente como la palabra transmitida v si
la distancia de Hamming es menor que la distancia d(r,u) a cualquier otra
palabra u del código.
d u, r t
Elparámetro
El parámetrot=
t=(d
(dmin-1)/2
-1)/2es
eslalacapacidad
capacidadde
decorrección
correcciónde
deerrores
erroresaleatorios
aleatorios
min
delcódigo.
del código.
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 49
Corrección y Detección
dmin=5
U r1 V
U r2 V
t=2
U r3 V
U V
e=4
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 50
Número de palabras con distancia menor o igual a t
ni
i 0
Ya que hay 2k posibles palabras de código transmitidas, el número total de
palabras con distancia menor o igual que t a otras es:
t
2 k
ni
i 0 Ramón Martínez, Miguel Calvo CSAT 51
Comunicaciones por Satélite. Curso 2008-09.
Límites de Empaquetado
El número de secuencias de llegada no puede ser superior a 2n. Por tanto, debe
satisfacerse la desigualdad:
t
2 k
ni 2 n
i 0
t
i 0 i
d m in 2
n 1 nk
2
i 0 i
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 52
Ejemplo de Empaquetado
Se desea realizar un código (63,k) con distancia mínima 5. Obtener los posibles
valores de k.
Solución:
t
d m in 2
n n 1
Debe cumplirse: 2n k
i 0
i i 0 i
d 1
t m in2 2
2
63 2017 log2017 10.978
i 0 i log(2)
3
El conjunto A0, A1, ... , An recibe el nombre de distribución de pesos del código.
A pj j 1 p
n j
P
nd
i0
CSAT 54
Tasa de Error en Códigos de Bloques Lineales
E c k n Eb Eb
Por tanto, la energía por bit se reduce con el uso de la codificación, con
lo
Por tanto, la energía por bit se reduce con el uso de la codificación, con
que aumenta la tasa de error, pero se obtiene una ganancia neta en
lo que aumenta la tasa de error, pero se obtiene una ganancia neta en
características gracias a la capacidad de corrección de errores de la
características gracias a la capacidad de corrección de errores de la
decodificación.
decodificación.
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 55
Tasa de Error en Códigos de Bloques Lineales
Pwu 1 1 p
La probabilidad media de error en una palabra de código Pw tiene como límite
superior: n
k
n
Pw n i
p
i
1 p
i t 1
i
La igualdad en la ecuación anterior se produce cuando el código es perfecto.
Recuérdese que un código no perfecto puede corregir un total de 2n-k
combinaciones de errores incluyendo aquellas con t o menos errores.
n
nt
Pw t 1 t1 1
p 1 p
Las ecuaciones obtenidas permiten comparar las probabilidades de bloque
erróneo y de palabra errónea.
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 56
Tasa de bit erróneo
En el caso de Eb/No alta, se puede suponer que las palabras recibidas erróneas
son producidas por la existencia de (t+1) bits erróneos, de los cuales, en
promedio, (t+1)k/n son de información. Por tanto, puede aproximarse la tasa de
error en los bits de información por (límite inferior):
t1
Pb n P
w
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 57
Tasa de Bit Erróneo
n
n
i t n i ni 2t n 1 t t
Pb p 1 p 1 p 1
i t n i
1
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 58
BER en el canal con y sin Codificación
0.1 0.1
10 6 10 8
0 EbNo 12 0 EbNo 12
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 59
Ganancia de Codificación
0.1
Pb( EbNo )
Pbc( EbNo)
6
10
0 EbNo 12
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 60
Códigos de Hamming
Su estructura es (n,k)=(2m-1,2m-1-m),
0 1 1 1 0 1 1 1 0 0 0 3
D 1 0 0 0 1 1 1 4
1 0 0 0
1 0 0 1 1 0 0 1 1 0 0 3
1 0 1 0 0 1 0 3
1 0 1 0
1 0 1 1 0 0 1 4
1 0 1 1
10 1 1 0 0 0 0 1 3
1 1 0 0
1 1 0 1 0 1 0 4
1 1 0 1
1 1 1 0 1 0 0 4
1 1 1 0
1 1 1 1 1 1 1 7
wi 5 1 1 1 1
0
0 1 2 3 4 5 6 7
intervi
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 62
Código de Hamming (7,4)
La matriz de chequeo de paridad H será:
1 1 1 0 1 0 0
Lostres
Los tresúltimos
últimosbits
bitsson
sonde
dechequeo
chequeoyysisielelerror
errorse
seproduce
produceen enellos
ellosnonohabrá
habrá
que hacer
que hacer ninguna
ninguna corrección.
corrección. La
La secuencia
secuencia enviada
enviada será
será la
la de
de los
los 44 primeros
primeros
bitsdado
bits dadoque
queelelcódigo
códigoes
essistemático.
sistemático.
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 63
Tasa de Bit Erróneo
Para calcular la probabilidad de bit erróneo en un canal BSC (función de
transferencia del código) con probabilidad de transición p aplicamos la
fórmula: n
j
PB( p , n , 1.
j.Comb( n , j) . p j . ( 1 p) n
t)
n j=t
1
2
3
i
log PB 10 , 7 , 1
(7,1)
log PB 10 i , 15 ,
4
1
i
log PB 10 i , 31
24 ,
31 5
log PB 10 i , 127 ,
10 (24, )
i 6 3
log PB 10 , 127 ,
15
0.01
2
10
3
1 10
Pb(1 1 EbNo)
4
1
Pw(Pb(7 4 EbNo) 7 1)
10
Pw(Pb(7 4 EbNo) 7
1) 4
5
1 10
PB(Pb(7 4 EbNo) 7
1)
6
1 10
10 71 10 7
4 6 8 10 12
4 EbNo 12
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 65
Códigos Cíclicos Binarios
Son un tipo de códigos lineales de bloques cuya ventaja consiste en que su
implementación puede hacerse de forma simple utilizando puertas lógicas
y registros de desplazamiento.
Por lo tanto, en un código cíclico binario (n,k) hay n posibles palabras de código
que pueden obtenerse por los n posibles desplazamientos.
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 66
Códigos Cíclicos Binarios
El vector Vi desplazado i bits será:
V i x v x n 1 v x L v
n i 1 n i n i 1
x i V x q x x n 1 V i x
CSAT 67
Códigos Cíclicos Binarios
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 68
Ejemplo de Código (7,4)
Se quiere generar un código cíclico (7,4) con un polinomio generador g(x)=1+x+
+0x2+x3. Determinar la palabra de código correspondiente al vector de datos
D=(1010) cuyo polinomio correspondiente es D(x)=1+0x+x2+0x3.
1) Código no sistemático:
V x D x gx 1 x 1 x x 1 x x
2 3 3
x2x3
51 x x
2
x V=(1110010)
x
5
x3 x
5
x2 + x3 1x2+ x + x3
V x x 3 1 x 2 x 2 x 2 x 3
+ x5 q(x)=x 2
V=(0011010)
r(x)=x2 x5
x2 + 0
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 69
+0
Implementación de un Código Cíclico Sistemático
In
Puerta
g0 g1 g2
gn-k-2 gn-k-1
1
r0 + r1 + + + + Out
rn-k-2 rn-k-1
2
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 70
Ejemplo: Hamming (7,4)
D r0 r1 r2
(D+ r2) (D+ r2)+ r0 r1
0 0 0
0 0 0 0
1 1 1 0
0 0 1 1
1 0 0 1
In
Puerta
g x 1 x x 3
1
r0 + r1 + r2 + Out
Si el error es E(x) será : R(x) = V(x) + E(x) = D(x) g(x) + E(x). Por lo tanto:
R x S x E x
qx D x
gx gx gx
Ex S x qx D x gx
Si el síndrome es cero, no hay error.
El síndrome proporciona además la posición del error y permite corregirlo.
El síndrome proporciona además la posición del error y permite
corregirlo. Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 72
Implementación del Cálculo del Síndrome
Puerta
g1
gn-k-2 gn-k-1
In
Puerta + s0 + + +
sn-k-2 sn-k-1
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 73
Ejemplo
M s0 s1 s2
(s2+M) (s0+s2) (s1)
0 0 0
0 0 0 0
1 1 0 0
0 0 1 0
1 1 0 1
1 0 0 0
0 0 0 0
0 0 0 0
Puerta
In
Puerta + s0 + s1 s2
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 74
Código de Golay
Es un código (23,12) con una distancia mínima dmin=7 capaz de corregir 3 o
menos errores.
Es un código perfecto.
g 2 x 1 x x x x x x
5
6
7
9
11
Códigos g(x)=(1+x)·g’(x)
CRC-12 1 + x + x2 + x3 + x11 + x12
CRC-16 1 + x2 + x15 + x16
CRC-CCITT 1+ x5 + x12 + x16
CSAT 76
Códigos BCH
Son una generalización de los códigos de Hamming que permiten una
corrección de errores múltiples. Para cualquier entero positivo m>3 y
t<2m-1 hay un código BCH con los siguientes parámetros:
0.01
2
10
BPSK
3 Hamming (7,4)
1 10
Pb(1 1
EbNo)
Hamming (15,11)
PB(Pb(7 4 EbNo) 7
4
1) 1 10
PB(Pb(15 11 EbNo) 15
1) Golay (24,12)
PB(Pb(24 12 EbNo) 24
3) 5
PB(Pb(127 64 EbNo) 127 1 10 BCH (127,64)
10)
PB(Pb(127 36 EbNo) 127
15)
6
1 10
BCH (127,36)
7 7
10 1 10
4 6 8 10 12
4 EbNo 12
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 78
Códigos Reed-Solomon
Son un tipo importante de códigos BCH no binarios con los
siguientes parámetros:
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 79
Códigos Reed-Solomon
Los pasos para la construcción de un código RS son:
Ejemplo:
BER=10-
7
EbNo
gain ~ 3
dB
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 82
RS-Misiones de espacio profundo
Voyager (Venus)
Mars Pathfinder (Marte)
Galileo (Jupiter)
Mars Exploration Rover (Marte)
Cassini (Saturno)
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 84
Prestaciones de códigos Reed-Solomon
Fuente: SKLAR
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 85
Prestaciones de códigos Reed-Solomon
Fuente: SKLAR
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 86
OSCAR-40: FEC para telemetría
Redundancia: x2.5
Fuente: www.amsat.org/amsat/articles/g3ruh/125.html
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 87
OSCAR-40: FEC para telemetría
Fuente: www.amsat.org/amsat/articles/g3ruh/125.html
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 88
Códigos acortados
• Se usan cuando la longitud de un código no puede
utilizarse (longitud de paquetes, tasa binaria, etc.).
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 90
Reed Solomon Decoder (Lattice)
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 91
Ejemplo de implementación (Univ. Surrey)
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 92
Plataforma para RS (Xilinx)
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 93
Plataforma para RS (Altera)
Comunicaciones por Satélite. Curso 2008-09. Ramón Martínez, Miguel Calvo CSAT 94
High-Rate Front-End Processor (RT Logic)
ASIC
Comunicaciones por Satélite. Curso 2008-09 . Ramón Martínez, Miguel Calvo CSAT 95