A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Prof. Anderson Terroso Redes de Comunicação sem Fio Agosto/2017

Apresentações semelhantes


Apresentação em tema: "Prof. Anderson Terroso Redes de Comunicação sem Fio Agosto/2017"— Transcrição da apresentação:

1 Prof. Anderson Terroso Redes de Comunicação sem Fio Agosto/2017
Projeto 1: Gerar o código de Hamming de um byte e transmitir via bluetooth – comparar no receptor e retornar se o dado recebido está correto ou incorreto Prof. Anderson Terroso Redes de Comunicação sem Fio Agosto/2017

2 Objetivo: Usando o aplicativo para Android, gerar o código de Hamming para um dado de 8 bits. Transmitir via bluetooth® o dado e código de Hamming. O receptor (cortex-M0) deverá gerar o código Hamming do dado recebido e comparar com o Hamming recebido. Caso o Hamming gerado seja igual ao recebido, transmita o “ok” e caso o Hamming gerado seja diferente do Hamming recebido, transmita “nok” e o bit que está incorreto.

3 Diagrama em blocos:

4 Forma de identificar os bits de dado:
Para gerar o Hamming precisa identificar bit-a-bit do dado. Exemplo – letra A = (65)10 65÷2  remainder = 1 – D0 quotient = 32 32÷2  remainder = 0 – D1 quotient = 16 16÷2  remainder = 0 – D2 quotient = 8 8÷2  remainder = 0 – D3 quotient = 4 4÷2  remainder = 0 – D4 quotient = 2 2÷2  remainder = 0 – D5 quotient = 1 1÷2  remainder = 1 – D6 quotient = 0 0÷2  remainder = 0 – D7

5 Código de Hamming Mensagem = 4 bits. Gerador do bit de Hamming
O número de bits de Hamming é calculado por 2h-1 > m, onde h é o número de bits de Hamming e ‘m’ é o tamanho da mensagem. Neste exemplo, precisamos de três bits de Hamming (h0, h1, h2) Os bits de Hamming serão colocados nas posições potencia de dois (1, 2, 4, 8, ...). Verificam-se os bits de Hamming que estão associado a cada dado: D0  está na posição 3, portanto os bits de Hamming associados ao d0, são: h1 e h0 (posição 2 e posição 1 = somam 3) D1  está na posição 5, portanto os bits de Hamming associados ao d1, são: h2 e h0 (posição 4 e posição 1 = somam 5) D2  está na posição 6, portanto os bits de Hamming associados ao d2, são: h2 e h1 (posição 4 e posição 2 = somam 6) D3  está na posição 7, portanto os bits de Hamming associados ao d3, são: h2, h1 e h0 ( posição 4, posição 2 e posição 1 = somam 7) Portanto, temos que: D0  h1 e h0 D1  h2 e h0 D2  h2 e h1 D3  h2, h1 e h0 7 6 5 4 3 2 1 D3 D2 D1 H2 D0 H1 H0

6 Continuação: Verificam-se os bits de dados que estão ligado a cada bit de Hamming e se faz uma xor entre eles. H0  D0, D1 E D3 H1  D0, D2 E D3 H2  D1, D2 E D3 Portanto, o gerador de Hamming será: H0TX = D0 xor D1 xor D3 H1TX = D0 xor D2 xor D3 H2TX = D1 xor D2 xor D3

7 Funcionamento do Comparador de Hamming
O comparador consiste em uma porta xor entre h0tx e h0rx e assim por diante. O resultado disso, entrará em um decodificador. O decodficador será responsável em determinar se existe algum bit incorreto (Hamming ou mensagem) e determinar sua posição.

8 Identificação de onde ocorreu o erro:

9 Mensagem de 8 bits: O número de bits de Hamming é calculado por 2h-1 > m, onde h é o número de bits de Hamming e ‘m’ é o tamanho da mensagem. Portanto: 24-1>8 Neste projeto, precisa-se de quatro bits de Hamming (h0, h1, h2, h3) Os bits de Hamming serão colocados nas posições potencia de dois (1, 2, 4, 8, ...). 12 11 10 9 8 7 6 5 4 3 2 1 D7 D6 D5 D4 H3 D3 D2 D1 H2 D0 H1 H0

