Está en la página 1de 95

CSAT 1

Comunicaciones por Sat Comunicaciones por Sat lite lite


Curso 2008 Curso 2008- -09 09
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Codificaci
Codificaci

n de canal
n de canal
Codificaci
Codificaci

n por bloques
n por bloques
Miguel Calvo Ramn
Ramn Martnez Rodrguez-Osorio
CSAT 2
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo

ndice
ndice
Introduccin. Concepto y objetivo de la codificacin de
canal
Sistemas basados en ARQ
Modelos de canal. Decisin dura vs. Decisin blanda
Capacidad del canal. Lmite de Shannon
Esquemas FEC
Parmetros caractersticos de un cdigo
Cdigos de bloques. Cdigos de Hamming, Golay, BCH, Reed-
Solomon
Cdigos convolucionales. Decodificador de Viterbi. Ejemplo
Aspectos de implementacin
Modulacin codificada (TCM)
Turbocdigos
Cdigos LDPC
CSAT 3
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
En sistemas digitales puede mejorarse la BER usando tcnicas
de correccin de errores. En sistemas analgicos estas tcnicas
no existen o requieren tiempos de proceso muy grandes.
La redundancia estructurada es un mtodo de insertar smbolos
adicionales a los de informacin del mensaje. La unicidad de la
redundancia estructurada permite tolerar el que varios smbolos
de informacin puedan ser errneos sin destruir la unicidad de la
informacin que contienen, lo que causara un bloque de error.
El promediado de ruido se obtiene haciendo depender los
smbolos redundantes de un conjunto de varios smbolos de
informacin.
Codificaci
Codificaci

n
n
CSAT 4
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Familias de c
Familias de c

digos
digos
Redundancia estructurada
ARQ
FEC
Convolucionales
TCM Turbocdigos
- Parada y espera
- Continua con vuelta atrs
- Transmisin selectiva
Cdigos de bloques
-Hamming
-Cclicos binarios
-Golay
-CRC
-BCH
-Reed-Solomon
LDPC
CSAT 5
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Usos de la Codificaci
Usos de la Codificaci

n
n
Deteccin de error y retransmisin (ARQ)
Utiliza los bits de paridad (bits redundantes aadidos a los de
datos) para detectar la presencia de errores.
El terminal receptor no intenta corregir los errores y
simplemente pide al transmisor una retransmisin de los datos.
Se requiere por tanto un enlace doble (ida y vuelta) para
establecer este dilogo entre transmisor y receptor.
Correccin adelantada de errores (FEC)
Necesita slo un enlace de ida
Los bits de paridad se disean tanto para detectar la presencia
de errores como para corregirlos.
No es posible corregir todos los posibles errores.
CSAT 6
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Ganancia de Codificaci
Ganancia de Codificaci

n
n
BER
Eb/No (dB)
Mejora de BER
10
-4
10
-8
Ganancia Codificacin
< 5 dB
CSAT 7
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Tipos de Conexi
Tipos de Conexi

n
n
Simplex
Un terminal A se conecta a otro B en una sola direccin
La transmisin 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 simultneamente.
Duplex
Hay un doble enlace entre los dos terminales
Las transmisiones pueden realizarse en las dos direcciones
simultneamente.
A B
Simplex
A B
Semiduplex
A B
Duplex
CSAT 8
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Petici
Petici

n Autom
n Autom

tica de Retransmisi
tica de Retransmisi

n (ARQ)
n (ARQ)
ARQ de parada y espera
El transmisor enva un bloque de informacin y espera del receptor
una seal de reconocimiento (ACK), que le indica que la informacin
se ha recibido sin errores, antes de que proceda al envo de ms
informacin.
Si se detectan errores, el receptor enva una seal de no
reconocimiento (NAK) y el transmisor retransmite la informacin.
Slo requiere una conexin semiduplex.
ARQ continua con vuelta atrs
El transmisor enva continuamente paquetes de informacin, con un
nmero de identificacin, y el receptor enva los correspondientes
ACK o NAK con la identificacin del paquete.
Cuando se recibe un NAK el transmisor vuelve a retransmitir desde el
bloque errneo en adelante.
Se requiere una conexin dplex.
ARQ con repeticin selectiva
Parecido al anterior con la diferencia de que slo se retransmiten los
mensajes recibidos con error.
CSAT 9
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
ARQ versus FEC (1)
ARQ versus FEC (1)
Con errores a rfagas: ARQ funciona mejor que los FEC
simples
Con errores independientes: FEC funciona mejor que ARQ
Si se conoce la naturaleza de los errores, puede disearse un
sistema FEC ad-hoc ms eficiente que ARQ
FEC es muy sensible a la degradacin del canal (interferencia,
ruido impulsivo, atenuacin, etc.)
Las curvas de BER vs. Eb/No tienen mucha pendiente
ARQ requiere grandes buffers de memoria e introduce
retardo, mientras que en los sistemas FEC el throughput se
mantiene constante
CSAT 10
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
ARQ versus FEC (2)
ARQ versus FEC (2)
La ventaja del ARQ sobre el FEC es que el equipo de
deteccin de errores es mucho ms simple y se requiere
el uso de menos redundancia en los cdigos.
Debe usarse FEC cuando:
la conexin es simplex,
siendo semiduplex los retardos con ARQ sean excesivos,
el nmero esperado de errores (sin correccin) implique un
nmero excesivo de retransmisiones.
CSAT 11
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
C
C

digos de Bloques
digos de Bloques
Los datos (smbolos binarios o bits) se segmentan en bloques
de k-bits, donde k es la longitud de bloque.
Cada bloque de informacin puede representar uno de M = 2
k
mensajes diferentes.
El codificador transforma cada bloque de informacin en un
bloque mayor de n bits (n > k) aadiendo n-k bits redundantes
de una manera predeterminada.
Cada bloque de n bits constituye una palabra de cdigo
contenida en el conjunto de M posibles valores.
Las palabras de cdigo se modulan y transmiten al canal.
Un codificador de bloques es un dispositivo sin memoria en el
sentido de que cada n bits de cdigo dependen solamente de
un bloque de k bits de informacin especfico y no de otros.
CSAT 12
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
C
C

digos de Bloques
digos de Bloques
La relacin entre los bits de informacin y los bits totales de
una palabra de cdigo se denomina tasa de codificacin R =
k/n.
Si R
b
es la tasa de bits de informacin a la entrada la tasa de
bits codificados a la salida es: R
c
= nR
b
/k .
n vara entre 3 y algunos cientos; R entre 1/4 y 7/8.
La correccin de errores puede hacerse con cdigos de
bloques (n,k) porque slo pueden transmitirse M = 2
k
posibles
palabras de cdigo y el nmero de posibles palabras
recibidas 2
n
es mucho mayor.
La unicidad con que se aaden los n-k bits redundantes
permite al decodificador identificar el mensaje que se ha
transmitido.
CSAT 13
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
C
C

digos de Bloques
digos de Bloques
R
b
bit/s
1010101010110101010
k k k k k

Bloques de
k bits
Bloques de
k bits
Asignacin de
palabra de
cdigo
Asignacin de
palabra de
cdigo
11100011011100110011
n n n

R
c
=(n/k)R
b
bit/s
(k=3)
(n=5)
Hay una correspondencia biunvoca entre los bloques de informacin y
las palabras cdigo.
Hay una correspondencia biunvoca entre los bloques de informacin y
las palabras cdigo.
Dispositivos sin
memoria (la palabra
cdigo slo depende
del bloque actual).
Dispositivos sin
memoria (la palabra
cdigo slo depende
del bloque actual).
Parmetros del cdigo:
k=longitud de los bloques
n=longitud de la palabra cdigo
(n-k)=nmero de bits de redundancia
R=k/n=tasa de codificacin
R
c
: velocidad binaria a la salida del codificador
CSAT 14
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Redundancia de la Codificaci
Redundancia de la Codificaci

