Vous êtes sur la page 1sur 6

UNIVERSIDAD POLITÉCNICA SALESIANA, Comunicaciones Digitales, Javier Veintimilla, Erik Salinas

COMUNICACIONES DIGITALES
Javier Veintimilla, jveintimillap1@est.ups.edu.ec
Erik Salinas, esalinasv@est.ups.edu.ec

Código REED-SOLOMON

 Se tiene un codificador RS(7,3) con polinomio primitivo 𝒇(𝒙) = 𝟏 + 𝒙𝟐 + 𝒙𝟑, al


receptor le llega el siguiente mensaje: r(X) = 101001010000011010101, calcular:

a) los síndromes
b) localice la posición del error
c) valores del error
d) corrija el error

Antes se necesita conocer el campo de extensión 𝐺𝐹(2𝑚 ), donde m es la máxima potencia del
polinomio primitivo, en esta caso: 𝑓(𝑥) = 1 + 𝑥 2 + 𝑥 3

Por lo tanto, 𝑚 = 3 y 23 = 8 elementos en el campo definido por 𝑓(𝑥)

Para encontrar el campo de extensión 𝐺𝐹(23 ) se deben producir 3 raíces, sea ∝, un elemento del
campo de extensión. Se cumple que 𝑓(𝑥) = 0.

𝑥 =∝
𝑓(∝) = 0

0 = 1 +∝2 +∝3

∝3 = −1 −∝2

En el campo binario +1 = −1, entonces se representa:

∝3 = 1 +∝2

Sucesivamente se ira multiplicando por ∝ a ∝3 hasta completar los elementos de campo definidos.

∝4 =∝ (∝3 ) =∝ (1 +∝2 ) =∝ +∝3 =∝ +1 +∝2

∝4 = 1+∝ +∝2

∝5 = ∝ (∝4 ) =∝ (∝ +1 +∝2 ) = ∝2 +∝ +∝3 =∝ +∝𝟐 + 1 +∝𝟐 = 1+∝

∝5 = 1+∝

∝6 =∝ (∝5 ) =∝ (1+∝) =∝ +∝2

∝6 =∝ +∝2
UNIVERSIDAD POLITÉCNICA SALESIANA, Comunicaciones Digitales, Javier Veintimilla, Erik Salinas

∝7 =∝ (∝6 ) =∝ (∝ +∝2 ) =∝2 +∝3 =∝2 + 1 +∝2 = 1 =∝0

∝7 =∝0 = 1

∝8 =∝ (∝7 ) =∝ (1) =∝1

∝8 =∝1

∝9 =∝ (∝8 ) =∝ (∝) =∝2

∝9 =∝2

∝10 =∝ (∝9 ) =∝ (∝2 ) =∝3

∝10 =∝3

∝11 =∝4

∝12 =∝5

∝13 =∝6

∝14 =∝7
TABLA DE RESUMEN

∝3 1 +∝2
∝4 1+∝ +∝2
∝5 1+∝
∝6 ∝ +∝2
∝7 ∝0
∝8 ∝1
∝9 ∝2
∝10 ∝3
∝11 ∝4
∝12 ∝5
∝13 ∝6
∝14 ∝7
UNIVERSIDAD POLITÉCNICA SALESIANA, Comunicaciones Digitales, Javier Veintimilla, Erik Salinas

Se debe calcular el polinomio generador para el código R-S y se define así:

𝑔(𝑋) = 𝑔0 + 𝑔1 𝑋 + 𝑔2 𝑋 + ⋯ + 𝑔2𝑡−1 𝑋2𝑡−1 + 𝑋2𝑡

Donde 2𝑡 = 𝑛 − 𝑘, y se sabe que


𝑅𝑆(𝑛, 𝑘) = 𝑅𝑆(7,3)

Entonces 2𝑡 = 4. Planteando:

(𝑋) = (𝑋−∝)(𝑋 −∝2 )(𝑋 −∝3 )(𝑋 −∝4 )

𝑔(𝑋) = (𝑋2 −∝2 𝑋−∝ 𝑋 +∝3 )(𝑋2 −∝4 𝑋 −∝3 𝑋 +∝7 )

𝑔(𝑋) = (𝑋2 − (∝ +∝𝟐 )𝑋 +∝3 )(𝑋2 − (∝𝟑 +∝𝟒 )𝑋 +∝7 )

𝑔(𝑋) = (𝑋2 −∝6 𝑋 +∝3 )(𝑋2 −∝8 𝑋 +∝7 )

𝑔(𝑋) = 𝑋4 −∝8 𝑋3 +∝7 𝑋2 −∝6 𝑋3 +∝14 𝑋 2 −∝13 𝑋 +∝3 𝑋2 −∝11 𝑋 +∝10

