Você está na página 1de 48

2_Bloco_V2011_Rev4 - Geraldo Gil R.

Gomes
2.1






Um canal de comunicao pode apresentar uma srie de imperfeies que dificultam a correta
interpretao e perfeita reproduo dos sinais transmitidos. Tais imperfeies se apresentam
como rudos, distores, interferncias, desvanecimentos, etc., e, como consequncia, a funo
do receptor pode ser resumida como sendo habilidade de apresentar em sua sada a melhor
estimativa da informao ou mensagem que foi transmitida [1].

Em sistemas de comunicaes digitais, o parmetro de desempenho que permite quantificar o
que pode ser a melhor estimativa a probabilidade de erro de bit, P
b
, cujo valor, para ser
considerado satisfatrio, depende fundamentalmente do tipo de informao que est sendo
transmitida. A questo fundamental apresentada neste captulo est diretamente relacionada com
o controle da probabilidade de erro de bit, abordada a partir da prxima seo.


2.1. INTRODUO CODIFICAO DE CANAL

A codificao de canal um processo em que redundncias so introduzidas antes da
transmisso, com o objetivo de permitir que, no receptor, a semelhana entre o sinal que foi
transmitido e o sinal que foi reproduzido seja a mxima possvel. Ou, por outro lado, um
processo que permite a reduo da P
b
a valores to baixos quanto possveis. A partir desse ponto
inevitvel a imposio de uma questo: Em termos objetivos, o que se pode esperar obter como
mxima semelhana ou P
b
to baixa quanto possvel com a codificao de canal? Essa questo
foi parcialmente respondida no captulo anterior atravs do Teorema da Codificao de Canal,
cuja consequncia reproduzida a seguir por convenincia [1][2][3].

Desde que a taxa de transmisso seja menor do que a capacidade do canal, ento existe um
esquema de codificao capaz de permitir a obteno de taxas de erro de bit arbitrariamente
baixas.

O Teorema da Codificao de Canal, no entanto, insatisfatrio sob o ponto de vista prtico
porque no conduz a uma indicao do esquema de codificao capaz de produzir um resultado
esperado, nem tampouco, o seu grau de complexidade ou da dificuldade de encontr-lo. Uma
discusso mais detalhada sobre esse assunto pode ser encontrada em diversas publicaes sobre
Teoria da Informao.

De fato, a busca de um esquema de codificao, que em geral um processo heurstico, nem
sempre tem como principal meta alcanar desempenhos prximos dos apresentados pelos limites
fundamentais da Teoria da Informao. Em sistemas reais, a busca de um esquema de
codificao pode estar associada a aspectos prticos como velocidade de processamento,
complexidade de implementao, etc.
2
CODIFICAO DE CANAL: CDIGOS DE BLOCO LINEARES
2. CODIFICAO DE CANAL: CDIGOS DE BLOCO LINEARES
________________________________________________________________________________________________

2_Bloco_V2011_Rev4 - Geraldo Gil R. Gomes
2.2
Independentemente de qual seja a abordagem utilizada na busca de um esquema de codificao,
necessrio um bom conhecimento dos fundamentos associados s tcnicas de codificao para
controle de erro.

O objetivo deste captulo apresentar os fundamentos dos Cdigos de Bloco Lineares e seus
desempenhos. Eles so apresentados em cinco sees:

Definies Fundamentais
Cdigos de Bloco Lineares
Desempenho dos Cdigos de Bloco Lineares
Cdigos Cclicos
Caractersticas dos Cdigos de Bloco Bem Conhecidos


2.2. CDIGOS DE BLOCO: DEFINIES INICIAIS

Antes da apresentao dos Cdigos de Blocos Lineares, algumas definies iniciais so oportunas.
Cdigos de blocos se caracterizam pelo fato do processo de codificao ser feito sobre blocos de
bits ou bloco de smbolos. Isso quer dizer que um feixe de bits ou smbolos segmentado em blocos
de k bits ou smbolos, a partir dos quais so geradas palavras cdigos com n bits ou smbolos.
Assim, a notao que caracteriza um cdigo de bloco (n, k). Por convenincia, a partir deste ponto
a notao (n, k) estar associada quantidade de bits. Quando a notao (n, k) for usada para
representar smbolos, isso ser definido explicitamente.

Se k bits esto contidos em um bloco de n bits, ento a quantidade de bits de redundncia
introduzidos no processo de codificao (n k).


2.2.1. TAXA DE CODIFICAO

A taxa de codificao de um cdigo de bloco definida como sendo a relao entre o nmero de
bits de informao e o nmero de bits da palavra cdigo. Ou seja,

n
k
R
c
= . (2.1)

A taxa de codificao uma indicao relativa de quantos bits de informao so transmitidos por
palavra cdigo. Uma vez que 0 < k n, ento 0 < R
c
1. Entretanto, para que um cdigo produza
algum benefcio, necessrio que k < n, ou (n k) > 0. Consequentemente, 0 < R
c
< 1.

Nota-se que, se nenhum artifcio for usado para compensar o acrscimo de bits devido introduo
da redundncia, ento, para a manuteno da taxa de transmisso dos bits de informao
necessrio aumentar a taxa de transmisso total, resultando em um acrscimo ou expanso da
largura de faixa. Essa expanso da largura de faixa de exatamente a 1/R
c
. Ou seja, quanto maior
for o nmero de bits de redundncia introduzidos, maior ser a expanso da largura de faixa.

2.2.2. GANHO DE CODIFICAO

O benefcio obtido com o processo de codificao pode ser quantificado por meio do ganho de
codificao. O ganho de codificao definido como sendo a relao entre E
b
/N
0
do sinal no
codificado, pelo E
b
/N
0
do sinal codificado, para uma dada taxa de erro, i.e. o ganho de codificao
2. CODIFICAO DE CANAL: CDIGOS DE BLOCO LINEARES
________________________________________________________________________________________________

2_Bloco_V2011_Rev4 - Geraldo Gil R. Gomes
2.3
tipicamente uma funo de P
b
. A expresso do ganho de codificao, em dB, apresentada a seguir
[3][4][6].
(dB) log 10 log 10
0 0
c
b
nc
b
N
E
N
E
G
|
|

\
|

|
|

\
|
=
(2.2)

Onde, (E
b
/N
0
)
nc
a relao entre a energia de bit e a densidade espectral de rudo sem codificao e
(E
b
/N
0
)
c
a relao entre a energia de bit e a densidade espectral de rudo com codificao.

As curvas caractersticas de P
b
em funo de E
b
/N
0
, para um esquema de transmisso codificado e
no codificado, so apresentado na Figura 2.1. Um cuidado deve ser tomado para a correta
determinao de P
b
em funo de E
b
/N
0
com a codificao: o valor de E
b
refere-se energia por bit
de informao, ou seja, admitindo-se que a energia total gasta para a transmisso seja a mesma para
os dois casos, ento a energia por bit de informao com a codificao menor do que a energia de
bit sem a codificao, devido insero dos bits de redundncia. Assim sendo, a relao entre
(E
b
/N
0
)
c
e (E
b
/N
0
)
nc
fica afetada pela taxa de codificao na forma

nc
b
c
b
N
E
R
N
E
|
|

\
|
=
|
|

\
|
0 0

(2.3)

Os valores de taxa de erro e de E
b
/N
0
apresentados na Figura 2.1 referem-se a um esquema
hipottico e tem por objetivo permitir generalizar concluses apresentadas a seguir.

1) Para baixos valores de E
b
/N
0
a codificao no apresenta nenhum benefcio, ou seja, o
ganho de codificao pode ser nulo, para o valor de E
b
/N
0
determinado pelo cruzamento das
curvas, ou negativo para valores menores.
2) Para diferentes valores de P
b
obtm-se diferentes ganhos de codificao. Por exemplo, para
P
b
= 10
-4
o ganho de codificao igual o a 1,4 dB, enquanto para P
b
= 10
-6
o ganho sobe
para 2 dB. Isso demonstra a dependncia do ganho de codificao com P
b
.
3) A codificao permite obter reduo de P
b
com a mesma energia (E
b
/N
0
constante) em
relao ao sinal sem codificao. Por exemplo, para E
b
/N
0
= 7 dB, a P
b
cai de 10
-3
para
um pouco mais que 10
-5
.

Considerando-se a expanso de largura de faixa provocada pela codificao, pode-se concluir ainda:

4) A diminuio de P
b
e/ou E
b
/N
0
decorrente da codificao produz uma expanso na largura
de faixa.

2. CODIFICAO DE CANAL: CDIGOS DE BLOCO LINEARES
________________________________________________________________________________________________

2_Bloco_V2011_Rev4 - Geraldo Gil R. Gomes
2.4




















Figura 2.1 - Curvas tpicas de probabilidade de erro versus E
b
/N
0
para um sinal com codificao e
sem codificao.


2.2.3. VETOR CDIGO, VETOR ERRO, VETOR RECEBIDO E VETOR DECODIFICADO

Conforme definido previamente, o processo de codificao por bloco consiste em transformar um
segmento da mensagem, m, com k bits em uma palavra cdigo ou vetor cdigo, c, com n bits. O
vetor cdigo transmitido e pode sofrer alteraes devido s degradaes impostas pelo meio de
transmisso. As alteraes sofridas pelo vetor cdigos podem ser representadas por meio de um
vetor erro, e. Um vetor cdigo, c, somado com um vetor erro, e, resulta em um vetor recebido, r. Ou
seja,
e c r = . (2.4)

O vetor recebido entregue ao decodificador cuja finalidade transformar o vetor recebido no vetor
decodificado, que consiste na melhor estimativa do vetor cdigo transmitido. A partir do vetor
cdigo estimado, c, a melhor estimativa da mensagem, m, reproduzida na sada do
decodificador. Essa cadeia de transformaes ilustrada no diagrama em blocos apresentado na
Figura 2.2 e pelo Exemplo 2.1.
E
b
/N
0
(dB)
P
b
10
-2
10
-1
10
-3
10
-4
10
-5
10
-6
7

8

9

10

6

5

4

3

Sem
codificao
Com
codificao
1,4 dB

2 dB

2. CODIFICAO DE CANAL: CDIGOS DE BLOCO LINEARES
________________________________________________________________________________________________

2_Bloco_V2011_Rev4 - Geraldo Gil R. Gomes
2.5

Figura 2.2. Diagrama em blocos do processo de codificao e decodificao.


EXEMPLO 2.1

Seja um cdigo de repetio (5, 1) aplicado ao vetor mensagem m = 1. Admitindo que o canal
introduza um vetor erro, e = 01010, ao vetor cdigo, pede-se determinar todas as transformaes
vetoriais desde a codificao da mensagem at a obteno da mensagem estimada na sada do
decodificador.

Soluo:

Evidentemente para o cdigo de repetio (5, 1) s existem duas palavras cdigos possveis: 00000
e 11111. A palavra cdigo correspondente mensagem m = 1

c = 11111
O vetor recebido
r = c e = 11111 01010

r = 10101.

Como um cdigo de repetio pode ser decodificado por lgica majoritria, ento a melhor
estimativa para o vetor cdigo a partir do vetor recebido

c = 11111,
que resulta na mensagem estimada
m = 1.

* * *


2.2.4. PESO DE HAMMING E DISTNCIA DE HAMMING

O peso de Hamming de um vetor v, cuja notao w(v), definido como o sendo o nmero de
elementos no zero em v. Para um vetor binrio, o peso de Hamming igual ao nmero de dgitos
1 contidos em v [1][2][3][4][5][6].

EXEMPLO 2.2

Determinar o peso de Hamming do vetor v = 10110.

Soluo:
w(v) = 3.

* * *
Codificador
Canal
+
e
c
m
Decodificador
Estimador de c Estimador de m
r
c
m'
2. CODIFICAO DE CANAL: CDIGOS DE BLOCO LINEARES
________________________________________________________________________________________________