10 12 11 10 9 8 7 6 5 4 3 2 1 D7 D6 D5 D4 H3 D3 D2 D1 H2 D0 H1 H0 D0  está na posição 3, portanto os bits de Hamming associados ao D0, são: H1 e H0 (posição 2 + posição 1 = somam 3) D1  está na posição 5, portanto os bits de Hamming associados ao D1, são: H2 e H0 (posição 4 + posição 1 = somam 5) D2  está na posição 6, portanto os bits de Hamming associados ao D2, são: H2 e H1 (posição 4 + posição 2 = somam 6) D3  está na posição 7, portanto os bits de Hamming associados ao D3, são: H2, H1 e H0 (posição 4 + posição 2 + posição 1 = somam 7) D4  está na posição 9, portanto os bits de Hamming associados ao D4, são: H3 e H0 (posição 8 + posição 1 = somam 9) D5  está na posição 10, portanto os bits de Hamming associados ao D5, são: H3 e H1 (posição 8 + posição 2 = somam 10) D6  está na posição 11, portanto os bits de Hamming associados ao D6, são: H3, H2 e H1 (posição 8 + posição 2 + posição 1 = somam 11) D7  está na posição 12, portanto os bits de Hamming associados ao D7, são: H3 e H2 (posição 8 + posição 4 = somam 12) H0  D0, D1, D3 e D4 H1  D0, D2, D3, D5 e D6 H2  D1, D2, D3, D6 e D7 H3  D4, D5, D6 e D7

11 Verificam-se os bits de dados que estão ligado a cada bit de Hamming e se faz uma xor entre eles.
H0  D0, D1, D3 e D4 H1  D0, D2, D3, D5 e D6 H2  D1, D2, D3, D6 e D7 H3  D4, D5, D6 e D7 Portanto, o gerador de Hamming será: H0TX = D0 xor D1 xor D3 xor D4 H1TX = D0 xor D2 xor D3 xor D5 xor D6 H2TX = D1 xor D2 xor D3 xor D6 xor D7 H3TX = D4 xor D5 xor D6 xor D7

12 Exemplo de dado transmitido:
1 H0TX = D0 xor D1 xor D3 xor D4 = 1 xor 0 xor 0 xor 0 = 1 H1TX = D0 xor D2 xor D3 xor D5 xor D6 = 1 xor 0 xor 0 xor 0 xor 1 = 0 H2TX = D1 xor D2 xor D3 xor D6 xor D7 = 0 xor 0 xor 0 xor 1 xor 0 = 1 H3TX = D4 xor D5 xor D6 xor D7 = 0 xor 0 xor 1 xor 0 = 1 H3 H2 H1 H0 1 Exemplo de dado recebido com erro: D7 D6 D5 D4 D3 D2 D1 D0 1 H0RX = D0 xor D1 xor D3 xor D4 = 1 xor 0 xor 1 xor 0 = 0 H1RX = D0 xor D2 xor D3 xor D5 xor D6 = 1 xor 0 xor 1 xor 0 xor 1 = 1 H2RX = D1 xor D2 xor D3 xor D6 xor D7 = 0 xor 0 xor 1 xor 1 xor 0 = 0 H3RX = D4 xor D5 xor D6 xor D7 = 0 xor 0 xor 1 xor 0 = 1 H3 H2 H1 H0 1

13 Tabela para verificar o bit incorreto
H3 H2 H1 H0 1 HTX xor HRX Bit errado Tabela para verificar o bit incorreto H3 H2 H1 H0 D7 D6 D5 D4 D3 D2 D1 D0 SEM ERRO 1


Carregar ppt "Prof. Anderson Terroso Redes de Comunicação sem Fio Agosto/2017"

Apresentações semelhantes


Anúncios Google