Sie sind auf Seite 1von 5

Universidade Federal de Santa Catarina

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

1o Trabalho Pratico
Implementacao e avaliacao do desempenho do codigo de repeticao

Aluno: Haroldo C. Garcia Neto


Professor: Danilo Silva, Ph.D.

22 de abril de 2013

Introdu
c
ao

O objetivo deste trabalho foi de implementar e avaliar o desempenho do codigo de repeticao em


um canal bin
ario simetrico (BSC). Para avaliacao utilizou-se o metodo de Monte Carlo (metodo
estatstico utilizado em simulac
oes estocasticas), onde estimou-se a probabilidade de erro na
decodificac
ao.
Esta implementac
ao foi realizada no programa MATLAB e para isto foi necessario a criacao
de rotinas que simulassem tanto o codificador, o canal binario simetrico e o decodificador, como
tambem uma rotina para o c
alculo da probabilidade de erro simulada e outra para teorica.
Alem disso, criou-se uma rotina principal, responsavel por simular todo o processo para alguns
par
ametros especficos, como o tamanho do bloco de repeticao e a probabilidade de troca de bit.
Por fim, para visualizac
ao e comparacao dos resultados simulados com os teoricos foram
utilizados gr
aficos sobrepostos.

C
odigos de repeti
c
ao

C
odigos de repetic
ao s
ao c
odigos de bloco, onde a palavra codigo correspondente e simplemente
uma repetic
ao de n vezes da mensagem original.
Neste trabalho a mensagem considerada tera comprimento de 1 bit e portanto podera ser
somente 0 ou 1. E assim as palavras codigos correspondentes serao 00...0 (n vezes) e 11...1 (n
vezes), respectivamente.
Como dito anteriormente, a transmissao se dara pelo canal binario simetrico, ao qual possui
um par
ametro p que e a probabilidade de troca de bit, ou seja, para uma dada mensagem
m 0, 1, poder
a ocorrer um erro transmissao (com probabilidade p), chegando ao receptor o
complemento de m.
Ap
os esta transmiss
ao, o receptor tentara decodificar a mensagem recebida. Ao qual, aqui o
decodificador a ser utilizado ser
a o decodificador de distancia limitada, que corrige ate t erros,
com
n1
c.
t=b
2
Esta correc
ao e baseada no conceito de distancia de Hamming entre palavra recebida pelo
receptor e as palavras-c
odigos pertencentes a um codigo C. Sendo que a correcao podera ser
efetuada se d(ci , r) t, ci C, onde r e a palavra recebida. A mensagem estimada sera dada
a partir do codigo correspondente que possuir a menor distancia com a palavra recebida ou falha
no caso em que a condic
ao acima n
ao e respeitada.
A probabilidade erro Pe te
orica, sera calculada atraves da seguinte expressao
n
X

 
n i
Pe =
=
p (1 p)ni ,
i
i=t+1

t = b(n 1)/2c.

(1)

Ao qual n e t s
ao os mesmos par
ametros citados anteriormente.
Esta probabilidade de erro compreende tanto a probabilidade de falha, que e quando o decodificador n
ao pode decodificar a palavra recebida, como explicado acima, como tambem a
probabilidade de erro n
ao detectado, tal que Ps (Probalidade de sucesso) +Pe = 1.

Implementa
c
ao

A implementac
ao foi realizada com o objetivo de simular o processo descrito na figura 1 e assim
calcular a probabilidade de erro te
orica baseada na comparacao entre a mensagem enviada e a
1

mensagem decodificada, num processo iterativo que sera descrito em breve.

Figura 1: Processo de codificacao, transmissao e recepcao


