Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor...

72
Redes de Computadores Codificação de Linha e Controle de Erro Profa. Priscila Solís Barreto

Transcript of Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor...

Page 1: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Redes de Computadores

Codificação de Linha e Controle de Erro

Profa. Priscila Solís Barreto

Page 2: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Dado Digital, Sinal Digital

 Sinal Digital   Discreto, pulsos de voltagem discontínua   Cada pulso é um elemento do sinal   Dados binários codificados dentro de elementos

do sinal

Page 3: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Alguns termos   Unipolar – todos os elementos do sinal tem o mesmo

sinal   Polar – um estado lógico representado pro uma

voltagem positiva e outro estado representado por uma voltagem negativa

  Taxa de transmissão (R) em bits por segundo   Duração ou tamanho de um bit (1/R)   Taxa de modulação taxa com que o sinal muda de nível

– baud: elementos do sinal por segundo   Marca (binário 1) e espaço (binário 0)

Page 4: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

O Que é Codificação de Linha   Mapeamento de sequencias de informação binária no

sinal digital que entra no canal   Ex. “1” mapeia pulso +A; “0” para pulso –A

  O código de linha é selecionado conforme requerimentos do sistema:   Potencia transmitida: Consumo de potência = $   Temporização de bits: Transições no sinal ajudam na

recuperação da temporização   Eficiência de largura de banda: Transições excessivas

desperdiçam largura de banda   Conteúdo de baixas frequencias: Alguns canais bloqueiam

baixas frequencias   Períodos longos de +A ou –A causam quedas de sinal   A forma de onda não deve ter conteúdo de baixas frequencias

  Deteção de erros: ajuda   Complexidade/custo: implementação do código

Page 5: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Interpretação de Sinais

 O receptor precisa saber   timing of bits – quando um bit começa e termina   Níveis de sinal

 Fatores que afetam a interpretação   Relação sinal ruído   Taxa de transmissão   Largura de banda   Esquema de codificação

Page 6: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Comparando Esquemas de Codificação

 Espectro do sinal   clocking  Detecção de erros   Interferência do sinal e imunidade ao ruído  Custo e complexidade

Page 7: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Exemplos de código de linha

NRZ-inverted (differential

encoding)

1 0 1 0 1 1 0 0 1

Unipolar NRZ

Bipolar encoding

Manchester encoding

Differential Manchester

encoding

Polar NRZ

Page 8: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Densidade Espectral de Potência de um código de Linha

O motivo para não utilizar a transformada de Fourier para encontar o espectro de um

código de linha é que os sinais de informação que geram o código de linha são estocásticos

(não determinísticos) e a transformada de Fourier não pode ser aplicada. A PSD

mostra a distribuição da potência do sinal em relação à frequencia.

Page 9: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Espectro dos códigos de linha   Assumir 1s e 0s independentes e equiprovaveis

  NRZ tem alto conteúdo nas baixas frequencias

  Manchester tende a desperdiçar largura de banda

A PDS dá o espectro de sinais aleatórios em que a máxima frequencia em que a PSD de um sinal é diferente de zero pode ser considerada como a

largura de banda desse sinal.

Page 10: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Unipolar e Polar Non-Return-to-Zero (NRZ)

Unipolar NRZ   “1” mapeado para pulso +A   “0” mapeado não pulso   Alta potência média

0.5*A2 +0.5*02=A2/2   Strings longos de A ou 0

  Temporização pobre   Conteúdo de baixas

frequencias   Simples

Polar NRZ   “1” mapeado para pulso +A/2   “0” mapeado para pulso –A/2   Melhor potência média

0.5*(A/2)2 +0.5*(-A/2)2=A2/4   Strings longos de +A/2 ou –A/2

  Temporização pobre   Conteúdo de baixas

frequencias   Simples

1 0 1 0 1 1 0 0 1

Unipolar NRZ

Polar NRZ

Page 11: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Código Bipolar

  Três níveis de sinais: {-A, 0, +A}   “1” mapeado para +A ou –A em alternância   “0” mapeado para não pulso

  Cada pulso + corresponde a um pulso -, pouco conteúdo nas baixas frequencias

  String de 1 produz uma onda quadrada   Espectro centrado em T/2

  Strings longos causam que o receptor perda sincronismo

  Zero códigos de substituição

1 0 1 0 1 1 0 0 1

Bipolar Encoding