𝑔(𝑋) = 𝑋 4 − (∝𝟖 +∝𝟔 )𝑋3 + (∝𝟕 +∝𝟏𝟒 +∝𝟑 )𝑋2 − (∝𝟏𝟑 +∝𝟏𝟏 )𝑋 +∝𝟏𝟎

𝑔(𝑋) = 𝑋4 − (∝𝟏 +∝𝟏 +∝𝟐 )𝑋3 + (∝𝟎 +∝𝟎 +∝𝟑 )𝑋2 − (∝ +∝𝟐 + 𝟏+∝ +∝𝟐 )𝑋 +∝3

𝑔(𝑋) = 𝑋4 −∝2 𝑋3 +∝3 𝑋2 −∝0 𝑋 +∝3

En los campos binarios +1 = −1, y el generador 𝑔(𝑋) puede ser expresado como:

𝑔(𝑋) = 𝑋4 +∝2 𝑋3 +∝3 𝑋2 +∝0 𝑋 +∝3

Tomando de referencia la siguiente tabla de mapeo de elementos de campos, del libro de Sklar.

a. Síndromes:

Fórmula 𝑝 = 𝑛 − 𝑘

𝑅𝑆(𝑛, 𝑘) = 𝑅𝑆(7,3)
𝑛 = 7, 𝑘 = 3
UNIVERSIDAD POLITÉCNICA SALESIANA, Comunicaciones Digitales, Javier Veintimilla, Erik Salinas

Síndromes 𝑝 = 𝑛 − 𝑘 = 7 − 3 = 4

𝑝 = 4, son 4 síndromes presentes.

b. Localizar la posición del error:


- Código recibido

𝑟 = 101 − 001 − 010 − 011 − 010 − 101


Reed Solomon (7,3)

𝑟 = 𝛼 3 + 𝛼 2 𝑋 + 𝛼 1 𝑋2 + 𝛼 6 𝑋3 + 𝛼 1 𝑋4 + 𝑎3 𝑋 5
La cantidad de síndromes está dada por 𝑛 − 𝑘 en este caso

𝑛−𝑘 =7−3 =4
Calculo de los síndromes

𝑆𝑖 = 𝑟(𝑋) |𝑋=𝛼𝑖 = 𝑟(𝛼 𝑖 ) 𝑖 = 1,2,3,4

𝑆1 = 𝑟(𝛼) = 𝛼 3 + 𝛼 2 (𝛼) + 𝛼 1 (𝛼)2 + 𝛼 6 (𝛼)3 + 𝛼 1 (𝛼)4 + 𝑎3 (𝛼)5

𝑆1 = 𝛼 3 + 𝛼 3 + 𝛼 3 + 𝛼 9 + 𝛼 5 + 𝛼 8

𝑆1 = 𝛼 3 + 𝛼 2 + 1 + 𝛼 1 + 𝛼 1

𝑆1 = 1 + 𝛼 2 + 𝛼 2 + 1

𝑆1 = 0

𝑆2 = 𝑟(𝛼 2 ) = 𝛼 3 + 𝛼 2 (𝛼 2 ) + 𝛼 1 (𝛼 2 )2 + 𝛼 6 (𝛼 2 )3 + 𝛼 1 (𝛼 2 )4 + 𝑎3 (𝛼 2 )5

𝑆2 = 𝛼 3 + 𝛼 4 + 𝛼 5 + 𝛼 12 + 𝛼 9 + 𝛼 13
𝑆2 = 𝛼 3 + 𝛼 + 𝛼 3 + 𝛼 2 + 𝛼 + 𝛼 2

𝑆2 = 0

𝑆3 = 𝑟(𝛼 3 ) = 𝛼 3 + 𝛼 2 (𝛼 3 ) + 𝛼 1 (𝛼 3 )2 + 𝛼 6 (𝛼 3 )3 + 𝛼 1 (𝛼 3 )4 + 𝑎3 (𝛼 3 )5

𝑆3 = 𝛼 3 + 𝛼 0 + 𝛼 1 + 𝛼 0 + 𝛼 1 + 𝛼 6 + 𝛼 4

𝑆3 = 𝛼 3 + 𝛼 + 𝛼 2 + 𝛼 + 𝛼 3

𝑆3 = 𝛼 2
UNIVERSIDAD POLITÉCNICA SALESIANA, Comunicaciones Digitales, Javier Veintimilla, Erik Salinas

