Você está na página 1de 5

Universidade Federal de Santa Catarina

Centro Tecnol
ogico
Departamento de Engenharia El
etrica
EEL7416 - Introduc
ao `
a Codificac
ao

3o Trabalho Pratico
Implementacao e avaliacao do desempenho de um esquema de
retransmissao automatica

Aluno: Haroldo C. Garcia Neto


Professor: Danilo Silva, Ph.D.

10 de junho de 2013

Introdu
c
ao

O objetivo deste trabalho foi de implementar e avaliar o desempenho de um esquema de retransmiss


ao autom
atica com correc
ao de erros, consistindo de um codigo CRC para deteccao de erros
em conjunto com um c
odigo BCH para correcao de erros.
Esta implementac
ao foi realizada no programa MATLAB e para isto foi necessario a criacao
de rotinas que simulassem o processo de codificacao e decodificacao, um canal BSC e o sistema
de retransmiss
ao autom
atica.
Por fim, para visualizac
ao e comparacao dos resultados simulados para os diferentes esquemas
utilizados, se fez a utilizac
ao gr
aficos da taxa efetiva, a ser descrita em breve, pela probabilidade
de troca de bit do canal BSC.

C
odigos polinomiais

Os c
odigos polinomiais s
ao c
odigos lineares, onde se trabalham com polinomios pertencentes `a
Fp , sendo p, geralmente, igual `
a 2.
Nestes c
odigos, se utilizarmos a sua forma sistematica, uma mensagem u Fk2 podera ser
dada na forma u(x)xnk F2 [x], ao qual u(x) tem grau igual `a k 1 e e formado pelos coeficintes
dado em u.
Para realizar a codificac
ao de u resultando em uma palavra-codigo c, pega-se o resto da
divis
ao de u(x)xnk por um polin
omio gerador g(x) F2 [x], onde o grau de g(x) e igual `a n k
e soma-se este resto com u(x)xnk originando c(x) F2 [x], isto e, c(x) = u(x)xnk + b(x), tal
que b(x) = u(x)xnk mod g(x), e c(x) tem grau menor ou igual `a n 1.
Na verificac
ao de erros, calcula-se a sndrome s(x) = r(x) mod g(x), onde r(x) e a palavrac
odigo recebida e se s(x) = 0 ent
ao r(x) C, onde C e o conjunto formado por todas a palavrasc
odigo do c
odigo. Enquanto que na correcao de erros pode-se usar uma tabela de sndromes
formada a partir de e(x).
Destes c
odigos surgem os chamados codigos cclicos, que possuem um polinomio gerador
satisfazendo g(x)|xn 1. E finalmente, tambem os codigos Cyclic Redundancy Check (CRC),
que nada mais s
ao c
odigos cclicos utilizados para a deteccao de erros.
Ainda h
a os c
odigos BCH, aos quais possem polinomios geradores g(x) sobre Fp , sendo p
primo. Tambem e necess
ario que estes geradores sejam de menor grau possvel e que possuam
razes consecutivas, que s
ao elementos primitivos de Fpm , onde m > 1, ou seja, g(+i ), tal que
Fq e i = 1, ..., 1.
Se as condic
oes acima forem satisfeitas e n | pm 1, sendo n o tamanho da palavra-codigo,
ent
ao dmin (C) + 1.

Implementa
c
ao

A implementac
ao realizada neste trabalho foi com o objetivo de simular o processo descrito
na figura 1, onde o transmissor reenvia um bloco de mensagem ate que este seja aceito pelo
receptor. E por por isso, como pode ser observado, ha um canal de retorno, como o objetivo
de, justamente, o receptor informar ao transmissor se o bloco foi aceito ou nao. E assim obter a
taxa efetiva do sistema (Ref f ). Para o receptor saber ou nao se a mensagem esta livre de erros,
ele possui um c
odigo corretor de erros, que aqui sera o codigo CRC-16 com o polinomio gerador
g(x) = x1 6 + x1 5 + x2 + 1.
O esquema descrito acima, como somente um detector de erros, e o chamado ARQ puro. Ha
porem outros esquemas, como e o caso do ARQ hbrido (tipo I), tambem avaliado neste trabalho,