n
n
M=2
k
Palabras de Cdigo
2
n
Mensajes Recibidos
CSAT 15
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Codificaci
Codificaci

n
n
Convolucional
Convolucional
Los datos de informacin se hacen pasar por un registro de
desplazamiento de M etapas que desplazan k bits al tiempo.
Para cada M bits de informacin almacenados en el registro
de desplazamiento hay n circuitos lgicos que operan sobre
el contenido del registro de desplazamiento para producir n
bits de cdigo como salida.
La tasa de codificacin es por tanto R = k/n.
Un bit de informacin permanece en el registro de
desplazamiento durante M/k cambios e influye en el valor de
nM/k bits de cdigo. Por ello, el codificador convolucional es
un dispositivo con memoria.
Valores tpicos de k y n estn entre 1 y 8, para R entre 1/4 y
7/8 y para M entre 5 y 70.
CSAT 16
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Codificaci
Codificaci

n
n
convolucional
convolucional
+
+
In
Out
101010111010 11100011011101111
Parmetros del cdigo:
M=nmero de etapas del registro de desplazamiento
k=nmero de smbolos de entrada
n=nmero de circuitos lgicos
R=k/n=tasa de codificacin
R
c
: velocidad binaria a la salida del codificador
M=3, k=1, n=2
Un bit de informacin permanece en el registro de desplazamiento durante
M/k cambios e influye en el valor de nM/k bits de cdigo. Por ello, el
codificador convolucional es un dispositivo con memoria.
Un bit de informacin permanece en el registro de desplazamiento durante
M/k cambios e influye en el valor de nM/k bits de cdigo. Por ello, el
codificador convolucional es un dispositivo con memoria.
CSAT 17
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Canal Discreto
Canal Discreto
Canal Discreto sin Memoria
(DMC)
Fuente Codif. Modul. D/A HPA
Canal
LNA A/D Demod. Decod. Usuario
AWGN
v
r
CSAT 18
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Canal Discreto
Canal Discreto
El canal discreto sin memoria (DMC) se caracteriza por:
un conjunto de smbolos de entrada M-arios, que son invariantes e
independientes smbolo a smbolo.
smbolos de salida Q-arios
probabilidades de transicin Pr(j|i), 0<= i <= M-1, 0 <=j <= Q-1
donde i es un smbolo a la entrada del modulador,
j es un smbolo a la salida del demodulador y
Pr(j|i) es la probabilidad de recibir j cuando se ha transmitido i
0
1
0
1
1-p
p
p
1-p
0
0
1
q-1
1
Pr(0|0)
Pr(1|0)
Pr(q-1|0)
Pr(q-1|1)
CSAT 19
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Canal Binario Sim
Canal Binario Sim

trico con Decisi


trico con Decisi

n Dura
n Dura
El canal DMC ms usual es canal binario simtrico BSC
se utiliza modulacin 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.
La probabilidad de transicin p puede calcularse a partir de la forma de onda
usada en la transmisin, la funcin densidad de probabilidad de ruido y el
umbral de cuantificacin de salida del demodulador.
Por ejemplo, cuando se utiliza BPSK con demodulacin
coherente la probabilidad de transicin es el valor medio
de la probabilidad de error de bit.
El umbral ptimo es 0 y la salida es 0 si la tensin de salida del filtro
adaptado es negativa.
El proceso de decodificacin se llama decodificacin con decisin dura.
CSAT 20
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Canal Binario Sim
Canal Binario Sim

trico con Decisi


trico con Decisi

n Blanda
n Blanda
Si la salida del demodulador utiliza cuantizacin con Q >2, o incluso se
deja sin cuantizar, se dice que el demodulador toma decisiones blandas.
El decodificador acepta seales multinivel (o analgicas) y el proceso de
decodificacin se denomina decodificacin blanda.
Un decodificador de decisin blanda es ms complejo que uno de
decisin dura
Se necesita un control automtico de ganancia y adems hay que manipular
log
2
Q bits por cada bit del canal.
La decisin blanda ofrece ganancia de codificacin adicional de 2 dB
sobre la decisin dura, para valores realistas de Eb/No.
En la prctica se usan normalmente 8 niveles de cuantizacin ya que al
tomar ms niveles se obtiene poca ganancia adicional (~0.2 dB).
Las salidas cuantizadas a ocho niveles tienen un umbral de decisin y
tres pares de umbrales de confianza.
CSAT 21
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Decisi
Decisi

n Dura
n Dura
vs
vs
Blanda
Blanda
Tensin entrada
Funcin
densidad
probabilidad
1
0
0
1
0
1
1
1
0
1
1
1
0
0
1
0
1
0
0
1
1
0
0
0
Bits Decisin Dura
Bits Decisin Blanda
111
110
101
100
011
010
001
000
+1
-1
Tensin entrada
Tensin salida
CSAT 22
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
p(z|s
2
)=p(z|0) p(z|s
1
)=p(z|0)
Decisi
Decisi

n Dura
n Dura
vs
vs
Blanda
Blanda
000 001 010 011 100 101 110 111
Decisin blanda
de 8 niveles
Decisin dura
(2 niveles)
0 1
Informacin
enviada el
detector
z(T)
CSAT 23
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Capacidad del Canal
Capacidad del Canal
Para un canal con ruido aditivo blanco gaussiano la capacidad, segn el
teorema de Shannon, es:
siendo B= el ancho de banda del canal en Hz.
C= la potencia de la seal en watios.
No = la densidad espectral de potencia de ruido en banda nica.
H B
C
N B
bps = +

log
2
0
1
Para un canal digital (binario): H=1/Tb y Eb = CTb = C/H, siendo Tb la
duracin de bit. Por tanto:
H
B
E
N
H
B
E
N
b b
H
B
H
B
= +

=

log
2
0 0
1
2 1
La relacin H/B es la eficiencia espectral del enlace/canal.
CSAT 24
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
L
L

mite de
mite de
Shannon
Shannon
El lmite H/B 0 (B/H ) es Eb/No = ln 2, y en dB: 10log(ln 2) = -1.59 dB.
Por tanto, independientemente del ancho de banda utilizado, no se puede
transmitir informacin libre de errores por debajo del lmite Eb/No = -1.59 dB.
-1.59 dB
-1.59 dB
22
2
EbNo( ) BHR
8 0.1 BHR
CSAT 25
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
L
L

mite de
mite de
Shannon
Shannon
vs
vs
QPSK
QPSK
La codificacin permite, sobre todo para condiciones Eb/No bajas, mantener
la BER sin incrementar excesivamente el ancho de banda, acercndonos al
lmite terico.
La codificacin permite, sobre todo para condiciones Eb/No bajas, mantener
la BER sin incrementar excesivamente el ancho de banda, acercndonos al
lmite terico.
En la prctica se trabaja lejos del lmite terico. Por ejemplo, una transmisin
QPSK con una BER de 10
-10
utiliza una eficiencia espectral H/B de 2 y una
Eb/No que puede obtenerse de la expresin:
BER erfc
E
N
E
N
E
N
b b b
=

1
2
0 0 0
1
2
1
0 282

exp . exp
dB 76 1 5 1
2
1 2 1 2
: Shannon de Lmite
2
0
. .
N
E
B
H
B
H
b
= =