2_Bloco_V2011_Rev4 - Geraldo Gil R. Gomes
2.6
A distncia de Hamming entre dois vetores cdigos v e x, cuja notao d(v, x), definida como
sendo o nmero de posies em que os dgitos dos dois vetores que so diferentes entre si. Para o
caso binrio, a distncia de Hamming pode ser determinada facilmente atravs da propriedade de
adio mdulo-2, pois ela igual ao nmero de dgitos 1 contidos no vetor resultante da operao
v x. Ou seja,
) ( ) , ( x v x v = w d . (2.5)

EXEMPLO 2.3

Determinar a distncia de Hamming entre o vetor v = 10110 e x = 10101.

Soluo:
( ) ( ) 00011 10101 10110 ) ( ) , ( w w w d = = = x v x v

2 ) , ( = x v d

* * *


2.2.5. ESPAO VETORIAL E SUBESPAO VETORIAL

Considere um conjunto V, constitudos por K vetores v
0
, v
1
, v
2
, ... , v
K-1
, formado por n elementos
de {0, 1}. Admita que sobre este conjunto sejam definidas duas operaes, cujas regras so
apresentadas na Tabela 2.1. A adio, representada por , definida entre os elementos de V e a
multiplicao, representada por , entre um elemento de {0, 1} e qualquer vetor de V
[1][2][3][4][5][6].

Tabela 2.1 - Operaes algbricas no campo binrio.

Adio Multiplicao
0 0 = 0
0 1 = 1
1 0 = 1
1 1 = 0
0 0 = 0
0 1 = 0
1 0 = 0
1 1 = 1

O conjunto V definido como um espao vetorial sobre {0, 1} se as seguintes condies so
satisfeitas:

1) A adio de quaisquer dois vetores de V resulta em outro vetor em V (propriedade do
fechamento).
2) O produto escalar de um elemento de {0, 1} e qualquer vetor de V resulta em outro vetor em
V.
3) A lei distributiva satisfeita, ou seja, se a
1
e a
2
so escalares de {0, 1} e v
1
e v
2
so vetores
de V, ento

) ( ) ( ) (
) ( ) ( ) (
2 1 2 1
1 1 1
1 1 1
2 1 2 1
v v v
v v v v
= == =
= == =
a a a a
a a a
. (2.6)

2. CODIFICAO DE CANAL: CDIGOS DE BLOCO LINEARES
________________________________________________________________________________________________

2_Bloco_V2011_Rev4 - Geraldo Gil R. Gomes
2.7
4) A lei associativa satisfeita, ou seja, se a
1
e a
2
so escalares de {0, 1} e v
1
um vetor de V,
ento
) ( ) (
2 1 2 1 1 1
v v = == = a a a a . (2.7)

EXEMPLO 2.4

Encontrar o espao vetorial V composto pelo maior nmero possvel de vetores com seis elementos
de {0; 1}.

Soluo:

O espao vetorial V
6
o conjunto de todos os vetores binrios com seis elementos (n = 6)
apresentados na Tabela 2.2.

Tabela 2.2 - Espao vetorial V
6
.

V
6
000000 000001 000010 000011 000100 000101 000110 000111
001000 001001 001010 001011 001100 001101 001110 001111
010000 010001 010010 010011 010100 010101 010110 010111
011000 011001 011010 011011 011100 011101 011110 011111
100000 100001 100010 100011 100100 100101 100110 100111
101000 101001 101010 101011 101100 101101 101110 101111
110000 110001 110010 110011 110100 110101 110110 110111
111000 111001 111010 111011 111100 111101 111110 111111

* * *

Um subconjunto S de um espao vetorial V chamado de subespao vetorial de V se as quatro
condies definidas acima so verificadas. Entretanto, como S um subconjunto de V, suficiente
que as duas primeiras condies sejam satisfeitas para a identificao de um subespao em V, isto :

1) A adio de quaisquer dois vetores de S resulta em outro vetor em S (propriedade do
fechamento).
2) O produto escalar de um elemento de {0, 1} e qualquer vetor de S resulta em outro vetor em
S. Ou simplesmente: o vetor nulo, ou vetor todo zero, pertence a S.


EXEMPLO 2.5

A partir das propriedades do subespao vetorial identificar dois subespaos vetoriais de V
6
,
apresentado na Tabela 2.3, que contenha:
1) 4 vetores
2) 8 vetores

2. CODIFICAO DE CANAL: CDIGOS DE BLOCO LINEARES
________________________________________________________________________________________________

2_Bloco_V2011_Rev4 - Geraldo Gil R. Gomes
2.8
Soluo:
Tabela 2.3 - Subespaos de V
6
com 4 e 8 vetores.

S com 4 vetores S com 8 vetores
000000 000000 011001
101011 110101 101011
110110 101100 110010
011101 011110 000111


Importante: Os subespaos encontrados acima no so nicos. possvel encontrar, em V
6
,
outros subespaos contendo 4 e 8 vetores.

* * *
2.3. CDIGOS DE BLOCO LINEARES [1][2][3][4][5][6]

Um cdigo de bloco linear binrio um subespao vetorial com 2
k
vetores do espao vetorial
constitudo de todos os 2
n
vetores com n elementos de {0, 1}. Este conceito est ilustrado na Figura
2.3. Consequentemente, considerando as duas condies necessrias para caracterizar um subespao
vetorial aplicadas aos cdigos de bloco lineares, conclui-se que:

1) A soma de duas palavras cdigos quaisquer resulta em outra palavra cdigo, e;
2) O vetor nulo ou vetor todo zero tambm uma palavra cdigo.




Figura 2.3 - Representao dos cdigos de blocos lineares como um subespao vetorial de um
espao vetorial V
n
.


Nota-se que o subespao vetorial constitui o conjunto dos vetores cdigos ou vetores vlidos.
Portanto, qualquer vetor de n bits que no pertena ao subespao vetorial est no espao vetorial,
porm, um vetor no vlido. Uma estratgia de deteco de erros consiste em verificar se o vetor
recebido um vetor vlido ou no vlido, i.e., se ele pertence ou no ao subespao vetorial. Uma
vez constatado que o vetor recebido um vetor no vlido, uma estratgia de correo de erros
consiste na identificao de qual o vetor vlido que apresenta a menor distncia de Hamming em
relao ao vetor recebido e eleg-lo como sendo o vetor transmitido.



Conjunto dos 2
n

vetores com n
bits
2
n
Conjunto dos 2
k

vetores cdigos de
n bits
2
k

2. CODIFICAO DE CANAL: CDIGOS DE BLOCO LINEARES
________________________________________________________________________________________________

2_Bloco_V2011_Rev4 - Geraldo Gil R. Gomes
2.9
Nos cdigos de bloco lineares onde o valor de k baixo esta tarefa simples. Entretanto, quando k
apresenta valores relativamente altos, esta tarefa pode tornar-se impraticvel, conforme mostrado no
Exemplo 2.6.

EXEMPLO 2.6

Admitindo a existncia de um cdigo de bloco linear (255, 130), pede-se:

a) Determinar a quantidade de vetores cdigos binrios existentes neste cdigo.
b) Determinar a quantidade de vetores no possveis.
c) Descrever uma estratgia de correo de erros, admitindo que o vetor recebido um vetor
no vlido.

Soluo

a) A quantidade de vetores cdigos

2
k
= 2
130
1,36 10
39
vetores vlidos.

b) Como o vetor no vlido, ento ele um dos 2
n
2
k
vetores no vlidos, ou um entre

2
255
- 2
130
2
255
5,7896 10
76
vetores no vlidos.
c) Uma estratgia de correo de erros identificar entre os 1,36 10
39
vetores vlidos qual
o vetor que apresenta a menor distncia de Hamming em relao ao vetor no vlido
recebido!

* * *

Nota-se que um subespao vetorial um conjunto de vetores linearmente dependentes (LD) devido
propriedade do fechamento, i.e., qualquer vetor pode ser obtido pela soma de outros dois vetores
do subespao. Uma vez que um subespao vetorial binrio contm 2
k
vetores, ento deve existir um
ou mais subconjuntos com k vetores ditos linearmente independentes (LI) cujas combinaes
lineares produzem todos os outros vetores do subespao. Esses k vetores linearmente independentes
so chamados de base do subspao. Os conceitos de espao vetorial, subespao vetorial e base do
subespao esto apresentados, em termos de conjunto, na Figura 2.4.



Figura 2.4. Representao de espao vetorial, subespao vetorial e base do subespao vetorial.




Espao
2
n
Subespao
2
k

k
Base do
Subespao
Vetorial
2. CODIFICAO DE CANAL: CDIGOS DE BLOCO LINEARES
________________________________________________________________________________________________

2_Bloco_V2011_Rev4 - Geraldo Gil R. Gomes
2.10

EXEMPLO 2.7

A partir do subespao vetorial com 8 vetores, apresentado na Tabela 2.3, identificar uma base capaz
de gerar todos os outros vetores deste subespao, atravs de combinaes lineares dos vetores desta
base.

Soluo

Como o objetivo formar uma base para a gerao dos de um subespao com 2
k
= 8 vetores LD o
nmero necessrio de vetores na base ser k = 3 vetores LI. Escolhendo-se arbitrariamente 3 vetores
LI entre os 8 vetores da Tabela 2.3, pode-se obter:

b
0
= 110101
b
1
= 101100
b
2
= 011110

Prova: Com a combinao linear dos vetores encontrados possvel encontrar todos os outros
vetores do subespao, representados a seguir pelos vetores v
j
, obtidos a partir da operao

1 1 1 1 0 0
+ ++ + + ++ + + ++ + = == =
k k j
u u u b b b v K ,
(2.8)

onde u
i
um elemento de {0, 1} para i = 1, 2, ... , (k 1) e j = 0, 1, ... , (2
k
1).

v
0
= 0 b
0
+ 0 b
1
+ 0 b
2
= 000000
v
1
= 1 b
0
+ 0 b
1
+ 0 b
2
= 110101 Vetor da base
v
2
= 0 b
0
+ 1 b
1
+ 0 b
2
= 101100 Vetor da base
v
3
= 0 b
0
+ 0 b
1
+ 1 b
2
= 011110 Vetor da base
v
4
= 1 b
0
+ 1 b
1
+ 0 b
2
= 011001
v
5
= 1 b
0
+ 0 b
1
+ 1 b
2
= 101011
v
6
= 0 b
0
+ 1 b
1
+ 1 b
2
= 110010
v
7
= 1 b
0
+ 1 b
1
+ 1 b
2
= 000111

* * *

2.3.1. MATRIZ GERADORA

Uma matriz geradora, G, aquela que permite obter os vetores cdigos, c
j
,
correspondentes s mensagens, m
i
, a partir do produto interno determinado por

G m c =
j j
,
(2.9)

Evidentemente, a matriz geradora, G, uma consequncia direta de uma base do subespao
vetorial. Ela uma matriz de dimenses k n que consiste do arranjo formado pelos vetores
linearmente independentes, ou vetores geradores, que compem uma base do subespao, conforme
apresentado em (2.10).

2. CODIFICAO DE CANAL: CDIGOS DE BLOCO LINEARES
________________________________________________________________________________________________