Page 12: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Código Manchester e Códigos mBnB

  “1” mapeia em A/2 primeiro T/2, -A/2 último T/2

  “0” mapeia em -A/2 primeiro T/2, A/2 último T/2

  Cada intervalo tem transições no meio   Recuperação da

temporização é fácil   Usa o dobro da banda

mínima   Simples para implementar   Usado em 10-Mbps Ethernet e

outros padrões LAN

  Código de linha mBnB   Mapeia blocos de m bits em

n bits   Código de Manchester é

1B2B   Código 4B5B usado em

FDDI LAN   Código 8B10b usado em

Gigabit Ethernet   Código 64B66B usado em

10G Ethernet

1 0 1 0 1 1 0 0 1

Manchester Encoding

Page 13: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Codificação Diferencial

  Erros em alguns sistemas causam transposição na polaridade +A se converte em –A e viceversa   Todos os bits subsequentes na codificação Polar NRZ estariam errados

  Codificação diferencial dá robustes a esse tipo de erro   “1” mapeado na transição do nivel de sinal   “0” mapeado na não transição do nível de sinal   Mesmo espectro que NRZ   Os erros ocorrem em pares   Também usado na codificação Manchester

NRZ-inverted (differential

encoding)

1 0 1 0 1 1 0 0 1

Differential Manchester

encoding

Page 14: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Taxa de Modulação (baud)

Baud Rate – Taxa com que o sinal muda

Page 15: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Termos (1)

Unipolar Todos os símbolos tem o mesmo “sinal” numérico

Polar Um estado lógico representado por um pulso

positivo e outro por pulso negativo

Taxa de dados Taxa de transmissão em bits / segundo

Duração ou comprimento do bit Tempo gasto para transmissão de um bit

Page 16: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Termos (2)

“Mark” e “Space” Bits 1 e 0, respectivamente

Taxa de modulação Taxa na qual o nível do sinal muda Medida em “baud” = símbolos por segundo

Taxa de bits por segundo = baud multiplicada pelo número de bits por símbolo

Page 17: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Baud versus bit rate A largura de faixa restringe o número de

símbolos que se pode enviar por segundo (baud)

Por exemplo, o canal telefônico tem BW = 3100 Hz e permite por volta de 2400 baud

Tática para aumentar a taxa de bits: aumentar o número de bits / símbolo

Modem V.32, 9600 bps, obtidos usando 2400 baud com 4 bits/símbolo

Page 18: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Interpretando Sinais

Informação útil Temporização dos bits – quando eles iniciam e

terminam Nívels do sinal (dos símbolos)

Fatores que afetam a correta interpretação (decodificação) dos sinais Razão Sinal / Ruído (Signal to noise ratio) Taxa de dados Largura de faixa (Bandwidth)

Page 19: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Comparação de esquemas de codificação(1)

Espectro do sinal Ausência de freqüências altas reduz a largura de

faixa Ausência de componente DC (freq. zero) permite

“acoplamento AC” via transformador, permitindo isolamento

Concentração de potência no meio da largura de faixa

Clocking Sincronismo do transmissor e receptor Clock externo Mecanismo de Sync baseado no próprio sinal

Page 20: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Comparação de esquemas de codificação (2)

Detecção de erro Pode ser incorporada ao próprio sinal codificado

Imunidade à interferência e rúido Alguns códigos (esquemas) são melhores que os

outros

Custo e complexidade Taxa de sinal mais alta (e, consequentemente, taxa

de bits mais alta) implica em aumento de custo Alguns códigos requerem taxa de sinal mais alta

que a de bits

Page 21: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Controle de Erro   Os sistemas de transmissão digital introduzem erros   As aplicações precisam de certos níveis de confiabilidade

  Aplicações de Dados precisam de tranferências sem erros   Aplicações de Voz & video toleram alguns erros

  O controle de erro é utilizado quando o sistema de transmissão não alcança os requerimentos da aplicação

  O controle de erro garante que um fluxo de dados seja transmitido com um certo nível de precisão a pesar dos erros

  Existem dois enfoques básicos:   Error detection & retransmission (ARQ)   Forward error correction (FEC)

Page 22: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Dado Digital, Sinal Analógico

Sistema público de telefonia Largura de faixa: 300Hz a 3400Hz Use modem (modulator-demodulator)

Modulações: Amplitude shift keying (ASK) Frequency shift keying (FSK) Phase shift keying (PK)

Page 23: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Modem versus driver de linha

Driver de linha apenas aplica um “código de linha”, como HDB3, etc.

Modem é diferente:

Page 24: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Modulation Techniques

Page 25: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Amplitude Shift Keying

Informação representada por diferentes amplitudes

Usualmente, uma amplitude é zero Ou seja, usa-se presença e ausência da portadora

Susceptível a mudanças bruscas no ganho Ineficiente Até 1,2 kbps em linhas telefonicas “voice

grade” Usado em fibra óptica

Page 26: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Frequency Shift Keying

Forma mais comum é o binary FSK (BFSK) 2 valores binários representados por 2

frequencias diferentes (próximas à da portadora)

Mais robusto a erros do que ASL Até 1,2 kbps em linhas telefonicas “voice

grade” Rádio de alta frequencia Usado em LANs com cabo coaxial

Page 27: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Multiple FSK

Usa mais do que 2 frequencias Mais eficiente em termos de largura de faixa Menos robusto a erros Cada símbolo representa mais de 1 bit

Page 28: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

FSK em linhas telefonicas (Voice Grade Line)

Page 29: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Phase Shift Keying

Informação é representada pela fase do sinal Binary PSK

Duas fases representam 2 dígitos binários Differential PSK

Fase é deslocada em relação a um valor anterior, e não em relação a algum sinal de referência

Page 30: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Modulação em fase

Page 31: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Differential PSK

Page 32: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Síntese

Page 33: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Quadrature PSK

Cada símbolo representa mais de 1 bit Informação codificada em deslocamentos de fase

de π/2 (90o) Pode-se usar diferentes ângulos (fase) e mais de

uma amplitude Modem 9600bps usa 12 angles , dos quais quatro

têm duas possíveis amplitudes Offset QPSK (orthogonal QPSK)

Esquema moderno

Page 34: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Moduladores QPSK e OQPSK

Page 35: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Exemplos de formas de onda da QPSK e OQPSK

Page 36: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Performance de esquemas de modulação

Bandwidth ASK e PSK bandwidth diretamente relacionada à

taxa de bits FSK é mais complicada

Na presença de ruído, bit error rate (BER) de PSK e QPSK são 3dB superior a ASM e FSK

Page 37: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

BER (bit error rate) por SNR

Page 38: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Quadrature Amplitude Modulation

QAM é uma técnica moderna usada em modems asymmetric digital subscriber line (ADSL) e alguns sistemas wireless

Combina ASK e PSK Envia 2 sinais digitais usando uma mesma

portadora Uma cópia da portadora é deslocada de 90°

Cada portadora é modulada com ASK

Page 39: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Constelações do QAM

Page 40: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Constelação do QAM

Page 41: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Modulador QAM

Page 42: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Modems comerciais

Padrão ITU Máxima Baud Máxima BPS Modulação V.21 300 300 2 FSK V.22 600 1200 4 FSK V.22bis 600 2400 16 QAM V.27ter 1600 4800 8 PSK V.29 2400 9600 16 QAM V.32 2400 9600 32 QAM V.32bis 2400 14400 128 QAM V.34 3229 33600 960 QAM

Page 43: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Cable modem

Page 44: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Dado analógico, sinal digital

Conversão A/D Pulse code modulation (PCM) Delta modulation (DM) ADPCM, etc.

Page 45: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Digitalizando sinal analógico

Page 46: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Dado analógico, sinal analógico

Por que modular sinais analógicos Maior frequencia pode tornar atenuação menor Permite multiplexar sinais

Tipos de modulação Amplitude Frequency Phase

Page 47: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Idéia principal   Todos os blocos de dados transmitidos (“codewords”)

satisfazem um padrão   Se o bloco recebido não satisfaz o padrão, é um erro   Redundancia: somente um conjunto de blocos

possíveis podem ser codewords   Mancha cega: quando o canal transforma um

codeword em outro codeword

Channel Encoder Informação usuário

Pattern checking

Todos os inputs no canal Satisfazem um padrão de entrada

Saída do canal

Entregar informação ou avisar erro

Page 48: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Checagem de Paridade Única   Adicionar ao final um bit de checagem de paridade

para k bits Info Bits: b1, b2, b3, …, bk

Check Bit: bk+1= b1+ b2+ b3+ …+ bk modulo 2

Codeword: (b1, b2, b3, …, bk,, bk+1)

  Todos os codewords tem um número par de 1s   O receptor checa para ver se o número de 1s é par

  Todos os padrões que mudam um número impar de bits são detectados

  Todos os padrões com número par não são detectados   Bit de paridade é usado no código ASCII