=
dB 38 13 76 21
10
282 0
No
Eb
: 10 BER
10
10 -
. .
.
ln = =

= =

Margen
11.62 dB
Margen
11.62 dB
CSAT 26
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Codificaci
Codificaci

n para detecci
n para detecci

n de errores
n de errores
Es una tcnica por la que aadiendo bits redundantes a una
secuencia de datos podemos detectar un error en la misma.
Salvo que se aada un bit redundante por cada bit de datos no es
posible el detectar con esta tcnica cul es el bit errneo.
Normalmente se aade un bit redundante por cada N bits de datos
con lo que se puede detectar la presencia de un error en el bloque
de N bits.
Como ejemplo, consideraremos el conocido cdigo ASCII de 8 bits,
con uno de paridad. El cdigo contiene 128 (2
7
) caracteres, cada uno
de 7 bits de datos ms uno de paridad.
Los 7 bits de datos permiten representar el alfabeto en maysculas
y minsculas, los nmeros del 0 al 9, los signos de puntuacin y
adicionalmente algunos comandos.
CSAT 27
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
P k
n
k
p p
e
k n k
( ) ( ) =



1
n
k
n
k n k

!
!( )!
Control de Paridad
Control de Paridad
La paridad puede ser par, en cuyo caso la suma de todos los bits es par
(o cero si la suma se hace en mdulo 2), o impar en cuyo caso la suma
de todos los bits debe ser 1.
En un sistema con paridad par si la suma de todos los bits de un carcter
es par entonces ste se ha recibido sin error, o bien se ha recibido con 2
o ms (nmero par) errores, en cuyo caso no somos capaces de
detectarlos.
Si la tasa de bit errneo en el enlace es p (p < 10
-1
), la probabilidad de
que k bits de un bloque de n sean errneos P
e
(k) es:
CSAT 28
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Probabilidad de Error
Probabilidad de Error
En el caso de un cdigo ASCII la probabilidad de que haya 2
bits errneos ser mucho mayor que la de que haya 4 y por tanto
la probabilidad de que haya un error no detectado ser:
si la probabilidad de bit errneo en el enlace es p << 1.
Si no se hubiese utilizado el bit de paridad la probabilidad de
tener un error en el carcter de 7 bits sera:
Por tanto, si p p
u
, la mejora de codificacin sera:
P P p p p
wc e
=

( ) ( ) 2
8
2
1 28
2 6 2
P p p p
uc u u u


7
1
1 7
7
( )
28
7
4
2
p
p
p
u

CSAT 29
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Probabilidad de Error
Probabilidad de Error
Si por ejemplo p = 10
-3
, la probabilidad de error sin codificar sera
7x10
-3
.
Mientras que con control de paridad sera 28 x 10
-3
x 10
-3
= 2.8 x 10
-5
.
Si fuese p = 10
-6
entonces la probabilidad de error no detectado sera
de 2.8x10
-11
, que es muy pequea.
CSAT 30
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
0.1
10
6
PB( ) EbNo
PBc( ) EbNo
12 0 EbNo
0.1
10
8
PW( ) EbNo
PWc( ) EbNo
12 0 EbNo
BER en el canal con y sin Codificaci
BER en el canal con y sin Codificaci

n
n
CSAT 31
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Ganancia de Codificaci
Ganancia de Codificaci

n
n
0.1
10
6
Pb( ) EbNo
Pbc( ) EbNo
12 0 EbNo
7
w
b
P
P =
7
wc
b
P
c P =
CSAT 32
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
C
C

digos de Bloques (
digos de Bloques (
n,k
n,k
)
)
Un cdigo de bloques es aqul en el que se pueden enviar 2
k
mensajes distintos,
de k bits cada uno, a los que se aaden (n-k) bits redundantes que se generan
a partir de los k bits del mensaje siguiendo una regla predeterminada.
Un cdigo de bloques es sistemtico 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 cdigo. Los cdigos de bloques se designan como (n,k), p.e. el
cdigo ASCII sera un cdigo (8,7).
Un cdigo de bloques es lineal cuando la suma mdulo 2 de dos palabras de
cdigo es tambin otra palabra de cdigo. La forma general de obtener una
palabra de cdigo lineal es:
donde D es un mensaje (vector de k elementos) y G es la matriz generadora (con
k filas y n columnas). Al multiplicar ambas (mdulo 2) se obtiene la palabra de
cdigo de n elementos.
La forma general de G, para un cdigo sistemtico, es:
donde I
k
es la matriz identidad. De esta forma, al multiplicar por D, los k primeros
(ltimos) elementos de C son los de D.
( ) ( )
C D k G k n = 1, ,
[ ]
[ ]
G I P G P I
k k n k
k n
k n k k
k n
= =




, ,
CSAT 33
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Chequeo de paridad y S
Chequeo de paridad y S

ndrome
ndrome
Las palabras codificadas se llaman tambin vectores de cdigo.
Para detectar errores en los vectores de cdigo usamos la matriz de chequeo de
paridad H:
siendo P
T
la traspuesta de P
k,n-k
e I
n-k
la matriz identidad.
La deteccin del error se obtiene multiplicando la palabra de cdigo recibida R
por la traspuesta de la matriz de chequeo de paridad RxH
T
.
Dado que todas las palabras de cdigo C son tales que: CxH
T
= 0, si el resultado
de RxH
T
es cero la palabra recibida ser una palabra del cdigo. Si el producto
no es cero habr un error E de manera que R=C+E.
El producto RxH
T
recibe el nombre de sndrome S. El sndrome es igual a:
y por tanto ser cero si no hay error (E=0). Por contra, si no es cero, habr error.
[ ]
( )
[ ]
( )
H P I H I P
T
n k
n k n
n k
T
n k n
= =




( )
S R H C E H C H E H
T T T T
= = + = +
CSAT 34
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Mensaje bloques de k bits 2
k
mensajes distintos
Palabra cdigo bloques de n bits (n>k) 2
k
palabras cdigo distintas
El conjunto de palabras cdigo deben ser un subespacio de V
n
:
(a) Debe contener el elemento 0 0 0 0 0 0
(b) Operaciones de suma y producto en modulo-2
(c) La suma de dos palabras cdigo debe pertenecer al subespacio (lineal)
Ejemplo:
Espacio V
4
={0000 0001 0010 0011 0100 0101 0110 0111
1000 1001 1010 1011 1100 1101 1110 1111}
Subespacio S4={0000 0101 1010 1111}

Espacio V
n
2
n
-n tuplas
Subespacio V
k
2
k
-n tuplas
Palabras cdigo
Subespacio V
k
2
k
-n tuplas
Palabras cdigo
C
C

digos de Bloques
digos de Bloques
CSAT 35
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
C
C

digos de Bloques. Ejemplo


digos de Bloques. Ejemplo
Ejemplo de cdigo de bloques lineal: (n,k)=(6,3)
2
k
=8 palabras cdigo
Espacio V
6
=64 6-tuplas
0 0 0 0 0 0 0 0 0
1 0 0 1 1 0 1 0 0
0 1 0 0 1 1 0 1 0
1 1 0 1 0 1 1 1 0
0 0 1 1 0 1 0 0 1
1 0 1 0 1 1 1 0 1
0 1 1 1 1 0 0 1 1
1 1 1 0 0 0 1 1 1
Mensajes Palabras cdigo
Libro de
palabras
cdigo
CSAT 36
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Matriz generadora G
Matriz generadora G
Dos opciones de implementacin:
1) Look-up tables 2
k
entradas
Si (127,92) 2
92
~510
27
palabras cdigo Memoria, Tiempo de bsqueda
2) Matriz generadora del cdigo G
No requiere almacenamiento masivo de palabras cdigo
Las 2
k
codewords son un subespacio Puede encontrarse una base de k
vectores linealmente independientes (V
1
, V
2
, , V
k
)
Cualquier palabra cdigo U se obtiene como (m
i
=0, 1):
La matriz generadora de cdigo (kn) se define como:
n k
kn k k
n
n
k
v ... v v
...
v ... v v
v ... v v
V
...
V
V
G

