Arquivo de Novembro, 2012

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.