Entenda o que é adaptive frequency hopping, como o AFH Bluetooth evita interferências no Wi-Fi e como o channel map do Bluetooth Low Energy é atualizado na prática.
O que é Adaptive Frequency Hopping e por que isso importa?
O adaptive frequency hopping, ou AFH, é uma técnica de espalhamento espectral que fica trocando de frequência o tempo todo e deixa de fora os canais mais ruidosos, tudo isso pra deixar a transmissão mais resistente a interferências de radiofrequência. A ideia é simples: em vez de ficar preso num canal só, o rádio vai saltando entre frequências seguindo uma sequência que transmissor e receptor conhecem em comum.
Na prática, isso importa porque a faixa de 2,4 GHz é compartilhada por Wi-Fi, micro-ondas, Zigbee e uma porção de outros dispositivos. O AFH permite que um enlace Bluetooth conviva melhor com esse ambiente, mantendo a comunicação nos canais considerados bons e abandonando temporariamente aqueles que estão degradados. É justamente essa adaptação dinâmica que separa o AFH de um salto de frequência fixo — este último não dá conta de evitar conflitos com outras tecnologias sem fio.
Como o AFH funciona: channel maps, hopping e detecção de interferência
O AFH é uma técnica pseudoaleatória de alocação de frequências. Na prática, transmissor e receptor precisam se manter sincronizados e seguir uma mesma sequência de saltos. No Bluetooth, funciona assim: a cada connection event, um algoritmo de seleção de canal escolhe de forma determinística um canal entre os disponíveis; os dispositivos então mudam para esse canal e trocam dados ao longo de uma série de frequências que varia o tempo todo dentro da faixa de 2,4 GHz.
O dispositivo primário é quem mantém um channel map, classificando cada canal como em uso ou fora de uso — e esse mapa chega ao segundo dispositivo por meio de um procedimento da link layer. A partir daí, cada dispositivo usa técnicas próprias da implementação para acompanhar a qualidade dos canais: se um canal que vinha funcionando bem piora, o mapa é atualizado; se um canal ruim melhora, seu status também muda.
Entre as formas mais usadas para avaliar a qualidade de um canal estão o RSSI (Received Signal Strength Indication) e o PER (Packet Error Rate). Já trabalhos como o eAFH, de Valentin Poirot e Olaf Landsiedel (Kiel University e Chalmers University of Technology, arXiv:2112.03046v1, 06 de dezembro de 2021), vão além: eles propõem uma exploração informada para excluir e reincluir canais, ou seja, usam medições anteriores para estimar quais frequências têm mais chance de se beneficiar ao voltar para o mapa.
AFH no Bluetooth clássico vs Bluetooth Low Energy: canais e especificações
A arquitetura diferente entre o Bluetooth clássico e o Bluetooth Low Energy (BLE) fica evidente já na quantidade de canais e na maneira como eles são selecionados. No caso do BLE, a faixa de 2,4 GHz é dividida em 40 canais, dos quais 37 são de uso geral e ficam disponíveis para a comunicação conectada. O Bluetooth clássico, antes do AFH, operava de outro jeito: usava 79 dos 83,5 canais da faixa de 2,4 GHz e alternava entre eles 1.600 vezes por segundo.
No BLE, o Channel Selection Algorithm #2 é quem define as PDUs BIS, seguindo o que está descrito no Vol. 6 Part B da especificação core. Vale lembrar também que o AFH é obrigatório quando se quer transmitir com potência acima de +10 dBm — e a especificação Bluetooth não deixa barato: exige no mínimo vinte canais disponíveis sempre que o AFH estiver ativo.
Vale registrar a escala disso: em 2020, foram produzidos mais de 4 bilhões de dispositivos Bluetooth e BLE, segundo dados do setor. Já no áudio Bluetooth, o tráfego chega a cerca de 300 kbit/s, com transmissão de dados a cada 15 ms — o que ajuda bastante a entender por que a qualidade do canal é tão sensível a interferências.
| Parâmetro | Bluetooth clássico pré-AFH | Bluetooth Low Energy |
|---|---|---|
| Canais na faixa de 2,4 GHz | 79 de 83,5 | 40 no total, 37 de dados |
| Saltos por segundo | 1.600 | Definido pelo connection event |
| Mínimo de canais com AFH | Ao menos 20 | Ao menos 20 |
| Seleção de canal | Sequência de saltos | Channel Selection Algorithm #2 |
Implementando AFH: intervalos de varredura, bloqueio e APIs para desenvolvedores
Na prática de quem desenvolve, implementar o AFH geralmente significa rodar uma varredura periódica em segundo plano, que fica medindo a potência recebida em cada canal. Na Silicon Labs, por exemplo, cada varredura passa pelos 40 canais em cerca de 10 ms e acrescenta algo em torno de 240 uW ao consumo. Se a potência medida passar de -71 dBm, aquele canal é bloqueado por no mínimo 8 afh_scan_intervals — e, para liberá-lo de novo, são necessárias 8 medições consecutivas sem sinal de interferência.
O intervalo entre varreduras do AFH (afh_scan_interval) é medido em unidades de 10 ms e, por padrão, fica em 1 segundo. Se você precisar mexer nesse valor, dá para fazer isso por meio da chave de configuração AFH_SCAN_INTERVAL_CONFIG_KEY 7, usando as chamadas sl_bt_system_linklayer_configure ou gecko_cmd_system_linklayer_configure. Já o procedimento de atualização do channel map é definido desde a especificação Bluetooth 4.0 — e vale lembrar que apenas o dispositivo central (ou master, em redes mais antigas) tem permissão para iniciá-lo.
Para habilitar o AFH no SDK da Silicon Labs, instala-se o componente de software AFH; a função sl_bt_init_afh() é chamada automaticamente dentro de sl_bt_init() pelo code generator, ou, em SDKs mais antigos, chama-se gecko_init_afh() após gecko_init(&config). A Zebra documenta referências de produto como TC57 e PS30, e a Texas Instruments mantém o material swra487 sobre o tema.
| Item | Valor padrão / regra |
|---|---|
| afh_scan_interval | 1 segundo (unidade de 10 ms) |
| Tempo de varredura dos 40 canais | Cerca de 10 ms |
| Consumo adicional | Aproximadamente 240 uW |
| Limite de potência para bloquear | Acima de -71 dBm |
| Duração do bloqueio | Pelo menos 8 afh_scan_intervals |
| Desbloqueio | 8 medições consecutivas sem interferência |
Benefícios, limitações e coexistência com Wi-Fi
Comparado ao bloqueio de canal não adaptativo, que exige desabilitar canais manualmente, o AFH bloqueia dinamicamente canais de baixa qualidade. Entre os benefícios estão maior resistência a interferências, segurança reforçada pelas mudanças pseudoaleatórias de frequência, melhor uso do espectro e alocação dinâmica de frequências.
As limitações também existem. Não há AFH durante as fases de conexão e descoberta de dispositivos; todos os dispositivos do piconet precisam ser compatíveis com AFH; a reinclusão de canais é difícil em ambientes dinâmicos; e a varredura de AFH tem prioridade máxima, podendo bloquear outras operações se várias ocorrerem dentro de 10 ms. No caso do FHSS clássico, há também o trade-off de throughput menor do que alguns métodos de banda larga.
Em pesquisa, o eAFH reporta 98-99,5% de confiabilidade na link layer com interferência dinâmica de Wi-Fi, 1% de overhead de controle e 40% mais diversidade de canais do que abordagens state-of-the-art. Esses números mostram que a convivência com Wi-Fi é um dos principais campos de teste para qualquer esquema adaptativo de hopping.
AFH em LE Audio, IoT e sistemas sem fio futuros
No contexto de LE Audio, o AFH é um termo usado no modo de suporte BR/EDR. Para broadcast de LE Audio, a especificação core descreve a classificação de canais e o Channel Selection Algorithm #2 na link layer do LE, mas a classificação de canais no host não era suportada no stack Bluetooth upstream do Zephyr naquele momento, conforme discussão no Nordic DevZone.
Em IoT, o AFH ajuda a manter enlaces estáveis em ambientes densos, como prédios comerciais, fábricas e residências com muitos dispositivos conectados. Chips como o nRF5340, da Nordic Semiconductor, e os dispositivos EFR da Silicon Labs, com Bluetooth SDK v2.9, v2.10, v2.11 e v3.x, trazem APIs específicas para classificação de canais de dados, como sl_bt_gap_set_data_channel_classification.
A evolução passa por esquemas como o eAFH, que combinam medições históricas e exploração informada para decidir quando reincluir um canal. Para quem projeta produtos conectados, entender o channel map, o RSSI e o PER deixou de ser detalhe de rádio e passou a ser parte do desempenho percebido pelo usuário final.
Como o AFH se compara ao salto de frequência fixo?
O salto de frequência fixo usa uma sequência fixa de canais, enquanto o AFH adapta dinamicamente sua sequência de saltos ao ambiente em mudança. O AFH identifica fontes fixas de interferência e as exclui da lista de canais disponíveis, algo que o hopping não adaptativo não consegue fazer.
Essa diferença é especialmente relevante em escritórios e residências, onde redes Wi-Fi operam de forma contínua em partes da faixa de 2,4 GHz. Ao excluir canais ocupados, o enlace Bluetooth reduz retransmissões e mantém a taxa de entrega de pacotes mais estável.
Na prática, a escolha entre abordagens não é binária: o AFH opera sobre uma base de hopping e adiciona a camada de classificação de canais. É essa combinação que permite ao Bluetooth e ao BLE coexistirem com outras tecnologias sem fio sem exigir coordenação central entre redes diferentes.
Perguntas frequentes sobre Adaptive Frequency Hopping
Reunimos abaixo as dúvidas mais comuns de leitores e desenvolvedores sobre AFH no Bluetooth e no BLE. As respostas resumem os pontos técnicos discutidos ao longo do artigo e podem ser usadas como consulta rápida.
Se você trabalha com firmware, vale revisar também as APIs do seu SDK e o comportamento do channel map em cenários reais de interferência antes de definir parâmetros como o afh_scan_interval.
Perguntas frequentes sobre Adaptive Frequency Hopping
Como o adaptive frequency hopping funciona no Bluetooth Low Energy?
A cada connection event, os dispositivos conectados selecionam um canal com um algoritmo de seleção e saltam para ele. O dispositivo primário mantém um channel map que classifica os canais como usados ou não usados, compartilha esse mapa com o segundo dispositivo e o atualiza conforme a interferência muda, espalhando a comunicação pela faixa de 2,4 GHz.
O LE Audio do Bluetooth suporta adaptive frequency hopping?
Segundo discussão no Nordic DevZone, o AFH é um termo usado no contexto do modo de suporte BR/EDR. Para broadcast de LE Audio, a especificação core descreve a classificação de canais e o Channel Selection Algorithm #2 na link layer do LE, mas a classificação de canais no host não era suportada no stack Bluetooth upstream do Zephyr naquele momento.
Qual é a diferença entre AFH e salto de frequência fixo?
O salto de frequência fixo usa uma sequência fixa de canais, enquanto o AFH adapta dinamicamente sua sequência de saltos ao ambiente em mudança. O AFH identifica fontes fixas de interferência e as exclui da lista de canais disponíveis, enquanto o hopping não adaptativo não consegue evitar conflitos com outras tecnologias sem fio.
Quais parâmetros práticos controlam o AFH em um SDK?
Em implementações como as da Silicon Labs, o afh_scan_interval tem unidade de 10 ms e padrão de 1 segundo. Cada varredura cobre os 40 canais em cerca de 10 ms e consome aproximadamente 240 uW adicionais. Se a potência medida ultrapassar -71 dBm, o canal é bloqueado por pelo menos 8 afh_scan_intervals; para desbloquear, são necessárias 8 medições consecutivas sem interferência.