=
2 1
2 22 21
1 12 11
2
1
mG U =
k k
V m ... V m V m U + + + =
2 2 1 1
CSAT 37
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
C
C

digos bloque sistem


digos bloque sistem

ticos
ticos
Un cdigo de bloques es sistemtico si los primeros (ltimos) k bits son el
mensaje y los restantes (n-k) son los de chequeo.
a
1
a
2
a
3
a
k

Mensaje (k bits)
Cdigo de
bloques
sistemtico
(n,k)
a
1
a
2
a
3
a
k

Palabra cdigo (n bits)


p
n-k
p
1
p
2
n-k bits de paridad
0 0 0 0 0 0 0 0 0
1 0 0 1 1 0 1 0 0
0 1 0 0 1 1 0 1 0
1 1 0 1 0 1 1 1 0
0 0 1 1 0 1 0 0 1
1 0 1 0 1 1 1 0 1
0 1 1 1 1 0 0 1 1
1 1 1 0 0 0 1 1 1
Mensajes Palabras cdigo
mensaje
La forma general de G, para un
cdigo sistemtico, es:
[ ]
n k
k n , k k
P I G

=
[ ]
n k
k k n , k
I P G

=
CSAT 38
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Matriz G para c
Matriz G para c

digos sistem
digos sistem

ticos
ticos
En el ejemplo anterior de cdigo (6,3):
Para el bloque m=[1 1 0] , operando en modulo-2, se tiene:
6 3
3
2
1
1 0 0 1 0 1
0 1 0 1 1 0
0 0 1 0 1 1

=
V
V
V
G
[ ] [ ] [ ] 0 1 1 1 0 1
1 0 0 1 0 1
0 1 0 1 1 0
0 0 1 0 1 1
0 1 1 0 1 1
3
2
1
=

=
V
V
V
mG
m
I
33
P
33
CSAT 39
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Matriz de chequeo de paridad H
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:
Para un cdigo sistemtico, H debe ser:
Cuando se recibe una palabra cdigo sin errores, se cumple que:
0 =
T
H G
mG U =
[ ]
n k n
T
k n
P I H

=
k n n
k n
T
P
I
H

=
( ) 0 = = =
T T T
H G m H mG H U
CSAT 40
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
S
S

ndrome
ndrome
Si r=[r
1
r
2
r
n
] es la palabra recibida, puede descomponerse la palabra
cdigo transmitida U ms el vector de errores producidos en el canal es:
Si multiplicamos por H, obtenemos el sndrome S:
Por tanto:
Si r no tiene errores S=0
Si r tiene errores detectables S0 en alguna posicin
Si r contiene errores corregibles S nos da informacin de la posicin
e U r + =
( )
T T T T T
H e H e H U H e U H r S = + = + = =
Propiedad de los cdigos de bloques lineales: existe una
correspondencia biunvoca entre los patrones de error y los sndromes.
Propiedad de los cdigos de bloques lineales: existe una
correspondencia biunvoca entre los patrones de error y los sndromes.
CSAT 41
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
S
S

ndrome. Ejemplo
ndrome. Ejemplo
Se enva U=[1 0 1 1 1 0] (palabra cdigo de m=[1 1 0]),
y se recibe r=[0 0 1 1 1 0].
El primer bit se detecta errneamente.
Calculamos el sndrome:
[ ] [ ] 0 0 1
1 0 1
1 1 0
0 1 1
1 0 0
0 1 0
0 0 1
0 1 1 1 0 0 =

= = =
T T
H e H r S
Este sistema de n-k ecuaciones lineales tiene
2
k
soluciones Hay 2
k
patrones de error con
el mismo sndrome
En un canal BSC, se selecciona el patrn con
ms ceros como error ms probable
CSAT 42
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Matriz t
Matriz t

pica o est
pica o est

ndar
ndar
Empezamos colocando en la primera fila los 2k vectores del cdigo con el
vector nulo U
1
=(0,0...,0) como primer elemento.
La primera fila est formada por todos los patrones de error corregibles
De las 2
n
-2
k
n-tuplas restantes se toma una e
2
como vector de error y se
sita debajo del U
1
, obteniendo el resto de elementos de la fila como suma
de e
2
con los vectores cdigo de la fila primera poniendo e
2
+U
i
bajo el vector
U
j
. Para la tercera fila se coge otro que no se encuentre en las dos primeras y
se le llama e
3
. El resto de la fila lo forman las palabras e
3
+U
i
que se sita bajo
U
j
.
k n
i
j j i j j
i
i
i
e U ... e U ... e U e
... ... ... ...
e U ... e U ... e U e
... ... ... ...
e U ... e U ... e U e
e U ... e U ... e U e
U ... U ... U U
k k n k n k n
k
k
k
k

+ + +
+ + +
+ + +
+ + +

2 2 2 2 2 2
2 2
3 2 3 3 2 3
2 2 2 2 2 2
2 2 1
Coconjunto
(coset)
Coset leaders
CSAT 43
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Correcci
Correcci

n de errores
n de errores
Teoremas:
1) Todo cdigo lineal de bloques (n,k) es capaz de corregir 2
n-k
patrones
de error.
2) En una fila de una matriz tpica no existen dos n-tuplas iguales. Cada
n-tupla aparece en una y slo una fila.
3) Todas las 2
k
n-tuplas de un coconjunto tienen el mismo sndrome. Los
sndromes para diferentes coconjuntos son distintos.
4) Por lo tanto, un cdigo bloque con distancia mnima d
min
es capaz de
detectar todos los patrones de error de d
min
- 1 o menos errores.
5) Un cdigo lineal (n,k) puede detectar 2
n
-2
k
patrones de error.
CSAT 44
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
1) A partir de las caractersticas del cdigo, detectar los patrones de
error corregibles.
2) Calcular la tabla de decodificacin: se calculan los sndromes de
todos los patrones de error anteriores.
3) Calcular el sndrome de la palabra recibida: S=rH
T
.
4) Localizar el coset leader (patrn de error) cuyo sndrome coincida con
el calculado en 3). ste ser el patrn de errores que se ha producido en
el canal e
i
.
5) Decodificar: Corregir el vector recibido sumando en mdulo-2 el
patrn de errores encontrado: r
decod
=r+e
i
.
Este mtodo, denominado decodificacin de sndrome, supone un
retraso en la decodificacin mnimo y una probabilidad de error mnima.
No obstante, para n-k grandes, el esquema se vuelve poco prctico y
puede ser inviable.
Detecci
Detecci

n y correcci
n y correcci

