CRC

Posted: Novembro 29, 2012 in Uncategorized

CRC (Cyclic Redundancy Check)

  • Esquema mais eficiente
  • Emissor/receptor concordam num polinómio gerador G(x), em que quanto maior for o seu grau maior seráa capacidade de detecção de erros
  • Neste polinómio tanto o bit de maior ordem quanto o de menor ordem devem ser iguais a 1
  • Palavra inicial de kbits é representado por um polinómio de X de ordem k-1
  • palavra inicial = 10110001
  • polinómio = X7+X5+x4+1

Execução: o polinómio p(x) érepresentado pela palavra inicial somada aos bits de paridade e deve ser divisível por G(x);

  • O receptor tenta dividir p(x) por G(x). Se houver resto ≠0, houve um erro de transmissão;
  • Se houver um erro, em vez de se receber o polinómio T(x), recebe-se T(x)+E(x);
  • Cada bit 1 em E(x) corresponde a um bit invertido;
  • T(x)/G(x) ésempre zero, logo o resultado éE(x)/G(x).

Exemplo:

  • Mensagem a transmitir:10111011
  • Polinómio gerador G(X) = x4+x+1 􀃆10011
  • Acrescenta-se àmensagem inicial, a quantidade de zeros equivalentes ao grau de G(x), ficando:

10111011 0000

  • Seguidamente divide-se a mensagem (ponto anterior) pelo polinómio gerador
  • A divisão de dois polinómios (na sua forma binária) éfeita recorrendo àoperação XOR (⊕)

1 0 1 1 1 0 1 1 0 0 0 0
1 0 0 1 1
0 0 1 0 0 0 1
1 0 0 1 1
0 0 0 1 0 1 0 0
1 0 0 1 1
0 0 1 1 1 0 0
1 0 0 1 1
0 1 1 1 1 <- Resto da Divisão

  • O resto que da divisão éfinalmente adicionado àmensagem original, pelo que a mensagem transmitida será:

101110111111

Para descodificar a mensagem, o procedimento deve ser repetido.
1 0 1 1 1 0 01 1 1 1 1
1 0 0 1 1
0 0 1 0 0 0 0
1 0 0 1 1
0 0 0 1 1 1 1 1
1 0 0 1 1
0 1 1 0 0 1
1 0 0 1 1
0 1 0 1 0 1
1 0 0 1 1
0 0 1 1 0 <- ≠0, logo a mensagem foi recebida com erro

Deteção de erros

-> Vamos descrever três códigos detetores de uma que são os mais frequentemente utilizados em redes de comunicação de paridade, checksum e CRC.

Verificação de paridade

Verificação de paridade é o método mais utilizado para a deteção de erros.
O bit de paridade indica o nº de bits 1 presentes num caracter (byte), se tiver numero par de 1´s o bit de paridade é 0 (zero) e se tiver um número impar de 1´s o bit de paridade é 1 (um).
Mas esta técnica não é infalivel.
Ex:
      11001100– a mensagem está correta; o último bit é 0, o que indica que   o nº de 1′s que o precede é par     
      10101011 – a mensagem está errada; o bit de paridade indica que o nº   de 1′s que o antecede  é ímpar mas é par na realidade.

CRC (Cyclic Redundancy Check)

  • Esquema mais eficiente
  • Emissor/receptor concordam num polinómio gerador G(x), em que quanto maior for o seu grau maior seráa capacidade de detecção de erros
  • Neste polinómio tanto o bit de maior ordem quanto o de menor ordem devem ser iguais a 1
  • Palavra inicial de kbits é representado por um polinómio de X de ordem k-1
  • palavra inicial = 10110001
  • polinómio = X7+X5+x4+1

Execução: o polinómio p(x) érepresentado pela palavra inicial somada aos bits de paridade e deve ser divisível por G(x);

  • O receptor tenta dividir p(x) por G(x). Se houver resto ≠0, houve um erro de transmissão;
  • Se houver um erro, em vez de se receber o polinómio T(x), recebe-se T(x)+E(x);
  • Cada bit 1 em E(x) corresponde a um bit invertido;
  • T(x)/G(x) ésempre zero, logo o resultado éE(x)/G(x).

Exemplo:

  • Mensagem a transmitir:10111011
  • Polinómio gerador G(X) = x4+x+1 􀃆10011
  • Acrescenta-se àmensagem inicial, a quantidade de zeros equivalentes ao grau de G(x), ficando:

10111011 0000

  • Seguidamente divide-se a mensagem (ponto anterior) pelo polinómio gerador
  • A divisão de dois polinómios (na sua forma binária) éfeita recorrendo àoperação XOR (⊕)

1 0 1 1 1 0 1 1 0 0 0 0
1 0 0 1 1
0 0 1 0 0 0 1
1 0 0 1 1
0 0 0 1 0 1 0 0
1 0 0 1 1
0 0 1 1 1 0 0
1 0 0 1 1
0 1 1 1 1 <- Resto da Divisão

  • O resto que da divisão éfinalmente adicionado àmensagem original, pelo que a mensagem transmitida será:

101110111111

Para descodificar a mensagem, o procedimento deve ser repetido.
1 0 1 1 1 0 01 1 1 1 1
1 0 0 1 1
0 0 1 0 0 0 0
1 0 0 1 1
0 0 0 1 1 1 1 1
1 0 0 1 1
0 1 1 0 0 1
1 0 0 1 1
0 1 0 1 0 1
1 0 0 1 1
0 0 1 1 0 <- ≠0, logo a mensagem foi recebida com erro.

Checksum : é uma técnica usada parra detetar erros principalmente na Internet e denominar-se por soma de verificação.

Esta verificação é usada ao nível do transporte e baseia-se na soma do conteúdo do segmento que é colocado numa posição de trama UDP, no lado do emissor. No recetor há lugar novamente à soma do segmento. De
da soma do checksum ( normal e complemento para 12 resultarem apenas 1´s (uns) podemos inferir que não houve erro na transmissão , caso contrário existiu erro na transmissão.

Esses erros são assinalados nas posições que da soma de checksum resultarem 0 (zero). Os erros podem acontecer no segmento ou no próprio código detetor de erros.

Transmissão assincrone

Posted: Novembro 5, 2012 in Uncategorized

Este tipo de tranmissão diz-se assincrone visto não usar relógio de sincronismo para transmissão dos dados.

Sem a presença de um relógio para indicar ao recetor quando deve ler a informação proveniente do emissor é necessário utilizar marcadores ( Flex ) que desempenha esta função: toma de dados transmitidos no mundo assincronismo com as flex necessárias. No odo sincronismo com as flex necessárias.

Transmissão sincrone

Posted: Novembro 5, 2012 in Uncategorized

A palavra sincrone apresenta a presença de um relógio. Este será o responsável por sincronizar o emissor e o receptor durante a transmissão de informação o sincronismo permite ao recetor saber quando deve ler dados e quando deve parar. Conta também com uma verificação de erros do tipo CRC que, no caso de transmissão do bloco de dados, garante uma retransmissão de informação. Na figura seguinte é possivel observar uma trama de dados usados numa transmissão sincrona.

Manchester

Posted: Outubro 25, 2012 in Uncategorized

Este código de linha, á semelhança do RZ, também apresenta em duty cicle de 50% , logs necessita do dobro da largura de banda em relação ao código NRZ.

– As vantagens em relação aos anteriores é que apresenta um componente nulo, nunca perde o sincronismo de relógio entre o emissor e o recetor tem a capacidade de deteção de erros.

Existem 2 tipos:

-Manchester normal;

-Manchester diferencial.

Manchester normal: os limites de onda neste tipo de codificação estão entre 1 e -1.

Neste código de linha as decisões são sempre tomados a meio de cada bit.

Assim as transições entre 0 -> 1 e 1 -> 0.

As restantes transições 0 -> 0 e 1 -> -1, ocupam apenas meio bit.

É usado em Ethernet.

Manchester diferencial: os limites de onda neste tipo de codificação estão entre 1 e -1.

Á semelhança do anterior as decisões são tomadas a meio de cada bit.

As restantes transições 0 -> 1 e 1 -> 0 ocupam apenas meio bit.

As transições 0 -> 1 e  1 -> – 1 ocupam a largura de 1 bit desde o meio bit anterior até o meio do bit seguinte.

É usado em Token Ring.

Vantagens do sinal analógico:

– Baixo custo

Vantagens do sinal digital:

-Maior umunidade ao ruído e á distração;

-Integração dos sistemas;

-Mais segurança e privacidade;

-Percorre mais distância.

RZ

Posted: Outubro 22, 2012 in Uncategorized

RZ-(Return Zero)

O código de linha do tipo return zero indica que em cada transição método do bit o sinal vai a zero.Diz-se por isso que tem uma Duty cicle de 50% e utiliza o dobro da largura de banda em relação dos códigos NRZ.

RZ- unipolar

Este tipo de codificação apresenta as mesmas vantagens e desvantagens do NRZ unipolar com a agravente de que utiliza o dobro da largura de banda.OS limites de onda tão sempre entre 0 e 1 e tomam valor 1 quando o bit a codificar é 1 e 0 quando o bit a codificar é 0, no entanto só permanece no mesm valor metade do tempo Bit (Duty-cicle)= 50% na outra metade tomam sempre o valor de 0. É usado nas mesmas aplicações que a NRZ unipolar.

RZ-polar

Este tipo de codificação apresenta as mesmas vantagens e desvantagens do NRZ polar (e o dobro da largura de banda). Os limites da onda deste tipo de codificação estão entre 1 e -1. A onda toma o valor de 1 quando o bit a codificar 1 e -1 quando o bit a codificar é 0. No entanto, mais uma vez, só pensarem mesmo valor metade do tempo do bit (Duty-cicle)=50%. Na outra metade toma sempre valor de 0. É usado nas mesmas aplicações que NRZ Polar.