2_Bloco_V2011_Rev4 - Geraldo Gil R. Gomes
2.11
(
(
(
(
(

=
(
(
(
(

1 , 1 2 , 1 1 , 1 0 , 1
1 , 1 12 11 10
1 , 0 02 01 00
1
1
0
n k k k k
n
n
k
g g g g
g g g g
g g g g
L
M M M M
L
L
M
g
g
g
G
(2.10)

Onde g
0
, g
1
, ... , g
k 1
, so os vetores geradores. Para uma conveniente simplificao da notao, a
partir deste ponto, os vetores cdigos c
j
e m
j
sero denotados simplesmente por c e m,
respectivamente. Logo, substituindo (2.10) em (2.9), obtm-se

. ) , , , (
1 1 1 1 0 0
1
1
0
1 1 0

+ + + =
(
(
(
(

= =
k k
k
k
m m m m m m g g g
g
g
g
G m c K
M
K
(2.11)

Observa-se claramente a semelhana entre (2.8) e (2.11), o que significa que a combinao linear
dos elementos dos vetores mensagem com as linhas da matriz geradora produzem vetores cdigos
que esto associados inequivocamente aos vetores mensagens que os produziu.


EXEMPLO 2.8

A partir da base do subespao vetorial apresentado no Exemplo 2.7, pede-se:

a) Construir uma matriz geradora.
b) A partir da matriz geradora, construir uma tabela com os vetores mensagens e seus
respectivos vetores cdigos.

Soluo:

a) A obteno de uma matriz geradora a partir do Exemplo 2.7 direta, pois ela nada mais do que
a base de um subespao vetorial, logo, utilizando os mesmos vetores b
0
= 110110, b
1
= 101100 e
b
2
= 011101 para g
0
, g
1
e g
2
, respectivamente, obtm-se

( (( (
( (( (
( (( (

( (( (





= == =
0 1 1 1 1 0
0 0 1 1 0 1
1 0 1 0 1 1
G
.
(2.12)

b) Como a matriz geradora possui trs linhas, os vetores resultantes de todas as combinaes
lineares sero 2
k
= 2
3
= 8, obtidos a partir de todos os vetores mensagens possveis contendo de
trs bits. Consequentemente G a matriz geradora de um cdigo (6, 3), conforme mostrado a
seguir.


2. CODIFICAO DE CANAL: CDIGOS DE BLOCO LINEARES
________________________________________________________________________________________________

2_Bloco_V2011_Rev4 - Geraldo Gil R. Gomes
2.12
Tabela 2.4. - Vetores cdigos do cdigos (6, 3) gerados a partir da matriz G em (2.12).

m c = m.G c
000 c
0
= 0 (110101) + 0 (101100) + 0 (011110) 000000
100 c
1
= 1 (110101) + 0 (101100) + 0 (011110) 110101
010 c
2
= 0 (110101) + 1 (101100) + 0 (011110) 101100
110 c
3
= 1 (110101) + 1 (101100) + 0 (011110) 011001
001 c
4
= 0 (110101) + 0 (101100) + 1 (011110) 011110
101 c
5
= 1 (110101) + 0 (101100) + 1 (011110) 101011
011 c
6
= 0 (110101) + 1 (101100) + 1 (011110) 110010
111 c
7
= 1 (110101) + 1 (101100) + 1 (011110) 000111

* * *


2.3.2. CODIFICAO SISTEMTICA E NO SISTEMTICA

Os vetores cdigos apresentados na Tabela 2.4, gerados pela operao apresentada em (2.11), no
apresentam explicitamente a mensagem que o gerou como sendo um segmento do prprio vetor
cdigo. Isso significa que neste tipo de codificao a mensagem passa a ser conhecida somente aps
o processo de decodificao. Essa forma de codificao chamada de codificao no sistemtica.
Uma caracterstica desejvel em um processo de codificao para um cdigo de bloco linear
aquela que permite que o vetor cdigo seja composto por dois segmentos: um segmento composto
pelos (n k) bits de redundncia que permitem a verificao da validade do vetor e outro segmento
correspondente aos k bits da mensagem que gerou os bits de redundncia. A disposio do
segmento redundncia e do segmento mensagem uma questo de conveno. A conveno
adotada neste texto est apresentada na Figura 2.5. A forma de codificao que permite a obteno
do vetor cdigo nesse formato chamada de codificao sistemtica.


Figura 2.5 - Vetor cdigo obtido por codificao sistemtica.


Vetores cdigos com a conveno mostrada na Figura 2.5 podem ser obtidos a partir de matrizes
geradoras com um formato especfico. Este formato, apresentado em (2.13), consiste de uma matriz
geradora formada por duas outras matrizes: uma matriz de paridade com dimenses k (n k) e
outra matriz identidade de dimenses k k. Desta forma, a matriz de paridade permite que o
segmento paridade seja obtido pela soma linear dos bits da mensagem, enquanto a matriz identidade
permite que o segmento mensagem seja replicado em seguida.

[ ]
(
(
(
(

=
(
(
(
(
(

= =




1
1
0
1 , 1 1 , 1 0 , 1
1 , 1 11 10
1 , 0 01 00
) (
1 0 0
0 1 0
0 0 1
k k n k k k
k n
k n
k k k n k
p p p
p p p
p p p
g
g
g
I P G
M
L
M M M
L
L
M M M
L
L



(2.13)
Segmento dos (n k)
bits de redundncia
Segmento dos k bits de
mensagem
Vetor Cdigo
2. CODIFICAO DE CANAL: CDIGOS DE BLOCO LINEARES
________________________________________________________________________________________________

2_Bloco_V2011_Rev4 - Geraldo Gil R. Gomes
2.13

Uma vez que uma matriz geradora um arranjo de vetores linearmente independentes, uma matriz
geradora de um cdigo de bloco linear na forma sistemtica pode ser obtida pela conveniente
combinao linear dos vetores geradores e/ou permutao de colunas ou linhas da matriz geradora
na forma no sistemtica para a obteno de outro arranjo de novos vetores geradores, linearmente
independentes, no formato desejado. Essa operao mostrada no Exemplo 2.9.

EXEMPLO 2.9

A partir da matriz geradora do cdigo (6, 3) apresentada pela Equao (2.12), pede-se

a) Obter uma matriz geradora na forma sistemtica, no formato apresentado em (2.13).
b) Construir uma tabela com os vetores mensagens e seus respectivos vetores cdigos.

Soluo

a) De (2.12),
( (( (
( (( (
( (( (

( (( (





= == =
( (( (
( (( (
( (( (

( (( (





= == =
0 1 1 1 1 0
0 0 1 1 0 1
1 0 1 0 1 1
2
1
0
g
g
g
G



A matriz na forma sistemtica, G correspondente matriz G, obtida a partir das seguintes
operaes a partir da matriz G

g
0
' = g
1
= 101100
g
1
' = g
1
+ g
2
= 110010
g
2
' = g
0
+ g
1
= 011001

( (( (
( (( (
( (( (

( (( (





= == =
( (( (
( (( (
( (( (

( (( (





= == =
1 0 0 1 1 0
0 1 0 0 1 1
0 0 1 1 0 1
'
'
'
'
2
1
0
g
g
g
G
(2.14)

b) Repetindo a operao apresentada em (2.11) para a matriz G em (2.14) obtm-se os vetores
cdigos apresentados na Tabela 2.5.

Tabela 2.5 - Vetores cdigos do cdigos (5, 3) gerados a partir da matriz G (2.14).

m c = m.G' c
000 c
0
= 0 (101100) + 0 (110010) + 0 (011001) 000000
100 c
1
= 1 (101100) + 0 (110010) + 0 (011001) 101100
010 c
2
= 0 (101100) + 1 (110010) + 0 (011001) 110010
110 c
3
= 1 (101100) + 1 (110010) + 0 (011001) 011110
001 c
4
= 0 (101100) + 0 (110010) + 1 (011001) 011001
101 c
5
= 1 (101100) + 0 (110010) + 1 (011001) 110101
011 c
6
= 0 (101100) + 1 (110010) + 1 (011001) 101011
111 c
7
= 1 (101100) + 1 (110010) + 1 (011001) 000111

2. CODIFICAO DE CANAL: CDIGOS DE BLOCO LINEARES
________________________________________________________________________________________________

2_Bloco_V2011_Rev4 - Geraldo Gil R. Gomes
2.14
Observe que tanto a matriz G quanto a matriz G geram o mesmo subespao vetorial. Entretanto,
para cada uma das mensagens os vetores cdigos gerados so diferentes em cada caso.

* * *


2.3.3. MATRIZ VERIFICADORA DE PARIDADE

Conforme apresentado na Figura 2.2, o vetor recebido, r, pode ser entendido como um vetor cdigo
que, ao ser transmitido atravs de um canal de comunicao, pode ter sofrido uma alterao,
consequncia da adio de um padro de erro. Portanto, uma tarefa do decodificador verificar se o
vetor recebido ou no um vetor cdigo ou vetor vlido. Mais uma vez, uma abordagem simplista
para a realizao desta tarefa seria a comparao do vetor recebido com todos os vetores cdigos.
Entretanto, para valores de k da ordem de algumas dezenas, esta abordagem pode tornar-se rdua,
conforme mostrado no Exemplo 2.10. Uma forma mais simples para a verificao da validade ou
no de um vetor recebido utiliza uma propriedade dos subespaos vetoriais, que pode ser definida
da seguinte forma.

Se um subespao vetorial, S
1
, pertence a um espao vetorial, V
n ,
composto por todos os vetores de
comprimento n, ento deve existir um subespao vetorial S
2
, que o espao nulo ou o espao dual
de S
1
, e que pode ser representado por uma matriz composta por vetores bases linearmente
independentes.

No estudo de cdigos de bloco lineares a matriz geradora do subespao nulo relativo ao subespao
gerado por G chamada de matriz verificadora de paridade, cuja notao H, e tem dimenses (n
k) n, ou seja,

(
(
(
(
(

=
(
(
(
(

1 , 1 2 , 1 1 , 1 0 , 1
1 , 1 12 11 10
1 , 0 02 01 00
1
1
0
n k n k n k n k n
n
n
k n
h h h h
h h h h
h h h h
L
M M M M
L
L
M
h
h
h
H .
(2.15)

Se um subespao gerado por H dual ao subespao gerado por G ento os vetores de G so
ortogonais aos vetores de H, ou seja,

0 =
T
H G .
(2.16)

Pode-se verificar sem dificuldades que uma consequncia direta de (2.16) que a condio de
ortogonalidade de qualquer vetor cdigo, c, gerado por G em relao ao espao nulo gerado por H
verdadeira, i.e.,
0 =
T
H c .
(2.17)

Quando a matriz G est na forma sistemtica, conforme apresentada em (2.13), ou seja,

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

a obteno da matriz H direta, conforme mostrado a seguir.

2. CODIFICAO DE CANAL: CDIGOS DE BLOCO LINEARES
________________________________________________________________________________________________

2_Bloco_V2011_Rev4 - Geraldo Gil R. Gomes
2.15
[ ]
(
(
(
(
(

= =


1 , 1 1 , 1 1 , 0
1 , 1 11 01
0 , 1 10 00
) ( ) (
1 0 0
0 1 0
0 0 1
k n k k n k n
k
k
T
k n k n
p p p
p p p
p p p
L
M M M
L
L
L
M M M
L
P I H


(2.18)

EXEMPLO 2.10

A partir da matriz geradora para o cdigo (6, 3) apresentada em (2.14), pede-se:

a) Obter a matriz verificadora de paridade H.
b) Verificar a condio de ortogonalidade apresentada por (2.17) para o vetor cdigo
correspondente ao vetor mensagem m = 101.

Soluo:

a) A partir da matriz geradora na forma sistemtica

[ [[ [ ] ]] ]
( (( (
( (( (
( (( (

( (( (





= == = = == =

1 0 0
0 1 0
0 0 1
1 1 0
0 1 1
1 0 1
'
) ( k k k n k
I P G



obtm-se a matriz H na forma
[ [[ [ ] ]] ]
( (( (
( (( (
( (( (

( (( (





= == = = == =

1 0 1 1 0 0
1 1 0 0 1 0
0 1 1 0 0 1
) ( ) (
T
k n k n
P I H . (2.19)

b) O vetor cdigo, c, correspondente ao vetor mensagem m = 101 pode ser obtido conforme
mostrado em (2.11), ou seja:

( (( ( ) )) ) ( (( ( ) )) ) ( (( ( ) )) ) ( (( ( ) )) ) 110101 011001 1 110010 0 101100 1
1 0 0 1 1 0
0 1 0 0 1 1
0 0 1 1 0 1
101 ' = == = + ++ + + ++ + = == =
( (( (
( (( (
( (( (

( (( (





= == = = == = G m c

A condio de ortogonalidade pode ser verificada a partir do resultado do produto interno entre o
vetor cdigo, c, e a matriz verificadora de paridade transposta H
T
, conforme mostrado a seguir.

( (( ( ) )) ) 000 ) 011 ( 1 ) 110 ( 0 ) 101 ( 1 ) 001 ( 0 ) 010 ( 1 ) 100 ( 1
1 1 0
0 1 1
1 0 1
1 0 0
0 1 0
0 0 1
110101 = == = + ++ + + ++ + + ++ + + ++ + + ++ + = == =
( (( (
( (( (
( (( (
( (( (
( (( (
( (( (
( (( (
( (( (

( (( (










= == =
T
H c . (2.20)

* * *

2. CODIFICAO DE CANAL: CDIGOS DE BLOCO LINEARES
________________________________________________________________________________________________

2_Bloco_V2011_Rev4 - Geraldo Gil R. Gomes
2.16

2.3.4. DISTNCIA MNIMA DE UM CDIGO DE BLOCO LINEAR

Considere o conjunto de distncias entre todos os pares de vetores cdigo em um espao V
n
. O
menor membro do conjunto a distncia mnima do cdigo e denotado por d
min
.

Mais uma vez a propriedade dos cdigos lineares discutida anteriormente permite afirmar que se c
1

e c
2
so vetores cdigo, ento o vetor c
3
obtido pela operao c
1
c
2
tambm um vetor cdigo.
Assim a distncia de Hamming entre dois vetores cdigos determinada como sendo

( ) ( ) ( )
3
c c c c c w w d = =
2 1 2 1
,
(2.21)

Portanto, no h necessidade de examinarmos as distncias entre todas as combinaes possveis
entre pares de palavras-cdigo, basta que se verifique o peso de cada palavra cdigo, com exceo
da palavra toda zero. O menor peso encontrado corresponde menor distncia mnima do cdigo.

As propriedades dos cdigos de blocos permitem ainda determinarmos a distncia mnima do
cdigo atravs da inspeo da matriz verificadora de paridade. Neste caso, a distncia mnima do
cdigo ser igual ao menor nmero de colunas da matriz verificadora de paridade, que quando
somadas resultam em uma coluna toda zero. Este procedimento particularmente til quando o
cdigo possui um nmero muito grande de palavras cdigo para serem inspecionadas, sem auxlio
computacional.

Exemplo 2.11

Determine a distncia mnima do cdigo (6, 3), definida pela matriz G (2.14), repetida abaixo por
convenincia.
( (( (
( (( (
( (( (

( (( (





= == =
1 0 0 1 1 0
0 1 0 0 1 1
0 0 1 1 0 1
G
Soluo:

Uma vez que este cdigo possui poucas palavras cdigos, uma soluo list-las por meio da
operao c = m.G. O resultado dessa operao para todas as possveis mensagens com 3 bits est
mostrado na tabela a seguir.

Tabela 2.6 - Vetores cdigos do cdigos (6, 3) gerados a partir da matriz G (2.14).

m c
000 000000
100 101100
010 110010
110 011110
001 011001
101 110101
011 101011
111 000111


2. CODIFICAO DE CANAL: CDIGOS DE BLOCO LINEARES
________________________________________________________________________________________________

2_Bloco_V2011_Rev4 - Geraldo Gil R. Gomes
2.17
Pode-se verificar, inspecionando-se a tabela acima, que as palavras de menor peso so as palavras
com peso 3. Logo a distncia mnima igual a 3.

Ou alternativamente, inspecionando-se a matriz verificadora de paridade, apresentada abaixo, fcil
verificar que o menor nmero de colunas que quando somadas resulta em uma coluna toda zero 3,
por exemplo, 1
a
+ 2
a
+ 5
a
ou 2
a
+ 3
a
+ 6
a
ou 1
a
+ 3
a
+ 4
a
.

( (( (
( (( (
( (( (

( (( (





= == =
1 0 1 1 0 0
1 1 0 0 1 0
0 1 1 0 0 1
H
(2.22)

* * *

muito comum um cdigo de bloco linear (n, k) com distncia mnima d
min
ser representado pela
notao (n, k, d
min
). Assim, o cdigo (6, 3) do Exemplo 2.11 um cdigo (6, 3, 3).


2.3.5. CAPACIDADE DE CORREO E DE DETECO DE ERROS DE UM CDIGO DE BLOCO LINEAR

No receptor, o decodificador tem por funo estimar o vetor cdigo recebido em funo do vetor
cdigo transmitido. Em um canal de transmisso AWGN (Rudo Branco Gaussiano Aditivo), o rudo
afeta os smbolos transmitidos aleatoriamente, segundo uma distribuio estatstica normal ou
gaussiana. Assim, padres de erros com menos bits errados tem maior probabilidade de ocorrer do
que padres de erros com mais bits errados.

Consequentemente, em um canal BSC (Canal Simtrico Binrio), dado um vetor recebido r, a
melhor estimativa feita admitindo-se que o vetor cdigo transmitido aquele que est mais
prximo de r, sob o ponto de vista da distncia de Hamming. Se dois vetores cdigos tiverem a
mesma distncia de Hamming do vetor r recebido, a escolha pode ou no ser arbitrria dependendo
do tipo de decisor utilizado (hard decision ou soft decision).

A Figura 2.6 apresenta dois vetores c
1
e c
2
unidos por uma linha calibrada em distncia de
Hamming. Cada ponto preto representa um vetor recebido r. Na parte (a) da figura, o vetor recebido
r
1
dista 1 bit de c
1
e 4 bits de c
2
. De acordo com a estratgia de mxima probabilidade, o
decodificador selecionar o vetor c
1
como aquele que foi transmitido. Na parte (b) da figura, o vetor
recebido r
2
dista 2 bits de c
1
e 3 bits de c
2
. Mais uma vez o decodificador selecionar o vetor c
1

como sendo o vetor recebido. Finalmente na parte (c) da figura, o vetor recebido r
3
dista 3 bit de c
1

e 2 bits de c
2
. Desta vez o decodificador selecionar o vetor c
2
como sendo o vetor recebido.
2. CODIFICAO DE CANAL: CDIGOS DE BLOCO LINEARES
________________________________________________________________________________________________

2_Bloco_V2011_Rev4 - Geraldo Gil R. Gomes
2.18

Figura 2.6 Capacidade de deteco e correo de erro. (a) Vetor recebido r
1
. (b) Vetor recebido
r
2
. (c) Vetor recebido r
3
.


Consequentemente, a capacidade de correo de erro, de um cdigo de bloco linear, t, definida
como o nmero mximo de erros garantidamente corrigveis, por palavra cdigo, determinado por

(


=
2
1
min
d
t
(2.23)

onde
x
significa o maior inteiro que no excede o valor de x. Assim, um cdigo que corrige todas
as sequncias de t erros, pode tambm corrigir certas sequncias de t +1 erros.

Se o cdigo for usado com a finalidade exclusiva de detectar erros ao invs de corrigir erros, a
capacidade de deteco de erros do cdigo determinada por

1
min
= d e ,
(2.24)

onde e o nmero de erros detectados. Entretanto, possvel utilizar um cdigo de bloco para
corrigir erros e detectar erros simultaneamente desde que < t e < e, e a seguinte condio seja
satisfeita:
1
min
+ ++ + + ++ + = == = d .
(2.25)

Assim, um cdigo com d
min
= 7, por exemplo, pode corrigir todos os padres de 3 erros (t = 3) ou
detectar todas as combinaes possveis de at 6 erros (e = 6). Entretanto, se ele for usado para
corrigir at 2 erros ( = 2), ele pode detectar simultaneamente padres de at 4 erros ( = 4), pois
neste caso a condio apresentada por (2.25) satisfeita.
(a)
(b)
(c)
Linha de deciso
Regio 1 Regio 2
r
1
r
2
r
3
c
1
c
1

c
1

c
2

c
2

c
2

2. CODIFICAO DE CANAL: CDIGOS DE BLOCO LINEARES
________________________________________________________________________________________________

2_Bloco_V2011_Rev4 - Geraldo Gil R. Gomes
2.19
2.3.6. SNDROME DE ERRO

Seja r = r
1
, r
2
, ... , r
n
um vetor recebido (i.e. uma das 2
n
palavras de n bits do espao vetorial V
n
)
resultante da transmisso de um vetor cdigo c = c
1
, c
2
, ... , c
n
(i.e. uma das 2
k
palavras cdigos
de n bits) atravs de um canal com rudo. Logo,

e c r + = . (2.26)

onde e = e
1
, e
2
, ... , e
n
um vetor erro ou padro de erro introduzido pelo canal. Sndrome de erro
um vetor com n k bits definido pela operao

T
H r S =
(2.27)

Combinando (2.26) e (2.27) tem-se:

( )
T T T
H e H c H e c S + = + = (2.28)
mas,
0 =
T
H c . (2.29)
Consequentemente,
T
H e S = (2.30)

A equao acima mostra que a sndrome S est associada a um padro de erro. Esta uma
importante propriedade, fundamental para o processo de decodificao, ou seja, cada padro de erro
corrigvel deve estar associado a uma sndrome especfica.

importante notar que para isso ocorra, duas propriedades da matriz verificadora de paridade so
necessrias:

Nenhuma coluna da matriz H pode ser toda zero, caso contrrio, um erro na posio
correspondente linha toda zero seria indetectvel;

Todas as colunas de H devem ser nicas. Se duas colunas de H forem iguais, erros nas posies
correspondentes a essas linhas podem ser indistinguveis.

Um cdigo de bloco linear (n, k) com capacidade de correo de t erros capaz de corrigir um
total de 2
n-k
padres de erros.

Os cdigos que corrigem exclusivamente todos os padres de t erros ou menos e nenhum padro
maior que t erros, so denominados cdigos perfeitos, isto , o nmero de sndromes deve ser igual
ao nmero exato de padres com at t erros e nenhum padro de erro contendo um nmero maior do
que t erros. Uma vez que todo cdigo de bloco capaz de corrigir 2
n-k
padres de erros, um cdigo
perfeito quando a igualdade apresentada a seguir satisfeita.


= == =

| || |
| || |

| || |


\ \\ \
| || |
= == =
t
i
k n
i
n
0
2
(2.31)


2. CODIFICAO DE CANAL: CDIGOS DE BLOCO LINEARES
________________________________________________________________________________________________

2_Bloco_V2011_Rev4 - Geraldo Gil R. Gomes
2.20
EXEMPLO 2.12

Considere o cdigo de bloco linear (6, 3, 3) gerado por (2.14). Pede-se:

a) Determinar a capacidade de correo de erros do cdigo.
b) Listar todos os padres de erros corrigveis dentro da capacidade de correo de erros do cdigo.
c) Listar todas as sndromes de erros associadas aos padres de erros corrigveis dentro da
capacidade de correo de erros do cdigo.
d) Verificar se este cdigo um cdigo perfeito.

Soluo:

a) A capacidade de correo de erros do cdigo.

Como a distncia mnima deste cdigo d
min
= 3, ento,

1
2
1 3
2
1
min
= == =
( (( (

( (( (



= == =
( (( (

( (( (



= == = t
d
t


b) Padres de erros corrigveis dentro da capacidade de correo de erros do cdigo

Como a capacidade de correo de erro t = 1, ento este cdigo capaz de corrigir todos os
padres com 1 erro, ou seja,

e (t = 1)
100000
010000
001000
000100
000010
000001

c) Sndromes de erros associadas aos padres de erros corrigveis dentro da capacidade de correo
de erros do cdigo.

Da matriz H (2.22), obtm-se H
T
, ou seja,

( (( (
( (( (
( (( (
( (( (
( (( (
( (( (
( (( (
( (( (

( (( (










= == =
1 1 0
0 1 1
1 0 1
1 0 0
0 1 0
0 0 1
T
H . (2.32)

De (2.30),
T
H e S = .

2. CODIFICAO DE CANAL: CDIGOS DE BLOCO LINEARES
________________________________________________________________________________________________

2_Bloco_V2011_Rev4 - Geraldo Gil R. Gomes
2.21
Para todos os valores de e (t = 1) obtm-se:

Tabela 2.7 - Padres de erros corrigveis e suas respectivas sndromes para o cdigo de bloco
linear (6, 3, 3) gerado por (2.14).

e (t = 1) S
100000
100
010000 010
001000 001
000100 101
000010 110
000001 011

d) Verificao se este cdigo um cdigo perfeito.

Um cdigo perfeito deve satisfazer

7 6 1
1
6
0
6
8 2 2
2
0
3 6
0
= == = + ++ + = == =
| || |
| || |

| || |


\ \\ \
| || |
+ ++ +
| || |
| || |

| || |


\ \\ \
| || |
= == =
| || |
| || |

| || |


\ \\ \
| || |
= == = = == =
| || |
| || |

| || |


\ \\ \
| || |
= == =


= == =

= == =

t
i
k n
t
i
k n
i
n
i
n



Logo, o cdigo de bloco linear (6, 3, 3) no um cdigo perfeito. De fato, o nmero de sndromes
possveis so todas as sndromes no nulas mais a sndrome nula, que totalizam 7 sndromes. Por
inspeo Tabela 2.7, verifica-se a ausncia da nula e da sndrome S = 111. A ausncia da
sndrome nula deve-se ao fato que ela corresponde ao padro de todo zero, ou seja, vetor recebido
sem erro, enquanto que a sndrome 111 s ocorrer se o padro de erro tiver 2 ou mais erros, o que
est fora da capacidade de correo deste cdigo.


2.3.7. CORREO DE ERROS PELA SNDROME
Conforme mostrado no Exemplo 2.12, deve existir uma correspondncia exclusiva entre um padro
de erro e uma sndrome de erro. Isso abre a possibilidade de no s podermos detectar erros, mas
tambm corrigi-los. A correo de erros pode ser feita de diversas formas. A seguir ser apresentada
a correo de erros por meio da sndrome de erros. Basicamente, este processo de correo feito a
partir da identificao do padro de erro mais provvel por meio do clculo da sndrome de erros.
Uma vez conhecido o padro de erro possvel fazer a correo de erro somando-se o vetor r
recebido com o padro de erro, e, associado a ele, pois em (2.26),

e c r + = ,
ento,
e r c + = ' . (2.33)

2. CODIFICAO DE CANAL: CDIGOS DE BLOCO LINEARES
________________________________________________________________________________________________

2_Bloco_V2011_Rev4 - Geraldo Gil R. Gomes
2.22
Onde c a melhor estimativa do vetor cdigo que foi transmitido pelo canal ruidoso. Este
procedimento pode ser resumido de acordo com os seguintes passos:

1. A partir da capacidade de correo de erros do cdigo, determina-se a sndrome para todos
os padres de erros corrigveis, por meio (2.30);
2. Calcula-se a sndrome de r usando (2.27);
3. Localiza-se o padro de erro correspondente sndrome calculada.
4. O vetor cdigo ser aquele determinado por (2.33).

Observao: O erro s ser corrigido se o padro de erro correspondente sndrome de vetor
recebido for igual ao padro de erro introduzido pelo canal, i.e., o padro de erro
introduzido pelo canal deve ser um padro de erro corrigvel.


EXEMPLO 2.13

Suponha que o vetor c = 101011 do cdigo (6, 3, 3), gerado por (2.14), tenha sido transmitido e
corrompido por rudo no canal, de modo que na recepo foi detectado o vetor r = 101010. Corrija
o erro introduzido pelo canal a partir da associao da sndrome com o padro de erro mais
provvel.

Soluo:

A sndrome de erros para o vetor recebido determinada por meio de (2.33), ou seja:

011 110 001 100
) 011 ( 0 ) 110 ( 1 ) 101 ( 0 ) 001 ( 1 ) 010 ( 0 ) 100 ( 1
1 1 0
0 1 1
1 0 1
1 0 0
0 1 0
0 0 1
) 101010 (
= == = + ++ + + ++ + = == =
+ ++ + + ++ + + ++ + + ++ + + ++ + = == =
( (( (
( (( (
( (( (
( (( (
( (( (
( (( (
( (( (
( (( (

( (( (










= == = = == =
S S
H r S
T


Em canais AWGN os padres de erros mais provveis so aqueles com menor nmero de erros.
Alm disso, o erro s ser corrigido com certeza se o padro de erro introduzido pelo canal for um
padro de erro corrigvel pelo cdigo.

A Tabela 2.7 obtida no Exemplo 2.12 associa os padres de erros s suas respectivas sndromes.
Esta tabela reapresentada a seguir com as colunas invertidas e reordenadas, para permitir mais
facilmente a identificao do padro de erro a partir da sndrome obtida acima.

2. CODIFICAO DE CANAL: CDIGOS DE BLOCO LINEARES
________________________________________________________________________________________________

2_Bloco_V2011_Rev4 - Geraldo Gil R. Gomes
2.23
Tabela 2.8 - Sndromes e seus respectivos padres para o cdigo de bloco linear (6, 3, 3) gerado
por (2.27).

S e (t = 1)
000 000000
001 001000
010 010000
011 000001
100 100000
101 000100
110 000010

De acordo a Tabela 2.8 a sndrome calculada corresponde ao padro de erro e = 000001. Logo, o
vetor cdigo mais provvel de ter sido o vetor transmitido pode ser determinado por (2.39), i.e.:

101011 '
000001 101010 '
= == =
+ ++ + = == = + ++ + = == =
c
e r c


* * *

ARRANJO PADRO

O arranjo padro um esquema de decodificao baseado em sndrome de erro. Apesar da sua
importncia didtica, sua aplicabilidade fica restrita aos cdigos de bloco com nmero reduzido de
palavras cdigos.

Conforme j apresentado, um cdigo de bloco um subespao vetorial composto por 2
k
palavras
cdigos. Entretanto, quando uma palavra cdigo transmitida por um canal ruidoso e corrompida
por rudo, ela pode se transformar em uma palavra no vlida que pertence a um conjunto de 2
n

palavras com n bits, que constitui o espao vetorial V
n
.

Considere as 2
k
palavras cdigos de um cdigo de bloco linear
k
2
2 1
, , , c c c K .

Considere tambm os 2
n-k
padres de erros
k n
2
2 1
, , , e e e K associados s 2
n-k

sndromes possveis.

Um arranjo padro constitudo por todas as palavras do espao vetorial V
n
, de acordo com os
passos apresentados a seguir e ilustrados na Figura 2.7.

1. Um arranjo padro formado por 2
k
subconjuntos, sendo que cada subconjunto uma
coluna do arranjo padro. Consequentemente, um arranjo padro possui 2
k
colunas.
2. A primeira linha do arranjo padro composta por todas as 2
k
palavras cdigos, ou seja, a
primeira linha do arranjo padro o subespao vetorial das 2
k
palavras cdigos.
Obrigatoriamente a palavra toda zero ou chamada de c
1
= e
1
= 0 a palavra que ocupa a
posio superior esquerda do arranjo.
3. A primeira coluna do arranjo padro formada por todos os 2
n-k
padres de erros, incluindo
o vetor todo zero que ocupa a posio superior esquerda do arranjo. Consequentemente, um
arranjo padro possui 2
n-k
linhas. A segunda linha do arranjo formada pela soma de e
2
com
cada um dos vetores cdigos na primeira linha. Este procedimento se repete at que a (n-k)
-sima linha complete o arranjo.

2. CODIFICAO DE CANAL: CDIGOS DE BLOCO LINEARES
________________________________________________________________________________________________

2_Bloco_V2011_Rev4 - Geraldo Gil R. Gomes
2.24
Cada linha do arranjo forma um subconjunto disjunto dos demais subconjuntos das outras linhas.
Cada subconjunto chamado de coset e o vetor do coset que pertence a primeira coluna chamado
de lider do coset.

O arranjo padro permite a decodificao direta da palavra recebida pela identificao de um dos 2
k

subconjunto, ou coluna, ao qual pertence a palavra recebida. Uma vez identificada esta coluna o
vetor cdigo decodificado o vetor da primeira linha da coluna identificada.



Figura 2.7 - Arranjo padro.


O Exemplo 2.14 apresenta o uso do arranjo padro para a correo de erros e tambm um
comentrio sobre o equvoco de decodificao que pode ocorrer quando o cdigo usado no um
cdigo perfeito.


EXEMPLO 2.14

Considere o cdigo (6, 3, 3), gerado por (2.14). Pede-se:

a) Construir um arranjo padro para este cdigo.
b) Decodificar o vetor recebido 101010.
c) Admita que o vetor cdigo 101100 tenha sido corrompido pelo padro de erro 010100.
Decodifique o vetor recebido.

Soluo:

a) O Arranjo Padro

De acordo com o Exemplo 2.13, este cdigo capaz de corrigir, garantidamente, todos os
padres de um erro. Como n = 6 ento existem seis padres de um erro que so aqueles listados
na Tabela 2.7. Entretanto, para a montagem do arranjo padro so necessrios 2
(n-k)
= 8 padres
de erros para compor a primeira coluna do arranjo. Esses oito padres de erros geram,
evidentemente, oito sndromes de erro, incluindo o padro de erro e = 000000, associado
sndrome S = 111, que ocupa a primeira clula da primeira coluna. Logo, Conforme apresentado
na Tabela 2.8 a nica sndrome no nula no associada aos padres de um erro a sndrome
0
1 1
= == = = == = e c
2
c ...
i
c ...
k
2
c
2
e
2 2
c e + ++ + ...
i
c e + ++ +
2
...
k
2
2
c e + ++ +
3
e
2 3
c e + ++ + ...
i
c e + ++ +
3
...
k
2
3
c e + ++ +
M ... ...
j
e
2
c e + ++ +
j
...
i j
c e + ++ + ...
k
j
2
c e + ++ +
M ... ...
k n
2
e
2
2
c e + ++ +
k n
...
2
2
c e + ++ +
k n
...
k k n
2 2
c e + ++ +



cosets
lderes dos cosets
palavras cdigos
subconjuntos
s
2. CODIFICAO DE CANAL: CDIGOS DE BLOCO LINEARES
________________________________________________________________________________________________

2_Bloco_V2011_Rev4 - Geraldo Gil R. Gomes
2.25
S = 111. Isso significa que deve haver um ou mais padres de duplo erro associado sndrome
S = 111, pois a capacidade de correo deste cdigo de um erro. De fato, pode-se verificar que
existem trs padres de duplo erro capaz de gerar a sndrome S = 111, conforme mostrado a
seguir, mas apenas uma deve ser escolhida para compor o arranjo padro.

111
1 1 0
0 1 1
1 0 1
1 0 0
0 1 0
0 0 1
) 001010 (
) 010100 (
) 100001 (
= == =
( (( (
( (( (
( (( (
( (( (
( (( (
( (( (
( (( (
( (( (

( (( (














) )) )



` `` `

= == = = == = S H e S
ou
ou
T


Uma vez escolhido o padro de duplo erro para completar a primeira linha do arranjo padro,
que neste exemplo o padro de erro e = 100001, pode-se montar o arranjo padro da seguinte
forma:

1) 1
a
Linha: todas as palavras cdigos iniciando-se pela palavra toda zero (Tabela 2.6).

000000 101100 110010 011110 011001 110101 101011 000111

2) 1
a
Coluna: os (n - k) padres de erros corrigveis (garantidamente ou no).

000000 101100 110010 011110 011001 110101 101011 000111
100000
010000
001000
000100
000010
000001
100001

3) Demais clulas: cada clula ocupada pelo vetor resultante da soma da palavra cdigo do
subconjunto da clula pelo seu lder do coset.

000000 101100 110010 011110 011001 110101 101011 000111
100000 001100 010010 111110 111001 010101 001011 100111
010000 111100 100010 001110 001001 100101 111011 010111
001000 100100 111010 010110 010001 111101 100111 001111
000100 101000 110110 011010 011101 110001 101111 000011
000010 101110 110000 011100 011011 110111 101001 000101
000001 101101 110011 011111 011000 110100 101010 000110
100001 001101 010011 111111 111000 010100 001010 100110

2. CODIFICAO DE CANAL: CDIGOS DE BLOCO LINEARES
________________________________________________________________________________________________

2_Bloco_V2011_Rev4 - Geraldo Gil R. Gomes
2.26
b) Decodificao do vetor 101010

Conforme mostrado abaixo, o vetor 101010 pertence ao coset cujo lder o padro de erro
000001 e ao subconjunto do vetor cdigo 101011.

000000 101100 110010 011110 011001 110101 101011 000111
100000 001100 010010 111110 111001 010101 001011 100111
010000 111100 100010 001110 001001 100101 111011 010111
001000 100100 111010 010110 010001 111101 100111 001111
000100 101000 110110 011010 011101 110001 101111 000011
000010 101110 110000 011100 011011 110111 101001 000101
000001 101101 110011 011111 011000 110100 101010 000110
100001 001101 010011 111111 111000 010100 001010 100110

Deste modo, a decodificao pelo arranjo padro pressupe que o vetor cdigo transmitido foi o
vetor 101011 (vetor decodificado) que foi corrompido pelo padro de erro 000001.

c) Decodificao do vetor c = 101100 corrompido por e = 010100

r = c + e = 101100 + 010100 r = 111000

000000 101100 110010 011110 011001 110101 101011 000111
100000 001100 010010 111110 111001 010101 001011 100111
010000 111100 100010 001110 001001 100101 111011 010111
001000 100100 111010 010110 010001 111101 100111 001111
000100 101000 110110 011010 011101 110001 101111 000011
000010 101110 110000 011100 011011 110111 101001 000101
000001 101101 110011 011111 011000 110100 101010 000110
100001 001101 010011 111111 111000 010100 001010 100110

A decodificao pelo arranjo padro pressupe que o vetor cdigo transmitido foi o vetor
011001 (vetor decodificado) que foi corrompido pelo padro de erro 100001. Note que houve um
equvoco na decodificao porque existem trs padres de duplo erro associado sndrome S =
111 e o que foi escolhido para compor o arranjo padro no foi o padro de duplo erro
introduzido pelo canal.

* * *

2.3.8. CODIFICADOR PARA CDIGOS DE BLOCO SISTEMTICOS SIMPLES

Quando os cdigos de blocos so simples e curtos, a implementao de um circuito de codificao
pode ser feita diretamente com o auxlio das equaes que determinam as palavras cdigos. Para um
cdigo de bloco linear sistemtico, a palavra cdigo pode ser escrita como

( )
1 1 0 1 1 0
, , , , , , ,

=
k k n
m m m p p p K K c . (2.34)

Note que a obteno dos bits de paridade a partir de (2.13) resume-se s seguintes operaes:

2. CODIFICAO DE CANAL: CDIGOS DE BLOCO LINEARES
________________________________________________________________________________________________

2_Bloco_V2011_Rev4 - Geraldo Gil R. Gomes
2.27
1 , 1 1 1 , 1 1 1 , 0 0 1
1 , 1 1 11 1 01 0 1
0 , 1 1 10 1 00 0 0



+ + + =
+ + + =
+ + + =
k n k k k n k n k n
k k
k k
p m p m p m p
p m p m p m p
p m p m p m p
K
M
K
K

(2.35)

Assim, com o conhecimento da matriz geradora na forma sistemtica possvel particularizar o
conjunto de equaes apresentadas em (2.35) para a gerao das palavras cdigos por meio de
circuitos lgicos combinacionais. Veja Exemplo 2.15.


EXEMPLO 2.15

Construa um codificador para o cdigo (6, 3) representado pela sua matriz geradora reproduzida a
seguir
[ ]
(
(
(

= =

1 0 0 0 1 1
0 1 0 1 1 0
0 0 1 1 0 1
) ( k k k n k
I P G


Soluo:

De acordo com (2.41) as equaes de paridade para a matriz geradora acima so:

1 0 2
2 1 1
2 0 0
m m p
m m p
m m p
+ =
+ =
+ =


Logo, um circuito codificador pode ser implementado conforme apresentado a seguir:




Figura 2.8 - Circuito de codificao para o cdigo (6, 3).

* * *
m
m
0
m
1
m
2


p
0
p
1
p
2
c
Gerao dos bits de paridade
2. CODIFICAO DE CANAL: CDIGOS DE BLOCO LINEARES
________________________________________________________________________________________________

2_Bloco_V2011_Rev4 - Geraldo Gil R. Gomes
2.28

2.3.9. DECODIFICADOR PARA CDIGOS DE BLOCO SISTEMTICOS SIMPLES

Quando os cdigos de blocos so simples e curtos um decodificador pode ser implementado com
um circuito simples a partir dos seguintes passos:

1. Calculo da sndrome;
2. Localizao do padro de erro;
3. Soma mdulo-2 do padro de erro com o vetor recebido.

O clculo da sndrome pode ser feito considerando as expresses apresentadas a seguir.

( ) ( )
1 1 0
1 , 1 1 , 1 0 , 1
1 , 1 11 10
1 , 0 01 00
1 1 0
, , ,
1 0 0
0 1 0
0 0 1
, , ,



=
(
(
(
(
(
(
(
(
(
(
(

= =
k n
k n k k k
k n
k n
n
T
s s s
p p p
p p p
p p p
r r r K
L
M M M
L
L
L
M M M
L
L
K H r S
(2.36)

1 , 1 1 1 , 1 1 1 , 0 1 1
1 , 1 1 11 1 01 1 1
0 , 1 1 10 1 00 0 0
+
+
+
+ + + + =
+ + + + =
+ + + + =
k n k n k n k n k n k n k n k n
k n k n k n
k n k n k n
p r p r p r r s
p r p r p r r s
p r p r p r r s
K
M
K
K

(2.37)

Cada sndrome deve gerar um padro de erro (corrigvel) que dever ser somado ao vetor recebido.


EXEMPLO 2.16

Construa um decodificador para o cdigo (6, 3) representado pela sua matriz verificadora de
paridade transposta reproduzida a seguir.

( (( (
( (( (
( (( (
( (( (
( (( (
( (( (
( (( (
( (( (

( (( (










= == =
1 1 0
0 1 1
1 0 1
1 0 0
0 1 0
0 0 1
T
H


2. CODIFICAO DE CANAL: CDIGOS DE BLOCO LINEARES
________________________________________________________________________________________________

2_Bloco_V2011_Rev4 - Geraldo Gil R. Gomes
2.29
Soluo:

De acordo com (2.37) as equaes das sndromes a partir da matriz verificadora de paridade acima
so:

5 3 2 2
5 4 1 1
4 3 0 0
r r r s
r r r s
r r r s
+ + =
+ + =
+ + =


Seguindo os passos apresentados e utilizando as equaes acima, pode-se desenhar o circuito de
decodificao apresentado a seguir. Note que o circuito de decodificao pode ser simplificado por
meio da excluso das portas acinzentadas, responsveis pelos bits c
0
, c
1
e c
2
, de paridade, uma vez
que o resultado da decodificao resume-se aos bits de informao c
3
, c
4
e c
5
.


Figura 2.9 - Circuito de decodificao para o cdigo (6, 3).

* * *


2.4. DESEMPENHO DOS CDIGOS DE BLOCO LINEARES [1]

Se um cdigo de bloco capaz de corrigir t erros utilizado exclusivamente para correo de erros
em um canal binrio simtrico (BSC), com probabilidade de transio (probabilidade de erro de bit)
p, a probabilidade de erro de bit aps a decodificao pode ser determinada aproximadamente por:

( )
j n j
n
t j
b
p p
j
n
j
n
P

+ =

|
|

\
|

1
1
1
.
(2.38)

Para fins de comparao, o desempenho de alguns cdigos de bloco lineares simples em um canal
AWGN com modulao BPSK, com deteco coerente, pode ser obtido considerando-se que a
Vetor recebido
r

r
0
r
1
r
2
r
3
r
4
r
5
c
0
c
1
c
2
c
3
c
4
c
5

r
4
r
5
r
3
r
2
r
1
r
0
e
1 e
0
e
2
e
3
e
4
e
5
s
0
s
1
s
2
2. CODIFICAO DE CANAL: CDIGOS DE BLOCO LINEARES
________________________________________________________________________________________________

2_Bloco_V2011_Rev4 - Geraldo Gil R. Gomes
2.30
probabilidade de erro de smbolo em termos da relao entre a energia de smbolo codificado e a
densidade espectral de rudo, E
c
/N
0
, pode ser determinada por

0
2
1
N
E
erfc p
c
= .
(2.39)

Por sua vez necessrio relacionar tambm E
c
/N
0
com Eb/N
0
, que relao entre energia gasta com
os bits de informao e a densidade espectral de rudo, ou seja,

0 0 0
N
E
R
N
E
n
k
N
E
b
c
b c
=
|

\
|
= .
(2.40)

Substituindo (2.46) em (2.45) obtm-se:

0
2
1
N
E
R erfc p
b
c
= .
(2.41)

Com (2.41) e (2.38) a comparao do desempenho aproximado entre alguns cdigos de blocos
simples transmitidos sobre a modulao BPSK com a prpria modulao BPSK no codificada
pode ser obtida diretamente. A Figura 2.10 mostra o desempenho aproximado entre a modulao
BPSK no codificada com as BPSKs com os cdigos: Hamming (7, 4), BCH (15, 7), Golay (23,
12), BCH (63, 36) e BCH (127, 64).

Figura 2.10 - Desempenho de alguns cdigos de blocos lineares.
P
b
2 4 6 8 10 12
10
7
10
6
10
5
10
4
10
3
0.01
0.1
E
b
/N
0

BPSK no codificada
(7, 4) t = 1
(15, 7) t = 2
(23, 12) t = 3
(63, 36) t = 5
(127, 64) t = 10
2. CODIFICAO DE CANAL: CDIGOS DE BLOCO LINEARES
________________________________________________________________________________________________

2_Bloco_V2011_Rev4 - Geraldo Gil R. Gomes
2.31
Note que os cdigos, cujos desempenhos esto apresentados na Figura 2.10, possuem taxa de
codificao entre 0,47 e 0,57. Procurou-se, desta forma, manter a taxa de codificao praticamente
constante para que o desempenho dos cdigos com diferentes comprimentos fossem comparados.
Isso foi feito com o objetivo de evidenciar uma importante caracterstica dos cdigos de blocos: a
capacidade dc correo de erros por bloco aumenta com o aumento do comprimento quando a taxa
de codificao mantida constante. Como consequncia, aumentos significativos no desempenho
podem ser obtidos.



2.5. CDIGOS CCLICOS [1][2][3][4][5][6]

2.5.1. INTRODUO AOS CDIGOS CCLICOS

Os cdigos cclicos binrios so uma importante subclasse de cdigos de bloco lineares. So
cdigos de fcil implementao com registradores de deslocamento realimentados. O clculo da
sndrome tambm pode ser facilmente executado de forma similar, com registradores de
deslocamento realimentados.

Um cdigo linear (n, k) chamado de cdigo cclico se ele pode ser descrito pela propriedade
apresentada a seguir. Se a n-tupla
c = (c
0
, c
1
, c
2
, ... , c
n-1
)

um vetor cdigo no subespao S, ento,

c
(1)
= (c
n-1
, c
0
, c
1
, ... , c
n-2
) ,

obtido pelo deslocamento correspondente a uma posio de bit, tambm um vetor cdigo em S.

Em geral,
c
(i)
= (c
n-i
, c
n-i+1
, c
1
, ... , c
n-1
, c
0
, c
1
, ... , c
n-i-1
)

obtido pelo deslocamento correspondente a i posies de bit, tambm um vetor cdigo em S.

Os componentes de um vetor cdigo u podem ser tratados como os coeficientes de um polinmio
c(X) como mostrado a seguir.

c(X) = c
0
+ c
1
X + c
2
X
2
+ ... + c
n-1
X
n-1
(2.42)

Nesta representao a presena ou ausncia de cada termo no polinmio indica a presena de um 1
ou 0, respectivamente, na correspondente locao da n-tupla. Desta forma, o polinmio pode ter
grau n - 1 ou menos.


2. CODIFICAO DE CANAL: CDIGOS DE BLOCO LINEARES
________________________________________________________________________________________________

2_Bloco_V2011_Rev4 - Geraldo Gil R. Gomes
2.32
Exemplo 2.17

Seja o vetor cdigo
c = 0 0 0 1 1 0 1

de um cdigo de bloco linear (7, 4). Sua representao polinomial

c(X) = X
3
+ X
4
+ X
6


ou seja, um polinmio de grau n - 1. O valor de c
(3)
, que tambm pertence ao mesmo cdigo (7, 4)

c
(3)
= 1 0 1 0 0 0 1.

* * *

Podem-se gerar cdigos cclicos usando um polinmio gerador da mesma forma que so gerados os
cdigos de bloco usando uma matriz geradora.

O polinmio gerador g(X) para um cdigo cclico (n, k) tem a forma

g(X) = g
0
+ g
1
X + g
2
X
2
+ ... + g
n - k
X
n-k
(2.43)

onde g
0
e g
n-k
devem ser iguais a 1 e o grau do polinmio gerador deve ser n - k.
Finalmente, um polinmio g(X) um polinmio gerador de um cdigo cclico (n, k) se, e somente
se, ele for um fator de X
n
+ 1.


EXEMPLO 2.18

Verifique se o polinmio X
3
+ X + 1 gera um cdigo cclico C = (7, 4).

Soluo:
X
7
+ 1

X
3
+ X + 1
(X
7
+ X
5
+ X
4
)

X
4
+ X
2
+ X + 1
0 + X
5
+ X
4
+ 1
(X
5
+ X
3
+ X
2
)
0 + X
4
+ X
3
+ X
2
+ 1
(X
4
+ X
2
+ X)
0 + X
3
+ X + 1
(X
3
+ X + 1)
0

Concluso: O polinmio X
3
+ X + 1 gera um cdigo cclico (7, 4) e ainda permite-nos concluir
que o polinmio X
4
+ X
2
+ X + 1, que o quociente da diviso realizada, gera um
cdigo cclico (7, 3), pois

(X
7
+ 1) = (X
4
+ X
2
+ X + 1) (X
3
+ X + 1)

* * *

2. CODIFICAO DE CANAL: CDIGOS DE BLOCO LINEARES
________________________________________________________________________________________________

2_Bloco_V2011_Rev4 - Geraldo Gil R. Gomes
2.33
A matriz geradora para um cdigo cclico gerado pelo polinmio gerador g(X) pode ser obtida
fazendo

(
(
(
(
(
(

k n
k n
k n
k n
g g g g
g g g g
g g g g
g g g g
L L
M M
L L
L L
L L
2 1 0
2 1 0
2 1 0
2 1 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
G

(2.44)

Onde g
0
, g
1
, g
2
, ... , g
n-k
so os termos do polinmio g(X) = g
0
+ g
1
X + g
2
X
2
+ ... + g
n-k
X
n-k
.

possvel fazer a codificao de forma sistemtica, atravs de uma matriz geradora G obtida a
partir da matriz G. Para isso, conforme visto anteriormente, G deve ter a forma

[ ]
(
(
(
(

= =

1 0 0
0 1 0
0 0 1
'
) ( , 2 1
) ( , 2 22 21
) ( , 1 12 11
L L
M M M M M M M
L L
L L
M
k n k k k
k n
k n
k
p p p
p p p
p p p
I P G (2.45)

Isso pode ser feito atravs de operaes lineares com as linhas de G at que G tome a forma
desejada.


EXEMPLO 2.19

Determine o vetor cdigo de um cdigo cclico (7, 4), correspondente a mensagem m = 1011,
utilizando a matriz geradora na forma sistemtica, obtida a partir do polinmio gerador

g(X) = X
3
+ X + 1.
Soluo:

Do exemplo anterior, a matriz geradora na forma no sistemtica

(
(
(
(

=
1 0 1 1 0 0 0
0 1 0 1 1 0 0
0 0 1 0 1 1 0
0 0 0 1 0 1 1
G

Por inspeo verifica-se que a primeira e a segunda linha esto corretamente posicionadas para a
obteno de uma matriz na forma sistemtica.

A terceira linha da matriz pode ser obtida atravs da soma das linhas 1 e 3.

A quarta linha da matriz pode ser obtida somando-se as linhas 1, 2 e 4.

2. CODIFICAO DE CANAL: CDIGOS DE BLOCO LINEARES
________________________________________________________________________________________________

2_Bloco_V2011_Rev4 - Geraldo Gil R. Gomes
2.34
(
(
(
(

=
1 0 0 0 1 0 1
0 1 0 0 1 1 1
0 0 1 0 1 1 0
0 0 0 1 0 1 1
G'

O vetor cdigo na forma sistemtica obtido pela operao U = m.G, conseqentemente

1001011
1 0 0 0 1 0 1
0 1 0 0 1 1 1
0 0 1 0 1 1 0
0 0 0 1 0 1 1
1011 G' . m
=
(
(
(
(

= =
c
c


* * *

fcil concluir que uma vez obtida a matriz G na forma sistemtica, a obteno da matriz
verificadora de paridade H, do cdigo C gerado por G imediata, pois

[ [[ [ ] ]] ]
T
k n
P I H M

= == =


2.5.2. CODIFICAO SISTEMTICA DE CDIGOS CCLICOS COM REGISTRADORES DE
DESLOCAMENTO DE (n-k) ESTGIOS

Um vetor mensagem pode ser escrito na forma polinomial como

( )
1
1
2
2 1 0
... m

+ + + + =
k
k
X m X m X m m X (2.46)

Na forma sistemtica, os dgitos de mensagem so apresentados explicitamente como parte do vetor
cdigo. Para que a poro mensagem da palavra cdigo ocupe as posies dos bits mais
significativos, podemos fazer um deslocamento dos bits de mensagem para a direita, ficando as n - k
posies mais a esquerda para a parte de paridade, ou seja,

( )
1
1
1
1 0
... m

+
+ + + =
n
k
k n k n k n
X m X m X m X X . (2.47)

Dividindo a expresso acima por g(X), obtm-se

( ) ( ) ( ) ( ) X X X X X
k n
r g q m + =

(2.48)
ou, ento
( ) ( ) ( ) ( ) ( ) X X X X X X
k n
c = = +

g q m r (2.49)

Onde o resto r(X) representa a parte de paridade do vetor cdigo e o produto X
n - k
m(X) representa a
parte mensagem que foi deslocada n - k bits para a direita.


2. CODIFICAO DE CANAL: CDIGOS DE BLOCO LINEARES
________________________________________________________________________________________________

2_Bloco_V2011_Rev4 - Geraldo Gil R. Gomes
2.35

EXEMPLO 2.20

Determine o vetor cdigo de um cdigo cclico (7, 4), na forma sistemtica, para m = 1011,
utilizando o polinmio gerador g(X) = X
3
+ X + 1.

Soluo:
m(X) = 1 + X
2
+ X
3

X
n - k
m(X) = X
3
(1 + X
2
+ X
3
) = X
3
+ X
5
+ X
6

Dividindo X
n - k
m(X) por g(X) pode-se escrever

X
3
+ X
5
+ X
6
= (1 + X + X
2
+ X
3
) (1+ X + X
3
) + 1
X
n - k
(X) q (X) g(X) resto

Finalmente,
c(X) = r(X) + X
3
m(X) = (1 + X
3
+ X
5
+ X
6
)

c = 1001011

* * *

O circuito que faz as operaes polinomiais apresentadas anteriormente est apresentado na Figura
2.11.


Figura 2.11 Codificador para cdigos cclicos sistemticos utilizando registradores de
deslocamento.


g
1

g
2
g
n-k-1

r
0
r
1
r
2
r
n-k-1

Chave 1
a
b
Entrada
Chave 2
sada
g
i

Conexo vinculada a existncia de g
i





2. CODIFICAO DE CANAL: CDIGOS DE BLOCO LINEARES
________________________________________________________________________________________________

2_Bloco_V2011_Rev4 - Geraldo Gil R. Gomes
2.36
O procedimento de codificao com o circuito da Figura 2.11 o seguinte:

Passo 1: A chave 1 permanece fechada, para permitir a entrada dos bits de mensagem no estgio
de codificao. A chave 2 permanece na posio (a) para permitir a transmisso dos bits
de mensagem diretamente para o registro de sada, durante os primeiros k deslocamentos.

Passo 2: Aps a transmisso dos k bits de mensagem a chave 1 aberta (impedindo a
realimentao) e a chave 2 movida para a posio (b).

Passo 3: Os (n-k) bits de paridade que esto armazenados nos registros de deslocamento so
transmitidos, completando a transmisso do polinmio cdigo.

EXEMPLO 2.21

Seja o cdigo (7, 4) cujo polinmio gerador g(X) = 1 + X + X
3
. Para o vetor mensagem m = 1011,
o polinmio cdigo resultante c(X) = 1 + X
3
+ X
5
+ X
6
, que corresponde ao vetor cdigo
c = 1001011. Mostre a formao e transmisso deste vetor cdigo utilizando o circuito da Figura
2.11.

Soluo:


Figura 2.12 Circuito de codificao para o Exemplo 2.21.


Fila de
entrada
Nmero de
deslocamentos
Contedo dos
registradores
Sada
1011
101
10
1
-
0
1
2
3
4
000
110
101
100
100
-
1
1
0
1

Aps os 4 deslocamentos a chave 1 aberta, a chave 2 passa para a posio b e o contedo dos
registros (paridade) transmitido. Logo, o vetor transmitido

c = 1001011.

* * *
r
0
r
1
r
2

Chave 1
a
b
m(X) = 1 + X
2
+ X
3

Entrada
Chave 2
Sada
g
0

g
1


2. CODIFICAO DE CANAL: CDIGOS DE BLOCO LINEARES
________________________________________________________________________________________________

2_Bloco_V2011_Rev4 - Geraldo Gil R. Gomes
2.37
2.5.3. DETECO DE ERROS DE CDIGOS CCLICOS SISTEMTICOS COM REGISTRADORES DE
DESLOCAMENTO DE (n-k) ESTGIOS

Um vetor cdigo transmitido c(X) pode ser alterado pela presena de rudo, de forma que funo do
decodificador recuperar o vetor cdigo transmitido a partir do vetor recebido.

Seja ento um vetor recebido

1
1
2
2 1 0
) r(

+ + + + =
n
n
X r X r X r r X L (2.50)

O decodificador deve testar se o vetor recebido um vetor cdigo, o que equivale a dividir o
polinmio recebido pelo polinmio gerador, pois

) S( ) g( ) q( ) r( X X X X + =
(2.51)

Se a sndrome for zero, o vetor recebido aceito como um vetor cdigo, caso contrrio, tem-se uma
deteco de erro atravs da sndrome.


EXEMPLO 2.22

Determinar a sndrome do vetor r = 1001011, codificado na forma sistemtica a partir do polinmio
gerador g(X) = 1 + X + X
3
utilizando registradores de deslocamento. Mostre a formao da
sndrome a cada deslocamento.

Soluo:

O circuito para a determinao da sndrome semelhante ao utilizado para a codificao, conforme
mostrado a seguir.




Figura 2.13 - Circuito de deteco de erros para o cdigo cclico gerado por g(X) = 1 + X + X
3
.


r
0
r
1

r
2

Chave
Sada da
sndrome
g
0

g
1

Chave
Entrada
1001011

2. CODIFICAO DE CANAL: CDIGOS DE BLOCO LINEARES
________________________________________________________________________________________________

2_Bloco_V2011_Rev4 - Geraldo Gil R. Gomes
2.38
Procedimento:

Passo 1: A chave 1 inicialmente fechada e a chave 2 aberta. O vetor recebido deslocado pela
entrada dos registradores, cujos estados iniciais so todos zero. Aps o vetor recebido
estar todo nos registradores, seu contedo a sndrome.

Passo 2: A chave 1 ento aberta e a chave 2 fechada, de forma a permitir que o vetor sndrome
possa ser deslocado para fora dos registradores.

O contedo dos registradores a cada deslocamento apresentado a seguir.

Fila de
entrada
Nmero de
deslocamentos
Contedo dos
registradores
1001011
100101
10010
1001
100
10
1
-
0
1
2
3
4
5
6
7
000
100
110
011
011
111
101
000

* * *

2.5.4. DECODIFICADOR DE MEGGITT [3][4][6]

Cdigos cclicos podem ser decodificados utilizando-se o decodificador, cujo modelo genrico
apresentado na Figura 2.14, conhecido como Decodificador de Meggitt. Seu funcionamento pode
ser descrito da seguinte forma:

Passo 1: Inicialmente as chaves CH 1, CH 3 e CH 4 esto fechadas e as chaves CH2 e CH5
abertas. A sndrome gerada pelo deslocamento do vetor recebido, ao mesmo tempo em
que este armazenado no registrador de deslocamento.

Passo 2: A sndrome lida pelo gerador de padro de erro. O gerador de padro de erro um
circuito combinacional que apresenta 1 em sua sada se e somente se a sndrome
gerada corresponde ao padro de erro na posio mais a direita do vetor recebido.

Se o vetor recebido for um vetor vlido, o gerador de padro de erro ter zero em sua
sada e assim permanecer at que o vetor recebido seja todo deslocado para fora.


2. CODIFICAO DE CANAL: CDIGOS DE BLOCO LINEARES
________________________________________________________________________________________________

2_Bloco_V2011_Rev4 - Geraldo Gil R. Gomes
2.39



Figura 2.14 - Diagrama em blocos do decodificador de Meggitt.


Passo 3: As chaves CH 1 e CH 3 so abertas, a chave CH4 permanece fechada e as chaves CH2 e
CH5 so fechadas. iniciado o deslocamento cclico do vetor recebido ao mesmo
tempo em que o gerador de padro de erro realimenta o gerador de sndrome.

Se o vetor recebido tiver um padro de erro corrigvel, durante o deslocamento cclico
do vetor recebido o padro de erro ir se deslocar at que ele alcance a posio mais a
direita do registrador de deslocamento. Durante esse processo, a sndrome modificada
a cada deslocamento. Quando o padro de erro alcana a posio mais a direita do
registrador de deslocamento, o gerador de padro de erro apresentar 1 em sua sada
que ser somado na sada do decodificador e inverter o bit correspondente a esta
posio. Aps o ensimo deslocamento, o contedo do registrador de deslocamento o
vetor recebido corrigido.
Registrador de deslocamento
Gerador de sndrome
Gerador de padro de erro
+
+
Vetor
corrigido
Vetor
recebido
Conexes de realimentao
Modificao da sndrome
CH 1
CH 2
CH 3
CH 4
CH 5


2. CODIFICAO DE CANAL: CDIGOS DE BLOCO LINEARES
________________________________________________________________________________________________

2_Bloco_V2011_Rev4 - Geraldo Gil R. Gomes
2.40
Passo 4: Aps todo o deslocamento do vetor recebido, as chaves CH 1, CH 3 e CH 4 so
fechadas e as chaves CH2 e CH5 abertas e a decodificao do prximo vetor feita
repetindo-se os passos de 1 a 3.

O exemplo apresentado a seguir ilustra todos os passos da operao de decodificao de um
decodificador de Meggitt.


EXEMPLO 2.23

Considere a decodificao do cdigo cclico (7, 4) gerado pelo polinmio g(X) = 1 + X + X
3
. Este
um cdigo perfeito, capaz de corrigir exclusivamente todos os padres de um erro. Suponha que o
vetor cdigo c = 1 0 0 1 0 1 1 tenha sido transmitido e o vetor recebido tenha sido r = 1 0 1 1 0 1 1.
Evidentemente existe um erro na terceira posio da esquerda para a direita. Mostre a decodificao
deste vetor, passo a passo, utilizando o decodificador de Meggitt.

Soluo:

Os padres de erros e suas respectivas sndromes para este cdigo so apresentados na Tabela 2.9:


Tabela 2.9 Padres de erros e sndromes para o cdigo gerado por
g(X ) = 1 + X + X
2

Padres de erros Sndromes
1000000 100
0100000 010
0010000 001
0001000 110
0000100 011
0000010 111
0000001 101


Note que a sndrome correspondente ao padro de erro posicionado mais a direita (0000001) 101
que ser o nico padro de erro gerado pelo decodificador. O decodificador de Meggitt para este
cdigo est apresentado na Figura 2.15.

2. CODIFICAO DE CANAL: CDIGOS DE BLOCO LINEARES
________________________________________________________________________________________________

2_Bloco_V2011_Rev4 - Geraldo Gil R. Gomes
2.41


Figura 2.15 - Decodificador de Meggitt para o cdigo cclico gerado por g(X ) = 1 + X + X
2
.


Passo 1: Inicialmente as chaves CH 1, CH 3 e CH 4 esto fechadas e as chaves CH2 e CH5
abertas. O vetor 1 0 1 1 0 1 1 carregado no registrador de deslocamento.

Passo 2: A sndrome correspondente ao padro de erro gerada e lida pelo gerador de padro de
erro, conforme mostrado na Figura 2.16 (a). Como a sndrome no corresponde ao
padro de erro na posio mais a direita do vetor recebido, a sada do gerador de padro
de erro zero.

Passo 3: As chaves CH 1 e CH3 so abertas, CH 4 permanece fechada e as chaves CH2 e CH5
so fechadas. iniciado o deslocamento cclico do vetor recebido.

Note que enquanto a posio de erro no alcana a ltima posio do registrador de
deslocamento, nada somado sada do decodificador. Veja Figura 2.16 (a) at (d).
Vetor
corrigido
+
+
Vetor
recebido
CH 1
CH 2
CH 3
CH 4
CH 5
+



2. CODIFICAO DE CANAL: CDIGOS DE BLOCO LINEARES
________________________________________________________________________________________________

2_Bloco_V2011_Rev4 - Geraldo Gil R. Gomes
2.42


Figura 2.16 (a) a (d) - Decodificao passo-a-passo para o Exemplo 2.23


No quarto deslocamento, Figura 2.16 (e), o padro de erro alcana a ltima posio do
registrador de deslocamento e o gerador de padro de erro gera 1 para ser somado
com a ltima posio de bit do registrador de deslocamento, que o bit errado.

A partir do quinto deslocamento, no h mais erro no vetor e a sndrome passa a ser
zero e assim permanece at que todo o deslocamento cclico seja completado. A Figura
2.16 (h) apresenta o vetor corrigido como contedo do registrador de deslocamento.
1 0 1 1 0 1 1
0 0 1
2 1 0
s s s
Registrador de deslocamento
Sndrome
Padro de erro
(a)
Passo 1 0
1 1 0 1 1 0 1
1 1 0
2 1 0
s s s
(b)
1
o
Deslocamento 0
1 1 1 0 1 1 0
0 1 1
2 1 0
s s s
(c)
2
o
Deslocamento
0
0 1 1 1 0 1 1
1 1 1
2 1 0
s s s
(d)
3
o
Deslocamento
0
Erro
Erro
Erro
Erro




2. CODIFICAO DE CANAL: CDIGOS DE BLOCO LINEARES
________________________________________________________________________________________________

2_Bloco_V2011_Rev4 - Geraldo Gil R. Gomes
2.43


Figura 2.16 (e) a (h) - Decodificao passo-a-passo para o Exemplo 2.23

* * *
1 0 1 1 1 0 1
1 0 1
2 1 0
s s s
(e)
4
o
Deslocamento
1
0 1 0 1 1 1 0
0 0 0
2 1 0
s s s
(f)
5
o
Deslocamento
0
0 0 1 0 1 1 1
0 0 0
2 1 0
s s s
Sada
(g)
6
o
Deslocamento
0
1 0 0 1 0 1 1
0 0 0
2 1 0
s s s
Sada
(h)
7
o
Deslocamento
0
Erro
0
Correo
do bit
errado
Bit corrigido
Vetor cdigo




2. CODIFICAO DE CANAL: CDIGOS DE BLOCO LINEARES
________________________________________________________________________________________________

2_Bloco_V2011_Rev4 - Geraldo Gil R. Gomes
2.44
2.6. CDIGOS DE BLOCOS BEM CONHECIDOS [6]

Nas subsees a seguir so apresentados os cdigos de blocos mais conhecidos, uma breve
descrio de cada um e as suas principais caractersticas.


2.6.1. CDIGOS DE HAMMING

So cdigos de bloco simples, que podem ser obtidos de forma cclica, caracterizados pela seguinte
estrutura:
(n, k) = (2
m
- 1, 2
m
- 1 - m) (2.52)

onde m = 2, 3, ... Isto , suas caractersticas principais so apresentadas na Tabela 2.10.


Tabela 2.10 - Principais caractersticas dos Cdigos de Hamming.

Comprimento do cdigo: n = 2
m
- 1
Nmero de bits de informao: k = 2
m
- 1 - m
Nmero de bits de paridade: n - k = m
Distncia mnima: d
min
= 3
Capacidade de correo: t = 1


Estes cdigos tm uma distncia mnima igual a 3 e apesar de terem capacidade de correo de erro
limitada, eles pertencem a uma classe muito limitada de cdigos de bloco conhecidos como cdigos
perfeitos.

2.6.2. CDIGOS GOLAY

Tambm um cdigo cclico e perfeito. Possui maior capacidade de correo do que os cdigos de
Hamming. Suas principais caractersticas esto so apresentadas na Tabela 2.11.

(n, k) = (23, 12)

Tabela 2.11 - Principais caractersticas do Cdigo Golay.

Comprimento do cdigo: n = 23
Nmero de bits de informao: k = 12
Nmero de bits de paridade: n - k = 11
Distncia mnima: d
min
= 7
Capacidade de correo: t = 3

2. CODIFICAO DE CANAL: CDIGOS DE BLOCO LINEARES
________________________________________________________________________________________________

2_Bloco_V2011_Rev4 - Geraldo Gil R. Gomes
2.45
O cdigo Golay pode ser gerado a partir de um dos dois polinmios:

g
1
(X) = 1 + X
2
+ X
4
+ X
5

+ X
6

+ X
10

+ X
11

g
2
(X) = 1 + X

+ X
5
+ X
6

+ X
7

+ X
9

+ X
11

(2.53)
(2.54)

O cdigo Golay facilmente decodificado atravs de dois decodificadores de armadilha de erro
refinados: o decodificador de Kasami e o decodificador de busca sistemtica. Maiores detalhes a
respeito de ambos podem ser encontrados em [4].


2.6.3. CDIGOS BCH (BOSE, CHAUDHURI & HOCQUENGHEM)

Os cdigos BCH formam uma extensa classe de cdigos cclicos com grande capacidade de
correo de erros. Eles so uma extraordinria generalizao dos cdigos de Hamming para
correo de mltiplos erros. Os cdigos BCH podem ser caracterizados da seguinte forma: para
qualquer inteiro positivo m (m 3) e t (t < 2
m 1
), existe um cdigo BCH binrio com os parmetros
apresentados na Tabela 2.12.

Tabela 2.12 - Principais caractersticas dos cdigos BCH.

Comprimento do cdigo: n = 2
m
- 1
Nmero de bits de informao: k 2
m
- 1 - mt
Nmero de bits de paridade: n - k mt
Distncia mnima: d
min
2t +1
Capacidade de correo: t erros

Detalhes a respeito da implementao dos cdigos BCH, bem como os principais algoritmos de
decodificao so encontrados nas Referncias [4] e [6].


2.6.4. CDIGOS REED-SOLOMON - RS

Os cdigos Reed Solomon (RS) so uma sub-classe dos cdigos BCH. So cdigos cclicos no
binrios com smbolos formados por seqncias de m bits, onde m qualquer positivo inteiro tendo
valor maior do que 2. Os cdigos RS com smbolos de m bits existem para todo n e k para o qual

2 2 0 + < < <
m
n k (2.55)

onde k o nmero de smbolos de dados que esto sendo codificados e n o nmero de smbolos
cdigos em um bloco codificado. As principais caractersticas dos cdigos RS mais comuns esto
apresentadas na Tabela 2.13.

2. CODIFICAO DE CANAL: CDIGOS DE BLOCO LINEARES
________________________________________________________________________________________________

2_Bloco_V2011_Rev4 - Geraldo Gil R. Gomes
2.46
Tabela 2.13 - Principais caractersticas dos cdigos RS mais comuns.

Comprimento do cdigo: n = 2
m
- 1
Nmero de bits de informao: k = 2
m
- 1 - 2t
Nmero de bits de paridade: n - k = 2t
Distncia mnima: d
min
= n - k +1
Capacidade de correo:
(


=
2
k n
t


Esses cdigos, alm de uma notvel capacidade de correo de erros, so particularmente teis para
correo de erros em rajada. So extensamente utilizados em diversos sistemas de comunicaes
concatenados, principalmente, com cdigos convolucionais alm de outros sistemas de
armazenamento de informaes como CD para udio digital.


2.6.5. CDIGOS REED-MULLER - RM

Os cdigos Reed-Muller so uma importante subclasse dos cdigos decodificveis por lgica
majoritria baseados em geometria finita ou geometria euclidiana. So cdigos que podem ser
gerados na forma cclica e no cclica. Suas principais caractersticas so apresentadas na Tabela
2.14.


Tabela 2.14 - Principais caractersticas dos cdigos RM.

Comprimento do cdigo: n = 2
m
- 1
Nmero de bits de informao:

=
|
|

\
|
=

0 i
i
m
k
Nmero de bits de paridade:

=
|
|

\
|
=

0
1 2
i
m
i
m
k n
Distncia mnima: d
min
= 2
m-
- 1
Capacidade de correo:
(

2
2 2
m
t


Para comprimentos moderados (n), os cdigos RM possuem uma capacidade de correo de erro
ligeiramente inferior que os cdigos BCH. Entretanto, a decodificao por lgica majoritria
muito mais simples de implementar do que as decodificaes para cdigos BCH, o que torna
atrativo o seu uso. Para comprimentos grandes, o desempenho dos cdigos RM torna-se muito
inferior quando comparado com os BCH.
2. CODIFICAO DE CANAL: CDIGOS DE BLOCO LINEARES
________________________________________________________________________________________________

2_Bloco_V2011_Rev4 - Geraldo Gil R. Gomes
2.47
2.7. EXERCCIOS

1. Projete um cdigo de bloco linear (5, 2) com codificao na forma sistemtica tendo como
objetivo a maximizao do valor de d
min
e determine:

a) A matriz geradora do cdigo.
b) A matriz verificadora de paridade.
c) A capacidade de deteco e de correo de erros do cdigo.
d) A tabela de sndrome associada aos padres de erros corrigveis.

2. Considere um cdigo sistemtico (8, 4) cujas equaes de verificao de paridade so:

p
0
= m
1
+ m
2
+ m
3
,
p
1
= m
0
+ m
1
+ m
2
,
p
2
= m
0
+ m
1
+ m
3
,
p
3
= m
0
+ m
2
+ m
3
,

onde m
0
, m
1
, m
2
e m
3
so bits de mensagem e p
0
, p
1
, p
2
e p
3
so bits de verificao de paridade.

Pede-se:

a) Encontrar a matriz geradora e a matriz verificadora de paridade para este cdigo.
b) Mostre que a distncia mnima deste cdigo 4. Justifique.
c) Verifique se os vetores recebidos 10101010 e 01011100 so vetores cdigos usando a
sndrome de erros.
d) Desenhe um circuito codificao para este cdigo.
e) Desenhe um circuito de decodificao para este cdigo, de forma que a correo de todos os
padres de um erro e deteco simultnea de dois erros possa ser realizada.

3. Calcule a probabilidade de uma mensagem formada por uma seqncia de 12 bits codificada
com um cdigo de bloco linear (24, 12) possuir um erro. Admita que o cdigo corrige todos os
padres de 1 e 2 erros e nenhum outro padro a mais. Admita tambm que a probabilidade de
erro do canal igual a 10
-3
.

4. Considere o cdigo cclico (7, 4) gerado por g(X) = 1 + X
2
+ X
3

a) Mostre que o polinmio gerador apresentado gera de faro um cdigo cclico (7, 4).
b) Encontre todas as palavras cdigos.
c) Encontre a matriz verificadora de paridade do cdigo.
d) Verifique se o vetor recebido r = 1101101 um vetor vlido atravs da sndrome.
e) Qual a capacidade de correo de erros do cdigo?
f) Qual a capacidade de deteco de erros do cdigo?
g) Desenhe um codificador para este cdigo utilizando registradores de deslocamento.
h) Desenhe o decodificador de Meggitt para este cdigo.


2. CODIFICAO DE CANAL: CDIGOS DE BLOCO LINEARES
________________________________________________________________________________________________

2_Bloco_V2011_Rev4 - Geraldo Gil R. Gomes
2.48
5. Considere o cdigo cclico (15, 7) gerado por g(X) = 1 + X
4
+ X
6
+ X
7
+ X
8
.

a) Encontre a matriz verificadora de paridade deste cdigo.
b) Determine a capacidade de correo de erros deste cdigo.
c) Este um cdigo perfeito? Por qu?
d) Desenhe um circuito para o clculo da sndrome de erros para este cdigo.
e) Mostre como funciona o circuito para o clculo da sndrome para cada bit de entrada do
polinmio recebido r(X) = 1 + X
10
+ X
12
+ X
13
+ X
14
.
f) Determine qual o vetor cdigo mais provvel de ter sido o vetor transmitido,
considerando o polinmio recebido apresentado na questo e.

* * *


2.8. REFERNCIAS BIBLIOGRFICAS


[1] SKLAR, B., Digital Communications: Fundamentals and Applications 2
nd
ed., PTR
Prentice Hall, Upper Saddle River, NJ, 2001. 1079 p.

[2] McELIECE, Robert J. The theory of information and coding. 2. ed. Cambridge: Cambridge
University Press, 2002. ISBN 0521000955.

[3] ZIEMER, R. E.; PETERSON, R. L. Introduction to Digital Communication. 2 ed. Upper
Saddle River: Prentice Hall, 2001. ISBN 0138964815.

[4] LIN, S.; COSTELO JR, D. J. Error Control Coding: Fundamentals and Applications.
Englewood Cliffs: Prentice Hall, 1983. ISBN 013283796X.

[5] BERLEKAMP, Elwin R. Algebric Coding Theory. New York: McGraw-Hill, 1968.

[6] WICKER, S. B. Error control systems for digital communication and storage. Upper Saddle
River, New Jersey: Prentice Hall, 1995.

Você também pode gostar