n de errores
n de errores
CSAT 45
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Codificador de Bloques
Codificador de Bloques
CONVERSOR
SERIE
PARALELO
CONVERSOR
SERIE
PARALELO
ROM
ROM
CONVERSOR
PARALELO
SERIE
CONVERSOR
PARALELO
SERIE
1
2
K
c
1
c
2
c
k
c
n
RELOJ LEE RELOJ
CSAT 46
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Decodificador de Bloques
Decodificador de Bloques
CONVERSOR SERIE/PARALELO
CONVERSOR SERIE/PARALELO
CALCULADOR DE SINDROME
(ROM)
CALCULADOR DE SINDROME
(ROM)
GENERADOR DEL VECTOR DE ERROR
(ROM)
GENERADOR DEL VECTOR DE ERROR
(ROM)
R
R1 R2
Rn
+ + +
S1 S2 Sn-k
E1 E2 En
R1
R2
Rn
PALABRA DECODIFICADA
CSAT 47
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Peso y Distancia de
Peso y Distancia de
Hamming
Hamming
Los cdigos de bloques lineales forman un espacio vectorial lineal y tienen
la propiedad de que dos palabras de cdigo pueden sumarse mdulo 2 y
formar otra palabra de cdigo.
Un parmetro importante de los cdigos de bloques es la distancia mnima que
determina la capacidad de correccin de errores del cdigo.
Un parmetro importante de los cdigos de bloques es la distancia mnima que
determina la capacidad de correccin de errores del cdigo.
Sea v una palabra del cdigo de longitud n. El peso de Hamming (o simplemente
el peso) de v, que se designa como w(v), es el nmero de componentes distintos
de cero. Por ejemplo, el peso de v = (110101) es 4.
El conjunto de todos los pesos de Hamming de un cdigo constituye la
estructura de pesos del cdigo.
Sean u y v dos palabras de un cdigo (n,k). Una medida de la diferencia entre
u y v es el nmero de elementos diferentes que tienen. Esta medida se llama
distancia de Hamming (o simplemente distancia) entre u y v y se expresa d(u,v).
Por ejemplo, si v = (110101) y u = (111000) entonces d(u,v) = 3.
Claramente d(u,v) = w(u v), donde u v = (001101) es otra palabra del cdigo.
CSAT 48
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Distancia M
Distancia M

nima (
nima (
n,k,d
n,k,d
min min
)
)
De la discusin anterior resulta claro que la distancia mnima d
min
de un cdigo
es igual al peso mnimo de sus palabras de cdigo no nulas:
Si se usa un cdigo lineal de bloques de distancia mnima d
min
para correccin
de errores se desear conocer cuntos errores ser capaz de corregir.
Sean v y r el cdigo transmitido y la secuencia recibida, respectivamente. Para
cualquier otra palabra de cdigo u las distancias de Hamming entre v, r y u
satisfarn la siguiente desigualdad:
Supongamos que se producen t errores durante la transmisin de v. Entonces
v y r diferirn en t bits y por tanto d(v,r) = t. Obtenemos as que:
( )
d w mi n w v v
mi n mi n
= = , 0
( ) ( ) ( )
d v r d u r d v u d
mi n
, , , +
( )
d u r d t
mi n
,
CSAT 49
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Capacidad de Correcci
Capacidad de Correcci

n
n
En base a la regla de decodificacin de mxima 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 cdigo.
Por tanto, la distancia mnima d
min
debe ser al menos 2t+1.
Resumiendo los anteriores resultados, un cdigo de bloques de distancia
mnima d
min
garantiza la correccin de cualquier combinacin de:
o menos errores, donde x indica el mayor entero menor o igual que x.
El parmetro t= (d
min
-1)/2 es la capacidad de correccin de errores aleatorios
del cdigo.
El parmetro t= (d
min
-1)/2 es la capacidad de correccin de errores aleatorios
del cdigo.
( )
d u r t , >


=
2
1
min
d
t
CSAT 50
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Correcci
Correcci

n y Detecci
n y Detecci

n
n
d
min
=5
U V r1
U V
r3
U V
r2
t=2
U V
e=4
CSAT 51
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
N
N

mero de palabras con distancia menor o igual a t


mero de palabras con distancia menor o igual a t
El cdigo se dice que corrige t errores aunque, en general, es capaz de corregir
tambin combinaciones de t+1 o incluso ms errores.
De hecho, cada cdigo de bloques lineal (n,k) es capaz de corregir 2
n-k
combinaciones de errores, incluyendo aquellas de t o menos errores.
Los cdigos que corrigen todas las combinaciones de t o menos errores y no
otras se llaman cdigos perfectos. Sin embargo, se han encontrado slo unos
pocos cdigos perfectos.
Para un cdigo (n,k), con capacidad de corregir t errores, el nmero de palabras
con distancia menor o igual que t a una posible palabra transmitida es:
Ya que hay 2
k
posibles palabras de cdigo transmitidas, el nmero total de
palabras con distancia menor o igual que t a otras es:
n
i
i
t

0
2
0
k
i
t
n
i

CSAT 52
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
L
L

mites de Empaquetado
mites de Empaquetado
El nmero de secuencias de llegada no puede ser superior a 2
n
. Por tanto, debe
satisfacerse la desigualdad:
2 2
0
k
i
t
n
n
i

o lo que es lo mismo:
n
i
i
t
n k

0
2
La expresin anterior constituye el llamado lmite superior de Hamming o lmite
de empaquetado esfrico.
La igualdad se produce slo cuando el cdigo es perfecto.
Otro lmite til es el lmite inferior de Varsharmov-Gilbert dado por:
n
i
i
d
n k
mi n

>
=

1
2
0
2
CSAT 53
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Ejemplo de Empaquetado
Ejemplo de Empaquetado
Se desea realizar un cdigo (63,k) con distancia mnima 5. Obtener los posibles
valores de k.
Debe cumplirse:
n
i
n
i
i
t
n k
i
d
mi n

<


0 0
2
2
1
t
d
mi n
=

=
1
2
2
( )
63
2017
2017
2
10 978
0
2
i
i

= =
=

l og
l og( )
.
( )
63 1
39770
39770
2
15 28
0
3

= =
=

i
i
l og
l og( )
.
Por tanto:
10 978 63 15 28 47 52 . . < < k k
Solucin:
CSAT 54
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Capacidad de Detecci
Capacidad de Detecci

n de Errores
n de Errores
Sea A
j
el nmero de palabras de cdigo con peso j.
El conjunto A
0
, A
1
, ... , A
n
recibe el nombre de distribucin de pesos del cdigo.
La probabilidad de error no detectado en un canal BSC es:
donde p es la probabilidad de transicin del canal.
Si la distancia mnima es d
min
entonces los A
1
hasta A
dmin-1
son cero.
( )
P A p p
nd j
j
n j
i
t
=

=

1
0
CSAT 55
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Tasa de Error en C
Tasa de Error en C

digos de Bloques Lineales


digos de Bloques Lineales
Consideremos un canal binario simtrico BSC con probabilidad de transicin
p para el sistema sin codificacin y p con codificacin, cuando se usa un
cdigo (n,k) con capacidad de corregir t errores.
Suponemos que la tasa de informacin R
b
y la potencia de portadora C
son iguales en ambos sistemas.
Sea Ec la energa por bit en el sistema codificado mientras que Eb es la
energa por bit en el sistema sin codificar.
Por tanto, la energa por bit se reduce con el uso de la codificacin, con lo
que aumenta la tasa de error, pero se obtiene una ganancia neta en
caractersticas gracias a la capacidad de correccin de errores de la
decodificacin.
Por tanto, la energa por bit se reduce con el uso de la codificacin, con lo
que aumenta la tasa de error, pero se obtiene una ganancia neta en
caractersticas gracias a la capacidad de correccin de errores de la
decodificacin.
E
k
n
E E
c b b
= <
CSAT 56
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Tasa de Error en C
Tasa de Error en C

digos de Bloques Lineales