Page 49: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Exemplo de Código de Paridade Única   Informação (7 bits): (0, 1, 0, 1, 1, 0, 0)   Bit de Paridade : b8 = 0 + 1 +0 + 1 +1 + 0 = 1   Codeword (8 bits): (0, 1, 0, 1, 1, 0, 0, 1)

  Se um erro único no bit 3 : (0, 1, 1, 1, 1, 0, 0, 1)   # de 1’s =5, ímpar   Erro detectado

  Erros no bits 3 e 5: (0, 1, 1, 1, 0, 0, 0, 1)   # de 1’s =4, par   Error não detectados

Page 50: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Checkbits & Deteção de Erro

Calcuar check bits

Canal

Recalcular check bits

Comparar

Bits informação Received information bits

Enviar Check bits

Informação aceita se os k check bits correspondem

Receber check bits

k bits

n – k bits

Page 51: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Quanto é eficiênte um código de paridade única?

  Redundancia: o código adiciona um bit redundante k para k bits de informação : overhead = 1/(k + 1)

  Abrangência: todos os padrões de erro com um número ímpar de erros são identificados   Um padrão de erro é um tupla binária (k + 1) com 1s ode

ocorrem erros e 0’s em outras partes   De 2k+1 (k + 1) tuplas binarias, ½ são ímpares, então 50%

de erros podem ser detectados   É possível identificar mais erros se são adicionados

mais check bits?   Sim, com os códigos corretos

Page 52: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Por que os erros de bits são aleatórios?   Muitos canais de transmissão introduzem erros de bits de forma

aleatória, independente de cada um, com probabilidade p   Alguns padrões de erro são mais prováveis que outros :

  Em qualquer canal comum p < 0.5, então p/(1 – p) < 1   Seque que os padrões com 1 erro são mais comuns que os

padrões com 2 erros e assim por diante   Qual é a probabilidade de ocorrer um erro que não seja

detectado?

P[10000000] = p(1 – p)7 = (1 – p)8 p/(1-p) e

P[11000000] = p2(1 – p)6 = (1 – p)8 [p/(1-p)]2

Page 53: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Checagem de paridade simples com erros aleatórios de bits   Erro não detectável quando ocorre um erro em número

par de bits

  Exemplo: Avaliar para n = 32, p = 10-3

  Neste exemplo, mais ou menos 1 em 2000 padrões de erro são não detectáveis

P[falha na deteção erro] = P[erro padrão não detectável] = P[padrões de erro com número par de bits]

= p2(1 – p)n-2 + p4(1 – p)n-4 + … n 2

n 4

P[erro não detectável] = (10-3)2 (1 – 10-3)30 + (10-3)4 (1 – 10-3)28

≈ 496 (10-6) + 35960 (10-12) ≈ 4.96 (10-4)

32 2

32 4

Page 54: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

x = codewords o = noncodewords

x

x x

x

x

x

x

o

o o

o o

o o

o o o

o

o

o x

x x x

x x

x

o o

o o

o o o o o

o

o Poor distance

properties

Que é um bom código?   Muitos canais tem

preferência de padrões de erro que tem um número baixo de erros

  Estes padrões de erro mapeiam codewords transmitidos por n-tuplas

  Se os codewords são próximos entre eles, falhas na deteção devem ocorrer

  Bons códigos devem maximizar a separação entre os codewords

Good distance

properties

Page 55: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Checagem de paridade bidimensional

1 0 0 1 0 0

0 1 0 0 0 1

1 0 0 1 0 0

1 1 0 1 1 0

1 0 0 1 1 1

Fila final consiste de bits de checagem para cada coluna

Última coluna tem bits de checagem para cada fila

  Mais bits de paridade para melhorar a abrangência   Acomodar a informação como colunas   Adicionar paridade simples a cada coluna   Adicionar uma coluna final de paridade

Page 56: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

1 0 0 1 0 0

0 0 0 1 0 1

1 0 0 1 0 0

1 0 0 0 1 0

1 0 0 1 1 1

1 0 0 1 0 0

0 0 0 0 0 1

1 0 0 1 0 0

1 0 0 1 1 0

1 0 0 1 1 1

1 0 0 1 0 0

0 0 0 1 0 1

1 0 0 1 0 0

1 0 0 1 1 0

1 0 0 1 1 1

1 0 0 1 0 0

0 0 0 0 0 1

1 0 0 1 0 0

1 1 0 1 1 0

