O AFH permite que dispositivos Bluetooth monitorem o ambiente e troquem o mapa de canais para escapar de interferências. Entenda como funciona, os 40 canais do Bluetooth LE e a exigência para potências acima de +10 dBm.

O que é Adaptive Frequency Hopping (AFH)?

O Adaptive Frequency Hopping (AFH) é uma técnica usada em sistemas de comunicação sem fio para evitar interferências e otimizar o aproveitamento do espectro — e você provavelmente já ouviu falar dela no contexto do Bluetooth. Na prática, os dispositivos conectados ficam de olho no ambiente o tempo todo, identificando possíveis fontes de interferência, e vão ajustando o mapa de canais conforme necessário para contornar esses problemas. Basicamente, é uma variação do frequency-hopping spread spectrum (FHSS), também conhecido como espalhamento espectral por salto de frequência.

A lógica por trás disso é bem direta: em vez de ficar transmitindo sempre nas mesmas frequências, o rádio vai saltando entre canais menores e, na prática, foge daqueles que estão barulhentos ou congestionados. No caso do Bluetooth, a banda de 2,4 GHz é dividida em vários canais — 40, por exemplo, no Bluetooth Low Energy — e o dispositivo alterna entre eles conforme envia os pacotes. O que o AFH traz de diferente é justamente essa camada de adaptação: ele monitora de forma dinâmica quais canais estão ruins e os remove da lista de canais disponíveis.

Como o AFH funciona: mapa de canais e seleção de canal

Durante cada connection event, os dispositivos pareados trocam pacotes em intervalos de tempo bem definidos. É no começo de cada evento que acontece o salto de frequência: um canal de rádio é escolhido de forma determinística entre os canais disponíveis, seguindo um algoritmo de seleção de canal. Conforme esses eventos vão se sucedendo, a comunicação passa por uma série de canais que muda o tempo todo e se espalha pela faixa de 2,4 GHz — e é justamente isso que diminui a chance de colisões.

O dispositivo primário é quem mantém o mapa de canais, marcando cada um como usado ou não usado, e depois repassa esse mapa ao segundo dispositivo através de um procedimento da link layer. Para saber quais canais estão ruins, cada dispositivo usa técnicas próprias de implementação — e o mapa vai sendo atualizado conforme os canais se degradam ou voltam a funcionar bem. É justamente esse comportamento dinâmico que dá ao AFH o seu caráter adaptativo.

A atualização do mapa de canais faz parte da especificação Bluetooth 4.0 e só pode ser iniciada pelo dispositivo central — os slaves não têm essa permissão. Esse recurso é suportado em todas as versões de SDK. Na prática, funciona assim: um smartphone atuando como central pode desativar os canais que se sobrepõem aos seus canais de Wi-Fi, e um dispositivo EFR aceita essa configuração numa boa. Já quando o EFR é quem faz o papel de central, ele habilita todos os canais por padrão, a menos que alguém os bloqueie manualmente.

AFH no Bluetooth LE: 40 canais e 37 canais de dados

No Bluetooth LE, a banda ISM de 2,4 GHz é dividida em 40 canais. Desses, 37 são canais de uso geral, ou seja, ficam disponíveis durante a comunicação conectada. De acordo com a Silicon Labs, o próprio padrão Bluetooth permite que os dispositivos conversem entre si e entrem em um consenso sobre quais canais utilizar dentro esses 37 canais de dados. Já os canais restantes desempenham funções ligadas a advertising e descoberta de dispositivos.

Na prática, isso quer dizer que o mapa de canais trabalha com um conjunto bem amplo de frequências, o que dá espaço para desviar das faixas mais congestionadas. E a escolha dos canais não acontece de forma aleatória: ela segue o algoritmo de seleção de canal previsto no padrão e leva em conta a classificação de canais feita pelos próprios dispositivos.

Métodos de avaliação de canal: RSSI versus PER

A especificação Bluetooth não dita como os canais ruins devem ser identificados — essa etapa é chamada de Channel Assessment. Na prática, dois métodos se destacam: o RSSI (Received Signal Strength Indication) e o PER (Packet Error Rate). Os dois até servem para o mesmo propósito, ou seja, definir quais canais podem ser ocupados, mas a diferença entre eles está na maneira como cada um mantém a percepção das condições atuais do ambiente.

O RSSI mede a potência do sinal recebido e até que é fácil de implementar, mas tem suas limitações: nem sempre consegue diferenciar uma interferência que vai e volta de um ruído constante. Já o PER trabalha com a taxa de erro de pacotes e, por isso, costuma traduzir melhor a qualidade real da comunicação — só que isso cobra seu preço, exigindo mais processamento e um tempo maior de observação. No fim das contas, a escolha entre um e outro influencia diretamente o quão agressivo o mapa de canais vai ser ao reagir às mudanças do ambiente.

A especificação também determina um mínimo de vinte canais no remapeamento. Esse piso existe justamente para impedir que o AFH reduza demais as opções de salto — o que, no fim das contas, acabaria prejudicando a própria robustez do sistema.

Parâmetros e detalhes de implementação do AFH

A partir do Bluetooth SDK v3.x, o AFH pode ser habilitado com a instalação do componente de software AFH; a função sl_bt_init_afh() é chamada automaticamente dentro de sl_bt_init() pelo gerador de código. Se o AFH estiver habilitado e ao menos um advertiser usar extended advertisements ou ao menos uma conexão estiver ativa, a stack executa uma tarefa periódica em segundo plano que varre todos os canais uma vez a cada afh_scan_interval e mede a potência recebida.