Figura 1: Sistema de comunicacao com retransmissao automatica.


que conta com um c
odigo corretor de erros, aqui o BHC. ou seja, primeiramente a mensagem de
k bits ser
a codificada em uma palavra-codigo de comprimento n1, utilizando o codigo detector
de erros e ap
os isso a palavra resultante sera codificada em uma palavra de comprimento n,
utilizando o c
odigo corretor de erros.
Assim, mais precisamente, ser
ao avaliados os seguintes esquemas:
1. C
odigo CRC-16 para detecc
ao de erros (ARQ puro) com tamanho de bloco n = 255;
2. C
odigo CRC-16 para detecc
ao de erros e codigo BCH (255,247) para correcao de t = 1
erro;
3. C
odigo CRC-16 para detecc
ao de erros e codigo BCH (255,239) para correcao de t = 2
erros;
4. C
odigo CRC-16 para detecc
ao de erros e codigo BCH (255,231) para correcao de t = 3
erros.
Ent
ao, para simulac
ao deste processo, primeiramente, implementou-se a rotina [T, erro] =
ARQ(u, p, TMAX, codigo), onde u e a mensagem em forma de um bloco de k bits, p e a
probabilidade de troca de bit do canal BSC, TMAX e o maximo n
umero de retransmissoes que
poder
a ser realizada e codigo e um variavel do tipo struct, contento informacoes do esquema de
codificac
ao, como: k, n1 e n, o codificador e o decodificador CRC utilzados, e opcionalmente o
codificador e o decodificador BCH a serem utilizados, inclusive, com o parametro que determina
sua utilizac
ao.
Os par
ametros retornados por essa rotina sao T e erro, onde T e o n
umero de retransmissoes
necess
aria ate a aceitac
ao do bloco de mensagem , sendo considerado infinito quando ultrapassada
a condicao TMAX. J
a erro e o par
ametro que indica a ocorrencia de erro, se houve aceitacao do
dentro dessa totina
bloco e a mensagem continha erros, ou seja, os erros nao foram detectados. E
que acontece, ent
ao, o processo de codificacao, decodificacao e transmissao pelo canal BSC.
Na rotina [Reff, TTotal] = simulador ARQ(p, TMAX, TTMAX, NUMBLOCOS, codigo) e
que ocorre a estimac
ao da taxa efetiva do sistema, dada por
Ref f =

k 1
,
n E[T ]

onde k e n s
ao os par
ametros discutidos anteriormente e E[T ] e o valor esperado de T. Para isso
e simulado o envio de NUMBLOCOS blocos de mensagem, obtendo assim este valor esperado
de T. H
a ainda, uma condic
ao de parada quando TTotal (variavel que acumula T das outras
simulac
oes) ultrapassa TTMAX.

Agora, ap
os esta breve descric
ao das rotinas implementadas e possvel descrever mais profundamente cada uma delas. Assim, em [T, erro] = ARQ(u, p, TMAX, codigo) a primeira tarefa e
obter os par
ametros do c
odigo. Ap
os isso se BCHON for 1 e utilizado o esquema ARQ hbrido
e ARQ puro, caso contr
ario. Se for o ARQ puro, entao o bloco de mensagem e codificado com
o CRC-16, a palavra-codigo resultante e transmitido pelo canal BSC e na palavra recebida e
realizada a detecc
ao de erros. Se houve deteccao de erros, e solicitado a retrenasmissao do bloco
ate que o bloco seja aceito ou o n
umero maximo de retransmissoes TMAX seja alcancado. Caso,
haja aceitac
ao e verificado se o bloco enviado e o recebido sao identicos, se nao e indicado a
ocorrencia de erro e os par
ametros do codigo sao todos impressos para a visualizacao do usuario.
Se for optado pela utiizac
ao do BCH em complemento ao CRC-16, entao o processo que
ocorrer
a ser
a praticamente o mesmo do ARQ puro, com a excessao de que apos a codificao com
o CRC-16 e realizado uma codificac
ao com o BCH da palavra-codigo provinda do CRC, para
permitir a correc
ao de erros.
E por u
ltimo como descrito anteriormente, o que a rotina [Reff, TTotal] = simulador ARQ(p,
TMAX, TTMAX, NUMBLOCOS, codigo) faz e estimar a taxa efetiva. Para isso e gerado,
internamente, um bloco de mensagem aleatorio com distribuicao equiprovavel e depois e chamado
a rotina acima, e assim vai se acumulando T de todos os blocos testados e no final e calculado o
seu valor esperado, permitindo assim o calculo da taxa efetiva.

