L'Adaptive Frequency Hopping (AFH) permet aux appareils Bluetooth d'éviter les canaux brouillés en modifiant dynamiquement leur carte de canaux. Voici comment fonctionne cette technique, ses paramètres et son rôle face au Wi-Fi.

Qu'est-ce que l'Adaptive Frequency Hopping (AFH) ?

L'Adaptive Frequency Hopping, que l'on abrège généralement en AFH, est une technique qui sert à la fois à éviter les interférences et à mieux exploiter le spectre dans les communications sans fil. On l'associe surtout au Bluetooth. Le principe est simple : les appareils qui communiquent observent en permanence ce qui se passe autour d'eux sur le plan radio, puis ajustent leur carte de canaux en fonction des perturbations repérées. Il s'agit donc d'une variante évoluée de l'étalement de spectre par saut de fréquence, que l'on connaît aussi sous le nom de FHSS.

En Bluetooth, la bande de fréquences est subdivisée en canaux plus étroits — 40 canaux dans le cas du Bluetooth Low Energy, par exemple. Les paquets sont alors transmis en passant très rapidement d'un canal à un autre, tandis que les canaux encombrés ou parasités font l'objet d'un suivi dynamique avant d'être évités. Résultat : la probabilité d'entrer en collision avec d'autres signaux qui occupent la bande ISM à 2,4 GHz, à commencer par le Wi-Fi, s'en trouve nettement réduite.

Petit point vocabulaire, parce que les termes employés ne sont pas anodins : on parle de carte de canaux (channel map), d'algorithme de sélection de canal, de classification de canal, d'évaluation de canal, de saut de fréquence dynamique (DFH), d'allocation pseudo-aléatoire des fréquences, ou encore de piconet. Derrière cette terminologie un peu technique, l'idée reste simple : éviter de transmettre sur une fréquence durablement perturbée.

Ce qui distingue vraiment l'AFH du FHSS classique, c'est la manière dont les canaux sont choisis. Le FHSS, lui, se contente de sauter d'une fréquence à l'autre en suivant une séquence pseudo-aléatoire que l'émetteur et le récepteur connaissent à l'avance. L'AFH va plus loin : il ajoute une couche d'adaptation qui repère les sources d'interférences fixes et retire les canaux concernés de la liste disponible. La séquence de saut est alors remaniée pour éviter les fréquences encombrées.

Comment fonctionne l'AFH : carte de canaux et sélection de canal

À chaque événement de connexion, les appareils appairés échangent des paquets selon des intervalles minutés avec précision. Et c'est justement au tout début de chaque événement de connexion qu'intervient le saut de fréquence : un canal radio est alors choisi de façon déterministe parmi l'ensemble des canaux disponibles, via un algorithme de sélection de canal. Résultat, sur une succession d'événements de connexion, la communication s'appuie sur une série de canaux qui évolue en permanence, répartis sur toute la bande des 2,4 GHz.

Le central, c'est-à-dire l'appareil principal de la connexion, gère en permanence une carte de canaux où chacun est marqué comme utilisé ou inutilisé. Cette carte, il la transmet au second appareil par le biais d'une procédure de la couche de liaison. Pour évaluer la qualité des canaux, chaque appareil s'appuie sur des techniques qui dépendent de son implémentation : libre à lui de choisir sa méthode. Puis, au fil des mesures, la carte évolue — un canal qui se dégrade sera écarté, tandis qu'un autre, redevenu fiable, pourra être réintégré. C'est ce réajustement permanent qui donne tout son sens au mot « adaptatif » dans l'AFH.

C'est la spécification Bluetooth 4.0 qui vient encadrer la procédure de mise à jour de la carte de canaux. Point important à retenir : seul l'appareil central a la possibilité de lancer cette mise à jour. Autrement dit, un esclave ne peut en aucun cas la déclencher de sa propre initiative. À noter également que toutes les versions du SDK compatible intègrent cette fonctionnalité.

Prenons un cas concret pour bien saisir l'intérêt du mécanisme : imaginons un smartphone qui joue le rôle de central. Il peut très bien décider de désactiver les canaux qui viennent chevaucher ses propres canaux Wi-Fi, et l'appareil distant acceptera sans problème cette nouvelle carte. À l'inverse, si c'est l'appareil distant qui endosse le rôle de central, ce dernier active tous les canaux par défaut — à moins qu'on ne les bloque manuellement.