Se a potência medida exceder o limite de -71 dBm em um canal, esse canal é bloqueado por pelo menos 8 afh_scan_intervals; o desbloqueio exige 8 medições consecutivas sem interferência. Após cada varredura, um novo mapa de canais é criado e, se houver mudança, o central o envia a todos os slaves. O afh_scan_interval padrão é de 1 segundo; varrer 40 canais leva cerca de 10 ms e adiciona aproximadamente 240 uW de consumo de energia. A varredura do AFH tem a prioridade mais alta entre as operações Bluetooth.

O afh_scan_interval tem unidade de 10 ms e pode ser alterado via sl_bt_system_linklayer_configure com AFH_SCAN_INTERVAL_CONFIG_KEY. A varredura de canais ocorre após uma operação de rádio; com intervalo de 100 ms e advertising de 80 ms, a varredura acontece a cada segundo anúncio, ou seja, aproximadamente a cada 160 ms. Canais também podem ser bloqueados manualmente.

Por que o AFH é exigido para potências de transmissão mais altas?

O AFH é um requisito para usar potência de transmissão acima de +10 dBm. Como potências maiores aumentam o risco de interferência sobre outros dispositivos, o salto adaptativo garante que o equipamento evite canais ocupados. A Silicon Labs observa que o AFH é exigido para TX power acima de +10 dBm, em referência às configurações de potência de transmissão do Bluetooth.

Desenvolvedores da Nordic relataram que +20 dBm com BLE é complicado por causa de regulamentações, e um requisito de cliente mencionava o ETSI 300 328 Adaptive Mode para +20 dBm EIRP com o LE channel selection algorithm #2. Ou seja, não basta aumentar a potência: é preciso demonstrar que o rádio se adapta ao ambiente.

AFH e coexistência com Wi-Fi na banda ISM de 2,4 GHz

Antes do AFH, os dispositivos Bluetooth usavam 79 dos 83,5 canais disponíveis na banda de 2,4 GHz, saltando aleatoriamente 1600 vezes por segundo, o que causava colisões ocasionais com outros dispositivos sem fio. O AFH foi introduzido pelo Bluetooth SIG e incluído na Especificação Bluetooth Versão 1.2, adotada em 2003.

A melhoria veio com a Channel Classification Enhancement do Bluetooth Core Specification v5.3, lançado em meados de julho de 2021. Antes dela, apenas o dispositivo central fazia a classificação de canais; se central e periférico estivessem distantes, poderiam enfrentar condições de RF diferentes, e o mapa poderia incluir canais inadequados ao periférico, com risco de colisões, quedas de conexão e redução de throughput.

Com o aprimoramento, periférico e central participam: o periférico reporta suas condições de RF e sugere classificações ao central. O Bluetooth 5.3 também adicionou o Periodic Advertising Enhancement (campo AdvDataInfo) e o Connection Subrating. Para quem projeta produtos, isso significa mapas de canais mais fiéis à realidade de cada ponta do enlace.

Em resumo, o AFH transforma o salto de frequência em um mecanismo consciente do ambiente. Ele reduz colisões, melhora a vazão em ambientes densos e é obrigatório quando se busca potência acima de +10 dBm. A implementação, porém, tem custo: varreduras periódicas, consumo adicional e a necessidade de escolher bem entre RSSI e PER.

Perguntas frequentes sobre Adaptive Frequency Hopping

As dúvidas mais comuns sobre o tema envolvem o funcionamento do salto adaptativo, a diferença em relação ao FHSS clássico, a exigência para potências maiores e as desvantagens da técnica. As respostas abaixo resumem os pontos essenciais para quem trabalha com conectividade sem fio.

Qual é a diferença entre FHSS e AFH?

O frequency-hopping spread spectrum (FHSS) alterna rapidamente a portadora entre canais de frequência usando uma sequência pseudoaleatória conhecida pelo transmissor e pelo receptor. O AFH adiciona adaptação: identifica fontes fixas de interferência e exclui esses canais da lista disponível, remapeando a sequência de saltos para evitar as frequências congestionadas. Em outras palavras, o FHSS apenas salta; o AFH salta de forma inteligente, com base em medições do ambiente.

Quais são as desvantagens do frequency hopping?

O FHSS depende das frequências de portadora para transmitir os bits de informação, o que pode gerar erros em rajada por desvanecimento seletivo em frequência. Esquemas adaptativos acrescentam overhead de monitoramento, e métodos de avaliação de canal como RSSI e PER diferem na capacidade de acompanhar as condições atuais. Há ainda o custo energético das varreduras periódicas e a complexidade de manter o mapa de canais sincronizado entre os dispositivos.

Perguntas frequentes sobre Adaptive Frequency Hopping

Qual é a diferença entre FHSS e AFH?

O frequency-hopping spread spectrum (FHSS) alterna rapidamente a portadora entre canais de frequência usando uma sequência pseudoaleatória conhecida pelo transmissor e pelo receptor. O AFH adiciona adaptação: identifica fontes fixas de interferência e exclui esses canais da lista disponível, remapeando a sequência de saltos para evitar as frequências congestionadas.