Buscar

Sistemas Codificados

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Técnicas de codificação 
 
Codificação de fonte: 
No caso dos sistemas de telefonia móvel digital são utilizadas várias técnicas de 
codificação de fonte nos denominados vocoders (codificadores de voz). Esses 
codificadores têm o poder de reduzir a taxa de transmissão necessária para 
representar os sinais de voz dos conhecidos 64Kbps (sistema PCM), para a casa dos 
5 a 15kbps. Existem diversos algoritmos de codificação modernos capazes de 
comprimir voz dados e imagem. 
Um exemplo simples de codificação de fonte é o código Morse utilizado na 
comunicação telegráfica. Nas palavras da língua inglesa a letra “E” aparece com muito 
mais frequência que a letra “Q”. A codificação Morse para a letra “E” é um simples “.” ( 
a palavra mais curta do código), enquanto a letra “Q” é codificada como”--.-“ (a palavra 
mais longa do código). Outros exemplos clássicos de códigos de fonte são os códigos 
de Ruffman e códigos de Lempel-Zif. 
 
Para os sistemas de comunicação wireless, o ganho que se tem com a 
codificação de fonte se reflete diretamente na banda ocupada pelo sinal. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Codificação de canal: 
 A codificação de canal se refere a um conjunto de transformações que se 
aplicam ao sinal transmitido com a finalidade de corrigir ou detectar a ocorrência de 
erros na recepção após o processo de transmissão do sinal. O Objetivo da codificação 
de canal é reduzir a probabilidade de erro associada relação sinal ruído de forma a 
melhorar a performance do sistema. Esta redução na SNR (Signal Noise Ratio), é 
chamada de ganho de codificação. 
“ 
• Em 1948, Claude Shannon publicou o trabalho “A Mathematical Theory of 
Communications”. Neste trabalho, shannon descobriu um parâmetro calculável 
que chamou de Capacidade de Canal e provou que, para um determinado 
canal, é possível a comunicação livre de erros desde que taxa de transmissão 
não seja maior que a capacidade do canal. Para um canal gaussiano a 
capacidade de canal é dada pela expressão. 
 







NoB
P
BC 1log 2
 bits/segundo 
ou, 







NN
rE
C b
0
2
2
1log
2
1
 bits/uso do canal ( símbolo de modulação) 
 
Dentre os vários resultados oriundos dos trabalhos apresentados por Shannon na 
sua formulação da Teoria da Informação, está o limite inferior para a probabilidade 
de erro de palavra associado a um esquema codificado de taxa 
nkr 
, onde 
k
 
representa o número de bits de informação e 
n
 o número de bits codificados. E tal 