1 0 0 1 1 1

Dois erros Um erro

Tres erros 4 erros(undetectable)

Capacidade de detectar erro

1, 2, ou 3 erros são sempre

detectados; não todos os padrões

>4 podem ser detectados

Page 57: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Outros erros de deteção   Muitas aplicações requerem taxas baixas de erro   São necessários códigos que identifiquem a maioria

dos erros   Os codigos de paridade simples não identificam

erros suficiêntes   Códigos bidimensionais requerem muitos bits de

checagem   Na prática são usados os seguintes códigos :

  Internet Check Sums   CRC Polynomial Codes

Page 58: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Internet Checksum   Vários protocolos de Internet (e.g. IP, TCP, UDP)

usam bits de checagem para detectar erros no cabeçalho IP

  Um checksum é calculado para conteúdos do cabeçalho é colocado em um campo

  O Checksum é recalculado em cada roteador – fácil de implementar em sw

  Seja o header com L 16-bit words, b0, b1, b2, ..., bL-1

  O algoritmo adiciona um checksum de 16-bit bL

Page 59: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

O checksum bL é calculado assim:   Cada palavra de16-bit é um inteiro, encontrar x = b0 + b1 + b2+ ...+ bL-1 modulo 216-1   O checksum é dado por: bL = - x modulo 216-1 Então, os cabeçalhos devem satisfazer o seguinte

padrão : 0 = b0 + b1 + b2+ ...+ bL-1 + bL modulo 216-1   O calculo do checksum é feito em software usando-se

aritmética de complemento a um

Cálculo do checksum

Page 60: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Internet Checksum: Exemplo Usando aritmética módulo   Assuma palavras 4-bit   Usar aritmética mod 24-1   b0=1100 = 12   b1=1010 = 10   b0+b1=12+10=7 mod15   b2 = -7 = 8 mod15   Então b2=1000

Usando aritmética binária   Notar que 16 =1 mod15   Então: 10000 = 0001 mod15   Bit inicial

b0 + b1 = 1100+1010 =10110 =10000+0110 =0001+0110 =0111 =7 Fazendo complemento a 1s b2 = -0111 =1000

Page 61: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Códigos Polinômicos

 Polinomios em vez de vetores ou codewords  Aritmética polinômica em vez de check sums   Implementada usando-se circuitos shift-

register  Também chamados de cyclic redundancy

check (CRC)  Muitos padrões de comunicação usam

códigos polinômicos para deteção de erro  Os códigos polinômicos são usados como

base para correção de erros

Page 62: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Adição

Multiplicação

Aritmética Binária polinômica   Vetores binários mapeados em polinômios

(ik-1 , ik-2 ,…, i2 , i1 , i0) ik-1xk-1 + ik-2xk-2 + … + i2x2 + i1x + i0

(x7 + x6 + 1) + (x6 + x5) = x7 + x6 + x6 + x5 + 1

= x7 +(1+1)x6 + x5 + 1

= x7 +x5 + 1 dado que 1+1=0 mod2

(x + 1) (x2 + x + 1) = x(x2 + x + 1) + 1(x2 + x + 1)

= (x3 + x2 + x) + (x2 + x + 1)

= x3 + 1

Page 63: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Divisão   Divisão com números decimais

32

35 ) 1222 3

105 17 2

4

140 divisor

quociente

resíduo

dividendo 1222 = 34 x 35 + 32

dividendo = quociente x divisor +resíduo

  Divisão polinômial x3 + x + 1 ) x6 + x5

x6 + x4 + x3

x5 + x4 + x3

x5 + x3 + x2

x4 + x2

x4 + x2 + x x

= q(x) quociente

= r(x) residuo

divisor dividendo

+ x + x2 x3

Note: Grau de r(x) é menor que o grau do divisor

Page 64: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Codificação Polinômial   O código tem um polinômio gerador de grau n–k

  k bits de informação definem o grau do polinômio k – 1

  Encontrar o residuo de maior grau n – k – 1

g(x) ) xn-k i(x) q(x)

r(x) xn-ki(x) = q(x)g(x) + r(x)

  Definir um código polinômico de grau n – 1

b(x) = xn-ki(x) + r(x) n bits k bits n-k bits

g(x) = xn-k + gn-k-1xn-k-1 + … + g2x2 + g1x + 1

i(x) = ik-1xk-1 + ik-2xk-2 + … + i2x2 + i1x + i0