digos de Bloques Lineales
La probabilidad media de error en una palabra de cdigo P
w
tiene como lmite
superior:
La igualdad en la ecuacin anterior se produce cuando el cdigo es perfecto.
Recurdese que un cdigo no perfecto puede corregir un total de 2
n-k
combinaciones de errores incluyendo aquellas con t o menos errores.
Cuando np<< 1 el primer trmino de la suma predomina sobre los dems y
se puede aproximar la probabilidad de error por:
Las ecuaciones obtenidas permiten comparar las probabilidades de bloque
errneo y de palabra errnea.
( )
P
n
i
p p
i t
w
i
n i
n


= +

1
1
( )
P
n
t
p p
w
t
n t


+

1
1
1
1
La probabilidad media de bloque errneo sin codificacin P
wu
es:
( )
P p
wu
k
= 1 1
CSAT 57
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Tasa de bit err
Tasa de bit err

neo
neo
Las prestaciones del sistema codificado y sin codificar pueden compararse
tambin a nivel de probabilidad de bit errneo. Para el sistema sin codificar
la probabilidad de bit errneo P
b
es simplemente la probabilidad de
transicin p del canal DMC:
P p
b
=
Dado que el nmero de bits de informacin de un bloque es k, la probabilidad
de bit errneo P
b
estar acotada por:
- P
w
, la probabilidad de bloque errneo, si suponemos que todos los
bits de informacin del bloque son errneos.
- P
w
/k, en el caso de que slo un bit de informacin es errneo.
En el caso de Eb/No alta, se puede suponer que las palabras recibidas errneas
son producidas por la existencia de (t+1) bits errneos, de los cuales, en
promedio, (t+1)k/n son de informacin. Por tanto, puede aproximarse la tasa de
error en los bits de informacin por (lmite inferior):

+
P
t
n
P
b w
1
CSAT 58
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Tasa de Bit Err
Tasa de Bit Err

neo
neo
Para obtener un lmite superior de la probabilidad de error en un sistema
codificado P
b
suponemos que una combinacin de i >t errores hace que la
palabra decodificada difiera de la palabra correcta en i+t bits.
Por tanto, de los k bits de informacin resultarn incorrectos k(i+t)/n bits:
( )

+


= +

+
+

P
i t
n
n
i
p p
i t
t
n
n
t
p
b
i
n i
n
t
1
1
2 1
1
1
CSAT 59
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
0.1
10
6
PB( ) EbNo
PBc( ) EbNo
12 0 EbNo
0.1
10
8
PW( ) EbNo
PWc( ) EbNo
12 0 EbNo
BER en el canal con y sin Codificaci
BER en el canal con y sin Codificaci

n
n
CSAT 60
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Ganancia de Codificaci
Ganancia de Codificaci

n
n
0.1
10
6
Pb( ) EbNo
Pbc( ) EbNo
12 0 EbNo
CSAT 61
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Su estructura es (n,k)=(2
m
-1,2
m
-1-m),
donde m=2, 3, ... o sea (3,1), (7,4), (15,11), (31,26), ...
Su distancia mnima es d
min
=3
Son capaces de corregir t=1 error
y detectar e=2 errores.
Son cdigos perfectos y sistemticos.
Veamos el cdigo (7,4). La matriz P es: P
1
1
1
0
1
1
0
1
1
0
1
1
La matriz generadora de cdigo G es:
G augment( ) , identity( ) 4 P = G
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
1
1
1
0
1
1
0
1
1
0
1
1
C
C

digos de
digos de
Hamming
Hamming
CSAT 62
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Las 2
4
=16 posibles secuencias
de datos a codificar y las
palabras codificadas son D y C.
Los pesos son W.
= C
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
0
1
1
1
1
0
0
1
1
0
0
0
0
1
1
0
1
0
1
1
0
1
0
1
0
1
0
0
1
0
1
0
1
1
0
0
1
1
0
1
0
0
1
1
0
0
1
= W
0
3
3
4
3
4
4
3
4
3
3
4
3
4
4
7
0 1 2 3 4 5 6 7
0
5
10
w
i
interv
i
D
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
C
C

digo de
digo de
Hamming
Hamming
(7,4)
(7,4)
CSAT 63
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
La matriz de chequeo de paridad H ser:
H augment ,
T
P identity( ) 3 = H
1
1
1
1
1
0
1
0
1
0
1
1
1
0
0
0
1
0
0
0
1
Para detectar errores calculamos el sndrome S=RxH
T
. La posicin del error
est en el bit que corresponde con el nmero de fila de la matriz H
T
que es igual
al sndrome.
= E
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
=
.
E
T
H
1
1
1
0
1
0
0
1
1
0
1
0
1
0
1
0
1
1
0
0
1
=
T
H
1
1
1
0
1
0
0
1
1
0
1
0
1
0
1
0
1
1
0
0
1
Los tres ltimos bits son de chequeo y si el error se produce en ellos no habr
que hacer ninguna correccin. La secuencia enviada ser la de los 4 primeros
bits dado que el cdigo es sistemtico.
Los tres ltimos bits son de chequeo y si el error se produce en ellos no habr
que hacer ninguna correccin. La secuencia enviada ser la de los 4 primeros
bits dado que el cdigo es sistemtico.
C
C

digo de
digo de
Hamming
Hamming
(7,4)
(7,4)
CSAT 64
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Para calcular la probabilidad de bit errneo en un canal BSC (funcin de
transferencia del cdigo) con probabilidad de transicin p aplicamos la
frmula:
PB( ) , , p n t
.
1
n
=t 1
n
j
. . .
j Comb( ) , n j p
j
( ) 1 p
n j
Tasa de
Tasa de
Bit
Bit
Err
Err

neo
neo
1 1.5 2 2.5 3 3.5 4
7
6
5
4
3
2
log PB , , 10
i
7 1
log PB , , 10
i
15 1
log PB , , 10
i
31 1
log PB , , 10
i
24 3
log PB , , 10
i
127 10
log PB , , 10
i
127 15
i
(7,1)
(15,1)
(31,1)
(24,3)
(127,10) (127,15)
CSAT 65
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
4 6 8 10 12
1
.
10
7
1
.
10
6
1
.
10
5
1
.
10
4
1
.
10
3
0.01
10
2
10
7
Pb 1 1 , EbNo , ( )
Pw Pb 7 4 , EbNo , ( ) 7 , 1 , ( )
Pw Pb 7 4 , EbNo , ( ) 7 , 1 , ( )
4
PB Pb 7 4 , EbNo , ( ) 7 , 1 , ( )
12 4 EbNo
L
L

mites de la Tasa de Error para un


mites de la Tasa de Error para un
Hamming
Hamming
(7,4)
(7,4)
CSAT 66
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
C
C

digos C
digos C

clicos Binarios
clicos Binarios
Son un tipo de cdigos lineales de bloques cuya ventaja consiste en que su
implementacin puede hacerse de forma simple utilizando puertas lgicas
y registros de desplazamiento.
Por lo tanto, en un cdigo cclico binario (n,k) hay n posibles palabras de cdigo
que pueden obtenerse por los n posibles desplazamientos.
La palabra de cdigo V puede representarse por un polinomio de orden n-1 en
el que los coeficientes v
0
, v
1
, etc. pueden valer 0 o 1:
Un cdigo cclico binario C est compuesto por palabras de cdigo V(n,k) de
la forma
tal que si la palabra de cdigo se desplaza i-bits a la derecha la nueva palabra V
i
es tambin una palabra del cdigo.
( )
V v v v v
n
=
0 1 2 1
, , , , L
( )
V v v v v v
i
n i n i n i
=
+
, , , , , ,
1 0 1 1
L L
( )
V x v v x v x
n
n
= + +


0 1 1
1
L
CSAT 67
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
C
C

digos C
digos C

