Soluções Completas em Automação Industrial

Conteúdos e materiais

LoRaWAN – Taxa de dados adaptativa

LoRaWAN – Taxa de dados adaptativa

LoRaWAN – Taxa de dados adaptativa

Adaptive Data Rate (ADR) é um mecanismo para otimizar taxas de dados, tempo de transmissão e consumo de energia na rede.

O mecanismo ADR controla os seguintes parâmetros de transmissão de um dispositivo final.

  • Fator de espalhamento;
  • Largura de banda;
  • Potência de transmissão.

O ADR pode otimizar o consumo de energia do dispositivo e, ao mesmo tempo, garantir que as mensagens ainda sejam recebidas nos gateways. Quando o ADR estiver em uso, o servidor de rede indicará ao dispositivo final que deve reduzir a potência de transmissão ou aumentar a taxa de dados. Os dispositivos finais que estão próximos dos gateways devem usar um fator de espalhamento mais baixo e uma taxa de dados mais alta, enquanto os dispositivos mais distantes devem usar um fator de espalhamento alto porque precisam de uma taxa de utilização de link mais alto.


O ADR deve ser habilitado sempre que um dispositivo final tiver condições de RF suficientemente estáveis. Isso significa que geralmente pode ser habilitado para dispositivos estáticos. Se o dispositivo final estático puder determinar que as condições de RF são instáveis ​​(por exemplo, quando um carro estiver estacionado em cima de um sensor de estacionamento), o ADR deverá (temporariamente) ser desativado.

Os dispositivos finais móveis devem ser capazes de detectar quando ficam parados por períodos mais longos e ativar ADR durante esses períodos. Os dispositivos finais decidem se o ADR deve ser usado ou não, e não o aplicativo ou a rede.

ADR no Stack do modelo The Things Network

Para determinar a taxa de dados ideal, a rede precisa de algumas medições (mensagens de uplink). Atualmente, o The Things Stack utiliza os 20 uplinks mais recentes, começando no momento em que o bit ADR é ligado. Essas medições contém o frame counter, a relação sinal-ruído (SNR) e o número de gateways que receberam cada uplink. Quando um dispositivo desativa o bit ADR (porque sabe que está em movimento ou porque sabe que as condições de RF são instáveis), as medições anteriores são descartadas. Assim que o bit ADR for definido novamente, a rede começará a medir novamente.

Para cada uma dessas medições, pegamos o SNR do melhor gateway e calculamos a chamada “margem”, que é o SNR medido menos o SNR necessário para decodificar uma mensagem em determinada taxa de dados. Esta margem é usada para determinar o quanto podemos aumentar a taxa de dados ou diminuir a potência de transmissão. Por exemplo, quando a rede recebe uma mensagem com taxa de dados SF12BW125 e SNR 5.0, essa mensagem possui uma margem de 25 dB. Isto é um desperdício de tempo de transmissão e energia valiosos. Se aumentássemos a taxa de dados para SF7BW125 ainda teríamos uma margem de 12,5 dB, mas isso seria muito mais eficiente em termos de tempo de antena e energia. Poderíamos até diminuir a potência de transmissão para economizar ainda mais energia e causar menos interferência.

Existem vários momentos em que uma solicitação ADR é agendada ou enviada:

  1. A solicitação inicial de ADR (para US915 e AU915). Isto é enviado imediatamente após a adesão e é usado principalmente para definir a máscara de canal do dispositivo. Este é um pouco complicado, porque não temos medições suficientes para definir uma taxa de dados precisa. Para evitar silenciar o dispositivo, usamos aqui um “buffer” extra de alguns dB. Esta solicitação só é necessária com pré-LoRaWAN 1.1 em nossa pilha v2. Com dispositivos LoRaWAN 1.1 em nossa pilha v3, podemos definir a máscara do canal na mensagem JoinAccept. Os dispositivos ABP pré-LoRaWAN 1.1 receberão esta mensagem apenas uma vez, se forem reiniciados depois disso, não receberão a mensagem novamente; esse problema também é resolvido pelo LoRaWAN 1.1.
  2. Uma solicitação regular de ADR é agendada quando temos medições suficientes e a taxa de dados atual não é a ideal. A solicitação é apenas agendada e será anexada a um downlink de aplicativo existente (como um ACK ou carga de downlink).
  3. Uma solicitação ADR é enviada quando temos medições suficientes e o dispositivo está usando DR0 (SF12BW125 na maioria das regiões).
  4. Uma solicitação ADR é enviada quando o dispositivo liga o bit ADRAckReq. Por padrão, isso acontece após o envio de 64 uplinks sem receber um downlink, mas como isso depende da implementação do dispositivo, não podemos fornecer um número exato aqui.

As solicitações de ADR não serão mais agendadas ou enviadas se o dispositivo recusar várias solicitações de ADR. Isso pode significar uma implementação incorreta do dispositivo ou uma incompatibilidade de versão entre o dispositivo e o servidor.

O algoritmo usado na The Things Network é baseado no algoritmo recomendado pela Semtech para adaptação de taxas. O diagrama a seguir descreve o fluxo ADR conforme implementado em The Things Stack:


LoRaWAN – Taxa de dados adaptativa

Fale por WhatsApp