Primeiramente, para o codificador criou-se a rotina c = codificador repeticao(m,n), onde c e
o c
odigo gerado a partir de n repetic
aoes da mensagem m. A simulacao da transmissao foi feita
atraves do bloco Y = canalbsc(X,p), sendo X e um vetor binario de tamanho qualquer e Y e
um vetor bin
ario de mesmo tamanho que X tal que Yi representa a sada do canal quando Xi
e a entrada e p a probabilidade de troca de bit. Ja para o decodificador utilizou-se a rotina w
= decodificador repeticao(r,n), onde w e a mensagem estimada ou falha se o erro nao puder ser
corrigido, r e a palavra recebida e n e o tamanho da palavra-codigo. Ha tambem a criacao da
func
ao X = bernoulli(p), que gera a variavel aleatoria de Bernoulli. E por u
ltimo tambem as rotinas mais importantes Pe = simulador repeticao(n,p,NUMERR) e Pe = pteorica repeticao(n,p),
respons
aveis pelo c
alculo tanto simulado como teorico da probabilidade de erro.
Para a rotina c = codificador repeticao(m,n), simplemeste foi criado uma funcao que replica
n vezes a mensagem devolvendo-a em forma de vetor. Ja na rotina Y = canalbsc(X,p), foi
implementado um laco e uma vari
avel aleatoria, onde para cada bit do vetor de entrada e decido se este ser
a complementado, ocorrendo com um evento p, que quando o valor da variavel
aleat
oria contnua com distribuic
ao uniforme for menor ou igual `a p. Na funcao w = decodificador repeticao(r,n) foi calculado a distancia entre o palavra recebida e as palavras-codigos
pertencentes ao c
odigo de repetic
ao e entao se a minma destas distancias fossem menor que o
m
aximo de erros que e possvel ser corrigido, a funcao retornava a mensagem estimada, caso
contr
ario ela enviava um smbolo de falha.
Com estas func
oes acima, agora e possvel fazer a simulacao completa de codificacao, transmiss
ao e decodificac
ao, para estimar a probabilidade de erro de decodificacao, que esta implementada
na rotina Pe = simulador repeticao(n,p,NUMERR). Entao, basicamente, e primeiro gerado uma
mensagem aleat
oria com distrubuic
ao equiprovavel fazendo X = bernoulli(0.5) , onde X e a mensagem original. Logo esta mensagem vai para o codificador (descrito acima) e entao o codigo
gerado e transmito pelo canal BSC (tambem descrito acima). Depois a palavra recebida, que e
a sada do canal, vai para o decodificador e este retorna uma mensagem estimada ou o smbolo
de falha -1. E finalmente se faz a comparacao entre a mensagem enviada e a recebida, ao qual se

elas forem diferentes ou houve uma falha, entao e considerado que ocorreu um erro de decodificac
ao e assim o processo contnua ate que haja NUMERR de erros (que aqui foi 10). Apos tudo
isso, basta dividir o n
umero de erros pelo n
umero total de iteracoes, que se tem a estimativa da
probabilidade de erro Pe .
A func
ao Pe = pteorica repeticao(n,p), simplemente implementa a equacao (1).

Resultados observados

Ap
os a simulac
ao da rotina principal, os dados foram coletados e plotados na figura 2, com p
variando entre 25 e 21 , para n = 1, 3, 5, 7. Com isso observa-se que com o aumento de p, ha um
aumento de Pe , independentemente do tamanho de bloco do codigo de repeticao (n) utilizado.
E alem disso, percebe-se tambem que aumentando n ocorre uma diminuicao na probabilidade
de erro, quando p < 0,5. J
a que para p 0, 5, P e comeca tender a 1 independente de qual
seja o valor de n, pois comecar
a a ter mais trocas de bit do que o decodificador e capaz de
corrigir corretamente, aumentando a probabilidade de erro nao detectado e consequentemente
aumentando tambem a probabilidade de erro .
A partir disto pode-se imaginar que em um canal com p < 0, 5, deva-se aumentar o valor
de n o m
aximo possvel para minimizar a probabilidade de erro, porem isso nao e bem assim.
Pois com o aumento do tamanho de bloco, havera tambem um aumento na complexidade de
decodificac
ao, aliado `
a diminuic
ao da taxa do codigo (R), dada pela expressao abaixo
log2 |C|
.
n
Outro aspecto a ser percebido nos c
odigos de repeticao e o fato de ser mais vantajoso trabalhar
com repetic
oes mpares, pois e eliminada a falha de decodificacao.
Quanto ao motivo de os valores estimados da probabilidade de erro variarem em torno de seu e
devido ao fato de que o n
umero de amostras coletadas ser finito, ou seja, aumentado a variavel de
controle NUMERR, consegue-se aproximar ainda mais a estimativas de seus respectivos valores
te
oricos. Como e mostrado na figura 3.
Para responder sobre qual o menor valor do tamanho de bloco (n), para um dado p, que
respeite a condic
ao de P e ser menor do que algum valor requerido foi criado a funcao n =
menor n dado Pe(Pe, p). Com isso chegou-se a conclusao que para P e < 102 n deve ser igual
a 5 quando p = 101 e n = 13 para P e < 104 . O fato n ter de ser igual `a 5 para P e < 102 ,
`
pode tambem ser notado no gr
afico da figura 2.
R=

Conclus
ao

Ap
os a conclus
ao deste trabalho, e possvel percerber que os codigos de repeticao nao sao tao
eficientes, j
a que o tamanho do bloco deve ser grande para que a probabilidade de erro na
decodificac
ao tenha um valor aceit
avel. Gerando, assim, gastos ao transmissor que tera de
enviar n vezes uma mensagem e complexidade para o receptor no processo de decodificacao.
Ainda com a realizac
ao deste trabalho foi possvel reforcar o conhecimento do assunto em
quest
ao e simular como seria um processo completo de envio `a recepcao.

Figura 2: Probabilidade de erro de decodificacao em funcao da probabililade de troca de bit do


canal BSC, com NUMERR = 10.

Figura 3: Probabilidade de erro de decodificacao em funcao da probabililade de troca de bit do


canal BSC, com NUMERR = 100.

Das könnte Ihnen auch gefallen