Resultados observados

Os esquemas de retransmiss
ao automatica citados na secao anterior foram simulados para p
variando de 215 `
a 21 e com isso obteu-se os resultados mostrados na Figura 2.

Figura 2: Taxa efetiva para os esquemas de retransmissao automatica 1, 2, 3 e 4.


Como pode ser verificado, independentemente do esquema utilizado a taxa efetiva tende `a
zero, quando a probablidade de troca de bit do canal BSC aumenta, o que e natural, ja que se

sempre houver erros na palavra-c


odigo recebida pelo CRC-16, e estes estiverem dentro de sua
faixa m
axima de erros detect
aveis entao sera solicidata uma nova transmissao. O que faz com
que E[T ] tenda `
a infinito.
Outra informac
ao que pode ser extrada do grafico e ja era esperada e que quando p e pequeno
a taxa efetiva depende somente dos parametros k e n, fazendo com que a taxa fosse maior para o
esquema que possusse menos redund
ancia. Isso, devido ao fato que para p pequeno E[T ] tende
a 1, n
`
ao importando o esquema utilizado.
Nas rotinas implementadas, alem de se obter Ref f , era possvel tambem ver os erros nao
detectados que ocorreram, e como j
a era de se esperar, devido a utilizacao do CRC-16, que e
capaz de detectar bastante erros, n
ao ocorreram muitos erros, sendo somente dois em toda a
simulac
ao realizada.1
Percebemos tambem que no esquema ARQ hbrido, possui melhor taxa efetiva quando p comeca a aumentar, sendo essa uma de suas vantagens, ja que ele possui um codigo corretor de
erros, evitando a solicitac
ao de retransmissao, quando o n
umero de erros ocorridos no canal e
menor que sua capacidade de correc
ao. Mas se, for garantido que o canal possua baixa probablidade de troca de bit e melhor utilizar o ARQ puro, que como dito antes, devido a sua menor
redund
ancia pode obter maior rendimento.
Se aument
assemos ou diminussemos a redundancia do codigo CRC, estaramos diminuindo
ou aumentando a taxa efetiva do c
odigo, porem com o aumento da redundancia, estaramos
diminuindo ainda mais o n
umero de erro nao detectado.
Mantendo-se o tamanho de bloco do codigo BCH fixo e aumentando a sua capacidade de
correc
ao seria possvel obter uma maior taxa efetiva, ja que mais erros poderiam ser corrigidos,
n
ao necessitando, talvez, de retransmissao. Ou seja, nesse caso a taxa efetiva depende somente
de E[T ]. Porem, se fosse o contr
ario, mantendo a mesma capacidade de correcao, e variando o
tamanho de bloco do c
odigo, E[T ] permaneceria constante e assim a taxa so dependeria de n,
onde se este fosse diminudo a taxa aumentaria, ja que sao inversamente proporcionais.
Uma mensagem codificada por um dos esquemas 2, 3 ou 4 pode ser compreendida por um
dispositivo que n
ao possui decodificador BCH, sendo assim para pequenos valores de p a taxa
efetiva aumentaria em comparac
ao com o esquema utilizando o BCH e a medida que p fosse
aumentando a taxa diminuiria em comparacao com o esquema utilizando o BCH.

Conclus
ao

Ap
os o termino deste trabalho, foi possvel perceber que quando a probabilidade de troca de
bit comeca a aumentar e melhor optar pelo uso de um sistema de retransmissao do tipo ARQ
hbrido, mesmo que este tenha mais redundancia.
Por u
ltimo nota-se tambem que se for possvel deixar constante o tamanho de bloco do codigo
BCH e vantajoso aumentar a sua capacidade de correcao, aumentando a taxa efetiva do sistema.

1 Os

erros ocorridos est


ao no arquivo: erros n
ao detectados.txt

Você também pode gostar