𝑆4 = 𝑟(𝛼 4 ) = 𝛼 3 + 𝛼 2 (𝛼 4 ) + 𝛼 1 (𝛼 4 )2 + 𝛼 6 (𝛼 4 )3 + 𝛼 1 (𝛼 4 )4 + 𝑎3 (𝛼 4 )5

𝑆4 = 𝛼 3 + 𝛼 6 + 𝛼 9 + 𝛼 18 + 𝛼 17 + 𝛼 23

𝑆4 = 𝛼 3 + 𝛼 6 + 𝛼 2 + 𝛼 4 + 𝛼 3 + 𝛼 2

𝑆4 = 𝛼 3 + 𝛼 + 𝛼 2 + 𝛼 + 𝛼 3

𝑆4 = 𝛼 0

El síndrome es el resultado de una verificación de paridad realizada en 'r' para determinar si 'r' es
un miembro válido de la palabra de código establecida. Si de hecho 'r' es un miembro, el síndrome
S tiene un valor 0. Cualquier valor distinto de cero de S indica la presencia de errores.

Por lo tanto

Para localizar el error:


𝑆1 𝑆2 𝜎2 𝑆
[ ] [ ] = [ 3]
𝑆2 𝑆3 𝜎1 𝑆4
0 0 𝜎2 2
[ 2 ] [ 𝜎 ] = [𝛼 0 ]
0 𝛼 1 𝛼

0 0
𝑑𝑒𝑡 [ ]=0
0 𝛼2
0 0 2
𝑐𝑜𝑓𝑎𝑐𝑡𝑜𝑟 [ 2 ] = [𝛼 0]
0 𝛼 0 0
2 0
[𝛼 ]
0 0 0 0 = [0 0]
𝐼𝑛𝑣 [ ] =
0 𝛼2 0 0 0

𝜎2 0 0 −1 𝛼 2 5
[𝜎 ] = [ 2 ] [ 0 ] = [𝛼 ]
1 0 𝛼 𝛼 0
𝜎(𝑋) = 𝛼 0 + 𝜎1 𝑋 + 𝜎2 𝑋2

𝜎(𝑋) = 𝛼 0 + 0 ∗ 𝑋 + 𝛼 5 𝑋2

𝜎(𝑋) = 𝛼 0 + 𝛼 5 𝑋2

Las raíces de 𝜎(𝑋) son recíprocas a la localización del error:

𝜎(𝛼 0 ) = 𝛼 0 + 𝛼 5 𝛼 0 = 𝐷𝑖𝑓𝑒𝑟𝑒𝑛𝑡𝑒 𝑑𝑒 𝑐𝑒𝑟𝑜

𝜎(𝛼 1 ) = 𝛼 0 + 𝛼 5 𝛼 1 = 𝐷𝑖𝑓𝑒𝑟𝑒𝑛𝑡𝑒 𝑑𝑒 𝑐𝑒𝑟𝑜

𝜎(𝛼 2 ) = 𝛼 0 + 𝛼 5 𝛼 2 = 0 − 𝐸𝑅𝑅𝑂𝑅
UNIVERSIDAD POLITÉCNICA SALESIANA, Comunicaciones Digitales, Javier Veintimilla, Erik Salinas

𝜎(𝛼 3 ) = 𝛼 0 + 𝛼 5 𝛼 3 = 𝐷𝑖𝑓𝑒𝑟𝑒𝑛𝑡𝑒 𝑑𝑒 𝑐𝑒𝑟𝑜

𝜎(𝛼 4 ) = 𝛼 0 + 𝛼 5 𝛼 4 = 𝐷𝑖𝑓𝑒𝑟𝑒𝑛𝑡𝑒 𝑑𝑒 𝑐𝑒𝑟𝑜

𝜎(𝛼 5 ) = 𝛼 0 + 𝛼 5 𝛼 5 = 𝐷𝑖𝑓𝑒𝑟𝑒𝑛𝑡𝑒 𝑑𝑒 𝑐𝑒𝑟𝑜

𝜎(𝛼 6 ) = 𝛼 0 + 𝛼 5 𝛼 6 = 𝐷𝑖𝑓𝑒𝑟𝑒𝑛𝑡𝑒 𝑑𝑒 𝑐𝑒𝑟𝑜

- Corregir errores en
𝐵1 𝐵2 𝑒1 𝑆
[ ] [ ] = [ 3]
𝐵12 𝐵22 𝑒2 𝑆4
2 𝜎 0
[𝛼 4 0] [𝜎 ] = [𝛼 ]
2
𝛼 0 1 0
𝑒1 2 −1 0 2
[𝑒 ] = [𝛼 4 0] [𝛼 ] = [𝛼 ]
2 𝛼 0 0 0

Vous aimerez peut-être aussi