Page 65: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Codeword transmitido: b(x) = x6 + x5 + x b = (1,1,0,0,0,1,0)

1011 ) 1100000 !1110!

1011!1110!1011!1010!1011!

010!

x3 + x + 1 ) x6 + x5

x3 + x2 + x

x6 + x4 + x3

x5 + x4 + x3

x5 + x3 + x2

x4 + x2

x4 + x2 + x

x!

Exemplo: k = 4, n–k = 3 Gerador polinomial: g(x)= x3 + x + 1 Informação: (1,1,0,0) i(x) = x3 + x2

Codificador: x3i(x) = x6 + x5

Page 66: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

O Padrão em codificação polinômica

  Todos os codewords satisfazem o padrão seguinte :

  Todos os codewords são múltiplos de g(x)!   Receptor deve dividir a n-tupla recebida por g(x) e

verificar se o resíduo é zero   Se o resíduo não é zero, a n-tupla não é um código

válido

b(x) = xn-ki(x) + r(x) = q(x)g(x) + r(x) + r(x) = q(x)g(x)

Page 67: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Implementação com shift-registers

1.  Aceitar bits de informação ik-1,ik-2,…,i2,i1,i0

2.  Adicionar n – k zeros aos bits de informação

3.  Alimentar a sequencia para um circuito shift-register circuit que execute divisão polinomial

4.  Depois de n shifts, o shift register contém o resíduo

Page 68: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Clock Input Reg 0 Reg 1 Reg 2 0 - 0 0 0 1 1 = i3 1 0 0 2 1 = i2 1 1 0 3 0 = i1 0 1 1 4 0 = i0 1 1 1 5 0 1 0 1 6 0 1 0 0 9  0 0 1 0 Check bits: r0 = 0 r1 = 1 r2 = 0

r(x) = x

Circuito de divisão

Reg 0 + +

Codificador para g(x) = x3 + x + 1

Reg 1 Reg 2 0,0,0,i0,i1,i2,i3

g0 = 1 g1 = 1 g3 = 1

Page 69: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Padrões não detectáveis

  e(x) tem 1s em locais de erro & 0s em outras partes   Receptor divide o polinomio recebido R(x) por g(x)   Mancha cega: Se e(x) é múltiplo de g(x), que é, e(x)

um codework não zero, então R(x) = b(x) + e(x) = q(x)g(x) + q’(x)g(x)   O conjunto de polinômios de erro não detectáveis é

um conjunto de códigos polinômicos não zero   Escolher o gerador polinômico de tal forma que os

padrões de erro sejam detectados

b(x)

e(x)

R(x)=b(x)+e(x) + (Receptor) (Transmissor)

Erro polinômial (Canal)

Page 70: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Projetando bons códigos polinômicos   Selecionar o gerador polinomial de tal forma que os

padrões de erro não sejam múltiplos de g(x)   Detectar erros simples

  e(x) = xi para um erro no local i + 1   Se g(x) tem mais de um termo, não pode ser dividido por xi

  Detectando erros duplos   e(x) = xi + xj = xi(xj-i+1) em que j>i   Se g(x) tem mais de um termo, não pode ser dividir xi

  Se g(x) é uma primitiva polinomial, não pode dividir xm+1 para todos os m<2n-k-1 (É preciso manter o tamanho do codeword menor que 2n-k-1)

  Polinomios primitivos podem ser encontrados em livros de teoria de codificação

Page 71: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Projetando bons códigos polinomiais

 Deteção de número impar de erros   Suponha que todos os codewords polinomiais tem

um número par 1s, então todos os erros ímpares podem ser identificados

  Da mesma forma, b(x) é avaliado em x = 1 e é zero pois b(x) tem um número par de 1s

  Isto implica que x + 1 deve ser um fator para todos os b(x)

  Escolha g(x) = (x + 1) p(x) em que p(x) é primitiva

Page 72: Redes de Computadorespris/resources/Teaching/Redes... · Dado Digital, Sinal Digital ... O receptor precisa saber ... positivo e outro por pulso negativo Taxa de dados Taxa de transmissão

Gerador Padrão de Polinomios

 CRC-8:

 CRC-16:

 CCITT-16:

 CCITT-32:

CRC = cyclic redundancy check

HDLC, XMODEM, V.41

IEEE 802, DoD, V.42

Bisync

ATM = x8 + x2 + x + 1

= x16 + x15 + x2 + 1 = (x + 1)(x15 + x + 1)

= x16 + x12 + x5 + 1

= x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1