Čtyřicet kanálů a tři, na kterých se křičí
BLE má čtyřicet kanálů po dvou megahertzích. Tři z nich — 37, 38 a 39 — slouží k inzerci: tam se ohlašuje zařízení, které ještě nikoho nezná. Zbylých třicet sedm nese data spojení a přeskakuje se po nich při každé schůzce.
Nález, který se v téhle labce nepotvrdil
Skoro všude se píše, že tři inzertní kanály jsou umístěné do mezer mezi Wi-Fi kanály 1, 6 a 11. Tahle labka si to spočítala pomocí kanálové aritmetiky z WiFiLabu — tedy kódem, který k tomu nemá důvod lhát — a vyšlo tohle:
| kanál | frekvence | proti Wi-Fi 1/6/11 |
|---|---|---|
| 39 | 2480 MHz | čistý, 7 MHz nad okrajem kanálu 11 |
| 38 | 2426 MHz | přesně na hraně kanálu 6 |
| 37 | 2402 MHz | o megahertz uvnitř kanálu 1 |
Čistý je jenom jeden ze tří. To není chyba návrhu — pásmo prostě není dost široké na to, aby se do něj vešly tři čisté mezery — ale je to konkrétní důvod, proč se v zarušené 2,4GHz hale zařízení hledá pomalu a proč se inzeruje na všech třech kanálech postupně místo na jednom.
Adaptivní přeskakování (AFH)
Datové kanály na tom byly by ještě hůř — dvacetimegahertzová Wi-Fi zakrývá jedenáct z nich — kdyby si spojení nevedlo statistiku. AFH sleduje, na kterých kanálech se rámce ztrácejí, a ty z mapy vyřadí. Zbývá jich pak třeba dvacet šest a přeskakuje se jen po nich.
Funguje to velmi dobře a je to důvod, proč Bluetooth vedle Wi-Fi funguje líp, než by z prostého počtu kolizí vycházelo. Podmínky jsou dvě: musí zbýt aspoň patnáct kanálů (to je minimum ze specifikace) a mapa se aktualizuje po sekundách, takže rychlé změny rušení nestíhá.
Inzertní kanály se nevyhýbají ničemu
AFH platí jen pro spojení. Inzerce se vždycky vysílá na 37, 38 a 39, ať je tam cokoli — protože zařízení, které ještě nikoho nezná, nemá s kým se domluvit na jiné mapě. Proto v silně zarušeném pásmu trvá navázání spojení mnohem hůř než jeho udržení.
Praktický důsledek: když se zařízení „špatně páruje, ale pak drží“, není to vada rádia — je to rozdíl mezi třemi pevnými inzertními kanály a sedmatřiceti adaptivními datovými. Pomůže inzerovat častěji (kratší interval) nebo přesunout Wi-Fi z kanálu 1 na 6 či 11.