clicos Binarios
clicos Binarios
El vector V
i
desplazado i bits ser:
y puede obtenerse como el resto de la divisin de x
i
V(x) por x
n
+1, o sea:
donde q(x) es el polinomio cociente.
Las palabras de cdigo pueden generarse de dos formas:
1) Formamos palabras de cdigo no sistemtico usando un polinomio generador
g(x) tal que, a partir de un polinomio de datos D(x), formamos: V(x) = D(x) g(x) ,
donde:
( )
V x v v x v x
i
n i n i n i
n
= + + +
+

1 1
1
L
( )
D x d d x d x
k
k
= + + +


0 1 1
1
L
( )
g x g g x g x
n k
n k
= + + +


0 1
L
( ) ( )
( )
( )
x V x q x x V x
i n i
= + + 1
CSAT 68
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
C
C

digos C
digos C

clicos Binarios
clicos Binarios
2) Un procedimiento alternativo para formar un cdigo sistemtico es usar g(x)
para generar un cdigo de la forma: V(x) = r(x) + x
n-k
D(x) donde r(x) es el
polinomio de control de paridad que se obtiene:
a) multiplicando D(x) por x
n-k
,
b) dividiendo x
n-k
D(x) por g(x),
c) el resto es r(x):
( )
( )
( ) ( ) x r ; x q
x g
x D x
k n

Estas operaciones se
implementan fcilmente
mediante circuitos lgicos.
CSAT 69
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Ejemplo de C
Ejemplo de C

digo (7,4)
digo (7,4)
Se quiere generar un cdigo cclico (7,4) con un polinomio generador g(x)=1+x+
+0x
2
+x
3
. Determinar la palabra de cdigo correspondiente al vector de datos
D=(1010) cuyo polinomio correspondiente es D(x)=1+0x+x
2
+0x
3
.
1) Cdigo no sistemtico:
2) Cdigo sistemtico:
( )
( )
( )
( )
x D x x x
x D x
g x
x x
x x
n k
n k


= + =
+
+ +
3 2
3 5
3
1
1
( )
( )
V x x x x x x x = + + = + +
3 2 2 2 3 5
1
V=(0011010)
0 + 0x + 0x
2
+ x
3
+ 0x
4
+ x
5
1 + x + x
3
x
2
+ x
3
+ x
5
x
2
x
2
+ 0 + 0 q(x)=x
2
r(x)=x
2
( ) ( ) ( )
( )( )
V x D x g x x x x x x x x x
x x x
= = + + + = + + + + +
= + + +
1 1 1
1
2 3 3 2 3 5
2 5
V=(1110010)
CSAT 70
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Implementaci
Implementaci

n de un C
n de un C

digo C
digo C

clico Sistem
clico Sistem

tico
tico
El vector de datos es transmitido primero con el conmutador en 1. La puerta
permanece abierta durante este tiempo y los datos se van introduciendo en los
registros de desplazamiento.
Las conexiones generan g(x) y se realiza la operacin de divisin.
Se cierra a continuacin la puerta, el conmutador se coloca en 2 y se
transmite entonces el resto de la divisin, que es el contenido de los registros.
r
0
+ r
1
+ r
n-k-2
+ r
n-k-1
+ +
Puerta
1
2
g
0
g
1
g
2
g
n-k-2
g
n-k-1
In
Out
CSAT 71
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Ejemplo:
Ejemplo:
Hamming
Hamming
(7,4)
(7,4)
r
0
r
1
+ r
2
+ +
Puerta
1
2
In
Out
D r
0
r
1
r
2
(D+ r
2
) (D+ r
2
)+ r
0
r
1
0 0 0
0 0 0 0
1 1 1 0
0 0 1 1
1 0 0 1
( )
3
1 x x x g
+ + =
CSAT 72
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
La deteccin de errores se realiza calculando el sndrome del vector recibido
R(x).
El sndrome se calcula dividiendo el vector recibido por el polinomio generador
y quedndonos con el resto S(x):
Si el error es E(x) ser : R(x) = V(x) + E(x) = D(x) g(x) + E(x). Por lo tanto:
Si el sndrome es cero, no hay error.
El sndrome proporciona adems la posicin del error y permite corregirlo.
El sndrome proporciona adems la posicin del error y permite corregirlo.
( ) ( ) ( ) ( )
R x q x g x S x = +
( )
( )
( )
( )
( )
( )
( )
( )
( ) ( ) ( ) ( )
[ ]
( )
R x
g x
q x
S x
g x
D x
E x
g x
E x S x q x D x g x
= + = +
= + +
Detecci
Detecci

n y Correcci
n y Correcci

n de Errores
n de Errores
CSAT 73
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Implementaci
Implementaci

n del C
n del C

lculo del S
lculo del S

ndrome
ndrome
El clculo del sndrome se realiza con el circuito de la figura.
Puerta + s
0
+ s
n-k-2
+ s
n-k-1
+
Puerta
g
1
g
n-k-2
g
n-k-1
In
CSAT 74
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Ejemplo
Ejemplo
Puerta + s
0
+ s
1
s
2
Puerta
In
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
CSAT 75
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
C
C

digo de
digo de
Golay
Golay
Es un cdigo (23,12) con una distancia mnima d
min
=7 capaz de corregir 3 o
menos errores.
Es un cdigo perfecto.
Como 1 + x
23
= (1 + x)g
1
(x)g
2
(x) siendo:
( )
( )
g x x x x x x x
g x x x x x x x
1
2 4 5 6 10 11
2
5 6 7 9 11
1
1
= + + + + + +
= + + + + + +
puede utilizarse bien g
1
o bien g
2
como polinomio generador.
En realidad, el cdigo de Golay ms utilizado es el extendido (24,12) que se
obtiene aadiendo un bit redundante extra para as tener una tasa de
codificacin de exactamente , y aumentar la distancia mnima de 7 a 8.
CSAT 76
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
C
C

digos C
digos C

clicos de Chequeo de Redundancia CRC


clicos de Chequeo de Redundancia CRC
Bajo ciertas condiciones, tales como interferencia transitoria o interferencia
cocanal producida por multitrayecto, los errores tienden a presentarse en
rfagas en lugar de en forma aleatoria aislada. Hay cdigos especiales para
corregir estos errores, que se presentan en bits consecutivos, llamados
cdigos CRC.
El nmero de bits de chequeo de paridad que se necesitan para corregir rfagas
de q errores consecutivos es: n-k q.
Cdigos g(x)=(1+x)g(x)
CRC-12 1 + x + x
2
+ x
3
+ x
11
+ x
12

CRC-16 1 + x
2
+ x
15
+ x
16

CRC-CCITT 1+ x
5
+ x
12
+ x
16


CSAT 77
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Son una generalizacin de los cdigos de Hamming que permiten una
correccin de errores mltiples. Para cualquier entero positivo m>3 y
t<2
m
-1 hay un cdigo BCH con los siguientes parmetros:
Longitud del cdigo: n=2
m
-1
Longitud del bloque de informacin: k>n-mt
Distancia mnima: d
min
t+1
Capacidad de correccin: t bits
Algunos de estos cdigos se recogen en la tabla adjunta.
n k t m Pol. generador
7 4 1 3 1011
15 11 1 4 10011
15 7 2 4 111010001
15 5 3 4 10100110111
31 26 1 5 100101
....
31 6 7 5 1.1001011011110101000100111
C
C