L'AFH en Bluetooth LE : 40 canaux dont 37 canaux de données

La bande ISM des 2,4 GHz est découpée par le Bluetooth Low Energy en 40 canaux. La grande majorité de ces canaux, 37 exactement, sont dits « à usage général » : ce sont eux qui servent lors d'une communication connectée. Le standard Bluetooth prévoit que les appareils en liaison se mettent d'accord sur les canaux à exploiter parmi ces 37 canaux de données, un point que Silicon Labs souligne également dans sa documentation.

C'est justement là que l'AFH prend tout son sens en Bluetooth LE. Le nombre de canaux étant assez limité, la possibilité de mettre de côté, et vite, ceux qui sont brouillés ou encombrés devient un vrai facteur de stabilité : sans cela, le débit peut chuter très rapidement.

La spécification impose aussi une contrainte de sécurité qu'on aurait tort de négliger : lorsqu'un remappage a lieu, il faut conserver un ensemble minimal d'au moins vingt canaux. L'idée est simple, mais essentielle — sans ce garde-fou, un appareil pourrait se retrouver avec trop peu de canaux exploitables pour assurer une communication fiable.

Avant l'arrivée de l'AFH, les appareils Bluetooth occupaient 79 des 83,5 canaux disponibles dans la bande des 2,4 GHz, avec un saut de fréquence aléatoire 1 600 fois par seconde. Résultat : des collisions ponctuelles avec d'autres équipements sans fil. Pour corriger ce défaut, le Bluetooth SIG a introduit l'AFH et l'a intégré à la spécification Bluetooth version 1.2, adoptée en 2003.

Méthodes d'évaluation des canaux : RSSI contre PER