que, 
Cr ≤≤0
. 
Esse resultado estabelece que a probabilidade de erro de palavra codificada 
)(ePw
, é limitada inferiormente pela expressão: 
)(-2)( rnw eP

 (1) 
 
Onde 
n
 é o comprimento da palavra codificada, e 
)(r
é uma função convexa, 
decrescente positiva de 
r
, e associada a capacidade de canal 
C
 .
)(r
 é 
também conhecida como expoente de Gallager. 
Note que a probabilidade de erro de bit 
)(ePb
 é limitada superiormente por 
)(ePw
. 
Ou seja: 
)(≤)( ePeP wb
 
Então o resultado acima, também é valido para probabilidade de erro de bit. 
A partir da expressão (1) é possível observar que a fim de se minimizar a 
probabilidade de erro de um dado esquema codificado, três abordagens são 
possíveis: 
1- Com 
)(r
, é uma função decrescente de 
r
, a fim de minimizar
)(ePb
, pode-se 
diminuir 
r
, o que acarretaria em no aumento da banda necessária para a 
transmissão da informação. 
2 – Como 
Cr ≤≤0
, então uma segunda abordagem é aumentar a capacidade de 
canal, provocando um aumento nos valores da função 
)(rE
, para um mesmo valor 
de 
r
. Pela expressão da capacidade de canal, observa-se que tal abordagem é 
possível, através do aumento de 
P
, que é a potência transmitida. 
Estas duas abordagens, são soluções clássicas e já conhecidas de sistemas de 
comunicação. Ou seja, sempre é possível melhorar o desempenho do sistema ao 
custo de uma aumento da banda utilizada, ou através do aumento da potência do 
sinal enviado no canal. 
O que é revolucionário nos resultados apresentados na teoria formulada por 
Shannon se refere ao termo associado a 
n
. Através da análise da eq.(1) 
observa-se que uma terceira estratégia é possível. É possível diminuir a 
probabilidade de erro através do aumento do comprimento das palavras código. “ 
 
 
Um pouco da história... 
Em 1949 Hamming apresentou o primeiro código capaz de corrigir erros e 
melhorar a qualidade de um sistema digital. Em 1959 se descobrem os códigos 
BHC cujo nome se deve em honra a seus descobridores (R.Bose, 
A.Hochquenghem , D. Ray-Chaudhuri). O algoritmo de Viterbi para decodificação 
de códigos convolucionais é apresentado em 1967. Em 1993 os códigos Turbo são 
propostos por C.Berrou, A.Galvieux e P. Titimajshima. 
 
A codificação de canal consiste em transformar as sequências binárias de 
informação em sequências codificadas com a adição de bits de codificação. Estes 
bits a mais que são introduzidos de maneira estruturada, chamados de bits de 
redundância, podem ser utilizados pelo algoritmo de decodificação no receptor 
para detecção e ou correção. 
Duas estratégias podem ser utilizadas: 
1- Deteção de erros e retransmissão através de pedido de retransmissão da 
informação.( e.g técnicas ARQ – Automatic Repeat Request) 
2- Correção de erros. Esta técnica é normalmente denominada FEC (Forward 
Error Correction). 
 
Também existem técnicas híbridas que combinas as anteriores de maneira a 
melhorar a eficiência do sistema. 
 
Códigos de bloco: 
Nos códigos de bloco os bits de informação entram no codificador de canal, e são 
divididos em sequências de comprimento fixo de 
k
 bits. Desta forma existem k2 
sequências possíveis de informação. O codificador transforma qualquer sequência de 
k
 bits em um sequência de 
n
 bits com 
kn 
 , chamada de palavra código, através 
da adição de 
kn 
 bits de redundância, segundo a regra de codificação a taxa do 
código será dada por: 
n
k
r 
 
 
Assim o excesso de banda requerido será de 
r1
, se quisermos manter a 
velocidade de transmissão dos bits de informação, pois termos que aumentar a 
velocidade de um fator 
kn /
. 
 
 
Um exemplo de código de bloco é o código de Hamming(7,4), cuja codificação 
sistemática onde os
k
 bits de informação são posicionados no campo inicial da 
palavra código são mostrados na tabela a seguir. 
 
 
 
 
 
Bits de informação Palavra Código Palavra Código Bits de informação 
A capacidade de correção do código depende da relação entre as palavras código. 
Quanto maior a distância de Hamming entre as palavras código ( número de bits 
diferentes), maior será a capacidade de correção do código. Pode-se mostrar que o 
número máximo de erros que um código pode detectar é dado por. 
1
min
 de
 
Sendo 
min
d
 a distância mínima do código. Demonstra-se que um codificador binário é 
capaz de corrigir qualquer padrão de erro de peso 
t
 inteiro, semprel que , 
2
1
min


d
t
 
De uma maneira geral um código será capaz de corrigir até kn2 padrões de erros. 
Os códigos BCH podem ser vistos como uma generalização dos códigos de Hamming 
para a correção de múltiplos erros. Finalmente os Códigos de Reed Solomon que são 
uma classe especial dos códigos BCH, e possuem uma grande capacidade de 
correção de surtos de erros. 
 
Códigos Convolucionais: 
Outra classe de códigos de especial interesse em sistemas de comunicações móveis 
são os códigos convolucionais. A principal diferença em relação aos códigos de bloco, 
é queneste método de codificação os bits de informação são codificados de forma 
continua, não sendo separados em blocos para a codificação. Existem diversas 
técnicas de codificação para geração de códigos convolucionais, a mais utilizada é 
baseada na codificação através de registradores de deslocamento com somadores 
módulo 2. 
De uma forma geral um codificador convolucional terá 
k
 entradas e 
n
 saídas, com
m
registros para cada entrada. Assim cada bit na entrada influenciará 
mn
 bits na 
saída, 
m
 é denomina de memória do código. Para que todos os bits codificados 
tenham passado pelos registradores de deslocamento, é necessário que a sequência 
de informação tenha andado 
1m
 bits. A figura abaixo mostra dois exemplos de 
códigos convolucionais de taxa 
21
 e taxa 
31
 respectivamente. 
 
 
 
A decodificação do código convolucional consiste em escolher a sequencia mais 
provável entre todas as possíveis. Existem diversos algoritmos que permitem a 
decodificação deste tipo de código. A decodificação ótima é atingida pelo algoritmo de 
Viterbi. 
A capacidade de correção de um código convolucional está associada a distância 
mínima livre. De uma forma geral, quanto menor é a taxa de codificação, maior é a 
distância livre do código, e para códigos de mesma taxa, a distância livre aumenta 
com o aumento da memória do código. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Exemplo: 
Codificação de um canal GSM 
Em um sistema GSM, a voz é convertida em um sinal elétrico através do microfone. 
Este sinal é então filtrado e limitado em banda a 3.4kHz, suficientes para o 
reconhecimento inteligente da voz. Depois de filtrado o sinal é amostrado a uma taxa 
de 8kHz e quantizado em amostras de 13bits, resultando em uma taxa de 104kbits/s. 
Esta taxa é demasiada alta para transmissão na interface rádio. Com o intuito de 
diminuir a taxa de transmissão, é utilizado uma algoritmo de compressão( codificação 
de fonte) denominado codificador RPE-LTP ( Regular Pulse Exciting-Linear Term 
Predictor) [ETSI] que reduz significativamente a taxa de transmissão para 13kbps. 
A codificação de fonte introduzida pelo RPE-LTP gera símbolos que possuem 
importância desigual, ou seja a perda de determinados bits é mais critica do que de 
outros dentro de uma janela de codificação. O código produz blocos de 260 bits a cada 
intervalo de 20ms. De forma a fazer uso eficiente do espectro, é então aplicado um 
esquema de codificação desigual de canal, onde os bits mais críticos são codificados e 
os menos críticos não sofrem codificação. A figura abaixo detalha este esquema de 
codificação. 
 
 
O bloco é dividido em três campos, Ia, Ib e Ic, classificados de acordo com o seu grau 
de importância. Os bits do campo Ia são codificados com 3 bits para detecção de 
erros, os bits da classe Ib são codificados com 4 bits para detecção de erros, 
juntamente os campos Ia e Ib são codificados por um código convolucional de taxa 1/2 
, os bits da classe Ic não são codificados. 
 
 
 
 
 
Exemplo 2: Codificação de canal GPRS 
Para os sistemas GPRS foram definidos 4 tipos de codificação de dados para 4 taxas 
de transmissão distintas. O objetivo é que o sistema possa se adaptar dinamicamente 
de acordo com a qualidade do canal. A técnica de codificação consiste na 
concatenação de um código de bloco externo e um código convolucional interno, 
conforme a tabela a seguir. 
 
 
 
Exemplo 3: Codificação UMTS. 
Em 1993 foi apresentado a comunidade científica um novo esquema de modulação 
denominado Turbo Codes. Estes códigos permitiam atingir uma performance próxima 
ao limite de capacidade de canal apresentado por Shannon em 1948. O 3GPP 
incorporou os Turbo Codes nas especificações das características físicas dos 
sistemas de transmissão UMTS. 
O principio básico dos Turbo Codes, é a concatenação de 2 ou mais códigos, onde 
através de um processo de decodificação iterativo, os parâmetros estimados do sinal 
recebido por cada código, denominados de informação extrínsecas, são repassados 
para o próximo código, como informação adicional no processo de decodificação. Em 
cada iteração, é possível a correção de novos erros não detectados nas etapas 
anteriores. O preço pago é uma maior complexidade de implementação e uma maior 
latência no tempo de decodificação. 
 
Bits de saída do 
codificadosr 
convolucional 
Esquema de 
codificação 
Taxa do 
código 
Taxa do 
código

Outros materiais