LusoRobótica - Robótica em Português

Electrónica => Protocolos => Tópico iniciado por: metRo_ em 14 de Março de 2014, 13:12

Título: Data whitening - o que é?
Enviado por: metRo_ em 14 de Março de 2014, 13:12
Estava a ler o reference manual do SoC nRF1822 que é um ARM+Radio e na parte do radio há um módulo chamado de whitening, o que é isto? Aparentemente parecer servir para ofuscar os dados, é isto? Como nunc tinha visto isto antes...

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fi.imgur.com%2FgwWiMiO.png&hash=711c48353dc84fbeece215600a5fe3f2)
Título: Re: Data whitening - o que é?
Enviado por: jm_araujo em 14 de Março de 2014, 14:19
Não sei se é isso, mas há transmissores que precisam de transmitir aproximadamente o mesmo nº de 11 e de 00, senão diminui a qualidade da transmissão, com degradação em distâncias mais longas ou com obstáculos. Os baratinhos de 433 MHz são desses por usarem normalmente ASK.

Esse whitening parece-me para isso.
O nome deve ter a origem no "white noise", em que a densidade da potência espectral é uniforme.

Título: Re: Data whitening - o que é?
Enviado por: Njay em 14 de Março de 2014, 14:57
Não sei se é isso, mas há transmissores que precisam de transmitir aproximadamente o mesmo nº de 11 e de 00, senão diminui a qualidade da transmissão, com degradação em distâncias mais longas ou com obstáculos. Os baratinhos de 433 MHz são desses por usarem normalmente ASK.
Quando trabalhava em sistemas de transmissão de fibra óptica chamava-mos a isso "scrambling", e tem a ver com a recuperação do clock do transmissor (para se recuperar o clock é preciso que hajam transições do nível do sinal; quando transmites por exemplo 20 zeros ou uns seguidos não tens transições e o receptor começa a não saber onde "samplar" os bits).
Título: Re: Data whitening - o que é?
Enviado por: jm_araujo em 14 de Março de 2014, 15:34
É isso.
Acho que acertamos:
http://www.silabs.com/Support%20Documents/TechnicalDocs/AN592.pdf (http://www.silabs.com/Support%20Documents/TechnicalDocs/AN592.pdf)
Citar
However, if the data to be transmitted contains long strings of logic 1s and 0s, the fine tuning may not be sufficient, which may cause bit errors in the received data. To avoid this, a data whitening technique can be used. This algorithm “whitens” the data in such a way that the 1s and 0s will be better balanced.
Título: Re: Data whitening - o que é?
Enviado por: metRo_ em 14 de Março de 2014, 16:23
Obrigado :) A pesquisa rapida que tinha feito não estava a ir por ai.
Título: Re: Data whitening - o que é?
Enviado por: metRo_ em 17 de Março de 2014, 16:42
entretanto o suporte da nordic respondeu-me e confirma-se:
Citar
Hi José
 
The main purpose of data whitening is to avoid long sequences of only 0's, or only 1's, when sending long RF packets. For some receivers that might be an issue, and make the RF link more susceptible to interference (leading to higher packet loss), and for that reason data whitening is required by the BLE protocol.
 
For more information on data whitening there are some articles online that might be useful, such as this one:
http://mrmekon.tumblr.com/post/17824495815/rf-transmission-whitening (http://mrmekon.tumblr.com/post/17824495815/rf-transmission-whitening)
 
Best regards
Torbjørn Øvrebekk
Application Engineer
Nordic Semiconductor
Título: Re: Data whitening - o que é?
Enviado por: KammutierSpule em 17 de Março de 2014, 18:58
Bom se leres o que esta no link e internet explica bem.
Existe uma outra razão, que nao vi descrita nesse link, que 'e diminuir a probabilidade de ser gerado um preamble
http://en.wikipedia.org/wiki/Preamble_(communication) (http://en.wikipedia.org/wiki/Preamble_(communication))

Isso faz com que se outro radio em escuta apanhar a transmissao a meio, nao vai confundir os dados com um preamble (e comecar a descodificar dados invalidos),Nota: um preamble 'e uma sequencia alternada de 0's e 1's 10101010... ou 0101010101...

Outra razao que nao esta muito bem explicada nesse link, tem a ver com o "ganho automatico/tunning" dos andares de RF.. 'e vantajoso haver essas diferencas pois se for sempre um 0 ou 1, o ganho/tunning vai se "encostar" apenas a lado da frequência podendo depois gerar erros quando vier um bit apenas na outra frequencia. (isto caso seja modulado por frequencia), mas em "on-off" 'e a mesma ideia.

Nao 'e uma explicacao muito boa, mas ajuda a dar mais umas ideias ah questao! :)