Lecture 21 detección de códigos de redundancia cíclicos. probabilidad de error con codificación...

34
2S 2009 I. Zamora UniVII: Det. Cods. Cíclic. Prob. Error. 1 Comunicaciones II Conferencia 21: Detección de Códigos de Redundancia Cíclicos. Probabilidad de Error con codificación de Canal. UNIDAD VII: CODIFICACIÓN DE CANAL Instructor: Israel M. Zamora, MS Telecommunications Management Profesor Titular, Departamento de Sistemas Digitales y Telecomunicaciones. Universidad Nacional de Ingeniería Universidad Nacional de Ingeniería

description

Telecom

Transcript of Lecture 21 detección de códigos de redundancia cíclicos. probabilidad de error con codificación...

Page 1: Lecture 21 detección de códigos de redundancia cíclicos. probabilidad de error con codificación de canal.

2S 2009 I. Zamora

UniVII: Det. Cods. Cíclic. Prob. Error.

1

Comunicaciones II

Conferencia 21: Detección de Códigos de Redundancia Cíclicos. Probabilidad de Error con codificación de Canal.

UNIDAD VII: CODIFICACIÓN DE CANAL

Instructor: Israel M. Zamora, MS Telecommunications ManagementProfesor Titular, Departamento de Sistemas Digitales y Telecomunicaciones.

Universidad Nacional de Ingeniería

Universidad Nacional de Ingeniería

Page 2: Lecture 21 detección de códigos de redundancia cíclicos. probabilidad de error con codificación de canal.

2S 2009 I. Zamora

UniVII: Det. Cods. Cíclic. Prob. Error.

2

Outline

• Códigos Cíclicos: Detección en el RX– Ejemplo

• Códigos Cíclicos: Corrección en el RX• Códigos Cíclicos más usados• Probabilidad de error en detección• Relaciones de Energía en el sistema

Page 3: Lecture 21 detección de códigos de redundancia cíclicos. probabilidad de error con codificación de canal.

2S 2009 I. Zamora

UniVII: Det. Cods. Cíclic. Prob. Error.

3

Códigos Cíclicos: Detección en el RX

• Vector de palabra de código recibido es el polinomio R(x) expresado como:

0 ó 1r donde)r,r,...,r,(rsi

xrxr ...xr r(x)

i1-n2-n10

1n1n

2n2n10

==++++= −

−−

r

R

)()()( xxx ECR +=Palabra de código recibida

Patrón de Error

• El vector de palabra de código recibido con presencia de error puede ser interpretado como:

Con el síndrome y el arreglo estándar, el error se puede estimar.

En códigos cíclicos, el tamaño del arreglo estándar se reduce considerablemente.

Page 4: Lecture 21 detección de códigos de redundancia cíclicos. probabilidad de error con codificación de canal.

2S 2009 I. Zamora

UniVII: Det. Cods. Cíclic. Prob. Error.

4

Códigos Cíclicos: Detección en el RX

síndromeal ientecorrespond

polinomioes(x) donde(x)(x)

(x)(x)(x)

SGS

QGR +=

• Se determina el síndrome de la palabra de código recibida a través de la división algebraica según la relación de abajo:

• El síndrome es un polinomio de orden (n-k-1) o menor.

• Observe que el síndrome corresponde al polinomio residuo del cociente entre R(x) y G(X).

(n,k) (x) (x) Si

(n,k) (x) (x)Si

CRS

CRS

∉⇒≠∈⇒=

0

0

Page 5: Lecture 21 detección de códigos de redundancia cíclicos. probabilidad de error con codificación de canal.

2S 2009 I. Zamora

UniVII: Det. Cods. Cíclic. Prob. Error.

5

Códigos Cíclicos: Detección

Flip FlopFF

Σ Sumadores

Calculador del síndrome para código cíclico (n,k)

BitsRecibidos

g1 g2 gn-k-1

Σ FF FF FF FF FFΣΣΣ

. . .

. . .

Compuerta

Page 6: Lecture 21 detección de códigos de redundancia cíclicos. probabilidad de error con codificación de canal.

2S 2009 I. Zamora

UniVII: Det. Cods. Cíclic. Prob. Error.

6

Ejemplo de Detección (1/2)

• Suponga que el receptor de un sistema de telecomunicaciones recibe la palabra de código 011101010001101. Ambos el transmisor y el receptor utilizan un polinomio generador G(x)=1+x2+x4+x5. Determine si el mensaje desde el transmisor fue recibido limpio si se usa un CRC (15,10). Si es así cuál es el mensaje?

• Tenemos R(x)=0+x+x2+x3+0x4+x5+0x6+x7+0x8+0x9+0x10+x11+x12+0x13+x14 si no hay error entonces S(x)=0 (después de dividir R(x) entre G(x)) y el mensaje serían los primeros k bits, donde n=15 y k=10 entonces, es decir M=1010001101.

Page 7: Lecture 21 detección de códigos de redundancia cíclicos. probabilidad de error con codificación de canal.

2S 2009 I. Zamora

UniVII: Det. Cods. Cíclic. Prob. Error.

7

Ejemplo de Detección (2/2)

x9+ x8+0x7+ x6+0x5+ x4+0x3+ x2+ x x5+x4+0x3+x2+0x+1 x14+0x13+ x12+0x11+0x10+0x9+ x8+ x7+0x6+x5+0x4+ x3+ x2+ x+ 0 x14+ x13+0x12+ x11+0x10+ x9 x13+ x12+ x11+0x10+ x9+ x8 x13+ x12+0x11+ x10+0x9+ x8 0x12+ x11+ x10+ x9+ 0x8+ x7 0x12+0x11+0x10+0x9+0x8+0x7 x11+ x10+ x9+ 0x8+ x7+ 0x6 x11+ x10+0x9+ x8+0x7+ x6 0x10+ x9+ x8+ x7+ x6+ x5 0x10+0x9+0x8+0x7+0x6+ 0x5 x9+ x8+ x7+ x6+ x5+ 0x4 x9+ x8+0x7+ x6+ 0x5+ x4 0x8+ x7+0x6+ x5+ x4+ x3 0x8+0x7+0x6+ 0x5+ 0x4+ 0x3 x7+ 0x6+ x5+ x4+ x3+ x2 x7+ x6+ 0x5+ x4+ 0x3+ x2 x6+ x5+ 0x4+ x3+0x2+ x x6+ x5+ 0x4+ x3+ 0x2+ x El residuo es cero! 0x5+ 0x4+0x3+0x2+0x+ 0

Page 8: Lecture 21 detección de códigos de redundancia cíclicos. probabilidad de error con codificación de canal.

2S 2009 I. Zamora

UniVII: Det. Cods. Cíclic. Prob. Error.

8

Códigos Cíclicos: Corrección en el RX

• La corrección se obtiene de adicionar en modulo 2 el polinomio de error que se corresponda de acuerdo al mapeo de síndromes y errores. El procedimiento es muy similar al estudiado con los códigos lineales de bloque.

(x)(x)(x)ˆ ERC +=

[ ] (x)(x)(x)(x)(x) SGMQE ++=

• El mapeo de síndromes y patrones de error resulta de aplicar la relación de abajo:

Page 9: Lecture 21 detección de códigos de redundancia cíclicos. probabilidad de error con codificación de canal.

2S 2009 I. Zamora

UniVII: Det. Cods. Cíclic. Prob. Error.

9

• La fila , de la matriz generadora se forma por los coeficientes de los desplazamientos cíclicos del polinomio generador.

• La ortogonalidad de G y H en forma polinomial se expresa como

• Esto significa que también que es un factor de .

Códigos Cíclicos: Corrección en el RX

=

=

r

r

r

r

k

ggg

ggg

ggg

ggg

xx

xx

x

10

10

10

10

1 )(

)(

)(

0

0

G

G

G

G

1)()( += nXXX HG

1+nX)(XH

kii ,...,1 , ="1" −i

Page 10: Lecture 21 detección de códigos de redundancia cíclicos. probabilidad de error con codificación de canal.

2S 2009 I. Zamora

UniVII: Det. Cods. Cíclic. Prob. Error.

10

• Encuentre las matrices generadoras y de verificación de paridad, G y H, respectivamente para el código cíclico sistemático (7,4) con polinomio generador dado por:

Ejemplo: Matriz Generadora y de Verificación de Paridad

=

=⇒⋅+⋅+⋅+=

1011000

0101100

0010110

0001011

)1101(),,,(1011)( 321032

G

G ggggXXXX

No está en forma sistemática.Hacemos lo siguiente:

fila(4)fila(4)fila(2)fila(1)

fila(3)fila(3)fila(1)

→++→+

=

1000101

0100111

0010110

0001011

G

=

1110100

0111010

1101001

H

44×I33×I TP

P

31)( XXX ++=G

Page 11: Lecture 21 detección de códigos de redundancia cíclicos. probabilidad de error con codificación de canal.

2S 2009 I. Zamora

UniVII: Det. Cods. Cíclic. Prob. Error.

11

Códigos Cíclicos más usados

CRC : Cyclic Redundancy Check

Existen polinomios estándares usados por protocolos para generar CRC.

CRC-12

x12+x11+x3+1

CRC-16

x16+x15+x2+1

x16+x12+x5+1

CRC-ITU-T

CRC-32x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x2+x+1

Page 12: Lecture 21 detección de códigos de redundancia cíclicos. probabilidad de error con codificación de canal.

2S 2009 I. Zamora

UniVII: Det. Cods. Cíclic. Prob. Error.

12

Probabilidad de error en detección

• Considere un sistema:– Capacidad de detectar y corregir t bits.– Probabilidad que un bit que se transmite arribe en error es P.

• Prob. de j bits en error en una palabra de código de n bits:

• Probabilidad media que una palabra de código sea incorrectamente decodificada está acotada superiormente por:

j)!j!(nn!

j

np)(p

j

nP(j,n) jnj

−=

= −1

∑ ∑=

+=

− −

=−

−≤

t

i

inin

ti

inie,cw p)(p

i

np)(p

i

nP

0 1

111

Page 13: Lecture 21 detección de códigos de redundancia cíclicos. probabilidad de error con codificación de canal.

2S 2009 I. Zamora

UniVII: Det. Cods. Cíclic. Prob. Error.

13

Probabilidad de error en detección

• Si asumimos que la probabilidad de error de canal es p y que la probabilidad de una eliminación (erasure) es s, entonces, la probabilidad de error de detección de una palabra de código puede expresarse como:

∑ ∑= −=

−−−

n

i

n-i

idj

i-jnjie,cw s)p(sp

j

n-i

i

nP

0 2

1

Page 14: Lecture 21 detección de códigos de redundancia cíclicos. probabilidad de error con codificación de canal.

2S 2009 I. Zamora

UniVII: Det. Cods. Cíclic. Prob. Error.

14

Probabilidad de error de bits en detección• El parámetro de medición de desempeño natural para un sistema con

corrección de errores es la probabilidad de error de bit en la palabra de código, Peb,cw, después del decodificador.

• El cálculo exacta de esta probabilidad es realmente complicado, aún para códigos cortos. No obstante, el principio para su determinación es realmente sencillo.

• La clave es ver hacia el arreglo estándar. Nos basamos en la restricción a códigos lineales (incluyendo cíclicos), y en la suposición que la palabra de código cero es transmitida. En principio, debido a los errores en el canal, cada palabra del arreglo estándar puede ser recibido.

• Sea e el vector de error recibido y sea fe el número de bits de información que son decodificados erróneamente para ese vector de error particular. La probabilidad de error de bit puede, entonces, obtenerse, para todos los patrones de errores, determinando la probabilidad de ocurrencia de vector de error particular Pr[e] y multiplicando el resultado con el número de bits de información erróneo obtenido en la decodificación de un vector de error específico, es decir:

[ ]ee

e Pr1 ∑= fk

Peb,cw

Page 15: Lecture 21 detección de códigos de redundancia cíclicos. probabilidad de error con codificación de canal.

2S 2009 I. Zamora

UniVII: Det. Cods. Cíclic. Prob. Error.

15

Fronteras en la probabilidad de error de bit

• Para códigos de bloque, la probabilidad de error de bit siempre es menor que o igual que la probabilidad de error de palabra de código. Tenemos igualdad cuando todos los bits de información están en error siempre que hay un evento de error. Por otra parte, cuando la decodificación falla, debe haber al menos un error y la fracción de bits erróneos es, por tanto, al menos 1/k. De allí, tenemos que las fronteras superior e inferior de la probabilidad de error de bit son:

cwecwebcwe PPPk ,,,

1 ≤≤

• Una aproximación muy útil para la probabilidad de error de bit puede ser derivada del hecho que, dada una falla de decodificación, el resultado mas probable es una palabra código adyacente de distancia d, es decir, conteniendo un total de d errores. La fracción de bits erróneos será pues, mas probable que sea d/n. De allí tenemos la aproximación siguiente:

cwecweb Pn

dP ,, ≈

Page 16: Lecture 21 detección de códigos de redundancia cíclicos. probabilidad de error con codificación de canal.

2S 2009 I. Zamora

UniVII: Det. Cods. Cíclic. Prob. Error.

16

Fronteras en la probabilidad de error de bit

• Podemos obtener una un tanto mejor aproximación de la probabilidad de error de bit haciendo una asunción pesimista, para un patrón de error no correlacionado con i errores (i > t), la palabra código mal decodificada diferirá en i+t posiciones de la palabra código transmitida. De allí, la fracción (i+t)/n de los k bits de información estará en error. La probabilidad de error de bit puede ser, entonces, acotada superiormente por:

∑∑=

+=

− −

+−=−

+≤t

i

inin

ti

inieb,cw p)(p

i

n

n

tip)(p

i

n

n

tiP

01

111

inin

ticweb pp

i

ni

nP −

+=

≈ ∑ )1(

1

1,

O bien, por la aproximación:

Page 17: Lecture 21 detección de códigos de redundancia cíclicos. probabilidad de error con codificación de canal.

2S 2009 I. Zamora

UniVII: Det. Cods. Cíclic. Prob. Error.

17

Relaciones de Energía en el sistema (1/2)

• Condición de codificación para control de error:– Energía total del pkt no codificado=Energía total pkt codificado.

bcsc

bcbsc

ssc

bbs

bErE

E)M(logrE)M(lognk

E

Enk

E

Mlog bbEE)M(logE

=

==

=

===

22

22

bcbc Enk

E ó kEnE ==

• Relación de energía para un sistema M-ario con codificación de canal

Page 18: Lecture 21 detección de códigos de redundancia cíclicos. probabilidad de error con codificación de canal.

2S 2009 I. Zamora

UniVII: Det. Cods. Cíclic. Prob. Error.

18

Relaciones de Energía en el sistema (2/2)

– La razón señal a ruido para un sistema binario codificado y uno sin codificación se relacionan así:

o

bc

o

c

o

b

o

c

NE

*rNE

NE

*nk

NE =⇒=

O

bc

O

bc

o

sc

N

Enr

N

EMr

N

E == )(log2

– Cuando hay codificación de línea o modulación M-aria se tiene:

Page 19: Lecture 21 detección de códigos de redundancia cíclicos. probabilidad de error con codificación de canal.

2S 2009 I. Zamora

UniVII: Det. Cods. Cíclic. Prob. Error.

19

Código de Hamming

•Los códigos Hamming son una familia particular de códigos lineales de bloque en los cuales se cumplen las condiciones siguientes:

12 −= mn-Número de bits de la palabra de código:

12 −−= mk m-Número de bits del mensaje:

Dado un número entero m ≥ 2 se tiene que:

3=Hmínd-Distancia mínima de Hamming:

- Probabilidad de bit en error:ini

n

icweb pp

i

ni

nP −

=

≈ ∑ )1(

1

2,

1)1( −−−≈ nppp

1=t1=v

Page 20: Lecture 21 detección de códigos de redundancia cíclicos. probabilidad de error con codificación de canal.

2S 2009 I. Zamora

UniVII: Det. Cods. Cíclic. Prob. Error.

20

Código Golay

•Los códigos Golay se define como (23,12,7) son una familia particular de códigos lineales de bloque en los cuales se cumplen las condiciones siguientes:

12 −= mn-Número de bits de la palabra de código:

12 −−= mk m-Número de bits del mensaje:

Dado un número entero m ≥ 2 se tiene que:

7=Hmínd-Distancia mínima de Hamming:

- Probabilidad de bit en error:ii

icweb pp

iiP −

=

≈ ∑ 23

23

4, )1(

23

23

1

3=t7=v

Page 21: Lecture 21 detección de códigos de redundancia cíclicos. probabilidad de error con codificación de canal.

2S 2009 I. Zamora

UniVII: Det. Cods. Cíclic. Prob. Error.

21

Código Golay Extendido

•Es la versión del código de Golay extendido al agregar un bit extra de paridad para producir (24,12,8). Son también miembros de la familia de códigos lineales de bloque en los cuales se cumplen las condiciones siguientes:

12 −= mn-Número de bits de la palabra de código:

12 −−= mk m-Número de bits del mensaje:

Dado un número entero m ≥ 2 se tiene que:

8=Hmínd-Distancia mínima de Hamming:

- Probabilidad de bit en error:

3=t7=v

ii

icweb pp

iiP −

=

≈ ∑ 24

24

4, )1(

24

241

Page 22: Lecture 21 detección de códigos de redundancia cíclicos. probabilidad de error con codificación de canal.

2S 2009 I. Zamora

UniVII: Det. Cods. Cíclic. Prob. Error.

22

Código BCH (Bose-Chadhuri-Hocquenghem)

•Uno de los mas importantes clases de códigos de cíclicos. Para los códigos BCH existen una muchas posibilidades para variar los parámetros del código. Para todos los enteros m ≥ 2, se cumplen las condiciones siguientes:

12 −= mn-Número de bits de la palabra de código:

mtnk −≥-Número de bits del mensaje:

12 +≥ td Hmín-Distancia mínima de Hamming:

- Probabilidad de bit en error:ini

n

ticweb pp

i

ni

nP −

+=

≈ ∑ )1(

1

1,

tkn 2≥−-Número de bits de verificación

Page 23: Lecture 21 detección de códigos de redundancia cíclicos. probabilidad de error con codificación de canal.

2S 2009 I. Zamora

UniVII: Det. Cods. Cíclic. Prob. Error.

23

Código BCH (Bose-Chadhuri-Hocquenghem)

•Son un tipo de código cíclico.

Page 24: Lecture 21 detección de códigos de redundancia cíclicos. probabilidad de error con codificación de canal.

2S 2009 I. Zamora

UniVII: Det. Cods. Cíclic. Prob. Error.

24

Código BCH (Bose-Chadhuri-Hocquenghem)

Page 25: Lecture 21 detección de códigos de redundancia cíclicos. probabilidad de error con codificación de canal.

2S 2009 I. Zamora

UniVII: Det. Cods. Cíclic. Prob. Error.

25

Código Reed-Solomon

•Sin un subgrupo importante de los códigos BCH. Este código Reed-Solomon (RS) trabaja con símbolos (múltiples bits) en lugar de bits individuales. El codificador (n,k) RS trabaja con k símbolos de información de m bits, los cuales son codificados a palabras de códigos de n símbolos. Un código RS con símbolos en un alfabeto de 2m símbolos tienen los siguientes parámetros:

12 −= mn-Número de bits de la palabra de código:

m-Número de bits del mensaje:

12 +≥ td Hmín-Distancia mínima de Hamming:

- Probabilidad de bit en error:ini

n

ticweb pp

i

ni

nP −

+=

≈ ∑ )1(

1

1,

Page 26: Lecture 21 detección de códigos de redundancia cíclicos. probabilidad de error con codificación de canal.

2S 2009 I. Zamora

UniVII: Det. Cods. Cíclic. Prob. Error.

26

Probabilidad de Error de varios códigos

Page 27: Lecture 21 detección de códigos de redundancia cíclicos. probabilidad de error con codificación de canal.

2S 2009 I. Zamora

UniVII: Det. Cods. Cíclic. Prob. Error.

27

Probabilidad de Error de varios códigos

Page 28: Lecture 21 detección de códigos de redundancia cíclicos. probabilidad de error con codificación de canal.

2S 2009 I. Zamora

UniVII: Det. Cods. Cíclic. Prob. Error.

28

Ejemplo Generación CRC (Ver Ch6. en B. Sklar)

Page 29: Lecture 21 detección de códigos de redundancia cíclicos. probabilidad de error con codificación de canal.

2S 2009 I. Zamora

UniVII: Det. Cods. Cíclic. Prob. Error.

29

Ejemplo Generación CRC (Ver Ch6. en B. Sklar)

Page 30: Lecture 21 detección de códigos de redundancia cíclicos. probabilidad de error con codificación de canal.

2S 2009 I. Zamora

UniVII: Det. Cods. Cíclic. Prob. Error.

30

Ejemplo Generación CRC (Ver Ch6. en B. Sklar)

Page 31: Lecture 21 detección de códigos de redundancia cíclicos. probabilidad de error con codificación de canal.

2S 2009 I. Zamora

UniVII: Det. Cods. Cíclic. Prob. Error.

31

Ejemplo Detección CRC (Ver Ch6. en B. Sklar)

Page 32: Lecture 21 detección de códigos de redundancia cíclicos. probabilidad de error con codificación de canal.

2S 2009 I. Zamora

UniVII: Det. Cods. Cíclic. Prob. Error.

32

Ejemplo Detección CRC (Ver Ch6. en B. Sklar)

Page 33: Lecture 21 detección de códigos de redundancia cíclicos. probabilidad de error con codificación de canal.

2S 2009 I. Zamora

UniVII: Det. Cods. Cíclic. Prob. Error.

33

Ejemplo Detección CRC (Ver Ch6. en B. Sklar)

Page 34: Lecture 21 detección de códigos de redundancia cíclicos. probabilidad de error con codificación de canal.

2S 2009 I. Zamora

UniVII: Det. Cods. Cíclic. Prob. Error.

34