La spécification Bluetooth n'impose pas la manière dont les canaux dégradés sont identifiés : c'est ce qu'on appelle l'évaluation de canal (Channel Assessment). Deux méthodes dominent dans les implémentations : le RSSI (indicateur de puissance du signal reçu) et le PER (taux d'erreur sur les paquets).

Les deux approches permettent de déterminer quels canaux peuvent être occupés, mais elles diffèrent dans leur capacité à refléter l'état réel et actuel des conditions radio. Le RSSI mesure la puissance reçue et détecte donc rapidement un brouillage fort, tandis que le PER s'appuie sur les erreurs de paquets observées et reflète davantage la qualité effective de la liaison.

Ce choix d'implémentation a des conséquences pratiques : une méthode trop lente à réagir peut laisser transiter des paquets sur un canal momentanément saturé, tandis qu'une méthode trop agressive peut écarter inutilement des canaux exploitables et réduire l'espace de saut disponible.

Le FHSS, lui, repose uniquement sur les fréquences porteuses pour transmettre les bits d'information, ce qui peut produire de fortes erreurs en rafale en cas d'évanouissement sélectif en fréquence. Les schémas adaptatifs ajoutent une surcharge de surveillance, et les méthodes d'évaluation comme le RSSI ou le PER n'ont pas toutes la même efficacité pour suivre les conditions courantes.

Paramètres et détails d'implémentation de l'AFH

Chez Silicon Labs, depuis le SDK Bluetooth v3.x, l'AFH peut être activé en installant le composant logiciel dédié. La fonction sl_bt_init_afh() est automatiquement appelée dans sl_bt_init() par le générateur de code. Si l'AFH est activé et qu'au moins un annonceur utilise des publicités étendues ou qu'au moins une connexion est active, la pile exécute une tâche de fond périodique qui balaie tous les canaux une fois par afh_scan_interval et mesure la puissance reçue.

Si la puissance mesurée dépasse la limite de -71 dBm sur un canal, ce canal est bloqué pendant au moins 8 intervalles de balayage afh_scan_intervals. Son déblocage exige 8 mesures consécutives sans interférence. Après chaque balayage, une nouvelle carte de canaux est créée ; si elle a changé, le central l'envoie à tous les esclaves.

L'intervalle afh_scan_interval vaut 1 seconde par défaut. Le balayage des 40 canaux prend environ 10 ms et ajoute une consommation d'énergie d'environ 240 uW. Le balayage AFH bénéficie de la plus haute priorité parmi les opérations Bluetooth. L'unité de afh_scan_interval est de 10 ms et peut être modifiée via sl_bt_system_linklayer_configure avec AFH_SCAN_INTERVAL_CONFIG_KEY. Le balayage des canaux intervient après une opération radio : avec un intervalle de 100 ms et un intervalle de publicité de 80 ms, le balayage a lieu toutes les deux publicités, soit environ toutes les 160 ms. Les canaux peuvent aussi être bloqués manuellement.

L'AFH est une exigence pour utiliser une puissance d'émission supérieure à +10 dBm. Des développeurs Nordic ont noté que le +20 dBm en BLE est délicat en raison de la réglementation, et une exigence client citait le mode adaptatif de l'ETSI 300 328 pour +20 dBm EIRP avec l'algorithme de sélection de canal LE n°2.

Le tableau suivant récapitule les principaux paramètres et valeurs de référence de l'implémentation AFH.

Le tableau de bord des paramètres AFH

ParamètreValeur par défautDétail
afh_scan_interval1 secondeUnité de 10 ms, modifiable via AFH_SCAN_INTERVAL_CONFIG_KEY
Seuil de blocage-71 dBmBlocage du canal pendant au moins 8 intervalles de balayage
Déblocage8 mesures consécutivesSans interférence détectée
Durée du balayageenviron 10 msPour les 40 canaux
Surconsommationenviron 240 uWLiée au balayage périodique
Canaux minimaux20Exigence de la spécification Bluetooth
Puissance TX concernéesupérieure à +10 dBmL'AFH est une exigence réglementaire

Ces valeurs montrent que l'AFH n'est pas un simple interrupteur : il repose sur un équilibre entre réactivité, consommation énergétique et couverture spectrale. Un intervalle trop court augmente la consommation, tandis qu'un intervalle trop long retarde la détection des interférences.

La priorité élevée accordée au balayage AFH garantit que la surveillance des canaux n'est pas sacrifiée au profit d'autres opérations radio, ce qui est essentiel pour maintenir une carte de canaux à jour dans un environnement encombré.

AFH et coexistence avec le Wi-Fi dans la bande ISM 2,4 GHz

La bande ISM des 2,4 GHz est partagée par de nombreuses technologies : Wi-Fi, Bluetooth, Zigbee, souris et claviers sans fil, etc. Cette cohabitation est la raison d'être de l'AFH : en identifiant les canaux occupés par un réseau Wi-Fi voisin, un appareil Bluetooth peut éviter les fréquences les plus encombrées et limiter les collisions.

Un smartphone utilisé comme central peut ainsi désactiver les canaux qui recouvrent ses propres canaux Wi-Fi, comme le prévoit la procédure de mise à jour de la carte de canaux. Cette adaptation locale améliore la robustesse de la liaison Bluetooth sans nécessiter d'action de l'utilisateur.

La spécification Bluetooth Core v5.3, publiée à la mi-juillet 2021, a introduit l'amélioration de la classification des canaux (Channel Classification Enhancement). Auparavant, seul l'appareil central réalisait la classification des canaux : si le central et le périphérique étaient éloignés, ils pouvaient connaître des conditions radio différentes, et la carte de canaux pouvait inclure des canaux inadaptés au périphérique, avec à la clé des collisions de paquets, des déconnexions et un débit réduit.

Avec cette amélioration, le périphérique et le central participent tous les deux : le périphérique signale ses conditions radio et suggère des classifications au central. La version 5.3 a également ajouté l'amélioration de la publicité périodique (champ AdvDataInfo) et le sous-débit de connexion (Connection Subrating).

En pratique, l'AFH reste donc une brique essentielle de la coexistence sans fil : il ne supprime pas les interférences, mais il permet aux appareils Bluetooth de les contourner activement pour préserver la qualité de la liaison.

Pourquoi l'AFH est-il indispensable aux puissances Bluetooth élevées ?

L'AFH est une exigence pour utiliser une puissance d'émission supérieure à +10 dBm. La raison est simple : une puissance plus élevée augmente le risque d'interférence pour les autres appareils, et le saut de fréquence adaptatif garantit que l'appareil évite les canaux occupés. Silicon Labs rappelle que l'AFH est requis pour une puissance TX supérieure à +10 dBm, en référence aux réglages de puissance Bluetooth.

Cette contrainte est aussi réglementaire : en Europe, le mode adaptatif de l'ETSI 300 328 est cité pour une puissance de +20 dBm EIRP avec l'algorithme de sélection de canal LE n°2. Les développeurs Nordic ont d'ailleurs souligné que le +20 dBm en BLE reste délicat à mettre en œuvre en raison des exigences réglementaires.

Autrement dit, plus un appareil émet fort, plus il doit faire preuve de discipline spectrale. L'AFH constitue précisément ce mécanisme de discipline : il permet d'augmenter la portée ou la robustesse de la liaison tout en limitant l'impact sur les autres utilisateurs de la bande.

FHSS et AFH : quelles différences concrètes ?

L'étalement de spectre par saut de fréquence (FHSS) commute rapidement la porteuse entre différents canaux selon une séquence pseudo-aléatoire connue de l'émetteur et du récepteur. L'AFH ajoute une couche d'adaptation : il identifie les sources d'interférences fixes et exclut ces canaux de la liste disponible, en remappant la séquence de saut pour éviter les fréquences encombrées.

Cette différence a des conséquences directes sur les performances. Le FHSS classique peut subir de fortes erreurs en rafale à cause de l'évanouissement sélectif en fréquence, tandis que l'AFH réduit ce risque en écartant les canaux durablement mauvais. En contrepartie, l'AFH ajoute une surcharge de surveillance et dépend de la qualité des méthodes d'évaluation des canaux, comme le RSSI ou le PER.

Le tableau ci-dessous résume les principales différences entre les deux approches.

Comparatif FHSS et AFH

CritèreFHSSAFH
PrincipeSaut pseudo-aléatoire sur canaux fixesSaut sur canaux sélectionnés dynamiquement
AdaptationAucuneContinue, selon les interférences
Gestion des canaux brouillésNon évitéeCanaux exclus de la carte
SurchargeFaibleSurveillance périodique
Usage typiqueBluetooth pré-1.2Bluetooth 1.2 et versions ultérieures

Ce comparatif montre que l'AFH ne remplace pas le FHSS : il le complète. La séquence de saut reste pseudo-aléatoire, mais elle s'appuie sur une carte de canaux mise à jour en fonction de l'environnement radio réel.

C'est cette combinaison qui permet au Bluetooth de rester fiable dans des environnements saturés, tout en respectant les contraintes réglementaires liées aux puissances d'émission élevées.

Questions fréquentes

Comment fonctionne l'Adaptive Frequency Hopping ?

L'Adaptive Frequency Hopping (AFH) signifie que les appareils qui communiquent surveillent en continu leur environnement pour détecter les interférences et modifient régulièrement la carte des canaux pour y remédier. Le Bluetooth divise la bande des 2,4 GHz en canaux et saute rapidement entre eux, en suivant et en évitant dynamiquement les canaux bruyants ou occupés lors de l'envoi des paquets.

Quelle est la différence entre FHSS et AFH ?

L'étalement de spectre par saut de fréquence (FHSS) commute rapidement la porteuse entre des canaux selon une séquence pseudo-aléatoire connue de l'émetteur et du récepteur. L'AFH ajoute une adaptation : il identifie les sources d'interférences fixes et exclut ces canaux de la liste disponible, en remappant la séquence de saut pour éviter les fréquences encombrées.

Pourquoi l'AFH est-il requis pour les puissances d'émission Bluetooth élevées ?

L'AFH est une exigence pour utiliser une puissance d'émission supérieure à +10 dBm. Comme une puissance plus élevée accroît le risque d'interférence, le saut de fréquence adaptatif garantit que les appareils évitent les canaux occupés. Silicon Labs précise que l'AFH est requis pour une puissance TX supérieure à +10 dBm, en référence aux réglages de puissance Bluetooth.

Quels sont les inconvénients du saut de fréquence ?

Le FHSS repose sur les fréquences porteuses pour transmettre les bits d'information, ce qui peut produire de fortes erreurs en rafale à cause de l'évanouissement sélectif en fréquence. Les schémas adaptatifs ajoutent une surcharge de surveillance, et les méthodes d'évaluation des canaux comme le RSSI et le PER n'ont pas toutes la même capacité à suivre les conditions courantes.