digos BCH
digos BCH
CSAT 78
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Tasa de Tasa de Bit Bit Err Err neo para c neo para c digos de digos de Hamming Hamming, , Golay Golay y BCH y BCH
4 6 8 10 12
1
.
10
7
1
.
10
6
1
.
10
5
1
.
10
4
1
.
10
3
0.01
10
2
10
7
Pb 1 1 , EbNo , ( )
PB Pb 7 4 , EbNo , ( ) 7 , 1 , ( )
PB Pb 15 11 , EbNo , ( ) 15 , 1 , ( )
PB Pb 24 12 , EbNo , ( ) 24 , 3 , ( )
PB Pb 127 64 , EbNo , ( ) 127 , 10 , ( )
PB Pb 127 36 , EbNo , ( ) 127 , 15 , ( )
12 4 EbNo
BPSK
Hamming (7,4)
Hamming (15,11)
Golay (24,12)
BCH (127,64)
BCH (127,36)
CSAT 79
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Son un tipo importante de cdigos BCH no binarios con los siguientes
parmetros:
Longitud de smbolo: m bits por smbolo
Longitud de cdigo: n=2
m
-1 smbolos
Longitud del bloque de informacin: k=n-2t smbolos
Distancia mnima: d
min
=2t+1 smbolos
Capacidad de correccin de errores: t smbolos
Dada su capacidad de correccin de smbolos son especialmente adecuados
para la correccin de errores en rfaga. Se decodifican mediante el algoritmo
de Berlekamp-Massey.
Suelen ir concatenados con un codificador convolucional (satlite).
Funcionan bien con grandes bloques de informacin: los smbolos de
entrada son elementos de un campo de Galois GF(q)GF(2
m
).
Funcionan bien con grandes bloques de informacin: los smbolos de
entrada son elementos de un campo de Galois GF(q)GF(2
m
).
C
C

digos
digos
Reed
Reed
-
-
Solomon
Solomon
CSAT 80
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Los pasos para la construccin de un cdigo RS son:
1) Definicin y construccin de GF(2
m
). Elementos y operaciones
Polinomio generador
Generacin del campo a partir de la primitiva del campo
2) Codificacin:
Circuito lgico tpico de un cdigo cclico (sistemticos)
Operaciones en GF(2
m
)
3) Decodificacin. Algoritmo iterativo de Berlekamp-Massey:
Obtener los sndromes de la palabra recibida
Calcular el polinomio de localizacin de errores
Encontrar sus races (posicin de los errores)
Corregir los errores
Si hay ms de t errores, eliminar los smbolos de paridad
C
C

digos
digos
Reed
Reed
-
-
Solomon
Solomon
CSAT 81
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
En TV digital por satlite (EN 300 421) se utiliza el cdigo Reed-Solomon:
RS (204,188, T = 8)
versin acortada del original:
RS(255,239, T = 8).
Se aplica sobre cada paquete de transporte de 188 bytes.
Polinomio generador de cdigo: g(x) = (x+
0
)(x+
1
)(x+
2
) ...(x+
15
),
siendo = 02HEX (primitiva de GF(2
8
)).
Polinomio generador de campo GF(2
8
): p(x) = x
8
+ x
4
+ x
3
+ x
2
+ 1
(polinomio irreducible).
El cdigo Reed-Solomon acortado puede implementarse aadiendo 51
bytes a cero a los 188 bytes de informacin. Se introduce el bloque de
239 bytes en el codificador original RS (255,239) y se descartan
posteriormente de la palabra codificada.
C
C

digos
digos
Reed
Reed
-
-
Solomon
Solomon
para sat
para sat

lite
lite
CSAT 82
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Reed
Reed
Solomon
Solomon
+
+
Convolucional
Convolucional
Ejemplo:
BER=10
-7
EbNo gain ~ 3 dB
Fuente: Radyne
CSAT 83
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
RS
RS
-
-
Misiones de espacio profundo
Misiones de espacio profundo
Voyager (Venus)
Mars Pathfinder (Marte)
Galileo (Jupiter)
Mars Exploration Rover (Marte)
Cassini (Saturno)
Fuente: NASA Deep Space Center
CSAT 84
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
RS
RS
-
-
Misiones de espacio profundo
Misiones de espacio profundo
Voyager (Venus)
Mars Pathfinder (Marte)
Galileo (Jupiter)
Mars Exploration Rover (Marte)
Cassini (Saturno)
Code imperfectness of a given code is defined as the
difference between the code's required Eb/No to attain a
given word error probability (Pw), and the minimumpossible
Eb/No required to attain the same Pw, as implied by the
sphere-packing bound for codes with the same block size k
and code rate r.
Fuente: NASA Deep Space Center
CSAT 85
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Prestaciones de c
Prestaciones de c

digos
digos
Reed
Reed
-
-
Solomon
Solomon
RS de tasa 7/8 RS (64,k)
Fuente: SKLAR
Funcin de transferencia Prestaciones en funcin del alfabeto (m)
CSAT 86
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Prestaciones de c
Prestaciones de c

digos
digos
Reed
Reed
-
-
Solomon
Solomon
Prestaciones de RS (31,k) en canales
reales con BPSK
Aparece una tasa de codificacin ptima
0.3 para canal Rayleigh
0.5 para canal Rice (K=7 dB)
0.6-0.7 para canal AWGN
Lmite inferior: menor energa por
smbolo por incluir una gran redundancia
Lmite superior: menor redundancia,
luego menor proteccin
Fuente: SKLAR
CSAT 87
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
OSCAR
OSCAR
-
-
40: FEC para telemetr
40: FEC para telemetr

a
a
Redundancia: x2.5
Fuente: www.amsat.org/amsat/articles/g3ruh/125.html
CSAT 88
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
OSCAR
OSCAR
-
-
40: FEC para telemetr
40: FEC para telemetr

a
a
Small antenna
RHCP patch
G= 8.5 dBi,
-3dB
=90
Ultra small antenna
Monopolo sobre plano de masa
Fuente: www.amsat.org/amsat/articles/g3ruh/125.html
CSAT 89
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
C
C

digos acortados
digos acortados
Se usan cuando la longitud de un cdigo no puede
utilizarse (longitud de paquetes, tasa binaria, etc.).
Ejemplo: se desea disear un cdigo de deteccin de
errores sobre paquetes de 64 bits. La mxima redundancia
permitida es de 72 bits.
Solucin: 64+8=72 no es de la forma 2
m
-1, as que
podramos usar ninguno de los cdigos cclicos
estudiados.
Se podra usar un cdigo Hamming (127,120,3) y acortarlo
hasta llegar a k=64 shortened Hamming (71,64,3)
Se construyen dejando a cero s bits de la palabra cdigo,
obteniendo un cdigo (n-s, d-s, d
s
).
CSAT 90
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Implementaci
Implementaci

n
n
Plataformas basadas en FPGAs y ASICs
Operaciones lineales (sumas y productos)
Programacin en VHDL
Existen IP cores
Software en C (alto nivel)
Retardo en la codificacin vs retardo de acceso a
memoria
Memoria requerida para las tablas de consulta (LUTs)
CSAT 91
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Reed
Reed
Solomon
Solomon
Decoder
Decoder
(
(
Lattice
Lattice
)
)
CSAT 92
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Ejemplo de implementaci
Ejemplo de implementaci

n (Univ.
n (Univ.
Surrey
Surrey
)
)
CSAT 93
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Plataforma para RS (
Plataforma para RS (
Xilinx
Xilinx
)
)
CSAT 94
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
Plataforma para RS (Altera)
Plataforma para RS (Altera)
CSAT 95
Comunicaciones por Satlite. Curso 2008-09. Ramn Martnez, Miguel Calvo
High
High
-
-
Rate
Rate
Front
Front
-
-
End
End
Processor
Processor
(RT
(RT
Logic
Logic
)
)
ASIC

También podría gustarte