Códigos Corretores
Códigos Corretores – – Notas de aula Notas de aula adicionais
adicionais
Aula de 08/09/2009
PJEJ PJEJ
• Distância Mínima
– A distância mínima dmin expressa a capacidade de controle de erro de um dado código
– Ela é obtida selecionando a menor distância de Hamming entre todos os pares de palavras de código
• A distância mínima é a menor distância entre 2 vetores do código
– Quanto maior for a distância mínima de um código, mais diferentes são as palavras de código e maior é sua capacidade para detectar ou corrigir um erro
– A detecção de erros é sempre possível quando o número de erros é menor que a dmin
• Quando o no de erros > dmin ⇒⇒⇒⇒ palavra recebida é igual a uma palavra de código válida, não sendo possível detectar o erro
Correção de Erros
Correção de Erros – – Códigos de Bloco Códigos de Bloco
– Utilizando um código com distância mínima d
min, tem-se que:
• Pode-se detectar até t1 erros por palavra se: dmin > t1 + 1
• Pode-se corrigir até t2 erros por palavra se: dmin > 2 ⋅⋅⋅⋅ t2 + 1
• Pode-se corrigir até t2 e detectar até t1 > t2 erros por palavra se: dmin > t1 + t2 + 1
Correção de Erros
Correção de Erros – – Códigos de Bloco Códigos de Bloco
• Distância de Hamming
– A distância de Hamming expressa o número de elementos diferentes entre 2 palavras de código
• Teorema 1
– Um código com distância mínima dmin > t1 + 1, pode detectar até t1 erros por palavra
• Teorema 2
– Um código com distância mínima dmin > 2 ⋅⋅⋅⋅ t2 + 1, pode detectar e corrigir até t2 erros por palavra
Correção de Erros
Correção de Erros – – Código de Bloco Código de Bloco
• Distância Mínima – Esfera de Decisão
– Considere dois vetores de código Y1 e Y2 de um código (n , k) num espaço n-dimensional:
– Pode-se verificar que é possível detectar t1 = dmin– 1 erros
• A única maneira de não detectar erros é se os erros transformaram a palavra de código em outra palavra válida (requer a mudança de dmin bits de código)
– Pode-se verificar que é possível corrigir t2 = (dmin– 1)/2 erros
• Se ocorrerem mais erros, a palavra recebida irá cair na esfera de decodificação de outra palavra de código
Correção de Erros
Correção de Erros – – Código de Bloco Código de Bloco
Y1 Z Y2 Y1 Z Y2
t2 t2
d(Y1 , Y2) = 2 ⋅ t2 d(Y1 , Y2) < 2 ⋅ t2
• Distância Mínima de Códigos de Bloco
– A distância mínima dmin de um código de bloco (n , k) é limitada por:
– A eficiência do código é dada por:
• Para os Códigos Verificadores de Paridade Simples
– (n , n – 1) ⇒⇒⇒⇒Rc = (n – 1) / n
• Para os Códigos de Repetição
– (n , 1) ⇒⇒⇒⇒ Rc = 1 / n (a medida que repetição →→ ∞→→ ∞∞∞ , a taxa →→→→ 0)
Correção de Erros
Correção de Erros – – Códigos de Bloco Códigos de Bloco
1 k
n
d
min= − +
n
R
c= k
• Códigos de Golay
– São códigos de correção de erros cíclicos perfeitos (para correção 3 erros) que podem ser gerados pelos polinômios:
– Os códigos de Golay apresentam as seguintes características:
– A distância mínima é sempre igual a 7, de modo que podem detectar até 6 erros e corrigir até 3 erros:
Correção de Erros
Correção de Erros – – Códigos de Códigos de Golay Golay
23
n = k = 12
1 t
2
7 ≥ ⋅
2+
( )
2 4 5 6 10 111
p 1 p p p p p p
g = + + + + + +
( )
5 6 7 9 112
p 1 p p p p p p
g = + + + + + +
7
d
min= 7 ≥ t
1+ 1
• Códigos BCH
– Foram descobertos por Bose, Chaudhuri e Hocquenghem – São os códigos de correção de erros cíclicos mais
eficientes
• Constituem uma família de códigos de bloco cíclicos que englobam os códigos de Hamming
• Enquanto os códigos de Hamming conseguem detectar no máximo 2 erros e corrigir apenas 1, os códigos BCH permitem detectar e corrigir um número bastante grande de erros
– Exemplo: BCH (127, 64) pode corrigir até 10 erros
– Os códigos BCH apresentam p ≥≥≥≥ 3 e com:
– A distância mínima é dada por:
– Exemplo: p=5; (31,26); t=1 com g(x)=x5+x2+1 ou 45octal
Correção de Erros
Correção de Erros – – Códigos BCH Códigos BCH
1 2
n =
p− n − k ≤ p ⋅ t
1 t
2
d
min= ⋅ +
• Códigos de Reed Solomon
– São um subconjunto dos códigos BCH que opera num nível de bloco ao invés de bit
– Em outras palavras, a seqüência de informação é
primeiramente empacotada em blocos menores que são tratados como um novo conjunto de k símbolos para serem empacotados num bloco supercodificado de n símbolos
– Dessa maneira, o decodificador é capaz de detectar e corrigir blocos completos de erros
– O emprego de códigos de Reed Solomon permite corrigir uma seqüência grande de erros (erros em rajadas) que ocorrer com freqüência nas transmissões em canais com desvanecimento e nas reproduções de CDs contendo riscos
• Normalmente são associados a entrelaçadores
Correção de Erros
Correção de Erros – – Códigos Códigos Reed Reed Solomon
Solomon
– Os códigos de Reed Solomon (N, K) são uma subclasse dos BCH, não binários e apresentam:
– A distância mínima é dada por:
– E a capacidade de correção é dada por:
– Exemplo: p = 8; (255,223); t = 16 símbolos
– Outros: Códigos reduzidos, concatenados, turbo etc
Correção de Erros
Correção de Erros – – Códigos Códigos Reed Reed Solomon
Solomon
1 2
N =
p− K = 1 , 2 , ..., N − 1
−
= 2
K t N
1 K
N
d
min= − +
Modula
Modula çã çã o Codificada o Codificada em Treli
em Treli ç ç a (TCM) a (TCM)
• Modulação Codificada em Treliça
Modulação Codificada em Treliça Modulação Codificada em Treliça – –
TCM TCM
Partição – 8PSK