Адаптивная частотная перестройка (AFH): как Bluetooth избегает помех

Адаптивная частотная перестройка (AFH) позволяет устройствам Bluetooth постоянно отслеживать помехи и динамически менять карту каналов. Разбираем, как это работает, чем AFH отличается от FHSS и какие параметры задаёт стандарт Bluetooth.
Что такое адаптивная частотная перестройка (AFH)?
Адаптивная частотная перестройка (Adaptive Frequency Hopping, AFH) — это метод избегания помех и оптимизации использования спектра, который применяется в беспроводных системах связи и наиболее широко известен по Bluetooth. Суть проста: связывающиеся устройства непрерывно следят за эфиром и при необходимости меняют карту каналов, чтобы не работать на «шумных» частотах. Формально AFH является разновидностью технологии расширения спектра методом частотной перестройки (FHSS), но добавляет к ней обратную связь от реальной радиообстановки.
В классическом FHSS передатчик и приёмник просто скачут по псевдослучайной последовательности частот. AFH идёт дальше: он выявляет стационарные источники помех — например, точки доступа Wi-Fi — и исключает соответствующие каналы из доступного списка, перестраивая последовательность скачков так, чтобы обходить загруженные участки диапазона. Именно эта адаптивность и отличает AFH от обычного частотного скачкообразного расширения спектра.
Как работает AFH: карта каналов и выбор канала
На каждом событии соединения (connection event) устройства обмениваются пакетами через строго выдержанные интервалы времени. В начале каждого такого события происходит скачок частоты: рабочий радиоканал детерминированно выбирается из доступного набора с помощью алгоритма выбора канала. За серию событий соединения связь проходит через множество быстро сменяющихся каналов, распределённых по диапазону 2,4 ГГц, что снижает вероятность коллизий.
Ведущее устройство (central) ведёт карту каналов, помечая каждый канал как используемый или неиспользуемый, и передаёт её второму устройству через процедуру уровня звена (link layer). Устройства применяют зависящие от реализации методы оценки качества каналов, а карта обновляется, когда каналы деградируют или, наоборот, восстанавливаются. В этом и заключается адаптивная составляющая: карта каналов — не статичный список, а живой параметр, который меняется вслед за радиообстановкой.
AFH в Bluetooth LE: 40 каналов и 37 каналов данных
Bluetooth Low Energy делит диапазон 2,4 ГГц ISM на 40 каналов, из которых 37 являются каналами общего назначения, доступными во время установленного соединения. Как отмечает Silicon Labs, стандарт Bluetooth позволяет связывающимся устройствам договариваться о том, какие именно каналы использовать из этих 37 доступных каналов данных.
Процедура обновления карты каналов появилась ещё в спецификации Bluetooth 4.0 и может быть инициирована только ведущим устройством — ведомые (slaves) не могут запустить её самостоятельно. Она поддерживается во всех версиях SDK. Типичный пример: смартфон в роли central отключает каналы, пересекающиеся с его Wi-Fi, а периферийное устройство EFR принимает эту карту. Когда же EFR сам становится ведущим, он по умолчанию включает все каналы, если только они не заблокированы вручную.
Методы оценки каналов: RSSI против PER
Спецификация Bluetooth не диктует, каким именно способом выявлять плохие каналы, — этот процесс называется channel assessment. На практике сложились два основных подхода: RSSI (Received Signal Strength Indication, индикатор уровня принимаемого сигнала) и PER (Packet Error Rate, доля ошибочных пакетов). Оба помогают определить, какие каналы могут быть заняты, но по-разному отражают текущую обстановку.
RSSI реагирует на уровень энергии в канале и позволяет быстро заметить сильный сторонний сигнал, однако не различает полезную передачу и помеху. PER опирается на фактическую статистику ошибок при приёме пакетов и потому точнее описывает реальное качество связи, но требует времени для накопления данных. На практике реализации комбинируют эти методы, чтобы не блокировать канал из-за кратковременного всплеска и при этом вовремя уйти с частоты, где пакеты стабильно теряются.
Параметры AFH и детали реализации
Начиная с Bluetooth SDK v3.x, AFH включается установкой соответствующего программного компонента: функция sl_bt_init_afh() автоматически вызывается внутри sl_bt_init() генератором кода. Если AFH включён и хотя бы один рекламодатель использует расширенную рекламу или активно хотя бы одно соединение, стек запускает периодическую фоновую задачу, которая раз в интервал afh_scan_interval проходит по всем каналам и измеряет принимаемую мощность.
Если измеренная мощность на канале превышает порог −71 dBm, канал блокируется минимум на 8 интервалов afh_scan_intervals; для разблокировки требуются 8 последовательных измерений без помех. После каждого прохода формируется новая карта каналов, и если она изменилась, central рассылает её всем ведомым. Интервал afh_scan_interval по умолчанию равен 1 секунде, а сканирование 40 каналов занимает около 10 мс и добавляет примерно 240 мкВт энергопотребления. Проход AFH имеет наивысший приоритет среди операций Bluetooth.
Единица измерения afh_scan_interval — 10 мс, изменить её можно через sl_bt_system_linklayer_configure с ключом AFH_SCAN_INTERVAL_CONFIG_KEY. Сканирование выполняется после радиооперации: при интервале 100 мс и рекламном интервале 80 мс проверка происходит каждую вторую рекламу, то есть примерно каждые 160 мс. Каналы можно блокировать и вручную через sl_bt_gap_set_data_... Ниже сведены ключевые параметры реализации.
Какие параметры AFH задаёт стандарт и реализация?
| Параметр | Значение | Комментарий |
|---|---|---|
| Диапазон | 2,4 ГГц ISM | Общий для Bluetooth и Wi-Fi |
| Каналы BLE | 40 всего, 37 для данных | Остальные — рекламные |
| Минимум каналов при перестройке | не менее 20 | Требование спецификации |
| Порог блокировки | −71 dBm | Silicon Labs, AFH-сканирование |
| Интервал сканирования | 1 с по умолчанию | Шаг настройки — 10 мс |
| Блокировка канала | минимум 8 интервалов | Разблокировка — 8 чистых измерений |
Спецификация Bluetooth требует сохранять минимум двадцать каналов при перестройке карты. Это ограничение защищает саму идею частотной перестройки: если оставить слишком мало частот, устойчивость связи и помехозащищённость резко упадут. Параметры сканирования, пороги и тайминги — это уже детали конкретной реализации, а не жёсткие требования стандарта, поэтому у разных вендоров они могут отличаться.
AFH и требование к повышенной мощности передачи
AFH является обязательным условием для использования мощности передачи выше +10 dBm. Логика проста: чем выше мощность, тем больше риск создать помехи другим устройствам, поэтому адаптивная перестройка частоты гарантирует, что устройство будет обходить занятые каналы. Silicon Labs прямо указывает, что AFH требуется для TX power выше +10 dBm, ссылаясь на настройки мощности передачи Bluetooth.
Разработчики Nordic отмечают, что +20 dBm для BLE — задача непростая из-за регуляторных ограничений. В одном из требований заказчика упоминался Adaptive Mode по ETSI 300 328 для +20 dBm EIRP с алгоритмом выбора каналов LE #2. Иными словами, высокие уровни мощности неразрывно связаны с корректной реализацией AFH и соответствием региональным нормам.
AFH и сосуществование с Wi-Fi в диапазоне 2,4 ГГц
До появления AFH устройства Bluetooth использовали 79 из 83,5 доступных каналов в диапазоне 2,4 ГГц и скакали случайным образом 1600 раз в секунду, что время от времени приводило к коллизиям с другими беспроводными устройствами. AFH был предложен организацией Bluetooth SIG и включён в спецификацию Bluetooth версии 1.2, принятую в 2003 году.
Именно сосуществование с Wi-Fi стало главным практическим стимулом: точки доступа занимают широкие участки диапазона, и без адаптации Bluetooth-соединение теряло бы пакеты. AFH позволяет исключать занятые каналы и тем самым повышать реальную пропускную способность в насыщенном эфире. Ниже — сравнение подходов и ключевые вехи развития технологии.
Как менялся AFH: от Bluetooth 1.2 до 5.3
| Версия | Что появилось | Год |
|---|---|---|
| Bluetooth 1.2 | Введение AFH в спецификацию | 2003 |
| Bluetooth 4.0 | Процедура обновления карты каналов | 2010 |
| Bluetooth 5.3 | Channel Classification Enhancement | 2021 |
В Core Specification v5.3, выпущенной в середине июля 2021 года, появилось улучшение Channel Classification Enhancement. До него классификацию каналов выполняло только ведущее устройство: если central и peripheral находились далеко друг от друга, они могли работать в разных радиоусловиях, и карта каналов включала частоты, непригодные для периферии. Это грозило коллизиями пакетов, разрывами соединения и падением пропускной способности.
С новым механизмом в классификации участвуют оба устройства: периферия сообщает о своих радиоусловиях и предлагает классификацию ведущему. Bluetooth 5.3 также добавила Periodic Advertising Enhancement (поле AdvDataInfo) и Connection Subrating. Практический вывод для разработчика: если вы поддерживаете высокие уровни мощности и плотный эфир, обновление до актуальной версии спецификации и корректная настройка AFH дают заметный выигрыш в стабильности соединения.
Каковы недостатки частотной перестройки?
FHSS опирается на несущие частоты для передачи информационных битов, поэтому возможны сильные пачечные ошибки из-за частотно-селективного замирания. Адаптивные схемы добавляют накладные расходы на мониторинг эфира: сканирование каналов потребляет энергию, а методы оценки вроде RSSI и PER по-разному отслеживают текущую обстановку.
Тем не менее для Bluetooth выгоды AFH перевешивают издержки: без него сосуществование с Wi-Fi в диапазоне 2,4 ГГц было бы куда менее предсказуемым. При корректной настройке интервалов сканирования и порогов блокировки накладные расходы остаются скромными — порядка сотен микроватт, что критично для устройств с батарейным питанием.
Часто задаваемые вопросы об адаптивной частотной перестройке
Как работает адаптивная частотная перестройка?
Устройства Bluetooth непрерывно следят за эфиром и меняют карту каналов, чтобы обходить помехи. Диапазон 2,4 ГГц разбит на каналы, между которыми связь быстро переключается при передаче пакетов. Шумные и загруженные каналы динамически отслеживаются и исключаются из доступного набора.
В чём разница между FHSS и AFH?
FHSS быстро переключает несущую между частотами по псевдослучайной последовательности, известной передатчику и приёмнику. AFH добавляет адаптацию: он выявляет стационарные источники помех и исключает соответствующие каналы из списка, перестраивая последовательность скачков так, чтобы обходить загруженные частоты.
Почему AFH обязателен для повышенной мощности передачи Bluetooth?
AFH является требованием для использования мощности передачи выше +10 dBm. Более высокая мощность увеличивает риск помех, поэтому адаптивная перестройка гарантирует, что устройство избегает занятых каналов. Silicon Labs подтверждает это требование, ссылаясь на настройки мощности передачи Bluetooth.
Каковы недостатки частотной перестройки?
FHSS использует несущие частоты для передачи битов, что может вызывать сильные пачечные ошибки из-за частотно-селективного замирания. Адаптивные схемы добавляют накладные расходы на мониторинг, а методы оценки RSSI и PER различаются по точности отслеживания текущей радиообстановки.